通过两个不同的汇总系统(sys1和sys2)和相同的参考汇总的结果,我用BLEU和ROUGE对它们进行了评估.问题是:sys1的所有ROUGE分数都高于sys2(ROUGE-1,ROUGE-2,ROUGE-3,ROUGE-4,ROUGE-L,ROUGE-SU4 ......)但是sys1的BLEU分数较低比sys2的BLEU得分(相当多).
所以我的问题是:ROUGE和BLEU都是基于n-gram来衡量系统摘要和人类摘要之间的相似之处.那么为什么评价结果会有差异呢?ROUGE和BLEU解释这个问题的主要区别是什么?
任何意见和建议将不胜感激!谢谢!
我在python中导入了nltk来计算Ubuntu上的BLEU分数.我理解句子级BLEU分数是如何工作的,但我不明白语料库级BLEU分数是如何工作的.
以下是我的语料级BLEU分数代码:
import nltk
hypothesis = ['This', 'is', 'cat']
reference = ['This', 'is', 'a', 'cat']
BLEUscore = nltk.translate.bleu_score.corpus_bleu([reference], [hypothesis], weights = [1])
print(BLEUscore)
Run Code Online (Sandbox Code Playgroud)
出于某种原因,上述代码的bleu得分为0.我期待一个语料库级别的BLEU评分至少为0.5.
这是我的句子级BLEU分数的代码
import nltk
hypothesis = ['This', 'is', 'cat']
reference = ['This', 'is', 'a', 'cat']
BLEUscore = nltk.translate.bleu_score.sentence_bleu([reference], hypothesis, weights = [1])
print(BLEUscore)
Run Code Online (Sandbox Code Playgroud)
考虑到简短惩罚和缺失的单词"a",这里的句子级BLEU分数是0.71.但是,我不明白语料库级别的BLEU分数是如何工作的.
任何帮助,将不胜感激.
Python NLTK中有BLEU得分的实现,
nltk.translate.bleu_score.corpus_bleu
但我不确定它是否与mtevalv13a.pl脚本相同.
他们之间有什么区别?
我对机器翻译的蓝分计算有一些疑问.我意识到他们可能有不同的BLEU指标.我发现代码报告了BLEU的五个值,即BLEU-1,BLEU-2,BLEU-3,BLEU-4以及最后的BLEU,它们似乎是前四个BLEU的指数平均值.我还不清楚它们之间的区别是什么.你有什么想法?谢谢
Ps起初我认为这个问题更多的是理论内容,并将其发布在meta stackexange上.主持人已关闭并将其评论为stackoverflow类型问题.所以请不要再惩罚我.=)
我很好奇是否有人熟悉使用NLTK 的 BLEU 分数计算和SacreBLEU 库之间的区别。
特别是,我使用两个库的句子 BLEU 分数,对整个数据集进行平均。两者给出不同的结果:
>>> from nltk.translate import bleu_score
>>> from sacrebleu import sentence_bleu
>>> print(len(predictions))
256
>>> print(len(targets))
256
>>> prediction = "this is the first: the world's the world's the world's the \
... world's the world's the world's the world's the world's the world's the world \
... of the world of the world'"
...
>>> target = "al gore: so the alliance for climate change has launched two …Run Code Online (Sandbox Code Playgroud) 我已经开始和摩西一起玩,并试图制作我认为相当标准的基线系统.我基本上遵循了网站上描述的步骤,但不是使用news-commentary我使用Europarl v7进行培训,使用WMT 2006开发套件和原始的Europarl常用测试.我的想法是做一些类似于Le Nagard&Koehn(2010)的事情,他们在基线英语到法语系统中获得了.68的BLEU分数.
总而言之,我的工作流程或多或少是这样的:
tokenizer.perl 关于一切lowercase.perl(而不是truecase)clean-corpus-n.perltrain-model.perl 完全如描述mert-moses.pl 使用WMT 2006开发由此产生的BLEU得分为.26 ......这引出了两个问题:
如果我有中文单词表:like reference = ['?'? '?', '?' ,'?']? 假设 = ['?', '?', '???'?'?] 。我可以使用:nltk.translate.bleu_score.sentence_bleu(references,假设)进行中文翻译吗?它和英语一样吗?日语怎么说?我的意思是如果我有像英语这样的单词表(中文和日文)。谢谢!
bleu ×7
nltk ×4
nlp ×3
corpus ×1
evaluation ×1
metrics ×1
moses ×1
python ×1
python-2.7 ×1
rouge ×1
translation ×1