详解机器翻译任务中的BLEU

Posted aelum

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解机器翻译任务中的BLEU相关的知识,希望对你有一定的参考价值。

目录

一、 n n n 元语法(N-Gram)

n n n 元语法(n-gram)是指文本中连续出现的 n n n词元。当 n n n 分别为 1 , 2 , 3 1,2,3 1,2,3 时,n-gram 又叫作 unigram(一元语法)、bigram(二元语法)和 trigram(三元语法)。

n n n 元语法模型是基于 n − 1 n-1 n1 阶马尔可夫链的一种概率语言模型(即只考虑前 n − 1 n-1 n1 个词出现的情况下,后一个词出现的概率):

unigram: P ( w 1 , w 2 , ⋯   , w T ) = ∏ i = 1 T P ( w i ) bigram: P ( w 1 , w 2 , ⋯   , w T ) = P ( x 1 ) ∏ i = 1 T − 1 P ( w i + 1 ∣ w i ) trigram: P ( w 1 , w 2 , ⋯   , w T ) = P ( x 1 ) P ( x 2 ∣ x 1 ) ∏ i = 1 T − 2 P ( w i + 2 ∣ w i , w i + 1 ) \\beginaligned \\textunigram:\\quad&P(w_1,w_2,\\cdots,w_T)=\\prod_i=1^T P(w_i) \\\\ \\textbigram:\\quad&P(w_1,w_2,\\cdots,w_T)=P(x_1)\\prod_i=1^T-1 P(w_i+1|w_i) \\\\ \\texttrigram:\\quad&P(w_1,w_2,\\cdots,w_T)=P(x_1)P(x_2|x_1)\\prod_i=1^T-2 P(w_i+2|w_i,w_i+1) \\\\ \\endaligned unigram:bigram:trigram:P(w1,w2,,wT)=i=1TP(wi)P(w1,w2,,wT)=P(x1)i=1T1P(wi+1wi)P(w1,w2,,wT)=P(x1)P(x2x1)i=1T2P(wi+2wi,wi+1)

二、BLEU(Bilingual Evaluation Understudy)

2.1 BLEU 定义

BLEU(发音与单词 blue 相同) 最早是用于评估机器翻译的结果, 但现在它已经被广泛用于评估许多应用的输出序列的质量。对于预测序列 pred 中的任意 n n n 元语法, BLEU 的评估都是这个 n n n 元语法是否出现在标签序列 label 中。

BLEU 定义如下:

BLEU = exp ⁡ ( min ⁡ ( 0 , 1 − len(label) len(pred) ) ) ∏ n = 1 k p n 1 / 2 n \\textBLEU=\\exp\\left(\\min\\left(0,1-\\frac\\textlen(label)\\textlen(pred)\\right)\\right)\\prod_n=1^kp_n^1/2^n BLEU=exp(min(0,1len(pred)len(label)))n=1kpn1/2n

其中 len(*) \\textlen(*) len(*) 代表序列 ∗ * 中的词元个数, k k k 用于匹配最长的 n n n 元语法(常取 4 4 4), p n p_n pn 表示 n n n 元语法的精确度。

具体而言,给定 label A , B , C , D , E , F A,B,C,D,E,F A,B,C,D,E,Fpred A , B , B , C , D A,B,B,C,D A,B,B,C,D,取 k = 3 k=3 k=3

首先看 p 1 p_1 p1 如何计算。我们先将 pred 中的每个 unigram 都统计出来: ( A ) , ( B ) , ( B ) , ( C ) , ( D ) (A),(B),(B),(C),(D) (A),(B),(B),(C),(D),再将 label 中的每个 unigram 都统计出来: ( A ) , ( B ) , ( C ) , ( D ) , ( E ) , ( F ) (A),(B),(C),(D),(E),(F) (A),(B),(C),(D),(E),(F),然后看它们之间有多少匹配的(不可以重复匹配,即必须保持一一对应的关系)。可以看出一共有 4 4 4 个匹配的,而 pred 中一共有 5 5 5 个 unigram,于是 p 1 = 4 / 5 p_1=4/5 p1=4/5

再来看 p 2 p_2 p2 如何计算。我们先将 pred 中的每个 bigram 都统计出来: ( A , B ) , ( B , B ) , ( B , C ) , ( C , D ) (A,B),(B,B),(B,C),(C,D) (A,B),(B,B),(B,C),(C,D),再将 label 中的每个 bigram 都统计出来: ( A , B ) , ( B , C ) , ( C , D ) , ( D , E ) , ( E , F ) (A,B),(B,C),(C,D),(D,E),(E,F) (A,B),(B,C),(C,D),(D,E),(E,F),然后看它们之间有多少匹配的。可以看出一共有 3 3 3 个匹配的,而 pred 中一共有 4 4 4 个 bigram,于是 p 2 = 3 / 4 p_2=3/4 p2=3/4

最后看 p 3 p_3 p3 如何计算。我们先将 pred 中的每个 trigram 都统计出来: ( A , B , B ) , ( B , B , C ) , ( B , C , D ) (A,B,B),(B,B,C),(B,C,D) (A,B,B),(B,NLP-00-3BLEU计算

NLP-00-3BLEU计算

机器学习评判指标

机器翻译评测——BLEU算法详解

机器翻译自动评价之BLEU详解-BLEU: a Method for Automatic Evaluation of Machine Translation

机器翻译自动评价之BLEU详解-BLEU: a Method for Automatic Evaluation of Machine Translation