水母vs pyjarowinkler

raj*_*ajn 6 python jaro-winkler

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

import jellyfish
from pyjarowinkler import distance

jellyfish.jaro_winkler('Carol','elephant') 
Run Code Online (Sandbox Code Playgroud)

返回0.4416666

distance.get_jaro_distance('Carol','elephant')
Run Code Online (Sandbox Code Playgroud)

我得到0.0,这对我来说更有意义。两个库之间是否有错误?

谢谢

Bie*_*bar 6

Jellyfish 的实现是正确的。

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