我正在尝试使用python应用程序中的模糊逻辑库fuzzywuzzy
来匹配字符串。我发现即使在得分相等之后,fuzzywuzzy也没有给出适当的结果,它在第一个位置列出了错误的结果。
这是一个例子:
>>> d = ['John Welsh','Patrick Walsh','Jonathan Walsh']
>>> e = process.extract('jwalsh', d)
>>> e = sorted(e,key=lambda k:k[1],reverse=True)
>>> e
[('Patrick Walsh', 75), ('Jonathan Walsh', 75), ('John Welsh', 62)]
正如我们所看到的,字符串是jwalsh
,最合适的结果是Jonathan Walsh
,它应该在结果的第一个位置,而在第二个位置。
请建议我如何纠正结果并显示最合适的结果。由于得分相同,有一种情况是人们可以用较少的得分得到适当的结果
我该怎么做才能获得最佳输出?除fuzzywuzzy
之外还有什么建议吗?请告诉我。