文本摘要评估——BLEU vs ROUGE
Text Summarization Evaluation - BLEU vs ROUGE
根据两个不同摘要系统(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 的主要区别是什么来解释这个问题?
总的来说:
Bleu 测量精度:机器生成的摘要中出现了多少单词(and/or n-gram)人类参考摘要。
Rouge measures recall:human reference summaries 中的单词(and/or n-grams)出现了多少机器生成的摘要。
自然地 - 这些结果是互补的,就像精确率与召回率的对比一样。如果你有很多来自系统结果的单词出现在人工参考中,你的 Bleu 就会很高,如果你有很多来自人工参考的单词出现在系统结果中,你就会有很高的 Rouge。
在您的情况下,系统 1 的 Rouge 似乎高于系统 2,因为系统 1 中的结果始终比系统 2 的结果中出现更多来自人类参考的单词。但是,由于您的 Bleu 分数显示 sys1 的召回率低于 sys2,这表明相对于 sys2,您的 sys1 结果中没有那么多单词出现在人类参考文献中。
例如,如果您的 sys1 输出的结果包含参考文献中的单词(提高 Rouge),但也有许多参考文献未包含的单词(降低 Bleu),则可能会发生这种情况。看起来,sys2 给出的结果中,大多数输出的单词确实出现在人类参考文献中(提高蓝色),但它的结果中也遗漏了许多确实出现在人类参考文献中的单词。
顺便说一句,有一种叫做 简洁惩罚 的东西非常重要,并且已经添加到标准的 Bleu 实现中。它会惩罚比引用的一般长度 更短 的系统结果(阅读更多相关信息 here)。这补充了 n-gram 度量行为,它实际上惩罚比参考结果更长的时间,因为系统结果越长,分母就越大。
您也可以为 Rouge 实现类似的东西,但这次惩罚比一般参考长度长 的系统结果,否则它们会人为地获得更高的 Rouge 分数(因为结果越长,您找到参考文献中出现的单词的机会就越大)。在 Rouge 中,我们除以人类参考的长度,因此我们需要对更长的系统结果进行额外的惩罚,这可能会人为地提高他们的 Rouge 分数。
最后,您可以使用 F1 度量 使指标协同工作:
F1 = 2 * (Bleu * Rouge) / (Bleu + Rouge)
Both ROUGE and BLEU are based on n-gram to measure the similar between the summaries of systems and the summaries of human. So why there are differences in results of evaluation like that? And what's the main different of ROUGE vs BLEU to explain this issue?
同时存在ROUGE-n精度和ROUGE-n精度召回。引入 ROUGE {3} 的论文中的原始 ROUGE 实现计算两者,以及由此产生的 F1 分数。
来自 http://text-analytics101.rxnlp.com/2017/01/how-rouge-works-for-evaluation-of.html (mirror):
胭脂召回:
胭脂精度:
(介绍 ROUGE {1} 的论文中的原始 ROUGE 实现可能会执行更多操作,例如词干提取。)
与 BLEU(参见 Interpreting ROUGE scores)不同,ROUGE-n 精度和召回率易于解释。
ROUGE-n 精度和 BLEU 之间的区别是 BLEU 引入了一个简洁的惩罚项,并且还计算了几个大小的 n-gram 的 n-gram 匹配(不像 ROUGE-n,那里只有一个选择的 n-gram 大小)。
Stack Overflow 不支持 LaTeX,所以我不会进入更多公式来与 BLEU 进行比较。 {2} 清楚地解释了 BLEU。
参考文献:
- {1}林清耀。 "Rouge: A package for automatic evaluation of summaries." 在文本摘要分支中:ACL-04 研讨会论文集,卷。 8. 2004. https://scholar.google.com/scholar?cluster=2397172516759442154&hl=en&as_sdt=0,5 ; http://anthology.aclweb.org/W/W04/W04-1013.pdf
- {2} Callison-Burch、Chris、Miles Osborne 和 Philipp Koehn。 "Re-evaluation the Role of Bleu in Machine Translation Research." 在 EACL 中,卷。 6,第 249-256 页。 2006. https://scholar.google.com/scholar?cluster=8900239586727494087&hl=en&as_sdt=0,5;
ROGUE 和 BLEU 都是适用于创建文本摘要任务的指标集。本来机器翻译需要BLEU,但是它完美适用于文本摘要任务。
最好通过示例来理解概念。首先,我们需要像这样的摘要候选(机器学习创建的摘要):
the cat was found under the bed
以及黄金标准摘要(通常由人工创建):
the cat was under the bed
让我们找出 unigram(每个词)案例的精确率和召回率。我们使用单词作为指标。
机器学习摘要有7个词(mlsw=7),黄金标准摘要有6个词(gssw=6),重叠词数又是6个(ow=6)。
机器学习的召回率是:ow/gssw=6/6=1
机器学习的精度为:ow/mlsw=6/7=0.86
同样 we can compute 分组的一元语法、二元语法、n-gram 的精度和召回分数...
对于我们所知的 ROGUE,它同时使用召回率和精确率,以及 F1 分数,即它们的调和平均值。
对于 BLEU,它 also use 精确度与召回率相辅相成,但使用几何平均数和简洁性惩罚。
细微差别,但重要的是要注意它们都使用精度和召回率。
根据两个不同摘要系统(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 的主要区别是什么来解释这个问题?
总的来说:
Bleu 测量精度:机器生成的摘要中出现了多少单词(and/or n-gram)人类参考摘要。
Rouge measures recall:human reference summaries 中的单词(and/or n-grams)出现了多少机器生成的摘要。
自然地 - 这些结果是互补的,就像精确率与召回率的对比一样。如果你有很多来自系统结果的单词出现在人工参考中,你的 Bleu 就会很高,如果你有很多来自人工参考的单词出现在系统结果中,你就会有很高的 Rouge。
在您的情况下,系统 1 的 Rouge 似乎高于系统 2,因为系统 1 中的结果始终比系统 2 的结果中出现更多来自人类参考的单词。但是,由于您的 Bleu 分数显示 sys1 的召回率低于 sys2,这表明相对于 sys2,您的 sys1 结果中没有那么多单词出现在人类参考文献中。
例如,如果您的 sys1 输出的结果包含参考文献中的单词(提高 Rouge),但也有许多参考文献未包含的单词(降低 Bleu),则可能会发生这种情况。看起来,sys2 给出的结果中,大多数输出的单词确实出现在人类参考文献中(提高蓝色),但它的结果中也遗漏了许多确实出现在人类参考文献中的单词。
顺便说一句,有一种叫做 简洁惩罚 的东西非常重要,并且已经添加到标准的 Bleu 实现中。它会惩罚比引用的一般长度 更短 的系统结果(阅读更多相关信息 here)。这补充了 n-gram 度量行为,它实际上惩罚比参考结果更长的时间,因为系统结果越长,分母就越大。
您也可以为 Rouge 实现类似的东西,但这次惩罚比一般参考长度长 的系统结果,否则它们会人为地获得更高的 Rouge 分数(因为结果越长,您找到参考文献中出现的单词的机会就越大)。在 Rouge 中,我们除以人类参考的长度,因此我们需要对更长的系统结果进行额外的惩罚,这可能会人为地提高他们的 Rouge 分数。
最后,您可以使用 F1 度量 使指标协同工作: F1 = 2 * (Bleu * Rouge) / (Bleu + Rouge)
Both ROUGE and BLEU are based on n-gram to measure the similar between the summaries of systems and the summaries of human. So why there are differences in results of evaluation like that? And what's the main different of ROUGE vs BLEU to explain this issue?
同时存在ROUGE-n精度和ROUGE-n精度召回。引入 ROUGE {3} 的论文中的原始 ROUGE 实现计算两者,以及由此产生的 F1 分数。
来自 http://text-analytics101.rxnlp.com/2017/01/how-rouge-works-for-evaluation-of.html (mirror):
胭脂召回:
胭脂精度:
(介绍 ROUGE {1} 的论文中的原始 ROUGE 实现可能会执行更多操作,例如词干提取。)
与 BLEU(参见 Interpreting ROUGE scores)不同,ROUGE-n 精度和召回率易于解释。
ROUGE-n 精度和 BLEU 之间的区别是 BLEU 引入了一个简洁的惩罚项,并且还计算了几个大小的 n-gram 的 n-gram 匹配(不像 ROUGE-n,那里只有一个选择的 n-gram 大小)。 Stack Overflow 不支持 LaTeX,所以我不会进入更多公式来与 BLEU 进行比较。 {2} 清楚地解释了 BLEU。
参考文献:
- {1}林清耀。 "Rouge: A package for automatic evaluation of summaries." 在文本摘要分支中:ACL-04 研讨会论文集,卷。 8. 2004. https://scholar.google.com/scholar?cluster=2397172516759442154&hl=en&as_sdt=0,5 ; http://anthology.aclweb.org/W/W04/W04-1013.pdf
- {2} Callison-Burch、Chris、Miles Osborne 和 Philipp Koehn。 "Re-evaluation the Role of Bleu in Machine Translation Research." 在 EACL 中,卷。 6,第 249-256 页。 2006. https://scholar.google.com/scholar?cluster=8900239586727494087&hl=en&as_sdt=0,5;
ROGUE 和 BLEU 都是适用于创建文本摘要任务的指标集。本来机器翻译需要BLEU,但是它完美适用于文本摘要任务。
最好通过示例来理解概念。首先,我们需要像这样的摘要候选(机器学习创建的摘要):
the cat was found under the bed
以及黄金标准摘要(通常由人工创建):
the cat was under the bed
让我们找出 unigram(每个词)案例的精确率和召回率。我们使用单词作为指标。
机器学习摘要有7个词(mlsw=7),黄金标准摘要有6个词(gssw=6),重叠词数又是6个(ow=6)。
机器学习的召回率是:ow/gssw=6/6=1 机器学习的精度为:ow/mlsw=6/7=0.86
同样 we can compute 分组的一元语法、二元语法、n-gram 的精度和召回分数...
对于我们所知的 ROGUE,它同时使用召回率和精确率,以及 F1 分数,即它们的调和平均值。
对于 BLEU,它 also use 精确度与召回率相辅相成,但使用几何平均数和简洁性惩罚。
细微差别,但重要的是要注意它们都使用精度和召回率。