我有一個大城市的數據庫,它是從許多不同的來源編譯的。我試圖找到一種輕鬆找到基於城市名稱的重複的方法。天真的答案是使用levenshtein距離。然而,隨着城市的問題在於,他們往往有前綴和後綴是共同的國家,他們是在前綴/後綴替代Levenshtein距離
例如:
布勒維爾與Boscherville
這幾乎肯定是不同的城市。然而,因爲它們都以「ville」結尾(並且都以「Bo」開始),所以它們具有相當小的Levenstein距離。
* 我正在尋找一種字符串距離算法,該算法考慮到字符的位置,以便通過在字中間加權字母比單詞末尾的字母更高來最小化前綴和後綴的影響。 *
我可以自己寫一些東西,但我很難相信沒有人發佈過適合的算法。
我幾乎將它作爲http://stackoverflow.com/questions/10425238/modifying-levenshtein-distance-for-positional-bias的副本關閉,但那個人有一個艱難的答案來工作...... – Wrikken