、第一个开源的统计机器翻译工具包——Egypt
如前所述,Egypt是在1999年约翰霍普金斯大学统计机器翻译夏季讨论班上,由一些研究人员共同合作开发的统计机器翻译工具包。它包括4个模块:
Whittle:语料库预处理模块;
GIZA:用于从句子对齐的双语语料库中训练词语对齐;
Cairo:词语对齐的可视化工具
Decoder:解码器,即用来执行具体的翻译过程模块,这一模块没有开放源码
在讨论班的最后一天,研究者们利用Egypt在一天之内搭建了一个新语对的翻译系统,显示了统计机器翻译的强大威力。随着技术的快速发展,Egypt中使用的很多方法现在已经过时了,然而,其中用于训练词语对齐的模块GIZA现在仍然被广泛使用,利用它能够非常方便地从大规模的双语文本中获得统计知识。
现在大家使用的是它的改进版本GIZA++,GIZA++实现了IBM公司提出的5个模型,其主要思想是利用EM算法1对双语语料库进行迭代训练,由句子对齐得到词语对齐。
如果计算机内存足够的话,它能够训练非常大规模的语料。在我们的实验过程中,使用8G内存训练二百万句对,大约需要3天时间。这一过程完全由计算机自动进行,不用人工干预,节省了很多的人力。而且GIZA是独立于语言的,能够对任何两种语言进行训练,这也是统计机器翻译的优点之一。现在几乎所有的统计机器翻译系统都利用这一工具进行词语对齐的训练。
2、语言模型训练工具——SRILM
在介绍SRILM之前,我们首先介绍一下语言模型的概念。语言模型被广泛应用于自然语言处理的各个领域,来衡量某种语言中一个句子符合语法的程度。例如,有如下两个英语句子:
S1:There is a cup on the table.
S2:There are a cup on the table.
在人类看来,显然第一个句子更符合英语语法,单数形式的谓语动词应该是“is”,而不是“are”。但是,如何让计算机知道这一知识呢?这项工作由语言模型来完成。语言模型实际上是一种概率分布,它给出了一种语言中所有可能的句子出现的概率。在它看来,一种语言中,任何可能的单词排列都是可能被接受的句子,只是被接受的概率不同。在统计机器翻译中,根据从语料库中获取的知识(例如单词的翻译概率等),一句话可能有很多译文。有些符合语法和人们的表达习惯(例如S1),有些则可能不符合语法(例如S2)。语言模型赋予这些句子不同的概率,用以选择最优的译文。