我试图通过计算每个字符串的metaphone键来查找大型名称列表中的近似重复项,然后,在每组可能的重复项中,使用Levenshtein距离之类的内容来获得更精确的估计值重复可能性。 1
然而,我发现metaphone很大程度上取决于字符串中的第一个字符,所以如果我给它提供一长串人名,那么每个人都可以获得大量的信息。的名字是" Jennifer X"或者"理查德Y",但在其他方面并没有多少共同之处。
如果我在生成密钥之前反转字符串,结果更明智,因为它们按姓氏分组,但我仍然发现名字并不特别相似。
那么是否有一个类似的算法可以通过使用更长的密钥字符串对更多的输入字符串进行采样以产生声音密钥?
[1]理想情况下,我直接计算字符串距离,但如果我的列表有10,000个名字,那就意味着100,000,000个计算,这就是为什么我试图通过声音键控来划分和征服首先命名并仅检查桶内的相似性。但如果有更好的方法,我很乐意听到它!