50

使用两个不同的摘要系统(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 vs BLEU 解释这个问题的主要区别是什么?

4

3 回答 3

59

一般来说:

Bleu 测量精度:机器生成的摘要中的单词(和/或 n-gram)有多少出现在人类参考摘要中。

Rouge 测量召回:人类参考摘要中的单词(和/或 n-gram)在机器生成的摘要中出现了多少。

自然地 - 这些结果是互补的,正如在精确率与召回率中经常出现的情况一样。如果系统结果中有很多单词出现在人工参考中,那么您将具有高 Bleu,如果您有很多来自人工参考的单词出现在系统结果中,您将具有高 Rouge。

在您的情况下,sys1 的 Rouge 似乎比 sys2 高,因为 sys1 中的结果始终比 sys2 中的结果出现更多来自人类参考的单词。但是,由于您的 Bleu 分数显示 sys1 的召回率低于 sys2,这表明您的 sys1 结果中没有太多单词出现在人类参考文献中,就 sys2 而言。

例如,如果您的 sys1 输出的结果包含参考中的单词(提高 Rouge),但也包含参考不包含的许多单词(降低 Bleu),则可能会发生这种情况。sys2 似乎给出了结果,其中输出的大多数单词确实出现在人类参考文献中(提高了蓝色),但也从它的结果中遗漏了许多确实出现在人类参考文献中的单词。

顺便说一句,有一种叫做简洁惩罚的东西,它非常重要,并且已经被添加到标准的 Bleu 实现中。它会惩罚比参考的一般长度的系统结果(在此处阅读更多信息)。这补充了 n-gram 度量行为,实际上惩罚比参考结果更长,因为分母增长得越长,系统结果越长。

你也可以为 Rouge 实现类似的东西,但这次惩罚比一般参考长度长的系统结果,否则会使它们人为地获得更高的 Rouge 分数(因为结果越长,你击​​中一些出现在参考文献中的单词)。在 Rouge 中,我们除以人类参考的长度,因此我们需要对更长的系统结果进行额外的惩罚,这可能会人为地提高他们的 Rouge 分数。

最后,您可以使用F1 度量来使指标协同工作:F1 = 2 * (Bleu * Rouge) / (Bleu + Rouge)

于 2016-08-28T10:35:06.460 回答
19

ROUGE 和 BLEU 都是基于 n-gram 来衡量系统摘要和人类摘要之间的相似性。那么为什么会有这样的评估结果差异呢?ROUGE vs BLEU 解释这个问题的主要区别是什么?

同时存在 ROUGE-n 精度和 ROUGE-n 精度召回。介绍 ROUGE {3} 的论文中的原始 ROUGE 实现既计算了两者,也计算了产生的 F1 分数。

来自http://text-analytics101.rxnlp.com/2017/01/how-rouge-works-for-evaluation-of.html镜像):

胭脂回忆:

在此处输入图像描述

胭脂精度:

在此处输入图像描述

(介绍 ROUGE {1} 的论文中的原始 ROUGE 实现可能会执行更多操作,例如词干提取。)

与 BLEU 不同,ROUGE-n 精度和召回率很容易解释(请参阅解释 ROUGE 分数)。

ROUGE-n 精度和 BLEU 之间的区别在于 BLEU 引入了一个简洁的惩罚项,并且还计算了几个 n-gram 大小的 n-gram 匹配(不像 ROUGE-n,其中只有一个选择的 n-gram尺寸)。Stack Overflow 不支持 LaTeX,所以我不会使用更多公式与 BLEU 进行比较。{2} 清楚地解释了 BLEU。


参考:

于 2017-11-07T02:01:33.163 回答
9

ROGUE 和 BLEU 都是适用于创建文本摘要任务的指标集。原本机器翻译需要 BLEU,但它完全适用于文本摘要任务。

最好使用示例来理解这些概念。首先,我们需要有这样的摘要候选(机器学习创建的摘要):

猫在床底下被发现

以及黄金标准摘要(通常由人类创建):

猫在床底下

让我们找到一元(每个单词)案例的精度和召回率。我们使用单词作为衡量标准。

机器学习摘要有 7 个词(mlsw=7),黄金标准摘要有 6 个词(gssw=6),重叠词数又是 6 个(ow=6)。

机器学习的召回率是:ow/gssw=6/6=1 机器学习的精度是:ow/mlsw=6/7=0.86

类似地,我们可以计算分组 unigrams、bigrams、n-grams 的精度和召回分数......

对于 ROGUE,我们知道它同时使用召回率和精度,以及 F1 分数,这是它们的调和平均值。

对于 BLEU,它也使用与召回率相结合的精度,但使用几何平均值和简洁惩罚。

细微的差异,但重要的是要注意它们都使用精确度和召回率。

于 2019-12-17T11:02:34.617 回答