在 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
提交
取消