私は、さまざまなソースからコンパイルされた大都市のデータベースを持っています。都市名に基づいて重複を簡単に見つける方法を見つけようとしています。単純な答えは、レーベンシュタイン距離を使用することです。ただし、都市の問題は、多くの場合、その国で共通の接頭辞と接尾辞が付けられていることです。
例えば:
ブールビル対ボッシャービル
これらはほぼ確実に異なる都市です。ただし、どちらも "ville" で終わる (そしてどちらも "Bo" で始まる) ため、レーベンシュタイン距離はかなり小さくなります。
*文字の位置を考慮して、単語の途中の文字を単語の末尾の文字よりも高く重み付けすることで、接頭辞と接尾辞の影響を最小限に抑える文字列距離アルゴリズムを探しています。*
おそらく自分で何かを書くことはできますが、適切なアルゴリズムをまだ誰も公開していないとは信じがたいでしょう。