猿问

Python FuzzyWuzzy 比率:它是如何工作的?

在 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


米脂
浏览 80回答 1
1回答

拉风的咖菲猫

您使用的定义来自模块中的Ratio函数py_stringmatching,但您使用的函数来自使用Levenshtein distance的fuzzywuzzy模块。从Levenshtein 的递归实现可以看出,该算法逐个字符地考虑字符串,因此改变字符的顺序将改变输出值。
随时随地看视频慕课网APP

相关分类

Python
我要回答