在FuzzyWuzzy比率描述中,它说:
FuzzyWuzzy比率原始分数是字符串相似性在0,100范围内作为int的度量。对于两个字符串X和Y,分数由int(圆形(2.0*M/ T) *100)定义,其中T是两个字符串中的字符总数,M是两个字符串中的匹配数。FuzzyWuzzy比率sim分数是0,1范围内的浮点数,是通过将原始分数除以100获得的。
那么,当我改变单词的顺序时,为什么这个分数看起来是不同的呢?
from fuzzywuzzy import fuzz
fuzz.ratio('EMRE MERT', 'OMER CAN') / 100 = 0.35
fuzz.ratio('EMRE MERT', 'CAN OMER') / 100 = 0.47发布于 2020-06-01 23:18:23
您使用的定义来自py_stringmatching模块中的py_stringmatching函数,但您使用的函数来自使用Levenshtein距离的乌兹模块。
从Levenshtein的递归实现中可以看到,该算法考虑字符串逐个字符,因此更改字符的顺序将改变输出值。
https://stackoverflow.com/questions/62142264
复制相似问题