我有一个大型城市数据库,它是从许多不同的来源编译而成。我正在尝试找到一种简单的方法来基于城市名称轻松识别重复项。天真的答案可能是使用Levenshtein距离。然而,城市的问题在于它们经常具有与所在国家有关的前缀和后缀。
例如:
Boulleville vs. Boscherville 这几乎肯定是不同的城市。然而,因为它们都以"ville"结尾(并且都以"Bo"开头),所以它们的Levenstein距离相对较小。
*我正在寻找一种字符串距离算法,它考虑字符的位置,通过将单词中间的字母权重高于单词末尾的字母来最小化前缀和后缀的影响。*
我可能可以自己编写一些东西,但我很难相信还没有人发表过合适的算法。
例如:
Boulleville vs. Boscherville 这几乎肯定是不同的城市。然而,因为它们都以"ville"结尾(并且都以"Bo"开头),所以它们的Levenstein距离相对较小。
*我正在寻找一种字符串距离算法,它考虑字符的位置,通过将单词中间的字母权重高于单词末尾的字母来最小化前缀和后缀的影响。*
我可能可以自己编写一些东西,但我很难相信还没有人发表过合适的算法。