Jaro-winkler功能:为什么相同的分数匹配非常相似且非常不同的单词?

时间:2018-01-23 16:53:04

标签: mysql jaro-winkler

我使用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

2 个答案:

答案 0 :(得分:0)

Jaro-Winkler距离公式偏向于具有共同开头的字符串。例如,Valenti na 和Valenti ria

它也有一些不那么直观的“规则”(见wikipedia)。

您应该首先确定您期望的不同之处,然后寻找合适的距离公式。例如,在书面形式中,“angleworm”和“angelworm”很可能是错误,因此两个字符串之间的距离应该很低。虽然不匹配“那里”和“三”不太可能,“以太”更是如此。对于较长的字谜,Jaro距离可能完全相同,甚至Winkler校正也可能无法启动。

正如您可以阅读this page(强调我的)

  

除了空字符串和完全相同的优化之外,你可以在这里看到我对第一个字符的权重更大。这是因为我的数据非常重要

     

为了补偿频繁使用中间首字母我将Jaro-Winkler距离计为得分的80%,而剩下的20%完全基于第一个字符匹配。 此处的p值取决于重度实验和拔毛的结果。在进行此扩展之前,首字母经常会错误地对齐。

答案 1 :(得分:0)

我发现Levenshtein距离对于名称上的特定匹配问题更有用。