为什么这对的 bleu 分数为零,即使它们很相似
why the bleu score is zero for this pair even though they are similar
为什么我得到 0 分,即使句子相似。请参考以下代码
from nltk.translate.bleu_score import sentence_bleu
score = sentence_bleu(['where', 'are', 'economic', 'networks'], ['where', 'are', 'the', 'economic', 'network'])
print(score)
如果你运行上面的代码
,得分值为'0'
这与您如何将引用传递给方法有关。
查看 documentation or more specifically this sample of how to use it。
参考文献必须是一个列表(要与假设进行比较的所有参考翻译的列表)。因此,在您的情况下,一个列表包含一个标记化的参考翻译。
像这样使用它,它将起作用:
score = sentence_bleu([['where', 'are', 'economic', 'networks']], ['where', 'are', 'the', 'economic', 'network'])
> 9.283142785759642e-155
尽管我不得不承认我之前也曾遇到过完全相同的问题,而且这在 NLTK 部分不是很直观。该文档甚至指出引用必须是 list(list(str))
类型,但随后不检查是否属于这种情况,而是 returns 如果使用不当会产生误导性结果。
为什么我得到 0 分,即使句子相似。请参考以下代码
from nltk.translate.bleu_score import sentence_bleu
score = sentence_bleu(['where', 'are', 'economic', 'networks'], ['where', 'are', 'the', 'economic', 'network'])
print(score)
如果你运行上面的代码
,得分值为'0'这与您如何将引用传递给方法有关。
查看 documentation or more specifically this sample of how to use it。
参考文献必须是一个列表(要与假设进行比较的所有参考翻译的列表)。因此,在您的情况下,一个列表包含一个标记化的参考翻译。
像这样使用它,它将起作用:
score = sentence_bleu([['where', 'are', 'economic', 'networks']], ['where', 'are', 'the', 'economic', 'network'])
> 9.283142785759642e-155
尽管我不得不承认我之前也曾遇到过完全相同的问题,而且这在 NLTK 部分不是很直观。该文档甚至指出引用必须是 list(list(str))
类型,但随后不检查是否属于这种情况,而是 returns 如果使用不当会产生误导性结果。