神经机器翻译

本文翻译自美国翻译协会月刊2016年9/10月期文章,作者Jost Zetzsche

当听到关于神经机器翻译的讨论时,我们是否有必要害怕?

最近一直有大量关于下一波机器翻译(MT)技术的新闻,这一波技术在所谓的深度神经网络(DNN)的驱动下发展。在一些比我懂的朋友的帮助下,我下面要试着对它进行简单的概述。在这之前我要承认,我将要阐述一些我自己也不完全懂的技术。然而,我希望我的研究已经帮助我理解了一些基础原理,并且也同样地传达表述了出来。

过去几年你听过的大部分关于机器的讲座,很可能都有这样类似的说法,“基本上有两种机器翻译——基于规则的机器翻译和统计机器翻译(SMT),还有一种是将两者结合起来,即混合型机器翻译”。你也许也听说过,基于规则的机器翻译是计算机时代最早的机器翻译形式,它起源于上世纪五十年代,当时这种机器翻译由一系列关于原语与目标语的规则构成,并内置一个词典。在基于规则的机器翻译中,原语与目标语之间的转换要么借助科技共通语——计算机化的原语文本,要么直接在原语和目标语之间转换。

统计机器翻译在本世纪初开始流行。首个商用统计机器翻译产品LanguageWeaver[现由SDL所有]于2002年推出,广泛使用的开源引擎Moses在2005年出现,Google和Mircrosoft在2007年转向统计机器翻译,Yandex和百度在2011开始使用统计机器翻译。统计机器翻译,或者更确切地说所有这些执行——“基于短语的统计机器翻译”,通过双语数据和单语数据对系统进行培训。它将数据解析成n-gram——包含了n个单词的词组。在翻译过程中,对原语句段也进行同样的解析。之后,将原语的n-gram与目标语的n-gram进行匹配,再结合成完整的句段——这通常也是出错的地方所在(这就是为什么统计机器翻译更擅长搜索字词块而不是整个句段。)统计机器翻译的另一个潜在缺陷是排错流程——从多个可能的目标语n-gram中选择合适的译文。避免做出错误选择的一种方式是,根据对系统进行培训的单语目标语数据来验证选择,但也只能验证到这个程度(这也就是为什么在一个翻译环境工具内一次可访问一个以上的n-gram字词是很有前景的发展)。

神经机器翻译(NMT)(小插曲:1997年Mikel L. Forceda和Ramon P. Neco为该技术提议了一个名字——“递归式异相联翻译记忆”,感恩这个名字没有流传下来)是对运算能力有极高要求的处理流程(这也是为什么该技术在1997年没有什么发展的原因所在)。机器翻译属于“机器学习”这一更大领域。人工智能和机器学习领域的先驱者Arthur Samuel在1959年给机器学习做了这样的定义,“赋予计算机无需明确编程即可拥有学习能力的研究领域”。

在统计机器翻译中,用已翻译的词组对计算机进行培训,然后根据统计数据将这些词组进行再利用和组合。在神经机器翻译中,使用的是由很多模仿人脑的节点组成的神经网络,这些节点互相关联,可以代表一个单词、一个词组或者任何句段。这些节点根据双语文本建立起彼此之间的关系,而这些双语文本也是对系统进行培训的材料。由于这种多样化的密集关联,神经机器翻译不仅可以像统计机器翻译那样搜索有限的n-gram,而且可以查找整个句段,甚至可以超越句段进行搜索。这提供了大量相关信息,从而有助于对语境做出更好的推测,因此也能更好地推测所需翻译句段中单词的意思。假设有这样一个句子,The music world mourns the death of Prince.,至少理论上神经机器翻译不会像Google、Microsoft、Yandex、百度那样,把句中的Prince当做(皇家)王子来翻译。

当普通表述之间逐渐形成某种语言关联(例如music world和Prince),机器学习(本身即是人工智能的一个子领域)开始运转起来。这意味着,就像Arthur Samuel所预测的,计算机在没有明确编程的情况下不断“学习”。

神经机器翻译对于像搜索引擎Google、Microsoft、Yandex、百度这样的通用引擎而言,是很有前景的,至少理论上可以这么说。这是因为“语境”并不一定必须由培训数据来指定,它可以由评估语境(假设用户提供一个以上的单词或短语)的系统来辨别。因此,上述企业都已加入神经机器翻译也不足为奇了。很自然地,这些企业都没有透露其目前的系统“神经”到什么程度,亦或是仍为“统计”的,但很有可能是神经与统计的混合,因为使用神经机器翻译的方式之一是结合统计机器翻译——要么把统计机器翻译作为准独立的验证流程,要么将其作为独立流程来辅助挑选“正确”的n-gram。

在一些领域中,类似的流程已经取得了很大的成功,包括用于像Google Image Search这种搜索引擎的一些流程(Google Image Search可有效地用于跨语言搜索,在翻译流程中很有用)。

你可能也知道了Facebook在今年早些时候推出了自己的机翻系统,该系统专门为其用户风格随意的语言而打造。虽然这个系统仍然主要基于统计机器翻译,但Facebook正在打造一个神经机器翻译方案。Facebook的工程及语言技术总监Alan Packer(曾在Microsoft任职)做过一个演讲,题目是Understanding the Language of Facebook(理解Facebook的语言)(http://bit.ly/2aeIzt2),可以看一下。

Packer的演讲有一个问题,他把机器翻译的发展描述成了线性发展。按照他的描绘,统计机器翻译现在差不多已经完成使命了,神经机器翻译将取而代之。虽然可以理解当一个人全身心投入某个领域后会不自觉地认为这个领域是唯一有价值的,但实际情况往往并非如此。在早些年的时候,那些提倡统计机器翻译的人也是这样评论基于规则的机器翻译的,但这些假设被证明是错误的。现在很多系统正在使用集合了统计机器翻译和基于规则的机器翻译的混合模式,而且在一些语言组合中,基于规则的机器翻译可能仍然是更好的方案(尤其是对于那些彼此很接近的语言对而言,比如加泰罗尼亚语和西班牙语,或者克罗地亚语和塞尔维亚语)。

但是,我们已经大致上处于新的大突破的边缘了吗?要回答这个问题,可以看看Diego Bartolome(来自Tauyou Language Technology公司)和Gema Ramirez(来自Prompsit Language Engineering公司)的联合演讲(http://bit.ly/2aG4bvR),题目是Beyond the Hype of Neural Machine Translation(超越神经机器翻译的大肆宣传)。不像统计机器翻译有开源引擎Moses,神经机器翻译还没有相应的开源工具,所以很少有公司提供定制化的神经机器翻译系统。目前有一些元件,比如深度学习框架Theano和Torch,专门的神经机器翻译软件如GroundHog和seq2seq,但它们都不用户友好,需要很高的专门技能才能使用。用它们来搭建神经机器翻译引擎需要很大的运算能力(10 CPUs 或者 1 GPU),耗费大量的时间(培训数据组装和清理完毕后,每个语言对需要两周的时间进行培训)。Tauyou和Prompsit是首批从事商用神经机器翻译的服务商。(有趣的是,Tauyou有统计机器翻译背景,Prompsit则是基于规则的机器翻译的背景。)虽然两家公司都还没有积极推销神经机器翻译方案,但从演讲中可以看出,他们正在进行大量试验,而这些试验版都是混合型机器翻译。

除了上述提到的运算能力和时间需求外,还有很多其他限制因素:目前一般人(不是Google这样的企业)拥有的运算能力以及可以用于培训的每种语言的单词数,而系统真正用于翻译的时间大概是培训的三倍,使用新数据对系统进行再培训将再耗费两周的时间。翻译质量取得了一定的改善,但是上述演讲中提到译者对这些改善并不十分认同。(我觉得它在译后编辑领域的预测性能表现会更低,在进行局部建议时可能做出更古怪的选择。)然而,现在仍然只是游戏的早期阶段,质量还有非常大的改善空间。

那么,当我们听到关于神经机器翻译的讨论时,有必要担心害怕吗?我不完全了解这一技术,但我认为到目前它只是产生了极微小的发展。所以,我们没必要害怕,未来很长一段时间里翻译仍然是让人信心十足的职业。但是,我的确期待看到神经机器翻译在我们翻译领域将有怎样的创造性发展,期待看到它将怎样改善我们的工作。

Leave a Reply

Your email address will not be published. Required fields are marked *