转:统计机器翻译
来源:http://www.hudong.com/wiki/统计机器翻译
开放分类:系统
编辑词条分享
统计统计机器翻译(英语:Statistical MachineTranslation,简写为SMT)是机器翻译的一种,也是目前非限定领域机器翻译中性能较佳的一种方法。统计机器翻译的基本思想是通过对大量的平行语料进行统计分析,构建统计翻译模型,进而使用此模型进行翻译。从早期基于词的机器翻译已经过渡到基于短语的翻译,并正在融合句法信息,以进一步提高翻译的精确性。
编辑摘要统计机器翻译 - 简介
统计机器翻译目前,Google翻译的大部分语言对采用的都是统计机器翻译的方法。而近年来Google亦在此本领域保持领先地位,在美国国家标准局组织的机器翻译评测中遥遥领先。统计机器翻译的首要任务是为语言的产生构造某种合理的统计模型,并在此统计模型基础上,定义要估计的模型参数,并设计参数估计算法。早期的基于词的统计机器翻译采用的是噪声信道模型,采用最大似然准则进行无监督训练,而近年来常用的基于短语的统计机器翻译则采用区分性训练方法,一般来说需要参考语料进行有监督训练。
统计机器翻译 - 历史
早在1949年,瓦伦·韦弗就基于香农的信息论提出了统计机器翻译的基本思想。而最早提出可行的统计机器翻译模型的是IBM研究院的研究人员。他们在著名的文章《统计机器翻译 的数学理论:参数估计》中提出了由简及繁的五种词到词的统计模型,分别被称为IBM Model1到IBM Model5。这五种模型均为噪声信道模型,而其中所提出的参数估计算法均基于最大似然估计。然而由于计算条件的限制和平行语料库的缺乏,尚无法实现基于大规模数据的计算。其后,由StephanVogel提出了基于隐马尔科夫模型的统计模型也受到重视,被认为可以较好的替代IBM Model 2.在此文发表后6年,即1999年,约翰·霍普金斯大学夏季讨论班集中了一批研究人员实现了GIZA软件包,实现了IBM Model1到IBM Model 5。Franz-Joseph Och在随后对GIZA进行了优化,加快了训练速度,特别是IBM Model3到5的训练。同时他还提出了更加复杂的Model6。Och发布的软件包被命名为GIZA++,直到现在,该软件包还是绝大部分机器翻译系统的基石。目前,针对大规模语料的训练,已有GIZA++的若干并行化版本存在。
基于词的统计机器翻译虽然开辟了统计机器翻译这条道路,其性能却由于建模单元过小而受到极大限制。同时,产生性(generative)模型使得模型适应性较差。因此,许多研究者开始转向基于短语的翻译方法。Franz-JosefOch再次凭借其出色的研究,推动了统计机器翻译技术的发展,他提出的基于最大熵模型的区分性训练方法使得统计机器翻译的性能极大提高并在此后数年间远远超过其他方法。更进一步的,Och又提出修改最大熵方法的优化准则,直接针对客观评价标准进行优化,从而产生了今天广泛采用的最小错误训练方法(MinimumError Rate Training)。
另一件促进SMT进一步发展的重要发明是翻译结果自动评价方法的出现,这些方法翻译结果提供了客观的评价标准,从而避免了人工评价的繁琐与昂贵。这其中最为重要的评价是BLEU评价指标。虽然许多研究者抱怨BLEU与人工评价相差甚远,并且对于一些小的错误极其敏感,绝大部分研究者仍然使用BLEU作为评价其研究结果的首要(如果不是唯一)的标准。
Moses是目前维护较好的开源机器翻译软件,由爱丁堡大学研究人员组织开发。其发布使得以往繁琐复杂的处理简单化[12]。
统计机器翻译 - 噪声信道模型
噪声信道模型假定,源语言中的句子f(信宿)是由目标语言中的句子e(信源)经过含有噪声的信道编码后得到的。那么,如果已知了信宿f和信道的性质,我们可以得到信源产生信宿的概率,即p(e | f)。而寻找最佳的翻译结果也就等同于寻找:
利用贝耶斯公式,并考虑对给定f,p(f)为常量,上式即等同于
由此,我们得到了两部分概率:
p(f | e),指给定信源,观察到信号的概率。在此称为翻译模型。
p(e),信源发生的概率。在此称为语言模型
可以这样理解翻译模型与语言模型,翻译模型是一种语言到另一种语言的词汇间的对应关系,而语言模型则体现了某种语言本身的性质。翻译模型保证翻译的意义,而语言模型保证翻译的流畅。从中国对翻译的传统要求“信达雅”三点上看,翻译模型体现了信与达,而雅则在语言模型中得到反映。
原则上任何语言模型均可以应用到上述公式中,因此以下讨论集中于翻译模型。在IBM提出的模型中,翻译概率被定义为:
p(f | e) = p(f,a | e)
词对齐示例其中的a被定义为隐含变量——词对齐(WordAlignment),所谓词对齐,简而言之就是知道源语言句子中某个词是由目标语言中哪个词翻译而来的。例如右图中,一个词可以被翻译为一个或多个词,甚至不被翻译。于是,获取翻译概率的问题转化为词对齐问题。IBM系列模型及HMM,Model 6都是词对齐的参数化模型。它们之间的区别在于模型参数的数量,类型各不相同。例如IBM Model1,唯一的参数是词翻译概率,与词在句子中的位置无关。也就是说:
其中(i,j)是词对齐中的一条连接,表示源语言中的第i个词翻译到目标语言中的第j个词。注意这里的翻译概率是词之间而非位置之间的。IBMModel 2的参数中增加了词在句子中的位置,公式为:
其中I,J分别为源、目标语言的句子长度。
HMM模型将IBM Model 2中的绝对位置更改为相对位置,即相对上一个词连接的位置,而IBM Model 3,4,5及Model6引入了“Fertility Model”,代表一个词翻译为若干词的概率。
在参数估计方面,一般采用最大似然准则进行无监督训练,对于大量的“平行语料”,亦即一些互为翻译的句子(fs,es)
由于并没有直接的符号化最优解,实践中采用EM算法。首先,通过现有模型,对每对句子估计(fs,es)全部可能的(或部分最可能的)词对齐的概率,统计所有参数值发生的加权频次,最后进行归一化。对于IBMModel 1,2,由于不需要FertilityModel,有简化公式可获得全部可能词对齐的统计量,而对于其他模型,遍历所有词对齐是NP难的。因此,只能采取折衷的办法。首先,定义Viterbi对齐为当前模型参数θ下,概率最大的词对齐:
在获取了Viterbi对齐后,可以只统计该对齐结果的相关统计量,亦可以根据该对齐,做少许修改后(即寻找“临近”的对齐)后再计算统计量。IBM3,4,5及Model 6都是采用这种方法。
目前直接采用噪声信道模型进行完整机器翻译的系统并不多见,然而其副产品——词对齐却成为了各种统计机器翻译系统的基石。时至今日,大部分系统仍然首先使用GIZA++对大量的平行语料进行词对齐。由于所面对的平行语料越来越多,对速度的关注使得MGIZA++,PGIZA++等并行化实现得到应用。噪声信道模型和词对齐仍然是研究的热点,虽然对于印欧语系诸语言,GIZA++的对齐错误率已经很低,在阿拉伯语,中文等语言与印欧语系语言的对齐中错误率仍然很高。特别是中文,错误率常常达到30%以上。所谓九层之台,起于累土,缺乏精确的词对齐是中文机器翻译远远落后于其他语言的原因。虽然目前出现了一些区分性词对齐技术,无监督对齐仍然是其中的重要组成部分。
统计机器翻译 - 判别式模型
判别式模型噪声信道模型(产生式模型)不同,它不应用贝叶斯公式,而是直接对条件概率p(e | f)建模。
统计机器翻译 - 特征函数
在这个框架下,M个特征函数
统计机器翻译 - 通过参数化公式
其中是每个特征函数的权重,也是模型所要估计的参数集,记为Λ。基于这个模型,获取给定源语言句子f,最佳翻译的决策准则为:
简而言之,就是找到使得特征函数最大的解。
原则上,任何特征函数都可以被置于此框架下,噪声信道模型中的翻译模型、语言模型都可以作为特征函数。并且,在产生式模型中无法使用的“反向翻译模型”,即p(f,e)也可以很容易的被引入这个框架中。目前基于短语的翻译系统中,最常用的特征函数包括
短语翻译概率
词翻译概率(短语中每个词的翻译概率)
反向短语翻译概率
反向词翻译概率
语言模型
而一些基于句法的特征也在被加入。
统计机器翻译 - 优化准则
优化准则指的是给定训练语料,如何估计模型参数Λ。一般来说,训练模型参数需要一系列已翻译的文本,每个源语言句子fs拥有Rs个参考翻译。
早期,区分性训练被置于最大熵准则下,即:
这一准则简单快速且由于优化目标是凸的,收敛速度快。然而,一个极大的问题是,“信息熵”本身和翻译质量并无联系,优化信息熵以期获得较好的翻译结果在逻辑上较难说明。借助客观评价准则如BLEU,希望直接针对这些客观准则进行优化能够提升翻译性能。由此而产生最小化错误率训练算法。通过优化系统参数,使得翻译系统在客观评价准则上的得分越来越高,同时,不断改进客观评价准则,使得客观评价准则与主观评价准则越来越接近是目前统计机器翻译的两条主线。
使用这些客观评价准则作为优化目标,即:
的一个主要问题是,无法保证收敛性。并且由于无法得到误差函数(即客观评价准则)的导数,限制了可使用的优化方法。目前常用的方法多为改进的Powell法,一般来说训练时间颇长且无法针对大量数据进行训练。
统计机器翻译 - 调序模型
许多语言对的语序是有很大差别的。在前述词对齐模型中,包含有词调序模型,在区分性训练中也需要较好的调序模型。调序模型可以是基于位置,也就是描述两种语言每个句子不同位置的短语的调序概率,也可以是基于短语本身,例如Moses中的调序模型即是基于短语本身,描述在给定当前短语对条件下,其前后短语对是否互换位置。由于现实中的调序模型远非“互换位置”这么简单,而是牵涉句法知识,调序的效果仍然不佳。目前重定位问题还是机器翻译中亟待解决的问题。
统计机器翻译 - 解码
无论采用哪种模型,在进行实际翻译过
程中,都需要进行解码。所谓解码,即是指给定模型参数和待翻译句子,搜索使概率最大(或代价最小)的翻译结果的过程。同许多序列标注问题,例如中文分词问题类似,解码搜索可以采用分支定界或启发式深度优先搜索(A*)方法。一般来说,搜索算法首先构造搜索网络,也就是将待翻译句子与可能的翻译结果融合为一个加权有限状态转换机(WeightedFinite State Transducer),而后在此网络上搜索最优路径。
统计机器翻译 - 基本流程
统计机器翻译同大多数的机器学习方法相类似,有训练及解码两个阶段,其中训练阶段的目标是获得模型参数,而解码阶段的目标则是利用所估计的参数和给定的优化目标,获取待翻译语句的最佳翻译结果。对于基于短语的统计机器翻译来说,“训练”阶段较难界定,严格来说,只有最小错误率训练一个阶段可称为训练。但是一般来说,词对齐和短语抽取阶段也被归为训练阶段。
统计机器翻译 - 语料获取及预处理
语料预处理阶段,需要搜集或下载平行语料,所谓平行语料,指的是语料中每一行的两个句子互为翻译。目前网络上有大量可供下载的平行语料。搜寻适合目标领域(如医疗、新闻等)的语料是提高特定领域统计机器翻译系统性能的重要方法。
在获取语料后,需要进行一定得文本规范化处理,例如对英语进行词素切分,例如将's独立为一个词,将与词相连的符号隔离开等。而对中文则需要进行分词。同是,尽可能过滤一些包含错误编码的句子,过长的句子或长度不匹配(相差过大)的句子。
获取的语料可分为三部分,第一部分用于词对齐及短语抽取,第二部分用于最小错误率训练,第三部分则用于系统评价。第二第三部分的数据中,每个源语言句子最好能有多条参考翻译。
统计机器翻译 - 词对齐
首先,使用GIZA++对平行语料进行对齐。由于GIZA++是“单向”的词对齐,故而对齐应当进行两次,一次从源到目标,第二次从目标到源。一般来说,GIZA++需要依次进行IBMModel 1, HMM及IBM Model 3,4的对齐,因IBM Model 2对齐效果不佳,而IBM Model5耗时过长且对性能没有较大贡献。根据平行语料的大小不同及所设置的迭代次数多少,训练时间可能很长。一个参考数据为,1千万句中文-英文平行语料(约3亿词)在InterXeon2.4GHz服务器上运行时间约为6天[8]。如果耗时过长可考虑使用MGIZA++和PGIZA++进行并行对齐(PGIZA++支持分布式对齐)。
其后,对两个方向的GIZA++对齐结果进行合并,供短语抽取之用。
统计机器翻译 - 短语抽取
短语抽取的基本准则为,两个短语之间有至少一个词对有连接,且没有任何词连接于短语外的词。Moses软件包包含短语抽取程序,抽取结果将占有大量的磁盘空间。建议若平行语料大小达到1千万句,短语最大长度大于等于7,至少应准备500GB的存储空间。
统计机器翻译 - 短语特征准备
在短语抽取完毕后,可进行短语特征提取,即
计算短语翻译概率及短语的词翻译概率。该需要对抽取的所有短语进行两次排序,一般来说,中等规模(百万句语料)的系统亦需要进行外部排序,磁盘读写速度对处理时间影响极大。建议在高速磁盘上运行。参考运行时间及磁盘空间消耗:前述千万句语料库,限制短语长度7,外部排序运行于SCSIRaid 0+1磁盘阵列,运行时间3日11小时,峰值磁盘空间消耗813GB。
统计机器翻译 - 语言模型训练
语言模型训练请参考语言模型。在区分性训练框架下,允许使用多个语言模型,因此,使用由大语料训练得到的无限领域语言模型配合领域相关的语言模型能够得到最好的效果。
统计机器翻译 - 最小化错误率训练
最小化错误率训练通过在所准备的第二部分数据——优化集(TuningSet)上优化特征权重Λ,使得给定的优化准则最优化。一般常见的优化准则包括信息熵,BLEU,TER等。这一阶段需要使用解码器对优化集进行多次解码,每次解码产生N个得分最高的结果,并调整特征权重。当权重被调整时,N个结果的排序也会发生变化,而得分最高者,即解码结果,将被用于计算BLEU得分或TER。当得到一组新的权重,使得整个优化集的得分得到改进后,将重新进行下一轮解码。如此往复直至不能观察到新的改进。
根据选取的N值的不同,优化集的大小,模型大小及解码器速度,训练时间可能需要数小时或数日。
统计机器翻译 - 解码及系统评价
使用经最小化错误率训练得到的权重,即可进行解码。一般此时即可在测试集上进行系统性能评价。在客观评价基础上,有一些有条件的机构还常常进行主观评价。
统计机器翻译 - 难点及研究方向
统计机器翻译机器翻译金字塔统计机器翻译的难点主要在于模型中所包含句法、语义成分较低,因而在处理句法差别较大的语言对,例如中文-英文时将遇到问题。有时翻译结果虽然“词词都对”却无法被人阅读。可以说目前主流(如Moses)统计机器翻译仍然处于机器翻译金字塔的底层。目前大量的研究集中于将句法知识引入框架中,例如使用依存文法限制翻译路径,等。
同时,统计机器翻译依赖巨大的语料库,随着语料库资源越来越丰富和算法的日趋复杂,处理这些语料需要越来越强大的计算能力。长期以来,Google在机器翻译领域的领先地位就得益于其强大的分布式计算能力。随着分布式计算的普及,将机器翻译相关技术并行化将是另一研究热点。
最后,机器翻译依赖客观评价准则,而客观评价准则最终要与主观评价准则挂钩。每年各类机器翻译相关的会议上都会有若干关于客观评价准则的研究发表,总的来说,评价翻译的优劣本身就是一个人工智能问题,其难度绝不在机器翻译之下。[1]
统计机器翻译 - 统计机器翻译开源软件介绍
介绍统计机器翻译领域中一些重要的开源软件,包括词语对齐工具、语言模型工具、自动评测工具以及四个完整的统计机器翻译系统。这些开源软件对于推动统计机器翻译的发展起到了非常重要的作用。
统计机器翻译自上世纪90年代以来,发展十分迅速,备受业界青睐。我们所熟悉的著名搜索引擎Google主页上提供的翻译服务就是使用了这一技术,它能提供几十种语言之间的相互翻译。
统计机器翻译在短时期能够得以迅速发展,除了技术进步外,很大一方面要归功于很多开放源码的统计机器翻译工具,有些时候,正是因为这些开放源码的工具才使得某项技术被广泛接受和使用。例如,1990年代初IBM公司的布朗(Brown)等人提出了5个模型来刻画统计机器翻译,取得了不错的效果,但是在此之后很长一段时间内都没有被大家认可和接受,原因是他们的模型非常复杂,难以理解和实现。直到1999年,一些研究人员齐聚约翰霍普金斯大学(JHU)开办了一次讨论班,大家共同合作,重复了IBM的实验,并在讨论班结束时发布了一个开源软件包Egypt,才使得IBM的模型被广泛研究和使用。可以说布朗等人的工作为现代统计机器翻译奠定了深厚的基础,但其影响却是通过开源软件才得以实现,由此可见开源软件对于统计机器翻译这样一个复杂的研究课题的重要性。事实上,在任何一个研究领域,开源软件都是实现科研成果共享和交流的重要手段。
如果将一个统计机器翻译比作摩天大厦的话,依靠个人力量一砖一瓦地进行建设需要耗费很大的力量,而开源软件就如同已经浇注好的整块墙壁和柱子,利用它们我们可以像搭积木一样搭建一个统计机器翻译系统,而且还可以对这些零件进行改造和更换。对研究人员而言,开源软件提供了一个交流和共享的平台,能够迅速了解和掌握相关技术;对于对统计机器翻译感兴趣的用户而言,开源软件有助于理解统计机器翻译的思想和过程,可以利用它迅速搭建一个统计机器翻译系统。接下来,本文将介绍一些在统计机器翻译领域非常重要的开源软件。
1、第一个开源的统计机器翻译工具包——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)。语言模型赋予这些句子不同的概率,用以选择最优的译文。
SRILM是一个建立和使用统计语言模型的开源工具包,从1995年开始由SRI 口语技术与研究实验室(SRI SpeechTechnology and ResearchLaboratory)开发,现在仍然不断推出新版本,被广泛应用于语音识别、机器翻译等领域。这个工具包包含一组C++类库、一组进行语言模型训练和应用的可执行程序等。利用它可以非常方便地训练和应用语言模型。
输出则是N元语法的概率。给定一组连续的词,调用SRILM提供的接口,可以得到这组词出现的概率。
3、机器翻译的自动评测工具——Mteval
如何来评价一个机器翻译系统所产生的译文的好坏呢?这是一个比较困难的工作。很多时候连我们人类自己都难以判断到底哪个译文比较好,何况机器呢。然而,我们仍然希望能够有一个客观的自动评价方法,帮助我们快速地评价系统译文的好坏,在此基础上,人们再进行进一步的评价。在现在著名的统计机器翻译国际评测中普遍使用自动评测与人工评测相结合的方法,例如美国国家技术和标准研究所(NIST)举行的评测。Mteval便是他们开发的自动评测工具,最新版本是mteval-11b.pl,是用perl语言写成的。
为了能够进行自动评价,我们必须事先有“标准答案”。在评测中,翻译系统要翻译几百个乃至上千个句子。这些句子由人事先进行翻译,作为标准答案。为了更加客观,一般都由4个不同的人来翻译。评测工具通过比较系统译文和标准答案,根据评测指标进行打分。现在普遍采用BLEU作为机器翻译的评测指标,它是基于N元语法来计算的。
4、第一个基于短语的统计机器翻译系统——法老(Pharaoh)
“法老”是较早公开的统计机器翻译系统,是由美国南加州大学信息科学实验室(Information ScienceInstitute)的菲利普.科恩(PhilippKoehn)在2004年做博士论文期间编写的。可能由于较早的开源软件以“埃及(Egypt)”命名的缘故吧,这一系统也采用埃及的代表性事物“法老(Pharaoh)”命名。它是一个基于短语的(Phrased-based)统计机器翻译系统。为此,我们首先要了解一下基于短语的系统的工作原理。基于短语的方法是目前比较成熟的统计机器翻译技术,它的主要思想是以短语作为翻译的基本单元。给定一个源语言句子,其翻译过程如下:
1. 对源语言句子进行短语划分;
2. 根据翻译模型翻译每个短语;
3. 对短语进行重排序。
“法老”正是基于这一思想的统计机器翻译系统。它包括两大部分;训练和解码。训练过程用来从语料库中获得统计知识。它利用了已有的开源软件GIZA++和SRILM,GIZA++用来训练词语对齐,SRILM训练语言模型。既然是以短语作为翻译的基本单元,因此还需要获得关于短语翻译的知识。通过前面的介绍我们知道通过GIZA++训练可以得到单词对齐,根据单词对齐我们可以进行短语抽取。请注意,这里我们所说的短语是指任意连续的单词串,而不管它是否具有语法意义。
我们能抽取到的双语短语有:(新华社 | Xinhua News Agency)、(新华社 北京 | Xinhua NewsAgency, Beijing)、(新华社 北京 二月 | Xinhua News Agency, Beijing,February)、(新华社 北京 二月 十二日| Xinhua News Agency, Beijing, February12)、(新华社 北京 二月 十二日 电| Xinhua News Agency, Beijing, February 12, bywire)、(北京 | Beijing)、(北京 二月 | Beijing, February)、(北京 二月 十二日|Beijing, February 12)、(北京 二月 十二日 电| Beijing, February 12, bywire)、(二月 | February)、(二月 十二日 | February 12)、(二月 十二日 电| February12, by wire)、(十二日 | 12)、(十二日 电| 12, by wire)、(电| bywire)。由此可见,从语料库中学习到的短语数量是非常庞大的。
解码过程(即翻译过程)实际上是一个搜索的过程。对于输入的句子,进行短语的划分,然后根据已有的短语表搜索它们的最优组合,产生最终的译文。这一部分并没有公开源码,不过在科恩写的文档中有非常详细的介绍,根据这些介绍可以很容易地进行实现。
“法老”的出现对于推动统计机器翻译的发展起到了非常大的作用,由于它原理简单,易于使用,很多研究者都在它的基础上进行试验,或者把它作为基线系统(baseline)进行比较。
5、中国第一个开源的统计机器翻译系统——丝路(SilkRoad)
“法老”的出现揭开了统计机器翻译的神秘面纱,然而其核心部分——解码器的源码仍然没有公开。为此,中国的研究人员联合开发了一个完全开放源代码的统计机器翻译系统——“丝路”。该系统由中国的五家研究机构和高校(中科院计算所、中科院自动化所、中科院软件所、厦门大学、哈尔滨工业大学)联合开发,并在2006年中国第二届统计机器翻译研讨会上发布。“丝路”包括以下模块:语料预处理及后处理模块“仙人掌”、词语对齐模块“楼兰”、短语抽取模块“胡杨”、以及三个解码器(“骆驼”、“绿洲”和“商队”)。
国内的统计机器翻译起步比较晚,在2004年左右才陆续有单位开始做相关的研究工作。很多人对统计机器翻译还非常陌生,对国际上的研究现状也不熟悉。针对这种情况,国内几家从事统计机器翻译研究的单位联合开发了“丝路”系统,希望它能够像古代的“丝绸之路”一样贯通中西,藉此既能让国外的同行了解我们的工作,也能使我们学习到国外的先进技术。“丝路”充分利用了国际上已有的开源工具,比如GIZA++,SRILM等,此外,联合开发单位还开发了三个解码器,并完全开放了源代码,第一次将一个完整的统计机器翻译系统公开,极大地促进了国内统计机器翻译的快速发展。
6、摩西(Moses)
“摩西”是“法老”的升级版本,增加了许多功能。它是由英国爱丁堡大学、德国亚琛工业大学等8家单位联合开发的一个基于短语的统计机器翻译系统。来自这8家单位的研究人员于2006年在约翰霍普金斯大学召开了一次研讨会,利用6个星期的时间共同开发了这一系统。整个系统用C++语言写成,从训练到解码完全开放源代码,可以运行在Windows平台和Linux平台。
相比于“法老”,“摩西”主要有如下几个新的特性:
使用要素翻译模型(Factored Translation Model)
在一般的统计机器翻译系统中,翻译的过程就是将源语言文本翻译为目标语言文本。这一过程仅仅考虑了单词的词形,例如将“房子”翻译为“house”。但是,语言现象是非常复杂的,在英语中,单词就有单复数形式、时态变化等等。在一般的处理过程中,“house”和“houses”被看作完全不同的两个词,这显然不合理。要素翻译模型就是为了处理这种情况而诞生的。
在要素翻译模型中,一个单词不仅仅是一个符号(token),而是一个包含多个要素的向量,例如词目、词性等。这些要素共同作用来刻画一个单词。例如对于“houses”,它有以下要素:词目是“house”,词性是“NN”。表示为“houses|house|NN”。在翻译的过程中这些要素被分别翻译,例如源语言的单词翻译为目标语言的单词,源语言单词的词性翻译为目标语言的词性等。在翻译完成后,根据这些要素来产生最终的单词,比如最终“房子”对应译文的要素是“名词,复数形式”,我们就可以选择“houses”,而非“house”。
混合网络解码(Confusion Network Decoding)
当前的机器翻译系统能够接受的输入一般是纯文本形式的一串单词(一句话或者一篇文章),而现在将机器翻译系统作为一个大的信息处理系统的组成部分的需求日益增长,它的输入可能不再是纯文本的形式,而是其它模块的输出结果,例如命名实体识别的结果,或者语音识别的结果。这样的输入不再是单一的,而是可能含有错误的、多种可能性的输入。混合网络解码允许这种多可能性的输入,最终选择最优译文。
此外“摩西”还提供了丰富的测试工具,供研究者测试系统的性能,跟踪系统运行等。这一系统的性能已经超过了“法老”,目前还在不断地完善。
7、基于句法的统计机器翻译系统——GenPar
GenPar是Generalized Parsing的缩写。这一工具包实现了一个基于句法的统计机器翻译系统。基于句法的方法将句法结构信息引入到统计机器翻译中来,目前已成为统计机器翻译领域的研究热点。但是构建基于句法的统计机器翻译系统远比构建基于短语的要困难得多,为了让研究者们很快进入这一领域,在JHU2005夏季研讨会上,由纽约大学艾·丹·米拉姆德(I.Dan Melamed)等人组成的统计机器翻译组开发了GenPar。
GenPar的基本原理是利用多文本语法(Multi-TextGrammar)实现多语言的句法分析、结构对齐和翻译。多文本语法是一种多种语言的同步语法,理论上比较完善,功能强大。GenPar有很多特点:首先,该系统是一个纯粹基于句法的模型,在翻译过程中充分利用了句法结构信息;其次,它具有很好的定制能力,可以实现各种不同类型的基于同步语法的统计机器翻译,很适合于做一个实验各种理论的研究平台。总的来看,该系统功能比较强大,但由于其比较复杂,掌握起来比较困难,性能也不是太高,不太适合处理太大规模的数据。由于该系统采用纯粹基于句法的方法,理论上有点超前,性能比现有的基于短语的模型稍差。
GenPar提供了四个原型系统(sandbox)分别是:阿拉伯语到英语(AtoE),法语到英语(FtoE),英语到法语(EtoF)和英语到英语(EtoE)。其执行过程可以分为三个部分:训练、应用和评测。我们可以清楚地看出整个系统的执行过程,对基于句法的统计机器翻译流程有清晰的了解。
1. 训练(train):
输入(input)双语平行训练语料;
前处理(preprocess):包括分词(tokenization)和句法分析(parsing);
词到词翻译模型(word-to-word translation model):从训练语料中生成词到词的对齐信息;
层次对齐模块(hieralign):利用训练语料、句法分析树以及对齐信息抽取层次对齐树对(Hierarchically AlignedTree Pair);
初始语法模块(initgrammar):利用抽取的层次对齐树对生成加权多文本语法(Weighted Multi-TextGrammar);
再训练模块(retrain):对加权多文本语法进行优化。
2. 应用(apply):
输入(input)源语言,如果要进行多语言句法分析(multi-parser)则还要输入目标语言;
前处理(preprocess):进行分词等预处理工作;
多语言句法分析(multiparse):根据加权多文本语法对源语言和目标语言对进行句法分析,生成多语言句法分析树;
翻译(translation):根据加权多文本语法对源语言进行句法分析同时生成目标语言句法树,将目标语言句法树对应的词串输出便得到相应的翻译结果。
3. 评测(evaluate):
GenPar还提供了翻译评测模块,使用GTM(General Text Matcher)作为评测指标。
本文主要介绍了在统计机器翻译领域重要的一些开源软件。这些软件对于促进统计机器翻译的发展起到了不可估量的作用。在科研领域,很少有哪个领域能像统计机器翻译这样有如此众多的开源工具可以使用。或许,是因为统计机器翻译实在是一个非常困难而又极具挑战性的工作,非得全世界的研究者联合起来共同合作不能完成;抑或是现在统计机器翻译的商业利益还不明朗,将代码藏起来也无利可图,干脆公开了,大家一起研究一下,共同进步。不管怎样,对于促进技术进步而言,这毕竟是一件好事,大家都希望能够得到“免费的午餐”。当然,我们也不能坐享其成,也要做出自己的贡献,让更多的人了解我们的工作,在自己的研究领域占居一席之地。诚如巴斯德所言,“科学是没有国界的”,开源软件正是体现了这一精神。如果研究人员能够通力合作,相信一定能够建立起统计机器翻译的“巴别塔”。