水母vs pyjarowinkler

时间:2018-01-24 17:56:06

标签: python jaro-winkler

我正在尝试使用jarowinkler相似距离来查看两个字符串是否相似。我尝试使用这两个库来比较单词" carol"和" elephant"。它们并不相似。

import jellyfish
from pyjarowinkler import distance

jellyfish.jaro_winkler('Carol','elephant') 

返回0.4416666

distance.get_jaro_distance('Carol','elephant')

我得到0.0这对我更有意义。这两个库之间有错误吗?

感谢

2 个答案:

答案 0 :(得分:0)

水母的实施是正确的。

卡罗尔和大象没有匹配的前缀。因此,在这种情况下,Jaro-Winkler距离等于Jaro距离。我手工计算了Jaro的距离,发现Jellyfish的实施是正确的。有一个在线计算器,但在线计算器也是错误的。我还发现了一些其他的实现,比如在python-Levenstein包中,它也实现了Jaro-Winkler距离,验证了我的计算。还有一个关于npm的实现。如果您想自己计算得分 - 您可以找到论文here

答案 1 :(得分:0)

也许值得注意的是,R中的两个不同实现似乎与pyjarowinkler版本匹配:

library(stringdist)
> 1 - stringdist("Elephant", "Carol", method = 'jw')
[1] 0.4416667

library(RecordLinkage)
> jarowinkler('Carol','elephant')
[1] 0.4416667