我最近在我们的搜索引擎数据库中实现了 levenshtein 算法,但我们遇到了一个问题。
根据基本levenshtein
Levenshtein('123456','12x456') 与 Levenshtein('123456', '12345x') 的值相同
通常这很好,但对于我的特定问题,这是不正确的。当有人使用我们的网站时,这是不正确的。电子元件制造商通常生产类似的产品,只是在最后一个字母上有所不同。如果首字母不同,则通常属于完全不同的类别。因此,我需要一种算法来考虑单词开头附近的匹配比后面的匹配更有值(value),或者换句话说,开头附近发生的不匹配应该比后面的不匹配应用更大的惩罚。
如果有人有任何想法,请告诉我。
最佳答案
使用 Jaro-Winkler Distance ...这正是您所要求的。
关于algorithm - 改进的 Levenshtein 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842071/