Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Jaro-winkler函数:为什么相同的分数匹配非常相似而非常不同的单词?_Mysql_Jaro Winkler - Fatal编程技术网

Mysql Jaro-winkler函数:为什么相同的分数匹配非常相似而非常不同的单词?

Mysql Jaro-winkler函数:为什么相同的分数匹配非常相似而非常不同的单词?,mysql,jaro-winkler,Mysql,Jaro Winkler,我使用jaro winkler模糊匹配来匹配名称 我试图确定相似性分数的截止范围。如果名称差异太大,我想将其排除在外,以便手动查看 虽然低于.4的名称似乎完全不同,但.4范围似乎相当相似 但后来我遇到了奇怪的例外,在这个范围内的一些名称是完全不同的,而一些名称只有一个或两个字母(见下面的例子) 有人能解释一下,在相同的匹配分数范围内,匹配的差异在哪里 Jaro-Winkler距离公式偏向于具有共同开头的字符串。例如,瓦伦蒂娜和瓦伦蒂里亚 它还有一些不那么直观的“规则”(参见) 您可能应该首先确定

我使用jaro winkler模糊匹配来匹配名称

我试图确定相似性分数的截止范围。如果名称差异太大,我想将其排除在外,以便手动查看

虽然低于.4的名称似乎完全不同,但.4范围似乎相当相似

但后来我遇到了奇怪的例外,在这个范围内的一些名称是完全不同的,而一些名称只有一个或两个字母(见下面的例子)

有人能解释一下,在相同的匹配分数范围内,匹配的差异在哪里


Jaro-Winkler距离公式偏向于具有共同开头的字符串。例如,瓦伦蒂娜和瓦伦蒂里亚

它还有一些不那么直观的“规则”(参见)

您可能应该首先确定所期望的差异类型,然后寻找合适的距离公式。例如,在书写时,“angleworm”和“angelworm”很可能是错误的,因此两个字符串之间的距离应该很小。而“there”和“three”不匹配的可能性较小,“ether”甚至更大。对于较长的字谜,Jaro距离可能完全相同,甚至Winkler校正也可能不起作用

正如你在(我的)中读到的

除了对空字符串和完全相同的字符串进行优化之外,您可以在这里看到我对第一个字符的权重更大。这是因为我的数据最初很重

为了补偿频繁使用的中间首字母我将Jaro Winkler距离计算为分数的80%,而剩余的20%完全基于第一个字符匹配此处的p值由大量实验和拔毛的结果确定。在进行此扩展之前,首字母经常会不正确对齐


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

   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