私は2つの文字列を取り、 "類似性の要素"を返すアルゴリズムを探しています。類似の2つの文字列の検索
基本的には、スペルが間違っていたり、文字が転置されたりしている可能性があり、可能な値のリストに最も近い一致を見つけなければなりません。
これは、データベースで検索するためのものではありません。私は、一致する文字列が500文字以内のメモリ内のリストを30文字未満で作成するので、比較的遅くなる可能性があります。
私はこれが存在することを知っていますが、以前見たことがありますが、その名前は覚えていません。
編集:LevenshteinとHammingを指摘してくれてありがとう。 これで、どちらを実装する必要がありますか?彼らは基本的に異なるものを測定しますが、どちらも私が望むものに使うことができますが、どれが適切かはわかりません。
私はアルゴリズムを読みましたが、Hammingは明らかに高速です。どちらも転置されている2人のキャラクター(すなわち、ジョーダンとジョドラン)を検出しないので、私はよくある間違いになるだろうと思っています。 誰かが私にトレードオフについて少し教えてもらえますか?
に基づく最近傍探索のいくつかの並べ替えで実装第三の選択肢の実装を検討したいと思います。これはハミング距離*が賢明に拾ういくつかの典型的なエラーの1つです。シングルキャラクタの挿入や削除はすぐに大きな相違点を与えます。 Levenshteinを使用してください。 –