5.3 噪声信道模型 159
5.3 噪声信道模型
5.2节中,我们实现了一个简单的基于词的统计机器翻译模型,内容涉及建模、
训练和解码。但是,还有很多问题还没有进行深入讨论,比如,如何处理空翻译?
何对调序问题进行建模?如何用更严密的数学模型描述翻译过程?如何对更加复杂
的统计模型进行训练?等等。针对以上问题,本节将系统地介绍 IBM 统计机器翻译
模型。作为经典的机器翻译模型,对 IBM 模型的学习将有助于对自然语言处理问题
建立系统化建模思想,特别是对问题的数学描述方法将会成为理解本书后续内容的
基础工具。
首先,重新思考一下人类进行翻译的过程。对于给定的源语句 s人不会像计算
机一样尝试很多的可能,而是快速准确地翻译出一个或者少数几个正确的译文。在
人看来,除了正确的译文外,其他的翻译都是不正确的,或者说除了少数的译文人甚
至都不会考虑太多其他的可能性。但是,在统计机器翻译的世界里,没有译文是不
可能的。换句话说,对于源语言句子 s所有目标语词串 t 都是可能的译文,只是可
能性大小不同。这个思想可以通过统计模型实现:每对 (s,t) 都有一个概率值 P (t|s)
来描述 s 翻译为 t 的好与坏(图5.11
s
b
t
正确翻译
s
t
1
t
2
t
3
t
4
P (t
1
|s) = 0.1
P (t
2
|s) = 0.2
P (t
3
|s) = 0.3
P (t
4
|s) = 0.1
a)人的翻译候选空间
b)机器的翻译候选空间
5.11 不同翻译候选空间的对比:人(左)vs 机器翻译(右)
IBM 模型也是建立在如上统计模型之上。具体来说,IBM 模型的基础是噪声信道
模型Noise Channel Model它是由 Shannon 在上世纪 40 年代末提出来的
[241]
并于
上世纪 80 年代应用在语言识别领域,后来又被 Brown 等人用于统计机器翻译中
[9, 10]
在噪声信道模型中,目标语言句子 t(信源)被看作是由源语言句子 s(信宿)
过一个有噪声的信道得到的。如果知道了 s 和信道的性质,可以通过 P (t|s) 得到信
源的信息,这个过程如图5.12所示。
s
t
噪声信道
信宿 信源
5.12 噪声信道模型
举个例子,对于汉译英的翻译任务,英语句 t 可以被看作是汉语句 s 加入
噪声通过信道后得到的结果。换句话说,汉语句子经过噪声-信道传输时发生了变化,
在信道的输出端呈现为英语句子。于是需要根据观察到的汉语特征,通过概率 P (t|s)
160 Chapter 5. 基于词的机器翻译建模 肖桐 朱靖波
猜测最为可能的英语句子。这个找到最可能的目标语句(信源)的过程也被称为解码
Decoding直到今天,解码这个概念也被广泛地使用在机器翻译及相关任务中。
个过程也可以表述为:给定输入 s,找到最可能的输出 t,使得 P (t|s) 达到最大:
b
t = argmax
t
P (t|s) (5.15)
公式(5.15)的核心内容之一是定义 P (t|s) IBM 模型中,可以使用贝叶斯准则
P (t|s) 进行如下变换:
P (t|s) =
P (s,t)
P (s)
=
P (s|t)P(t)
P (s)
(5.16)
公式(5.16) s t 的翻译概率转化为
P (s|t)P(t)
P (s)
,它包括三个部分:
第一分是由译 t 到源语言 s 的翻译概 P (s|t)被称为翻模型。
表示标语 t 语句 s 率。需意是方向
P (t|s) 转向了 P (s|t),但无须刻意地区分,可以简单地理解为翻译模型描述了
s t 的翻译对应程度;
第二部分是 P (t)也被称为语言模型。它表示的是目标语言句子 t 出现的可能
性;
第三部分是 P (s),表示源语言句子 s 现的可能性。因为 s 是输入的不变量,
而且 P (s) > 0,所以省略分母部分 P (s) 不会影响
P (s|t)P (t)
P (s)
最大值的求解。
于是,机器翻译的目标可以被重新定义为:给定源语言句子 s寻找这样的目标
语言译文 t,它使得翻译模型 P (s|t) 和语言模型 P (t) 乘积最大:
b
t = argmax
t
P (t|s)
= argmax
t
P (s|t)P(t)
P (s)
= argmax
t
P (s|t)P(t) (5.17)
公式(5.17)示了 IBM 模型最基础的建模方式,它把模型分解为两项:(反向)
翻译模型 P (s|t) 和语言模型 P (t)仔细观察公式(5.17)的推导过程,我们很容易发现
一个问题:直接用 P (t|s) 定义翻译问题不就可以了吗,为什么要用 P (s|t) P (t)
联合模型?从理论上来说,正向翻译模型 P (t|s) 和反向翻译模型 P (s|t) 的数学建模
可以是一样的,因为我们只需在建模的过程中把两个语言调换即可。使用 P (s|t)
P (t) 的联合模型的意义在于引入了语言模型,它可以很好地对译文的流畅度进行
5.3 噪声信道模型 161
评价,确保结果是通顺的目标语言句子。
可以回忆一下5.2.4节中讨论的问题,如果只使用翻译模型可能会造成一个局面:
译文的单词都和源语言单词对应的很好,但是由于语序的问题,读起来却不像人说
的话。从这个角度说,引入语言模型是十分必要的。这个问题在 Brown 等人的论文
中也有讨
[10]
,他们提到单纯使用 P (s|t) 会把概率分配给一些翻译对应比较好但
不通顺甚至不合逻辑的目标语言句子,而且这部分概率可能会很大,影响模型的决
策。这也正体现了 IBM 模型的创新之处,作者用数学技巧把 P (t) 引入进来,保证了
系统的输出是通顺的译文。语言模型也被广泛使用在语音识别等领域以保证结果的
流畅性,甚至应用的历史比机器翻译要长得多,这里的方法也有借鉴相关工作的味
道。
实际上,在机器翻译中引入语言模型这个概念十分重要。在 IBM 模型之后相当
长的时间里,语言模型一直是机器翻译各个部件中最重要的部分。对译文连贯性的
建模也是所有系统中需要包含的内容(即使隐形体现)