我正在寻找一种算法,它需要 2 个字符串,并会给我一个“相似性因素”。
基本上,我将有一个可能拼写错误的输入,有字母转置等,我必须在我拥有的可能值列表中找到最接近的匹配项。
这不适用于在数据库中搜索。我将有一个包含 500 个左右的字符串的内存列表来匹配,所有字符串都在 30 个字符以下,所以它可能相对较慢。
我知道它存在,我以前见过它,但我不记得它的名字了。
编辑:感谢您指出 Levenshtein 和 Hamming。现在,我应该实施哪一个?它们基本上测量不同的东西,两者都可以用于我想要的东西,但我不确定哪个更合适。
我已经阅读了算法,汉明似乎明显更快。由于两者都不会检测到两个字符被转置(即 Jordan 和 Jodran),我认为这将是一个常见错误,这对于我想要的更准确?有人能告诉我一些关于权衡的事情吗?