我有以下两个字符串:
a = 'bjork gudmundsdottir'
b = 'b. gudmundsson gunnar'
Run Code Online (Sandbox Code Playgroud)
两者之间的 Levenshtein 距离是12。当我使用以下公式计算 Levenshtein 距离时,我得到了0.01与python-Levenshtein库的差异:
>>> Ldist / max(len( a ), len( b ))
>>> float(12)/21
0.5714285714285714
# python-Levenshtein
Levenshtein.ratio(a,b)
0.5853658536585366
# difflib
>>> seq=difflib.SequenceMatcher(a=a,b=b)
>>> seq.ratio()
0.5853658536585366
Run Code Online (Sandbox Code Playgroud)
造成这种差异的原因是什么?我在计算中做错了什么。请注意,我已经回顾了这个How python-Levenshtein.ratio 计算类似的问题,它并没有完全回答我的问题。
有人可以解释一下用于计算上述比率的公式吗?