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.