212 Chapter 7. 基于短语的模型 肖桐 朱靖波
7.4 翻译调序建模
尽管已经知道了如何将一个源语言短语翻译成目标语言短语,但是想要获得
个高质量的译文,仅有互译的双语短语是远远不够的。
7.16示,“在////果”
译,得到的译文on the table the apple”的语序是不对的。虽然可以使 n-gram
言模型对语序进行建模,但是此处仍然需要用更加准确的方式描述目标语短语间
次序。一般,把这个问题称为短语调序,或者简称调序Reordering)。通常,基于
短语的调序模型会作为判别模型的特征参与到翻译过程中来。接下来,会介绍 3
不同的调序方法,分别是基于距离的调序、基于方向的调序MSD 模型)以及基于
分类的调序。
s
在桌子上的 苹果
t
the apple
on the table
7.16 基于短语翻译的调序
7.4.1 基于距离的调序
基于距离的调序是最简的一种调序模型。第六章所讨论的“扭曲度”本
上就是一种调序模型。只不过第六章所涉及的扭曲度描述的是单词的调序问题,
这里需要把类似的概念推广到短语。
基于距离的调序的一个基本假设是:语言的翻译基本上都是顺序的,也就是,
文单词出现的顺序和源语言单词的顺序基本上是一致的。反过来说,如果译文和
语言单词(或短语)的顺序差别很大,就认为出现了调序。
基于距离的调序方法的核心思想就是度量当前翻译结果与顺序翻译之间的差距。
对于译文中的第 i 个短语, start
i
表示它所对应的源语言短语中第一个词所在的位
置,end
i
表示它所对应的源语言短语中最后一个词所在的位置。于是,这个短语(相
对于前一个短语)的调序距离为:
dr = start
i
end
i1
1 (7.15)
在图7.17的例子中,the apple所对应的调序距离为 4on the table所对应的
调序距离为 5显然,如果两个源语短语按顺序翻译, start
i
= end
i1
+ 1这时
调序距离为 0
如果把调序距离作为特征,一般会使用指数函数 f(dr) = a
|dr|
作为特征函数(或
者调序代价的函数)其中 a 是一个参数,控制调序距离对整个特征值的影响。调序
7.4 翻译调序建模 213
s
桌子
1 2
3
4
苹果
5
t
the apple
on the table
目标短语位置
源短语位置
距离
1
2
5
1-4
+4
-5
start
1
end
0
1 = 5 - 0 - 1
start
2
end
1
1 = 1 - 5 - 1
dr = 5 dr = +4
7.17 基于距离的调序
距离 dr 的绝对值越大,调序代价越高。基于距离的调序模型比较适用于像法语到英
语翻译这样的任务,因为两种语言的语序基本上是一致的。但是,对于汉语到日语翻
译,由于句子结构存在很大差异(日语是谓词后置,而汉语中谓词放在宾语前)使
用基于距离的调序会带来一些问题。因此,具体应用时应该根据语言之间的差异
有选择地使用该模型。
7.4.2 基于方向的调序
基于方向的调序模型是另一种常用的调序模型。该模型是一种典型的单词化
序模型,因此调序的结果会根据不同短语有所不同。简单来说,在两个短语目标
言端连续的情况下,该模型会判断两个双语短语在源语言端的调序情况,包含三
调序类型:顺序的单调翻译(M、与前一个短语交换位置(S、非连续翻译(D
因此,这个模型也被称作 MSD 调序模型,也是 Moses 等经典的机器翻译系统所采用
的调序模型
[80]
7.18展示型,源语
序排列时,它们就是单调的(如:从左边数前两个短语)如果对应的短语顺序在目
标语中是反过来的,属于交换调序(如:从左边数第三和第四个短语)如果两个短
语之间还有其他的短语,就是非连续调序(如:从右边数的前两个短语)
t
1
t
2
t
3
t
4
t
5
t
6
t
7
t
8
s
1
s
2
s
3
s
4
s
5
s
6
M(monotone):单调调序
S(swap):与前面一个短语
位置进行交换
D(discontinuous):非连续调序
m
m
d
s
d
7.18 单词化调序模型的三种调序类型
214 Chapter 7. 基于短语的模型 肖桐 朱靖波
对于每种调序类型,都可以定义一个调序概率,如下:
P (o|s,t,a) =
K
Y
i=1
P (o
i
|¯s
a
i
,
¯
t
i
,a
i1
,a
i
) (7.16)
其中,o
i
表示(目标语言) i 个短语的调序方向,o = {o
i
} 表示短语序列的调序方
向,K 表示短语的数量。短语之间的调序概率是由双语短语以及短语对齐决定的,o
表示调序的种类,可以取 MSD 中的任意一种。而整个句子调序的好坏就是把相
邻的语之的调概率乘(对 log 后的加法)。这样,公式(7.16)序的
好坏定义为新的特征,对于 MSD 总共就有三个特征。除了当前短语和前一个短
语的调序特征,还可以定义当前短语和后一个短语的调序特征,即将上述公式中
a
i1
换成 a
i+1
于是,又可以得到三个特征。因此在 MSD 调序中总共可以有 6 个特
征。
具体实现时,通常使用词对齐对两个短语间的调序关系进行判断。7.19展示了
这个过程。先判断短语的左上角和右上角是否存在词对齐,再根据其位置对调序
型进行划分。每个短语对应的调序概率都可以用相对频次估计进行计算。 MSD
序模型也相当于在短语表中的每个双语短语后添 6 个特征。不过,调序模型一
并不会和短语表一起存储,因此在系统中通常会看到两个独立的模型文件,分别
存短语表和调序模型。
t
1
t
2
t
3
t
4
t
5
t
6
s
1
s
2
s
3
s
4
s
5
s
6
t
1
t
2
t
3
t
4
t
5
t
6
s
1
s
2
s
3
s
4
s
5
s
6
M S
S
M
基于词 基于短语
7.19 调序类型的判断
7.4.3 基于分类的调序
MSD 调序中,双语短语所对应的调序概率 P (o
i
|¯s
a
i
,
¯
t
i
,a
i1
,a
i
) 是用极大似然
估计方法进行计算的。但是,这种方法也会面临数据稀疏问题,同时对调序产生
响的细致特征也没有考虑进来。另一种有效的方法是直接用统计分类模型对调序
行建模,比如,可以使用最大熵、SVM 等分类器输出调序概率或者得分
[268, 269, 270]
于基于分类的调序模型,有两方面问题需要考虑:
训练样本的生成。可以把 MSD 看作是类别标签,把所对应的短语及短
7.4 翻译调序建模 215
对齐信息看作是输入。这样就得到了大量分类器训练所需的样本。
分类特征设计。这部分是传统统计机器学习中的重要组成部分,好的特征会对
分类结果产生很大影响。在调序模型中,一般直接使用单词作为特征,比如用
短语的第一个单词和最后一个单词作为特征就可以达到很好的效果。
随着神经网络方法的兴起,也可以考虑使用多层神经网络构建调序模型
[271]
。这
时,可以把短语直接送入一个神经网络,之后由神经网络完成对特征的抽取和表示,
并输出最终的调序模型得分。