早在1949年,瓦伦·韦弗就基于香农的信息论提出了统计机器翻译的基本思想[4]。而最早提出可行的统计机器翻译模型的是IBM研究院的研究人员。他们在著名的文章《统计机器翻译的数学理论:参数估计》[5]中提出了由简及繁的五种词到词的统计模型,分别被称为IBM Model 1到IBM Model 5。这五种模型均为噪声信道模型,而其中所提出的参数估计算法均基于最大似然估计。然而由于计算条件的限制和平行语料库的缺乏,尚无法实现基于大规模数据的计算。其后,由Stephan Vogel提出了基于隐马尔科夫模型的统计模型也受到重视,被认为可以较好的替代IBM Model 2[6].
在此文发表后6年,即1999年,约翰·霍普金斯大学夏季讨论班集中了一批研究人员实现了GIZA软件包[7],实现了IBM Model 1到IBM Model 5。Franz-Joseph Och在随后对GIZA进行了优化,加快了训练速度,特别是IBM Model 3到5的训练。同时他还提出了更加复杂的Model 6。Och发布的软件包被命名为GIZA++[8],直到现在,该软件包还是绝大部分机器翻译系统的基石。目前,针对大规模语料的训练,已有GIZA++的若干并行化版本存在。[9]
其中的被定义为隐含变量——词对齐(Word Alignment),所谓词对齐,简而言之就是知道源语言句子中某个词是由目标语言中哪个词翻译而来的。例如右图中,一个词可以被翻译为一个或多个词,甚至不被翻译。于是,获取翻译概率的问题转化为词对齐问题。IBM系列模型及HMM, Model 6都是词对齐的参数化模型。它们之间的区别在于模型参数的数量,类型各不相同。例如IBM Model 1,唯一的参数是词翻译概率,与词在句子中的位置无关。也就是说:
其中是词对齐中的一条连接,表示源语言中的第个词翻译到目标语言中的第个词。注意这裡的翻译概率是词之间而非位置之间的。IBM Model 2的参数中增加了词在句子中的位置,公式为:
其中分别为源、目标语言的句子长度。
HMM模型将IBM Model 2中的绝对位置更改为相对位置,即相对上一个词连接的位置,而IBM Model 3,4,5及Model 6引入了“Fertility Model”,代表一个词翻译为若干词的概率。
在参数估计方面,一般采用最大似然准则进行无监督训练,对于大量的“平行语料”,亦即一些互为翻译的句子
由于并没有直接的符号化最优解,实践中采用EM算法。首先,通过现有模型,对每对句子估计全部可能的(或部分最可能的)词对齐的概率,统计所有参数值发生的加权频次,最后进行归一化。对于IBM Model 1,2,由于不需要Fertility Model,有简化公式可获得全部可能词对齐的统计量,而对于其他模型,遍历所有词对齐是NP难的。因此,只能采取折衷的办法。首先,定义Viterbi对齐为当前模型参数下,概率最大的词对齐:
无论采用哪种模型,在进行实际翻译过程中,都需要进行解码。所谓解码,即是指给定模型参数和待翻译句子,搜索使概率最大(或代价最小)的翻译结果的过程。同许多序列标注问题,例如中文分词问题类似,解码搜索可以采用分支定界或启发式深度优先搜索(A*)方法。一般来说,搜索算法首先构造搜索网络,也就是将待翻译句子与可能的翻译结果融合为一个加权有限状态转换机(Weighted Finite State Transducer),而后在此网络上搜索最优路径。
首先,使用GIZA++对平行语料进行对齐。由于GIZA++是“单向”的词对齐,故而对齐应当进行两次,一次从源到目标,第二次从目标到源。一般来说,GIZA++需要依次进行IBM Model 1, HMM及IBM Model 3,4的对齐,因IBM Model 2对齐效果不佳,而IBM Model 5耗时过长且对性能没有较大贡献。根据平行语料的大小不同及所设置的迭代次数多少,训练时间可能很长。一个参考数据为,1千万句中文-英文平行语料(约3亿词)在Intel Xeon 2.4GHz服务器上运行时间约为6天[9]。如果耗时过长可考虑使用MGIZA++和PGIZA++进行并行对齐(PGIZA++支持分布式对齐)。
^ W. Weaver (1955). Translation (1949). In: Machine Translation of Languages, MIT Press, Cambridge, MA.
^P. Brown, S. Della Pietra, V. Della Pietra, and R. Mercer (1993). The mathematics of statistical machine translation: parameter estimation. Computational Linguistics, 19(2), 263-311.
^S. Vogel, H. Ney and C. Tillmann.
1996. HMM-based Word Alignment in StatisticalTranslation. In COLING’96: The 16th International Conference on Computational Linguistics, pp. 836-841, Copenhagen, Denmark.
^F. Och and H. Ney. (2003). A Systematic Comparison of Various Statistical Alignment Models. Computational Linguistics, 29(1):19-51
^ 9.09.1Q. Gao, S. Vogel, "Parallel Implementations of Word Alignment Tool", Software Engineering, Testing, and Quality Assurance for Natural Language Processing, pp. 49-57, June, 2008
^F. Och, H. Ney. "Discriminative Training and Maximum Entropy Models for Statistical Machine Translation". In "ACL 2002: Proc. of the 40th Annual Meeting of the Association for Computational Linguistics" (best paper award), pp. 295-302, Philadelphia, PA, July 2002.
^F. Och. "Minimum Error Rate Training for Statistical Machine Translation". In "ACL 2003: Proc. of the 41st Annual Meeting of the Association for Computational Linguistics", Japan, Sapporo, July 2003.
^K. Papineni, S. Roukos, T. Ward and W. Zhu 2002. BLEU: a Method for Automatic Evaluation of machine translation. Proc. of the 40th Annual Conf. of the Association for Computational Linguistics (ACL 02), pp. 311-318, Philadelphia, PA
^Aaron L.-F. Han, Derek F. Wong and Lidia S. Chao 2012. LEPOR: A Robust Evaluation Metric for Machine Translation with Augmented Factors. Proc. of the 24th International Conference on Computational Linguistics (COLING 2012): Posters, pages 441–450, Mumbai, India
^P. Koehn, H. Hoang, A. Birch, C. Callison-Burch, M. Federico, N. Bertoldi, B. Cowan, W. Shen, C. Moran, R.
Zens, C. Dyer, O. Bojar, A. Constantin, E. Herbst. 2007. Moses: Open Source Toolkit for Statistical Machine Translation. ACL 2007, Demonstration Session, Prague, Czech Republic
^J. Niehues, 2007. Discriminative Word Alignment Models. Diplomarbeit at Universitat Karlsruhe (TH).