BLEU 翻譯品質指標

BLEU (雙語評估研究) 是評估機器翻譯譯文的指標,BLEU 分數是介於零與一之間的數字,用來測量機器翻譯結果與一組高品質參考翻譯的相似度:

  • 分數為 0 表示機器翻譯輸出內容與參考翻譯完全不重疊,表示翻譯品質較低。
  • 分數為 1 表示與參考翻譯完全重疊,翻譯品質較高。

BLEU 限制

  • BLEU 是以語料庫為基礎的指標。在用來評估個別語句時,BLEU 指標的效能不佳。即使單一句子表達出了大概意思,也會得到非常低的 BLEU 分數。由於個別語句的 n 元語法統計資料沒有什麼意義,因此 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 元語法數量。
  • \(m_{ref}^i\hphantom{xxx}\) 是參考翻譯中 i 元語法的數量。
  • \(w_t^i\hphantom{m_{max}}\) 是候選翻譯中的 i-gram 總數。

公式包含兩部分:短句懲罰值與 n 元語法重疊。

  • 簡潔處罰值。如果產生的翻譯與最接近的參考長度相比太短,簡潔處罰值會以指數衰減,對這些翻譯進行處罰。短句懲罰值彌補了 BLEU 分數缺少召回率機制的缺憾。

  • N 元語法重疊。N 元語法重疊會計算與參考翻譯中對應 n 元語法相符的一元語法、二元語法、三元語法與四元語法 (i=1,...,4) 數。這個機制會做為查準率指標使用。一元語法說明翻譯的「適當性」,而更長的 n 元語法說明「流暢性」。為避免數量過多,系統會將 n 元語法數降至參考中出現的 n 元語法數上限 (\(m_{ref}^n\))。

範例:計算 \(precision_1\)

請考慮下列參考語句與候選翻譯:

參考語句:the cat is on the mat
候選語句:the the the cat mat

首先要計算參考語句與候選語句中,每個一元語法的出現次數。請注意,BLEU 指標區分大小寫。

一元語法 \(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

候選語句中的一元語法總數 (\(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.
候選語句 1: The Opportunity rover is combating a big sandstorm on Mars.
候選語句 2: A NASA rover is fighting a massive storm on Mars.

上述範例包含單一參考與兩個候選翻譯。在計算 BLEU 分數之前,會對語句進行詞元化。比方說,會將最後的句號做為單獨的詞元計算。

如要計算每個翻譯的 BLEU 分數,我們會計算下列統計資料。

  • N 元語法查準率。下表包含兩個候選的 n 元語法查準率。
  • 簡潔處罰值。候選 1 與候選 2 的簡潔處罰值相同,因為兩個語句都包含 11 個符記。
  • BLEU 分數。至少要有一個相符的 4 元語法,才能取得 > 0 的 BLEU 分數。由於候選翻譯 1 沒有相符的 4 元語法,因此 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