2024-09-30 12:23:54 发布
网友
我在企业级使用python fuzzyfuzzy来匹配2个字符串。它在大多数情况下都能正常工作,但在以下提到的情况下会产生意想不到的结果:
fuzz.partial_ratio('ja rule:mesmerize','ja rule feat. ashanti:mesmerize') gives output 65
以及
为什么第二场比赛的模糊分数比第一场好,有什么解释吗?在
如有任何帮助/建议,我们将不胜感激。在
fuzzywuzzy使用Levenshtein距离,这意味着它会比较所有字符,包括空格和符号,如“:”。在
fuzzywuzzy
partial_ratio比较两个字符串,但允许将较长字符串剪切为较短字符串的长度。在
partial_ratio
在您的例子中,较短的字符串是'ja rule:mesmerize',长度为17。当比较字符串时,较长的字符串将被剪切到该大小。在
'ja rule:mesmerize'
记住这些信息,让我们比较一下您的输出。我们可以看到第一个长字符串在'ja rule'的末尾没有:,但第二个长字符串有。还有很多其他可能的因素,但这可能是你结果的主要原因。在
'ja rule'
:
我相信更仔细的分析会揭示更多关于分数的信息。patial_ratio的实现在https://github.com/seatgeek/fuzzywuzzy/blob/master/fuzzywuzzy/fuzz.py#L34中找到。在
patial_ratio
fuzzywuzzy
使用Levenshtein距离,这意味着它会比较所有字符,包括空格和符号,如“:”。在partial_ratio
比较两个字符串,但允许将较长字符串剪切为较短字符串的长度。在在您的例子中,较短的字符串是
'ja rule:mesmerize'
,长度为17。当比较字符串时,较长的字符串将被剪切到该大小。在记住这些信息,让我们比较一下您的输出。我们可以看到第一个长字符串在
'ja rule'
的末尾没有:
,但第二个长字符串有。还有很多其他可能的因素,但这可能是你结果的主要原因。在我相信更仔细的分析会揭示更多关于分数的信息。
patial_ratio
的实现在https://github.com/seatgeek/fuzzywuzzy/blob/master/fuzzywuzzy/fuzz.py#L34中找到。在相关问题 更多 >
编程相关推荐