经典题解析:BLEU 和 ROUGE 为什么不能互相替代

图中先确定分词与统计单位,再分别计算候选精确率、参考召回和长度惩罚。

生成文本评测里经常出现 BLEU 与 ROUGE,但把它们简称为“准确率”和“召回率”,很容易丢掉重要限定。它们衡量的是候选与参考文本之间某种形式的重合,不直接判断答案是否真实,也不是同一个数字换一个名字。

先固定文本怎样被切分

一个词、一个汉字还是一个子词算一个单位,会直接改变 n-gram 计数。大小写、标点、分词器和参考答案数量同样影响结果。因此,比较分数之前,先确认处理口径与工具配置,不能只看指标名称相同。

n-gram 指连续 n 个统计单位。只看一元组不考虑局部顺序,加入更高阶组合会约束相邻表达,但也更容易在短句和改写中出现零匹配。指标参数不是可以在结果出来后随意挑选的装饰。

语料级汇总和逐句求分再平均也未必相同。特别是长度惩罚与多阶精确率的聚合,改变顺序就可能改变答案。报告时应说清是句级还是语料级,而不是笼统写一个 BLEU 分数。

BLEU 先看修正的 n-gram 精确率

基本思想是计算候选中的 n-gram,有多少能在参考中获得支持,并限制重复匹配计数。候选把某个词重复很多次,不能无限借参考里只出现一次的那个词获得多次有效命中。

常见 BLEU 再把不同阶的修正精确率按权重做几何平均,并乘以长度惩罚。候选过短,可能只挑几个容易匹配的词,所以长度惩罚会降低这种投机分数;但它不是对事实完整性的直接检验。

没有平滑时,某一采用阶数的精确率为零,可能使整体分数为零。句级平滑、有效阶数等不同实现设置会改变结果,不能把所有工具的默认值都当成同一个定义。高分也不说明每一处否定和数字都正确。

词面重合有用,但不等于事实正确

ROUGE 是一组指标,不只有召回

ROUGE-N 常从参考文本的 n-gram 覆盖出发,强调候选找回了多少参考内容。实际工具还经常同时报告精确率、召回率和 F 值;ROUGE-L 则涉及最长公共子序列,不要求所有匹配单位在文本中紧邻。

因此,看到 ROUGE-1、ROUGE-2 或 ROUGE-L,要先确认是哪一种,再确认展示的是 R、P 还是 F。不能把 ROUGE-L 说成一元组重合,也不能把所有 ROUGE 结果一律解释为召回率。

重合指标仍然依赖参考。候选提出合理但参考没写的内容,可能得不到命中;候选重复参考中的错误,也可能获得很好的表面分数。这是评价对象和证据来源的边界,不是简单选择更高阶 n-gram 就能消除。

用一元算例看出两种侧重点

自设参考按空格切成五个词:system does not allow write。候选删掉 not,只剩四个词。四个候选词都在参考里,因此一元修正精确率为一;参考覆盖率则为四除以五,等于 0.8。

只计算一元 BLEU 的教学版本,候选长度四、参考长度五,长度惩罚为 exp(1-5/4),约为 0.7788,最终这个 BLEU-1 值也约为 0.7788。若计算 ROUGE-1 的对应精确率和召回率,分别为一和 0.8,F1 约为 0.8889。

这些不是默认 BLEU-4 的结果,更不是所有 ROUGE 工具都会直接展示的同一字段。这个算例只为展示分母和长度惩罚,并提醒:删掉一个否定词,意思已经反转,词面指标却仍可能不低。

该怎样使用这些数字

可以用它们比较同一处理口径下的文本重合趋势,再结合任务所需的事实、约束、格式和人工样本检查。开放式生成尤其存在多种正确表达,单一参考下低重合不必然意味着错误,高重合也不能替代真实性判断。

如果需要复现,应记录版本、分词、大小写、平滑、采用阶数、聚合方式和参考集;比较不同方案时尽量固定这些条件。否则所谓提升,可能只是计分方式变了。

面试回答可以按“统计单位、BLEU精确率与惩罚、ROUGE家族与覆盖、事实边界”组织。若一个答案与参考几乎逐字相同,只把“不允许”改成“允许”,你会让哪一种额外检查识别这个错误?