统计翻译系统中的开源工具们
(根据 计算机世界/2007年/10月/22日/第B15版 文章改编)
开源工具对统计翻译带来的意义不必多说,想必也都能体会出来。Brown等提出IBM模型是在20世纪90年代初,而IBM模型广泛使用和研究的年份竟然是1999年以后!促成这种想象的原因竟是开源工具包的出现!开源工具的出现,降低了研究的准入门槛,使得我们可以正真意义上的站在巨人的肩膀上,来做进一步的探索!感谢那些开源工具们,记住他们,利用他们,让我们的研究更上一层楼!
一、开源工具
1. 首个开源统计机器翻译工具包Egypt (包含著名的GIZA++)
Egypt开发的统计机器翻译工具包包括4个模块。其中,用于训练词语对齐的模块GIZA现在仍然被广泛使用。GIZA++是GIZA的改进版,GIZA++实现了IBM 公司提出的5个模型,其主要思想是利用EM算法对双语语料库进行迭代训练,由句子对齐得到词语对齐。GIZA是独立于语言的,能够对任何两种语言进行训练,这也是统计机器翻译的优点之一。现在几乎所有的统计机器翻译系统都利用这一工具进行词语对齐的训练。(值得一提的是GIZA++是由统计机器翻译牛人——弗朗茨·约瑟夫·欧赫(Franz Joseph Och) ,该牛人领导的翻译团队多次在NIST测评中夺得第一,而当这位牛人遇到google公司,更是说如虎添翼)
2. 语言模型训练工具SRILM
SRILM是一个建立和使用统计语言模型的开源工具包,从1995年开始由SRI 口语技术与研究实验室(SRI Speech Technology and Research Laboratory)开发,现在仍然不断推出新版本,被广泛应用于语音识别、机器翻译等领域。这个工具包包含一组C++类库、一组进行语言模型训练和应用的可执行程序等。利用它可以非常方便地训练和应用语言模型。给定一组连续的词,调用SRILM提供的接口,可以得到这组词出现的概率。
3. 机器翻译的自动评测工具Mteval
在一些著名的统计机器翻译国际评测中普遍使用自动评测与人工评测相结合的方法,例如美
国国家技术和标准研究所(NIST)举行的评测。Mteval便是他们开发的自动评测工具,最新版本是mteval-11b.pl,是用Perl语言写成的。
4.最大熵模型训练工具YASMET
用于训练最大熵的训练工具,也是由Franz Joseph Och开发的,真正意义上来说,这属于一个机器学习的工具包。
二、开源系统
1. 首个基于短语的统计机器翻译系统“法老”(Pharaoh)
“法老”是较早公开的统计机器翻译系统,由美国南加州大学信息科学实验室(Information Science Institute)的菲利普·科恩(Philipp Koehn)在2004年做博士论文期间编写的。“法老”包括两大部分: 训练和解码。训练过程用来从语料库中获得统计知识。它利用了已有的开源软件GIZA++和SRILM,GIZA++用来训练词语对齐,SRILM训练语言模型,但解码没有公开源代码。“法老”原理简单,易于使用,它的出现对于推动机器翻译研究起到了非常大的作用。
2. 中国首个开源的统计机器翻译系统丝路(SilkRoad)
“法老”的出现揭开了统计机器翻译的神秘面纱,然而其核心部分——解码器的源码仍然没有公开。为此,中国的研究人员联合开发了一个完全开放源代码的统计机器翻译系统——“丝路”。该系统由中国的五家研究机构和高校(中科院计算所、中科院自动化所、中科院软件所、厦门大学、哈尔滨工业大学)联合开发,并在2006年中国第二届统计机器翻译研讨会上发布。“丝路”包括以下模块: 语料预处理及后处理模块“仙人掌”、词语对齐模块“楼兰”、短语抽取模块“胡杨”、以及三个解码器(“骆驼”、“绿洲”和“商队”)。这是第一次将一个完整的统计机器翻译系统公开,极大地促进了国内统计机器翻译的快速发展。
3. 摩西(Moses)
“摩西”是“法老”的升级版本,它增加了许多功能,是由英国爱丁堡大学、德国亚琛工业
大学等八家单位联合开发的一个基于短语的统计机器翻译系统。来自这些单位的研究人员于2006年在约翰霍普金斯大学召开了一次研讨会,利用6个星期的时间共同开发了这一系统。整个系统用C++语言写成,从训练到解码完全开放源代码,可以运行在Windows平台和Linux平台。顺便提一句,现在大家基本上都在使用的就是这套Moses的翻译系统,基本上属于翻译领域里的一个baseline了。
4.小牛(Niutrans)
由中国的东北大学自然语言处理实验室开发。系统全部由C++开发,运行速度快,占用内存少。但目前该系统仅支持基于(层次)短语/基于句法的模型。作为国内翻译系统的后起之秀,我也希望小牛(Niutrans)能做的越来越好!