到目前为止,多个开源的SMT系统已经开发出来,在完成许多翻译任务中有着先进惊人的性能,如中国的英语和阿拉伯语的英文翻译。这些系统中的一些重点使用基于短语的模型(如摩西),且多年来已经已被广泛用于社区,而其他人试图用层次模型(如Joshua)处理不同语音之间的句法结构的变化。虽然这些系统和其使用的方法都能得到很有竞争力的翻译质量,但是他们的侧重点不一样,也有着不同的长处和弱点。以下我将对目前开源的SMT系统做个介绍。
一、Moses
摩西是一个由英国爱丁堡大学的SMT先锋团队[科恩等人,2007]开发的翻译系统。摩西的最新版本支持许多特征和功能。例如,它支持基于短语和基于语法基础的模型(从短语/规则提取解码)。同时,它提供的因素翻译模型(factoredtranslationmodel)使得系统能够使用在不同层次的多种信息。此外,混淆网络(confusionnetwork)和字格(wordlattices)可以用来作为输入,用以减小系统的最佳输出误差。此外,摩西包提供了许多有用的脚本和工具,以支持更多的功能。
http://www.statmt.org/moses/
二、Joshua
Joshua是一个由约翰霍普金斯大学[李等人的语言和语音处理,2009]的语言语音处理中心开发的目前很先进的开源的SMT系统。Joshua中使用到的模型是分层的基于短语的模型[Chiang,2005]中提出的。除基本模型之外,它提供了一些有趣的特性,如SCFGs解码(语法注释),多方法译码和并行训练与Map-reduce。Joshua系统使用Java语言实现,在多平台上都有良好的可扩展性和可移植性。同时,使用Java也为试验新的思路和推进当前最先进的结果提供了更为简单的方法(相比C/C++而言)
http://joshua.sourceforge.net/Joshua/Welcome.html
三、SilkRoad
丝绸之路是一个基于短语的SMT系统,由中国的五所大学和中科院(cas-ict,cas-ia,cas-is,厦门大学和哈工大)研发。丝绸之路系统是亚洲地区最早开源的机器翻译系统,起初的目标是完成中文和其他语种之间的翻译。后增强为对其他语对也可以翻译。它有几个非常有用的部分,例如分词模块,使得用户可以轻松地构建中国对外翻译系统。此外,其提供对多个解码器和规则提取的支持,可自行重组为多个各式各样的小系统。
http://www.nlp.org.cn/project/project.php?projid=14
四、SAMT
SAMT的是一个由卡内基梅隆大学[zollmann和Venugopal,2006]研发的syntax-augmented的SMT系统。翻译使用目标树来生成规则,虽然没有严格尊重目标语法在解码。该系统的亮点是,它提供了一个简单又有效方法利用SMT句法信息,在好几个翻译任务中都有较好的结果,在有些情况下甚至优于层次短语的系统,又因为SAMT是在Hadoop中实现的,它可以从分布式处理大数据集的跨越计算机集群中得到帮助。
http://www.cs.cmu.edu/zollmann/samt/
五、cdec
cdec是由克里斯Dyer和他的合作者[戴尔等人开发的一个强大的解码器,2010]。cdec的主要特征是采用了一种通用的翻译模型的内部表示,为试验各种模型和算法提供了框架结构。所以CDEC也可用于SMTaligner或更一般的学习框架。Cdec解码器因为是使用C++完成的,其速度非常之快。
http://cdec-decoder.org/index.php?title=MainPage
六、Phrasal
Phrasal是一个由斯坦福大学的自然语言处理组[Cer等人,2010]开发的系统。除了传统的基于短语模型,它也支持非分层的基于短语的翻译模型,这种扩展对非连续的短语翻译有帮助。以这种方式,它可以更好地泛化看不见的数据,甚至可以处理分层处理模型(例如Joshua)没有处理到的情形。
http://nlp.stanford.edu/phrasal/
七、Jane
Jane是一个C++实现的基于短语的层次基于短语模型的系统。它是由亚琛工业大学大学自然语言技术和模式识别组[维拉尔等人,2010]研发的。Jane支持许多有趣的功能(如Mira权重调整),其翻译结果也是非常有竞争力的。
http://www-i6.informatik.rwth-aachen.de/jane/