7.6 最小错误率训练 217
7.6 最小错误率训练
除了特征设计,统计机器翻译也需要找到每个特征所对应的最优权重 λ
i
。这也
就是机器学习中所说的模型训练问题。不过,需要指出的是,统计机器翻译关于模型
训练的定义与传统机器学习稍有不同。在统计机器翻译中,短语抽取和翻译概率的
估计被看作是模型训练(Model Training),也就是说这里的模型训练是指特征函数的
学习;而特征权重的训练,一般被称作权重调优(Weight Tuning),而这个过程才真
正对应了传统机器学习(如分类任务)中的模型训练过程。在本章中,如果没有特殊
说明,权重调优就是指特征权重的学习,模型训练是指短语抽取和特征函数的学习。
想要得到最优的特征权重,最简单的方法是枚举所有特征权重可能的取值,然
后评价每组权重所对应的翻译性能,最后选择最优的特征权重作为调优的结果。但
是特征权重是一个实数值,因此可以考虑把实数权重进行量化,即把权重看作是在
固定间隔上的取值,比如,每隔
0.01
取值。即使是这样,同时枚举多个特征的权重
也是非常耗时的工作,当特征数量增多时这种方法的效率仍然很低。
这里介绍一种更加高效的特征权重调优方法
——
最小错误率训练(Minimum
Error Rate Training,MERT)。最小错误率训练是统计机器翻译发展中代表性工作,也
是机器翻译领域原创的重要技术方法之一
[234]
。最小错误率训练假设:翻译结果相对
于标准答案的错误是可度量的,进而可以通过降低错误数量的方式来找到最优的特
征权重。假设有样本集合 S = {(s
[1]
,r
[1]
),...,(s
[N]
,r
[N]
)},s
[i]
为样本中第 i 个源语言
句子,r
[i]
为相应的参考译文。注意,r
[i]
可以包含多个参考译文。S 通常被称为调优
集合(Tuning Set)。对于 S 中的每个源语句子 s
[i]
,机器翻译模型会解码出 n-best 推
导
ˆ
d
[i]
= {
ˆ
d
[i]
j
},其中
ˆ
d
[i]
j
表示对于源语言句子 s
[i]
得到的第 j 个最好的推导。{
ˆ
d
[i]
j
} 可
以被定义如下:
{
ˆ
d
[i]
j
} = argmax
{d
[i]
j
}
M
X
i=1
λ
i
·h
i
(d,t
[i]
,s
[i]
) (7.17)
对于每个样本都可以得到 n-best 推导集合,整个数据集上的推导集合被记为
ˆ
D
=
{
ˆ
d
[1]
,...,
ˆ
d
[N]
}
。进一步,令所有样本的参考译文集合为
R
=
{
r
[1]
,...,r
[N]
}
。最小
错误率训练的目标就是降低
ˆ
D 相对于 R 的错误。也就是,通过调整不同特征的权重
λ = {λ
i
},让错误率最小,形式化描述为:
ˆ
λ = arg min
λ
Error(
ˆ
D,R) (7.18)
其中,Error(·) 是错误率函数。Error(·) 的定义方式有很多,一般来说 Error(·) 会与机器
翻译的评价指标相关,例如,词错误率 (WER)、位置错误率 (PER)、BLEU 值、NIST 值
等都可以用于 Error(·) 的定义。这里使用 1−BLEU 作为错误率函数,即 Error(
ˆ
D,R) =