详解机器翻译任务中的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 n−1 阶马尔可夫链的一种概率语言模型(即只考虑前 n − 1 n-1 n−1 个词出现的情况下,后一个词出现的概率):
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=1∏TP(wi)P(w1,w2,⋯,wT)=P(x1)i=1∏T−1P(wi+1∣wi)P(w1,w2,⋯,wT)=P(x1)P(x2∣x1)i=1∏T−2P(wi+2∣wi,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,1−len(pred)len(label)))n=1∏kpn1/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,F 和 pred
:
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计算
机器翻译自动评价之BLEU详解-BLEU: a Method for Automatic Evaluation of Machine Translation
机器翻译自动评价之BLEU详解-BLEU: a Method for Automatic Evaluation of Machine Translation