统计机器翻译
取自 自然语言处理百科
目录 |
[编辑] 概述
统计机器翻译(英语:Statistical Machine Translation,简写为SMT)是机器翻译的一种,也是目前非限定领域机器翻译中性能较佳的一种方法。统计机器翻译的基本思想是通过对大量的平行语料进行统计分析,构建统计翻译模型,进而使用此模型进行翻译。从早期基于词的机器翻译已经过渡到基于短语的翻译,并正在融合句法信息,以进一步提高翻译的精确性。
目前,Google Translate 的大部分语言对采用的都是统计机器翻译的方法。而近年来Google亦在此本领域保持领先地位,在美国国家标准局组织的机器翻译评测中遥遥领先。
统计机器翻译的首要任务是为语言的产生构造某种合理的统计模型,并在此统计模型基础上,定义要估计的模型参数,并设计参数估计算法。早期的基于词的统计机器翻译采用的是噪声信道模型,采用最大似然准则进行无监督训练,而近年来常用的基于短语的统计机器翻译则采用区分性训练方法,一般来说需要参考语料进行有监督训练。
[编辑] 历史
早在1949年,瓦伦·韦弗就基于香农的信息论提出了统计机器翻译的基本思想。而最早提出可行的统计机器翻译模型的是IBM研究院的研究人员。他们在著名的文章《统计机器翻译的数学理论:参数估计》中提出了由简及繁的五种词到词的统计模型,分别被称为IBM Model 1到IBM Model 5。这五种模型均为噪声信道模型,而其中所提出的参数估计算法均基于最大似然估计。然而由于计算条件的限制和平行语料库的缺乏,尚无法实现基于大规模数据的计算。其后,由Stephan Vogel提出了基于隐马尔科夫模型的统计模型也受到重视,被认为可以较好的替代IBM Model 2.
在此文发表后6年,即1999年,约翰·霍普金斯大学夏季讨论班集中了一批研究人员实现了GIZA软件包,实现了IBM Model 1 到 IBM Model 5。Franz-Joseph Och 在随后对GIZA进行了优化,加快了训练速度,特别是IBM Model 3 到 5的训练。同时他还提出了更加复杂的Model 6。Och发布的软件包被命名为GIZA++,直到现在,该软件包还是绝大部分机器翻译系统的基石。目前,针对大规模语料的训练,已有GIZA++的若干并行化版本存在。
基于词的统计机器翻译虽然开辟了统计机器翻译这条道路,其性能却由于建模单元过小而受到极大限制。同时,产生性(generative)模型使得模型适应性较差。因此,许多研究者开始转向基于短语的翻译方法。Franz-Josef Och再次凭借其出色的研究,推动了统计机器翻译技术的发展,他提出的基于最大熵模型的区分性训练方法使得统计机器翻译的性能极大提高并在此后数年间远远超过其他方法。更进一步的,Och又提出修改最大熵方法的优化准则,直接针对客观评价标准进行优化,从而产生了今天广泛采用的最小错误训练方法(Minimum Error Rate Training)。
另一件促进SMT进一步发展的重要发明是翻译结果自动评价方法的出现,这些方法翻译结果提供了客观的评价标准,从而避免了人工评价的繁琐与昂贵。这其中最为重要的评价是BLEU评价指标。虽然许多研究者抱怨BLEU与人工评价相差甚远,并且对于一些小的错误极其敏感,绝大部分研究者仍然使用BLEU作为评价其研究结果的首要(如果不是唯一)的标准。
Moses 是目前维护较好的开源机器翻译软件,由爱丁堡大学研究人员组织开发。其发布使得以往繁琐复杂的处理简单化。
[编辑] 基本流程
统计机器翻译同大多数的机器学习方法相类似,有训练及解码两个阶段,其中训练阶段的目标是获得模型参数,而解码阶段的目标则是利用所估计的参数和给定的优化目标,获取待翻译语句的最佳翻译结果。对于基于短语的统计机器翻译来说,“训练”阶段较难界定,严格来说,只有最小错误率训练一个阶段可称为训练。但是一般来说,词对齐和短语抽取阶段也被归为训练阶段。
[编辑] 语料获取及预处理
语料预处理阶段,需要搜集或下载平行语料,所谓平行语料,指的是语料中每一行的两个句子互为翻译。目前网络上有大量可供下载的平行语料。搜寻适合目标领域(如医疗、新闻等)的语料是提高特定领域统计机器翻译系统性能的重要方法。
在获取语料后,需要进行一定得文本规范化处理,例如对英语进行词素切分,例如将 's独立为一个词,将与词相连的符号隔离开等。而对中文则需要进行分词。同是,尽可能过滤一些包含错误编码的句子,过长的句子或长度不匹配(相差过大)的句子。
获取的语料可分为三部分,第一部分用于词对齐及短语抽取,第二部分用于最小错误率训练,第三部分则用于系统评价。第二第三部分的数据中,每个源语言句子最好能有多条参考翻译。
[编辑] 词对齐
首先,使用GIZA++对平行语料进行对齐。由于GIZA++是“单向”的词对齐,故而对齐应当进行两次,一次从源到目标,第二次从目标到源。一般来说,GIZA++需要依次进行IBM Model 1, HMM 及 IBM Model 3,4 的对齐,因IBM Model 2对齐效果不佳,而IBM Model 5耗时过长且对性能没有较大贡献。根据平行语料的大小不同及所设置的迭代次数多少,训练时间可能很长。一个参考数据为,1千万句中文-英文平行语料(约3 亿词)在Inter Xeon 2.4GHz 服务器上运行时间约为6天。如果耗时过长可考虑使用MGIZA++和PGIZA++进行并行对齐(PGIZA++支持分布式对齐)。
其后,对两个方向的GIZA++对齐结果进行合并,供短语抽取之用。
[编辑] 短语抽取
短语抽取的基本准则为,两个短语之间有至少一个词对有连接,且没有任何词连接于短语外的词。Moses软件包包含短语抽取程序,抽取结果将占有大量的磁盘空间。建议若平行语料大小达到1千万句,短语最大长度大于等于7,至少应准备500GB的存储空间。
[编辑] 短语特征准备
在短语抽取完毕后,可进行短语特征提取,即计算短语翻译概率及短语的词翻译概率。该需要对抽取的所有短语进行两次排序,一般来说,中等规模(百万句语料)的系统亦需要进行外部排序,磁盘读写速度对处理时间影响极大。建议在高速磁盘上运行。参考运行时间及磁盘空间消耗:前述千万句语料库,限制短语长度 7,外部排序运行于SCSI Raid 0+1磁盘阵列,运行时间3日11小时,峰值磁盘空间消耗813GB。
[编辑] 语言模型训练
语言模型训练请参考语言模型。在区分性训练框架下,允许使用多个语言模型,因此,使用由大语料训练得到的无限领域语言模型配合领域相关的语言模型能够得到最好的效果。
[编辑] 最小化错误率训练
最小化错误率训练通过在所准备的第二部分数据——优化集(Tuning Set)上优化特征权重Λ,使得给定的优化准则最优化。一般常见的优化准则包括信息熵,BLEU,TER等。这一阶段需要使用解码器对优化集进行多次解码,每次解码产生N个得分最高的结果,并调整特征权重。当权重被调整时,N个结果的排序也会发生变化,而得分最高者,即解码结果,将被用于计算BLEU得分或TER。当得到一组新的权重,使得整个优化集的得分得到改进后,将重新进行下一轮解码。如此往复直至不能观察到新的改进。
根据选取的N值的不同,优化集的大小,模型大小及解码器速度,训练时间可能需要数小时或数日。
[编辑] 解码及系统评价
使用经最小化错误率训练得到的权重,即可进行解码。一般此时即可在测试集上进行系统性能评价。在客观评价基础上,有一些有条件的机构还常常进行主观评价。
[编辑] 难点及研究方向
统计机器翻译的难点主要在于模型中所包含句法、语义成分较低,因而在处理句法差别较大的语言对,例如中文-英文时将遇到问题。有时翻译结果虽然“词词都对”却无法被人阅读。可以说目前主流(如Moses)统计机器翻译仍然处于机器翻译金字塔的底层。目前大量的研究集中于将句法知识引入框架中,例如使用依存文法限制翻译路径,等。
同时,统计机器翻译依赖巨大的语料库,随着语料库资源越来越丰富和算法的日趋复杂,处理这些语料需要越来越强大的计算能力。长期以来,Google 在机器翻译领域的领先地位就得益于其强大的分布式计算能力。随着分布式计算的普及,将机器翻译相关技术并行化将是另一研究热点。
最后,机器翻译依赖客观评价准则,而客观评价准则最终要与主观评价准则挂钩。每年各类机器翻译相关的会议上都会有若干关于客观评价准则的研究发表,总的来说,评价翻译的优劣本身就是一个人工智能问题,其难度绝不在机器翻译之下。

