2

我运行了下面的代码

a = ['dog', 'in', 'plants', 'crouches', 'to', 'look', 'at', 'camera']
b = ['a', 'brown', 'dog', 'in', 'the', 'grass', ' ', ' ']
from nltk.translate.bleu_score import corpus_bleu
bleu1 = corpus_bleu(a, b, weights=(1.0, 0, 0, 0))
print(bleu1)

这是错误

该假设包含 0 个 3-gram 重叠计数。因此,BLEU 得分评估为 0,与它包含多少低阶 N-gram 重叠无关。考虑使用较低的 n-gram 顺序或使用 SmoothingFunction() warnings.warn(_msg)

有人可以告诉我这里有什么问题吗?我在谷歌上找不到解决方案。谢谢你。

最好的,DD

4

1 回答 1

0

我找到了解决方案。基本上,我需要一个列表中的列表'a'。所以下面的代码可以正常工作。

a = [['dog', 'in', 'plants', 'crouches', 'to', 'look', 'at', 'camera']]
b = ['a', 'brown', 'dog', 'in', 'the', 'grass', ' ', ' ']
from nltk.translate.bleu_score import corpus_bleu
bleu1 = corpus_bleu(a, b, weights=(1.0, 0, 0, 0))
print(bleu1)
于 2020-06-12T21:30:51.983 回答