模糊模糊字符串匹配 - 区分大小写

时间:2013-05-09 13:10:42

标签: python case-insensitive fuzzy-search fuzzywuzzy

我正在使用FuzzyWuzzy String Matching module from SeatGeek

我发现在使用token_set_ratio搜索算法时,案例中的小差异会产生截然不同的结果。

例如,如果我在文件中查找“我正在吃”这句话,我会得到100%的匹配。但如果这句话是“我正在吃饭”,只要改变一个字母,就会给我65%的匹配。

有没有办法让算法不敏感?

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,您可能正在使用Ratio而不是TokenSetRatio ...

答案 1 :(得分:0)

token_set_ratio()默认情况下不区分大小写。

from fuzzywuzzy import fuzz
fuzz.token_set_ratio("I am eating", "i am eating")
=> 100

答案 2 :(得分:0)

如果您浏览fuzz here的原始代码,您会发现fuzz.token_set_ratio在进行序列匹配之前将字符串转换为小写。

此外,您可能希望从SeatGeek工程师处查看此stackoverflow帖子here,以便更清楚地了解比率使用情况。

希望这有帮助