3

レーベンシュタイン距離アルゴリズムを使用して、ユーザー入力として提供された会社名を既知の会社名のデータベースと比較して、最も近い一致を見つけています。アルゴリズム自体は問題なく動作しますが、文字列の最初の部分が一致する場合に編集距離が低くなると見なされるように、Bias を組み込みたいと考えています。

たとえば、検索基準が「ABCD」の場合、両方とも「ABCD Co.」です。と "XYX ABCD" の Edit Distance は同じです。ただし、最初の文字列の最初の部分が 2 番目の文字列よりも検索条件に一致するという事実に重みを加えたいと思います。

これを行う 1 つの方法は、挿入/削除/置換のコストを変更して、文字列の先頭で高くし、最後に向かって低くすることです。これをうまく実装した例はありますか?レーベンシュタイン距離を使用することは、私が達成しようとしていることを行うための最良の方法ですか? アプローチの私の仮定は正確ですか?

更新:当面の目的のために、上記を放棄し、代わりに問題を解決すると思われる Jaro Winkler 編集距離を使用することにしました。ただし、これをさらに入力するために開いたままにします。

4

1 に答える 1