我使用jaro-winkler模糊匹配来匹配名称。
我正在尝试确定相似性得分的截止范围。如果名称太不相同,我想将它们排除在外以供人工审核。
虽然低于.4似乎完全不同的名字,但.4范围似乎非常相似。
但后来我遇到了一些奇怪的例外,其中一些名称在这个范围内是完全不同的,而一些名字只有一两个字母关闭(见下面的例子)。
有人可以解释在同一匹配分数范围内匹配的差异很大吗?
Estrella ANNELISE 0.42
Arienna IREANNA 0.43
Tayvia I TAYVIA 0.43
Amanda IZABEL 0.44
Hunter JOSHUA 0.44
Ryder CHARLES 0.45
Luis ELIZABETH 0.45
Sebastian JOSE 0.45
Christopher CHISTOPHE 0.46
Genayunique GENAY-UNI 0.46
Andreeaonn ADREEAONN 0.46
Chistopher CHRISTOPH 0.46
Dazharicon DAZHARION 0.46
Jennavecia JENNACVEC 0.46
Valentiria VALENTINA 0.46
Abel SAMMUEL 0.46
Dezarea MarieDEZAREA 0.47
Alexander ALEXZANDE 0.47
答案 0 :(得分:0)
Jaro-Winkler距离公式偏向于具有共同开头的字符串。例如,Valenti na 和Valenti ria 。
它也有一些不那么直观的“规则”(见wikipedia)。
您应该首先确定您期望的不同之处,然后寻找合适的距离公式。例如,在书面形式中,“angleworm”和“angelworm”很可能是错误,因此两个字符串之间的距离应该很低。虽然不匹配“那里”和“三”不太可能,“以太”更是如此。对于较长的字谜,Jaro距离可能完全相同,甚至Winkler校正也可能无法启动。
正如您可以阅读this page(强调我的)
除了空字符串和完全相同的优化之外,你可以在这里看到我对第一个字符的权重更大。这是因为我的数据非常重要。
为了补偿频繁使用中间首字母我将Jaro-Winkler距离计为得分的80%,而剩下的20%完全基于第一个字符匹配。 此处的p值取决于重度实验和拔毛的结果。在进行此扩展之前,首字母经常会错误地对齐。
答案 1 :(得分:0)
我发现Levenshtein距离对于名称上的特定匹配问题更有用。