比模糊模糊更好的方法?

2024-10-02 22:33:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到的结果是模糊模糊的,但效果不如预期的好。如果中间有一个额外的词,由于levenshtein的差异,分数就更低。在

示例:

from fuzzywuzzy import fuzz

score = fuzz.ratio('DANIEL CARTWRIGHT', 'DANIEL WILLIAM CARTWRIGHT')
print(score)
score = fuzz.ratio('DANIEL CARTWRIGHT', 'DAVID CARTWRIGHT')
print(score)

score = fuzz.partial_ratio('DANIEL CARTWRIGHT', 'DANIEL WILLIAM CARTWRIGHT')
print(score)
score = fuzz.partial_ratio('DANIEL CARTWRIGHT', 'DAVID CARTWRIGHT')
print(score)

结果: 81 85 71 81岁

我希望第一对(丹尼尔对丹尼尔威廉)比第二对(丹尼尔对大卫)更好。在

这里有比fuzzyfuzzy更好的方法吗?在


Tags: from示例差异partial分数levenshteindavidscore
1条回答
网友
1楼 · 发布于 2024-10-02 22:33:34

对于您的示例,可以使用token_set_ratio。代码doc说它取令牌和剩余令牌的交集的比率。在

from fuzzywuzzy import fuzz

score = fuzz.token_set_ratio('DANIEL CARTWRIGHT', 'DANIEL WILLIAM CARTWRIGHT')
print(score)
score = fuzz.token_set_ratio('DANIEL CARTWRIGHT', 'DAVID CARTWRIGHT')
print(score)

结果:

^{pr2}$

相关问题 更多 >