在自然语言处理(尤其是机器翻译)中同样经典的指标——BLEU。它和 MRR、MAP 这些基于“位置/排序”的指标不一样,而是纯粹衡量文本生成内容与参考答案在字面上的重叠程度。


一、BLEU 是什么?

BLEU 全称 Bilingual Evaluation Understudy,意为“双语评估替补”。它本质上是一个自动评估机器翻译质量的指标,也可以用于文本摘要、对话生成等任务。

核心思想很简单:把机器生成的译文(候选译文)和一个人工撰写的或多份参考译文对比,看它们有多少 n-gram(连续的 n 个词)是重合的。重合得越多,说明译文越接近人类表达,质量越高。


二、为什么不能直接用简单的 n-gram 精确率?

你可能会想:直接统计候选译文里有多少比例的 n-gram 在参考译文里也出现过不就行了?这就是朴素精确率。
但直接用会有两个致命问题,BLEU 的改进也正是针对它们:

  1. 重复词会虚高得分
    如果候选译文疯狂重复一个常见词,比如 “the the the the the...”,参考译文里肯定有 “the”,朴素精确率就会是 100%,但这是垃圾翻译。

  2. 过短译文会钻空子
    候选译文如果只输出一个肯定正确的单词,朴素精确率能达到 100%,但这完全丢失了大量信息。

BLEU 通过两项机制解决:修正的 n-gram 精确率 和 简短惩罚。


三、计算步骤(由内向外拆解)

通常计算的是 BLEU@N,最常用的是 N=4,即 BLEU-4,同时考虑 1-gram 到 4-gram 的匹配。

步骤 1:修正的 n-gram 精确率 (Modified Precision)

对于每个 n(比如 n=1 单词,n=2 双词组),我们不是简单算比例,而是对每个 n-gram 的匹配次数进行“截断”:

  • 截断计数:一个 n-gram 在候选译文中出现的次数,最多只计到该 n-gram 在任一参考译文中出现的最大次数。

  • 这样做就能防止 “the the the” 无限刷分:参考译文里即使有 “the”,也可能只出现 2 次,候选译文里出现 100 次也只计 2 次。

image

 

步骤 2:结合多个 n-gram 的精确率

单独一个 n 不够全面。1-gram 看“用词是否准确”,4-gram 看“短语搭配是否流畅”。
BLEU 将 N 个 pn通过几何平均结合在一起(还记得几何平均数吗?这里正是因为它处理的是乘法关系,且对任何一个极低的 pn敏感,避免某阶完全崩坏)。

image

通常 N=4,权重 wn=1/4,即等权重几何平均。

步骤 3:简短惩罚 (Brevity Penalty, BP)

防止译文过短。如果候选译文长度 cc 短于有效参考译文长度 rr(通常选与候选译文长度最接近的那个参考译文的长度),就要按比例惩罚:

image

 

  • 候选长度不小于参考长度时,BP = 1,不惩罚。

  • 候选过短时,BP < 1,用指数函数降低总分。

步骤 4:最终 BLEU 分数

image

 

值域是 0 到 1,通常以百分数呈现。完美匹配为 1(或 100%),但实践中即使人工翻译也很难得满分(表达多样性)。


四、一个简单的计算实例

参考译文(2个):
Ref 1: The cat is on the mat.
Ref 2: There is a cat on the mat.

候选译文:
Cand: The cat the cat on the mat.

现在计算 BLEU-2(N=2,等权重),只为说明过程。

1-gram 精确率 (p1p1​):
候选 1-gram:the(3次), cat(2次), on(1次), mat(1次)
参考中最大计数:

  • “the”:Ref 1 有 2 次,Ref 2 有 1 次 → 最大 2

  • “cat”:最大 1(两个 ref 都是 1)

  • “on”:最大 1

  • “mat”:最大 1

截断后总匹配数 = min(3,2) + min(2,1) + min(1,1) + min(1,1) = 2+1+1+1 = 5
候选总 1-gram 数 = 3+2+1+1 = 7
p1=5/7p1​=5/7

2-gram 精确率 (p2p2​):
候选 2-gram:The cat(2次), cat the(1次), cat on(1次), on the(1次), the mat(1次) → 5种,总计数 6 次
参考 2-gram 最大计数(需各参考转成2-gram并取最大):

  • Ref 1: The cat(1), cat is(1), is on(1), on the(1), the mat(1)

  • Ref 2: There is(1), is a(1), a cat(1), cat on(1), on the(1), the mat(1)
    合并取最大:The cat最多出现1次(俩ref都是1),cat the 最大0(无),cat on 最大1(Ref2有),on the 最大1,the mat 最大1。

截断匹配:The cat: min(2,1)=1;cat the: min(1,0)=0;cat on: min(1,1)=1;on the: min(1,1)=1;the mat: min(1,1)=1。总匹配 = 4。
候选总 2-gram 数 = 6
p2=4/6=2/3p2​=4/6=2/3

几何平均(N=2,等权):
= exp(0.5ln(5/7) + 0.5ln(2/3)) = exp(0.5*ln(5/7 * 2/3)) = sqrt(10/21) ≈ 0.69

简短惩罚:
候选长度 c = 7 词。参考长度:Ref1 6词,Ref2 7词(忽略句点)。c等于r,BP=1。

BLEU-2 ≈ 0.69

如果是 BLEU-4,还会加入 3-gram 和 4-gram,且若候选较短,则 BP 会有惩罚。


五、特点与局限

优点:

  • 计算快,可自动运行,无需人工。

  • 与人工评价的相关性在语料级(corpus-level)较高,但不一定适合单句级。

  • 语言无关,只需词表匹配。

局限:

  • 纯字面匹配,不懂语义:同义词、句式变换可能被视为错误。

  • 对词序不敏感(仅在 n-gram 内局部词序):可通过高阶 n-gram 部分缓解。

  • 偏向短译文(即使有 BP,仍可能偏爱保守的短句)。

  • 需要多份参考译文才能更稳定,单参考时容易低估好译文。


六、思维联结

MAP、MRR、P@K 这些指标,本质都是在衡量“一个列表的排序质量”,基于的是离散的相关性判断。
BLEU 则是在评估 “一个序列与另一个序列的片段重合度”,它的核心手段是修改过的精确率 + 几何平均 + 乘法惩罚。
有趣的是,BLEU 中的几何平均用法和你之前学的几何平均数概念一脉相承:它想把各个 n-gram 精确率“压缩”成一个值,且任何一个阶太低都会拉低总分,这跟投资回报率不能用算术平均而要用几何平均是同一个道理。