
132 Chapter 3. 基于词的机器翻译模型 肖桐 朱靖波
3.6 问题分析
IBM 模型是一个时代的经典,但也留下了一些值得思考的问题。这一方面体现
了科学技术发展需要一步步前行,而非简单的一蹴而就。另一方面也体现了机器翻
译问题的困难程度。下面对 IBM 存在的问题进行分析,同时给出一些解决问题的思
路,希望通过这些讨论可以使我们对机器翻译问题有更深层次的理解。
3.6.1 词对齐及对称化
IBM 的五个模型都是基于一个词对齐的假设
——
一个源语言单词最多只能对
齐到一个目标语言单词。这个约束大大化简了 IBM 模型的建模。最初,Brown 等人
提出这个假设可能是因为在法英翻译中一对多的对齐情况并不多见,这个假设带来
的问题也不是那么严重。但是,在像汉英翻译这样的任务中,一个汉语单词对应多
个英语单词的翻译很常见,这时 IBM 模型的词对齐假设就表现出了明显的问题。比
如在翻译 “我 会 试一试。” → “I will have a try .” 时,IBM 模型根本不能把单词 “试
一试” 对齐到三个单词 “have a try”,因而可能无法得到正确的翻译结果。
本质上说,IBM 模型词对齐的 “不完整” 问题是 IBM 模型本身的缺陷。解决这
个问题有很多思路,第一种方法就是,反向训练后,合并源语言单词,然后再正向
训练。这里用汉英翻译为例来解释这个方法。首先反向训练,就是把英语当作待翻
译语言,而把汉语当作目标语言进行训练(参数估计)。这样可以得到一个词对齐结
果(参数估计的中间结果)。在这个词对齐结果里面,一个汉语单词可对应多个英语
单词。之后,扫描每个英语句子,如果有多个英语单词对应同一个汉语单词,就把
这些英语单词合并成一个英语单词。处理完之后,再把汉语当作源语言而把英语当
作目标语言进行训练。这样就可以把一个汉语单词对应到合并的英语单词上。虽然
从模型上看,还是一个汉语单词对应一个英语 “单词”,但实质上已经把这个汉语单
词对应到多个英语单词上了。训练完之后,再利用这些参数进行翻译(解码)时,就
能把一个中文单词翻译成多个英文单词了。但是反向训练后再训练也存在一些问题。
首先,合并英语单词会使数据变得更稀疏,训练不充分。其次,由于 IBM 模型的词
对齐结果并不是高精度的,利用它的词对齐结果来合并一些英文单词可能造成严重
的错误,比如:把本来很独立的几个单词合在了一起。因此,此方法也并不完美。具
体使用时还要考虑实际需要和问题的严重程度来决定是否使用这个方法。
另一种方法是双向对齐之后进行词对齐对称化(Symmetrization)。这个方法可
以在 IBM 词对齐的基础上获得对称的词对齐结果。思路很简单,用正向(汉语为源
语言,英语为目标语言)和反向(汉语为目标语言,英语为源语言)同时训练。这样
可以得到两个词对齐结果。然后利用一些启发性方法用这两个词对齐生成对称的结
果(比如,取 “并集”、“交集” 等),这样就可以得到包含一对多和多对多的词对齐结
果。比如,在基于短语的统计机器翻译中已经很成功地使用了这种词对齐信息进行
短语的获取。直到今天,对称化仍然是很多自然语言处理系统中的一个关键步骤。