1.7 开源项目与评测 41
1.7 开源项目与评测
从实践的角度,机器翻译的发展主要可以归功于两方面的推动作用:开源系统
和评测。开源系统通过代码共享的方式使得最新的研究成果可以快速传播,同时实
验结果可以复现。而评测比赛,使得各个研究组织的成果可以进行科学的对比,共
同推动机器翻译的发展与进步。此外,开源项目也促进了不同团队之间的协作,让
研究人员在同一个平台上集中力量攻关。
1.7.1 开源机器翻译系统
下面列举一些优秀的开源机器翻译系统:
统计机器翻译开源系统
NiuTrans.SMTNiuTrans[322] 是由东北大学自然语言处理实验室自主研发的统
计机器翻译系统,该系统可支持基于短语的模型、基于层次短语的模型以及基
于句法的模型。由于使用 C++ 语言开发,所以该系统运行时间快,所占存储空
间少。系统中内嵌有 ngram 语言模型,故无需使其他的系统即可对完成
言建模。网址:http://opensource.niutrans.com/smt/index.html
MosesMoses[150] 器翻的系一,(主要)
发。 Moses 系统能,如,
既支持基于短语的模型,也支持基于句法的模型。Moses 提供因子化翻译模型
Factored Translation Model因此该模型可以很容易地对不同层次的信息进行
建模。此外,它允许将混淆网络和字格作为输入,可缓解系统的 1best 输出中
的错误。Moses 还提供了很多有用的脚本和工具,被机器翻译研究者广泛使用。
网址:http://www.statmt.org/moses/
JoshuaJoshua[174] 是由约翰霍普金斯大学的语言和语音处理中心开发的层次
短语翻译系统。由 Joshua 是由 Java 言开发,所以它在不同的平台上运行
或开发时具有良好的可扩展性和可移植性。Joshua 也是使用非常广泛的开源器
翻译系统之一。网址:https://cwiki.apache.org/confluence/display/JO
SHUA/
SilkRoadSilkRoad 是由五个国内机构(中科院计算所、中科院软件所、中科院
自动化所、厦门大学和哈尔滨工业大学)联合开发的基于短语的统计机器翻译
系统。该系统是中国乃至亚洲地区第一个开源的统计机器翻译系统。SilkRoad
支持多种解码器和规则提取模块,这样可以组合成不同的系统,提供多样的选
择。网址:http://www.nlp.org.cn/project/project.php?projid=14
SAMTSAMT[357] 是由卡内基梅隆大学机器翻译团队开发的语法增强的统计
机器翻译系统。SAMT 在解码的时候使用目标树来生成翻译规则,而不严格遵
42 Chapter 1. 机器翻译简介 肖桐 朱靖波
守目标语言的语法。SAMT 的一个亮点是它提供了简单但高效的方式在机器翻
译中使用句法信息。由于 SAMT hadoop 实现,它可受益于大数据集的分
布式处理。网址:http://www.cs.cmu.edu/zollmann/samt/
HiFSTHiFST[122] 是剑桥大学开发的统计机器翻译系统。该系统完全基于有
限状机实现,非常对搜进行表示。址:http:
//ucam-smt.github.io/
cdeccdec[67] 是一个强大的解码器,是由 Chris Dyer 和他的合作者们一起开发。
cdec 的主要功能是它使用了翻译模型的一个统一的内部表示,并为结构预测问
题的各种模型和算法提供了实现框架。所以,cdec 也可以在被用来做一个对齐
系统或者一个更通用的学习框架。此外,由于使用 C++ 语言编写,cdec 的运行
速度较快。网址:http://cdec-decoder.org/index.php?title=MainPage
PhrasalPhrasal[28] 是由斯坦福大学自然语言处理小组开发的系统。除了传统
于短型,Phrasal 型,基于
短语延伸续的翻译,模型能力。址:http:
//nlp.stanford.edu/phrasal/
JaneJane[290] 是一个基于短语和基于层次短语的机器翻译系统,由亚琛工业
大学的人类语言技术与模式识别小组开发。Jane 提供了系统融合模块,因此可
以非常方便的对多个系统进行融合。网址:https://www-i6.informatik.rw
th-aachen.de/jane/
GIZA++GIZA++[221] Franz Och 研发的用于训练 IBM 模型 15 HMM
词对齐模型的工具包。在早期,GIZA++ 是所有统计机器翻译系统中词对齐
标配工具。网址:https://github.com/moses-smt/giza-pp
FastAlignFastAlign[66] 是一个快速,无监督的词对齐工具,由卡内基梅隆大
学开发。网址:https://github.com/clab/fast_align
神经机器翻译开源系统
GroundHogGroundHog[7] 基于 Theano[239] 框架,由蒙特利尔大学 LISA 实验
室使 Python 言编的一框架,在提灵活效的式来现复
的循环神网络型。它供了包括 LSTM 内的种模型。Bahdanau 等人
在此又编 GroundHog 神经翻译统。系统了很
文的基线系统。网址:https://github.com/lisa-groundhog/GroundHog
NematusNematus[249] 是英国爱丁堡大学开发的,基于 Theano 框架的神经机
器翻译系统。该系统使用 GRU 作为隐层单元,支持多层网络。Nematus 编码端
有正向和反向的编码方式,可以同时提取源语句子中的上下文信息。该系统的
一个优点是,它可以支持输入端有多个特征的输入(例如词的词性等)。网址:
1.7 开源项目与评测 43
https://github.com/EdinburghNLP/nematus
ZophRNNZophRNN[360] 是由南加州大学 Barret Zoph 等人使用 C++ 语言
开发的系统。Zoph 既可以训练序列表示模型(如语言模型),也可以训练序列
到序列的模型(如神经机器翻译模型)当训练神经机器翻译系统时,ZophRNN
也支持多源输入。网址:https://github.com/isi-nlp/Zoph_RNN
FairseqFairseq[224] Facebook 发的,基于 PyTorch 架的用以解决
列到序列问题的工具包,其中包括基于卷积神经网络、基于循环神经网络、
Transformer 模型等。Fairseq 是当今使用最广泛的神经机器翻译开源系
之一。网址:https://github.com/facebookresearch/fairseq
Tensor2TensorTensor2Tensor[287] 是由谷歌推出的,基于 TensorFlow 框架的开
源系统。该系统基于 Transformer 模型,因此可以支持大多数序列到序列任务。
得益于 Transformer 的网络结构,系统的训练速度较快。现在,Tensor2Tensor
是机翻译广泛使用的系统一。网址:https://github.com/ten
sorflow/tensor2tensor
OpenNMTOpenNMT[143] 系统是由哈佛大学自然语言处理研究组开源的,
Torch 框架的神经机器翻译系统。OpenNMT 系统的早期版本使 Lua 语言
编写,现在也扩展到了 TensorFlow PyTorch,设计简单易用,易于扩展,同
时保持效率和翻译精度。网址:https://github.com/OpenNMT/OpenNMT
斯坦福神经机器翻译开源代码库。斯坦福大学自然语言处理组Stanford NLP
发布了一篇教程,介绍了该研究组在神经机器翻译上的研究信息,同时实现了
多种翻译模型 [187]。网址:https://nlp.stanford.edu/projects/nmt/
THUMT。清华大 NLP 队实的神经机翻译统,支 Transformer
模型 [344]。该系统主要基 TensorFlow Theano 现,其中 Theano 版本包
含了 RNNsearch 型,训练方式包 MLE Maximum Likelihood Estimate,
MRT
Minimum Risk Training, SSTSemiSupervised TrainingTensorFlow 版本实
现了 Seq2Seq, RNNsearch, Transformer 三种基本模型。网址:https://github
.com/THUNLP-MT/THUMT
NiuTrans.NMT。由小牛翻译团队基于 NiuTensor 实现的神经机器翻译系统。支
持循环神经网络、Transformer 等结构,并支持语言建模、序列标注、机器翻译
等任务。支持机器翻译 GPU CPU 训练及解码。其小巧易用,为开发人员提
供快速二次开发基础。此外,NiuTrans.NMT 已经得到了大规模应用,形成了支
187 种语言翻译的小牛翻译系统。网址:http://opensource.niutrans.co
m/niutensor/index.html
MARIAN主要由微软翻译团队搭建 [133]其使用 C++ 实现的用于 GPU/CPU
44 Chapter 1. 机器翻译简介 肖桐 朱靖波
擎, GPU 码,库,
后,使用。址:https:
//marian-nmt.github.io/
Sockeye Awslabs [107] RNNsearch
TransformerCNN 等翻译模型,同时提供了从图片翻译到文字的模块以及 WMT
德英新闻翻译、领域适应任务、多语言零资源翻译任务的教程。网址:https:
//awslabs.github.io/sockeye/
CytonMT。由 NICT 开发的一种用 C++ 实现的神经机器翻译开源工具包 [302]
主要支 Transformer 型,并支持一些常用的训练方法以及解码方法。网址:
https://github.com/arthurxlw/cytonMt
OpenSeq2Seq NVIDIA 团队开发的 [157] 基于 TensorFlow 的模块化架构,
于序列到序列的模型,允许从可用组件中组装新模型,支持混合精度训练,
NVIDIA Volta Turing GPU 中的 Tensor 核心,基于 Horovod 的快速分布式训
练,支持多 GPU,多节点多模式。网址:https://nvidia.github.io/OpenS
eq2Seq/html/index.html
NMTPyTorch。由勒芒大学语言实验室发布的基于序列到序列框架的神经网络
翻译系统 [26]NMTPyTorch 的核心部分依赖于 NumpyPyTorch tqdm。其
允许训练各种端到端神经体系结构,包括但不限于神经机器翻译、图像字幕和
自动语音识别系统。网址:https://github.com/lium-lst/nmtpytorch
1.7.2 常用数据集及公开评测任务
机器翻译相关评测主要有两种组织形式,一种是由政府及国家相关机构组织,
威性强。由美标准研究 NIST 测、日本学咨
中心主办 NACSIS Test Collections for IRNTCIRPatentMT、日本科学振兴机构
Japan Science and Technology Agency JST)等组织合举办的 Workshop on
Asian TranslationWAT以及国内由中文信息学会主办的全国机器翻译大会China
Conference on Machine Translation简称 CCMT另一种是由相关学术机构组织,
有领域针对性的特点,如倾向新闻领域的 Conference on Machine TranslationWMT
以及面向口语的 International Workshop on Spoken Language TranslationIWSLT
面将针对上述评测进行简要介绍。
CCMT(全国机器翻译大会),前身为 CWMT(全国机器翻译研讨会)是国内
机器翻译领域的旗舰会议, 2005 起已经组织多次机器翻译评测,对国
机器翻译相关技术的发展产生了深远影响。该评测主要针对汉语、英语以及国
内的族语(蒙语、藏语、尔语等)评测,新闻、
口语、政府文件等,不同语言方向对应的领域也有所不同。评价方式不同届略
1.7 开源项目与评测 45
有不同,主要采用自动评价的方式,自 CWMT 2013 起则针对某些领域增设人
工评价。自动评价的指标一般包括 BLEUSBPBLEUNISTTERMETEOR
NISTGTMmWERmPER ICT 等,其中以 BLEUSBP 为主,汉语
采用于字符的价方式,面英语翻译采用于词的评
式。评测吸引国内外近十家企业及科研机构参赛,业认可度极
高。关 CCMT 更多息可考中信息会机译专委员相关
面:http://sc.cipsc.org.cn/mt/index.php/CWMT.html
WMT Special Interest Group for Machine TranslationSIGMT主办,会议自
2006 年召次,一个译多综合议,
多领域翻译评测任务、质量评价任务以及其他与机器翻译的相关任务(如文档
对齐评测等)。现在 WMT 已经成为机器翻译领域的旗舰评测会议,很多研究
工作都以 WMT 评测结果作为基准。WMT 测涉及的语言范围较广,包括英
语、德语、芬兰语、捷克语、罗马尼亚语等十多种语言,翻译方向一般以英语
为核心,探索英语与其他语言之间的翻译性能,领域包括新闻、信息技术、生
物医学。最近,也增加了无指导机器翻译等热门问题。WMT 在评价方面类
CCMT评价的方式,评价一般
BLEUTER 等。此外,WMT 公开了所有评测数据,因此也经常被机器
译相关人员所使用。更多 WMT 的机器翻译评测相关信息可参考 SIGMT 官网:
http://www.sigmt.org/
NIST 2001 年,器翻评测具代
任务, WMT CCMT 当年 NIST 评测
的内容。NIST 评测由国国家标准技术研所主办,作为美国防高级计划
DARPA TIDES 重要成部分。早期,NIST 评测主要评价
等语到英语的译效果,评方法般采用人评价与自
式。评价 5 价。自动使用式,包
BLEUMETEORTER HyTER NIST 2016
缺语技术估,其翻译重要共同测,
标主 BLEU翻译外,NIST 2008
2010 年对于机器翻译的自动评价方法(MetricsMaTr)也进行了评估,以鼓
对现评价方法行改进或出更贴合人工价的方法。
NIST 爱,
MT04MT06 等(汉英)料经使用。过,
NIST 止。 NIST 网:
https://www.nist.gov/programs-projects/machine-translation
2004 年开 IWSLT 机器测,主要
语相器翻务,试数 TED talks 多语 QED
46 Chapter 1. 机器翻译简介 肖桐 朱靖波
育讲座影片字幕等,语言涉及英语、法语、德语、捷克语、汉语、阿拉伯语等
众多语言。此外在 IWSLT 2016 中还加入了对于日常对话的翻译评测,尝试
Skype 其他言。评价用自的模
式,评 WMT 似, BLEU 标。外,IWSLT 了对
本到文本的翻译评测外,还有自动语音识别以及语音转另一种语言的文本的评
测。 IWSLT 评测息可 IWSLT 2019 网:https:
//workshop2019.iwslt.org/
WAT 一,
振兴机构JST、情通信研究机构NICT)等多家构共同组织,旨在为
间交流融合提供便之处。语言方向主要包括亚洲流语言(汉
语、语、印地等)译,样,学术
文、专利、新闻、食谱等。评价方式包括自动评价BLEURIBES 以及 AMFM
等)工评价,其特点试语料以段落评价,考察
果。 WAT 网:
http://lotus.kuee.kyoto-u.ac.jp/WAT/
NTCIR 由日学咨策划的,在建
自然言处以及检索关任的日标准试集。 NTCIR9
NTCIR10 中开设的 Patent Machine TranslationPatentMT)任务主要针对专利
译测试,其目的在于进机器翻译在专利领域的发和应用。在
NTCIR9 中,评测方采取人工价与动评价相合,以工评价为导。
人工主要准确流畅行评估,动评 BLEUNIST
方式进行。NTCIR10 评价方式在此基础上增加了专利审查评估、时间评估
估,分别考察机器翻系统在专利领域翻译的实用性、耗时情况
等。更多 NTCIR 息可网:http:
//research.nii.ac.jp/ntcir/index-en.html
以上评测数据大多可以从评测网站上下载,此外部分数据也可以从 LDCLingu
istic Data Consortium上申请,网址为https://www.ldc.upenn.edu/ELRAEuro
pean Language Resources Association)上也有一些免费的语料库供研究使用,其官网
http://www.elra.info/。更多机器翻译的语料信息可参看附录A
从机器翻译发展的角度看,这些评测任务给相关研究提供了基准数据集,使得
不同的系统都可以在同一个环境下进行比较和分析,进而建立了机器翻译研究所需
的实验基础。此外,公开评测也使得研究者可以第一时间了解机器翻译研究的最新
成果,比如,有多篇 ACL 会议最佳论文的灵感就来自当年参加机器翻译评测任务的
系统。