在 FuzzyWuzzy 比率描述中,它说:FuzzyWuzzy ratio raw score 是 [0, 100] 范围内的 int 字符串相似性的度量。对于两个字符串 X 和 Y,分数由 int(round((2.0 * M / T) * 100)) 定义,其中 T 是两个字符串中的字符总数,M 是两个字符串中的匹配数. FuzzyWuzzy 比率模拟分数是 [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
1 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
您使用的定义来自模块中的Ratio函数py_stringmatching
,但您使用的函数来自使用Levenshtein distance的fuzzywuzzy模块。
从Levenshtein 的递归实现可以看出,该算法逐个字符地考虑字符串,因此改变字符的顺序将改变输出值。
添加回答
举报
0/150
提交
取消