文本生成指标:BLEU、ROUGE、METEOR
怎么给生成的文本对照参考答案打分?这些指标数的是词语重叠,快而便宜,却系统性地与人类判断不一致。
给一个标签打分很容易:对得上或对不上。给生成的文本打分就不然,因为一个好的翻译或摘要可以用一百种说得通的方式表达,而它们和任何单一参考答案共享的确切词语都很少。BLEU、ROUGE 和 METEOR 是自动化这件事的经典尝试,办法是衡量与一份或多份人工参考答案之间的词语重叠。它们快而便宜,而理解它们为什么和人类判断不一致,比理解那些公式更有用。
BLEU:n-gram 的精确率
BLEU(bilingual evaluation understudy,双语评估替补)是为机器翻译造的。它问的是:模型产出的 n-gram 里,有多少出现在参考答案中?
它统计好几个 n-gram 尺寸上的重叠——一元组(unigram,单个词)、二元组(bigram,词对),一直到 4-gram——再把它们结合起来。一元组重叠检查该出现的词在不在;更高阶的 n-gram 检查这些词在局部顺序上是否合理。一个 4-gram 命中,意味着连续四个词和参考答案对上了,这是「表达流畅」相当不错的证据。
有两块补丁让它保持诚实:
- 截断计数。 产出「the the the the」不能因为「the」拿到比参考答案中出现次数更多的分数,所以模型没法靠重复一个常见词来刷分。
- 简短惩罚。 BLEU 基于精确率,所以一个词长的输出(「the」)可以轻易做到精确率满分。简短惩罚会扣掉比参考答案更短的输出的分数,逼它覆盖内容。
BLEU 是一个语料级指标——在整个测试集上取平均才可靠,单看任何一句话都很嘈杂。
ROUGE:面向摘要的召回率
ROUGE(recall-oriented understudy for gisting evaluation,面向召回的要点评估替补)是 BLEU 的镜像,为摘要而生。BLEU 问的是「我生成的内容里有多少在参考答案里」(精确率),ROUGE 问的主要是「参考答案里有多少被我抓住了」(召回率)——因为摘要的职责就是覆盖。
常见的变体有:
- ROUGE-N:n-gram 召回率(ROUGE-1 对应一元组,ROUGE-2 对应二元组)。
- ROUGE-L:最长公共子序列——奖励以相同相对顺序出现的词,不要求它们相邻,因此对插入内容更宽容。
ROUGE 通常报成一个混合了精确率和召回率的 F 分数,但它的核心是召回率:摘要有没有覆盖参考答案的内容。
METEOR:带脑子的重叠
METEOR 是为了修掉 BLEU 最明显的盲区——它只匹配确切的词,所以「quick」和「fast」的重叠是零。METEOR 加上了:
- 词干提取,于是「running」能匹配「run」。
- 同义词与同义改写匹配,于是「quick」能匹配「fast」。
- 一条显式的词序惩罚,针对支离破碎的匹配。
因为它明白不同的词可以承载相同的含义,METEOR 在句子层面与人类判断的相关性比 BLEU 更好。它的代价是更贵、更依赖语言,因为它需要词干提取器和同义词资源。
为什么会和人类判断背离
这是最要紧的部分,也是这些指标如今主要作为快速代理、而非标准答案存活的原因。三者本质上都在数表层重叠,而表层重叠不是含义。
合理的同义改写会得低分。 「The cat sat on the mat」和「The feline rested on the rug」意思一样,却几乎不共享任何词。BLEU 和 ROUGE 会狠狠惩罚第二句。指标把一个好答案错认成了坏答案——评测为什么难里那个「输出空间太大」的问题,在这里落了地。
流畅的废话可以得高分。 一段输出可以在词语上和参考答案重叠,同时语法不通或事实错误。词语重叠高不等于正确,而这些指标认不出一个恰好复用了参考答案词汇的幻觉事实。
一份参考答案太少了。 只有一份参考答案时,每一种合理的替代表达都要被惩罚。多份参考答案有帮助,但收集起来很贵,所以大多数评测只用一份,然后默默接受这份偏差。
它们对含义、忠实度和连贯性完全失明——而这些恰恰是现代生成最看重的品质。一篇摘要可以 ROUGE 很高,却对原文不忠实。
它们仍有用武之地的地方
它们不是没用——对一项窄任务来说它们是合适的工具。当你需要快、便宜、可复现的信号来在迭代中比较系统版本时就用它们,尤其是在翻译和摘要这类参考答案天然存在的场景。它们能很好地追踪大幅回归,而且每次提交都跑一遍也不花什么钱。
要下最终的质量判断,就该和它们搭配,或者干脆换成:
- 基于 embedding 的指标(比如 BERTScore),通过 embedding 而不是确切的词来比较含义,能抓住 n-gram 指标漏掉的同义改写。
- 模型裁判,它让主观打分可规模化——但要注意评测基础里讲到的那些前提:先验证裁判本身,优先用两两比较。
- 人工评估——衡量忠实度和连贯性,至今仍以它为准。
诚实的说法是:BLEU 和 ROUGE 衡量的是「这看起来像不像参考答案」,而不是「这是不是好」。把它们的用途限定在便宜的回归检测上,永远不要让 BLEU 的一个增量成为质量问题的最终结论。
要点回顾
- BLEU、ROUGE 和 METEOR 靠与人工参考答案的词语重叠给生成文本打分——快、便宜、可复现。
- BLEU 是 n-gram 精确率(翻译),带截断计数和简短惩罚;ROUGE 面向召回率(摘要);METEOR 加了词干和同义词,减轻精确匹配的盲区。
- 三者都在数表层重叠,所以会惩罚合理的同义改写、奖赏流畅但错误的内容,也看不见忠实度——这就是它们和人类判断背离的原因。
- 只有一份参考答案会给分数带来偏差;多份参考答案有帮助,但成本更高。
- 迭代期间用它们做回归检测;最终质量要靠 embedding 指标、模型裁判或人。
下一篇: 检索与排序指标