BLEU 翻译质量指标

BLEU(双语替换评测)是一项用于评估机器翻译文本的指标。BLEU 得分是一个介于 0 到 1 之间的数值,用于衡量机器翻译文本与一组高质量参考译文的相似度:

  • 得分为 0 表示机器翻译的输出与参考译文没有任何重叠,这表明翻译质量较低。
  • 得分为 1 表示与参考译文完全重叠,即翻译质量很高。

BLEU 限制

  • BLEU 是一个基于语料库的指标。当用于评估单个句子时,BLEU 指标表现不佳。即使单个句子翻出了大部分含义,其 BLEU 得分仍可能很低。因为单个句子的 n-gram 统计信息意义不大,所以 BLEU 的设计是一个基于语料库的指标;也就是说,在计算得分时,统计信息在整个语料库中进行累积。BLEU 指标不能针对单个句子进行分解。

  • BLEU 不区分实词和功能词。 BLEU 指标不区分实词和功能词。漏掉像 a 这样的功能词与 NASA 被错误替换为 ESA 一样会受到同样的惩罚。

  • BLEU 不善于捕捉句子的含义和语法。 漏掉“not”这样的单词会改变句子的极性。此外,仅考虑 n≤4 的 n 元语法忽略了长程依赖性,因此 BLEU 通常只会为不符合语法的句子应用一个较小的惩罚因子。

  • BLEU 依赖于归一化和词法单元化。在计算 BLEU 得分之前,参考翻译和候选翻译都会进行归一化和词法单元化处理。这些流程中的步骤选择对最终 BLEU 得分有显著的影响。

如何解读 BLEU 得分

以下是大致的参考,可帮助您解读以百分比而非小数表示的 BLEU 得分:

BLEU 得分(百分比) 解读
< 10 几乎没用
10 - 19 很难理解要点
20 - 29 要点很清晰,但有明显的语法错误
30 - 40 从可以理解到质量良好的翻译
40 - 50 高质量的翻译
50 - 60 质量极高、理解充分、语言流畅的翻译
> 60 质量经常高于人工翻译

以下颜色渐变可用作 BLEU 分数解释的一般量表:

量表的一般可解释性

数学细节

在数学上,BLEU 得分的定义为:

$$ \text{BLEU} = \underbrace{\vphantom{\prod_i^4}\min\Big(1, \exp\big(1-\frac{\text{reference-length}} {\text{output-length}}\big)\Big)}_{\text{brevity penalty}} \underbrace{\Big(\prod_{i=1}^{4} precision_i\Big)^{1/4}}_{\text{n-gram overlap}} $$

以及

\[ precision_i = \dfrac{\sum_{\text{snt}\in\text{Cand-Corpus}}\sum_{i\in\text{snt}}\min(m^i_{cand}, m^i_{ref})} {w_t^i = \sum_{\text{snt'}\in\text{Cand-Corpus}}\sum_{i'\in\text{snt'}} m^{i'}_{cand}} \]

其中:

  • \(m_{cand}^i\hphantom{xi}\) 是匹配参考翻译的候选翻译中 i-gram 的数量。
  • \(m_{ref}^i\hphantom{xxx}\) 是参考翻译中 i-gram 的数量。
  • \(w_t^i\hphantom{m_{max}}\) 是候选翻译中 i-gram 的总数。

该公式由两部分组成:简短惩罚因子和 n-gram 重叠度。

  • 简短惩罚因子。简短惩罚因子惩罚与最接近的参考长度相比过短的生成翻译,且呈指数衰减。简短惩罚因子弥补了 BLEU 得分没有召回率项的缺陷。

  • N-gram 重叠度。N-gram 重叠度计算有多少 1-gram、2-gram、3-gram、4-gram (i=1,...,4) 与参考翻译中 n-gram 对应内容相匹配。该项充当精确率指标。1-gram 反映充分性,而较长的 n-gram 反映翻译的流畅性。为避免过度计数,n-gram 数量限制为参考翻译中出现的最大 n-gram 数 (\(m_{ref}^n\))。

示例:计算 \(precision_1\)

假设有以下参考翻译和候选翻译:

参考翻译the cat is on the mat
候选翻译the the the cat mat

第一步是计算参考翻译和候选翻译中每个 1-gram 的出现次数。请注意,BLEU 指标区分大小写。

1-gram \(m_{cand}^i\hphantom{xi}\) \(m_{ref}^i\hphantom{xxx}\) \(\min(m^i_{cand}, m^i_{ref})\)
the 3 2 2
cat 1 1 1
is 0 1 0
on 0 1 0
mat 1 1 1

候选翻译中的 1-gram 的总数 (\(w_t^1\)) 为 5,因此 \(precision_1\) = (2 + 1 + 1)/5 = 0.8。

示例:计算 BLEU 得分

参考翻译The NASA Opportunity rover is battling a massive dust storm on Mars.
候选翻译 1The Opportunity rover is combating a big sandstorm on Mars.
候选翻译 2A NASA rover is fighting a massive storm on Mars.

以上示例包含一个参考翻译和两个候选翻译。在计算 BLEU 得分之前,系统会对句子进行词法单元化处理。例如,末尾的句号被计为一个单独的词法单元。

为了计算每个翻译的 BLEU 得分,我们需要计算以下统计信息。

  • N-Gram 精确率。下表包含两个候选翻译的 n-gram 精确率。
  • 简短惩罚因子。候选翻译 1 和候选翻译 2 的简短惩罚因子是相同的,因为这两个句子都包含 11 个词法单元。
  • BLEU 得分。若要使 BLEU 得分 > 0,至少需要有一个匹配的 4-gram。由于候选翻译 1 没有匹配的四元语法,因此它的 BLEU 得分为 0。
指标 候选翻译 1 候选翻译 2
\(precision_1\) (1gram) 8/11 9/11
\(precision_2\) (2gram) 4/10 5/10
\(precision_3\) (3gram) 2/9 2/9
\(precision_4\) (4gram) 0/8 1/8
简短惩罚因子 0.83 0.83
BLEU 得分 0.0 0.27