FuzzyWuzzy Wratio 得分错误
FuzzyWuzzy Wratio score bug
我了解基本的 fuzzy-wuzzy 及其分数的工作原理。
然而,我遇到了一个场景,即使两个字符串似乎没有任何相似之处,fuzzy-wuzzy 也会为 WRatio 给出高分。 (下图供参考)
任何人都可以解释并帮助我理解为什么会导致这种行为吗?
Output for reference
在你的例子中,两个字符串:
"The Boston Globe's Fresh Start program embraces the right to be forgotten"
"Subscribe to Continue Reading"
长度差异超过 50%,因此 WRatio 确实使用了大多数算法的部分版本并将它们的权重降低了一点。对于两个示例字符串 fuzz.partial_token_set_ratio
returns,得分为 100,因为两个句子都包含单词 to
。这个分数然后用 0.95 加权,类似于 token_set_ratio
然后用 0.9 加权,因为它是部分版本。您的最终得分是 100 * 0.95 * 0.9 = 85.5
-> round(85.5) = 86
.
我了解基本的 fuzzy-wuzzy 及其分数的工作原理。 然而,我遇到了一个场景,即使两个字符串似乎没有任何相似之处,fuzzy-wuzzy 也会为 WRatio 给出高分。 (下图供参考)
任何人都可以解释并帮助我理解为什么会导致这种行为吗?
Output for reference
在你的例子中,两个字符串:
"The Boston Globe's Fresh Start program embraces the right to be forgotten"
"Subscribe to Continue Reading"
长度差异超过 50%,因此 WRatio 确实使用了大多数算法的部分版本并将它们的权重降低了一点。对于两个示例字符串 fuzz.partial_token_set_ratio
returns,得分为 100,因为两个句子都包含单词 to
。这个分数然后用 0.95 加权,类似于 token_set_ratio
然后用 0.9 加权,因为它是部分版本。您的最终得分是 100 * 0.95 * 0.9 = 85.5
-> round(85.5) = 86
.