本篇文章2157字,读完约5分钟
谷歌最近宣布发布谷歌神经机器翻译系统。在官方博客中,谷歌表示,该系统采用了最先进的培训技术,可以实现机器翻译质量的最大提高。
听起来很令人兴奋,不是吗?
一些从事翻译行业的网民甚至这样描述:
作为一名翻译,当我看到这条新闻时,我理解了纺织工人在18世纪看到蒸汽机时的担忧和恐惧。
真的有那么可怕吗?让我们先回顾一下谷歌翻译的发展。
谷歌翻译的发展历史:2006年,谷歌团队改进了统计机器翻译,并宣布推出谷歌翻译功能。
其中,“统计机器翻译”(Statistical Machine Translation)是谷歌翻译的核心技术,它是基于对大量平行语料库的统计分析,构建一个统计翻译模型,然后利用这个模型进行翻译。简而言之,当谷歌翻译生成翻译时,它会在大量人工翻译的文档中寻找各种模型,做出合理的猜测,并获得适当的翻译。
当时,采用“统计翻译模型”的一个重要原因是谷歌的云计算架构。机器翻译需要海量的数据存储空和高效的计算能力,而谷歌有googlemapreduce(分布式计算系统)和bigtable(分布式存储系统),正好满足了这两个要求。
几年前,谷歌开始使用循环神经网络来直接学习从输入序列(比如一种语言的句子)到输出序列(另一种语言的相同句子)的映射。
其中,基于短语的机器学习(pbmt)将输入句子分解成单词和短语,然后独立翻译其中的大部分,而神经网络机器翻译(nmt)则将整个输入句子作为翻译的基本单位。
这种方法的优点是,与以前的基于短语的翻译系统相比,这种方法需要较少的调整。
首先,网络将中文单词编码成一个向量列表,其中每个向量代表到目前为止所读取的所有单词的含义(编码器)。一旦整个句子被读完,解码器就开始工作——一次生成一个英语单词的句子(解码器)。为了在每一步生成正确翻译的单词,解码器注意与英语单词的生成最相关的编码中文向量的权重分布(注意“注意”;蓝线的透明度表示解码器对编码字的关注程度)。
通过测量维基百科和新闻网站上的例句,发现神经网络机器翻译系统可以将多样本翻译中的误差降低55%-85%以上。
|各方对此发表评论;智虎网友雅各布·吴对此评价非常积极;
这是基于yoshua bengio团队两年前的研究。目前,从中文到英文,在线系统已经使用了本文所述的系统。我实际上经历了这个系统,这显然超出了我的预期。太棒了!
另一个智虎网友阴冷的说道:
一年半前,百度推出了基于注意力机制的神经网络机器翻译,它和谷歌一样,是基于优华本吉奥集团2015年发表的论文。
谷歌的方法似乎基本上是近年来学术论文的组合,包括融合、子词、剩余多层等,并没有明显的创新。然而,谷歌机器翻译集团的迭代实验能力确实很强,这是不可否认的。此外,有足够多的gpu机器来在线8层神经网络模型,这充分反映了谷歌是多么的土豪。
此外,我们还咨询了前百度总设计师,突然认出了创始人戴帅祥。他的评价是:
这个方法是新的,但是论文应该是去年或者前年发表的。在过去,它是基于短语翻译。这种方法直接使用要翻译的句子来预测目标语言中的单词。去年,每个人都使用这种方法,但效果不如宣传。至于谷歌这次发布的新系统,我个人猜测谷歌拥有更大的语料库,强大的计算能力,更好的优化神经网络训练的细节,融合了最近的一些学术改进,理论框架没有重大变化。
然而,它在工程上有着重要的意义。以往的方法很难训练,需要做大量的预处理和分词。然后,针对语言特征进行特征设置,尤其是词对齐本身更为复杂;使用神经网络后,它变得相对简单。上面提到的所有预处理基本上消失了,甚至不需要分词。
另外,主流是神经网络。由于神经网络也能达到预期的效果,所以使用主流方法显然更经济。
|实际效果:谷歌翻译已经在汉英翻译系统中推出,在实际使用中比传统的机器翻译体验要好得多。然而,我们注意到了这种情况。添加助词后,原翻译效果大大降低。
对此,创始人戴帅祥突然认可的观点是:
鉴于上面的例子,我个人的理解如下:当nmt用平行句子对训练时,它用向量描述输入的源语言句子,通过一个编码神经网络把它们转换成隐藏层的向量表示,然后用另一个神经网络解码这个隐藏层,得到目标语言的向量表示。这个过程纯粹是一个拟合函数的过程。即使源语言中句子的语义相同,如果单词不同,由这种“拟合函数”映射的目标语言在过去也会有很大的差异,所以会有明显的意义不变,但是增加一些无关紧要的单词或单词,翻译后的句子的意义会有很大的变化。
如果我们使用基于短语对齐的翻译模型,我们可以通过在对齐过程中引入一些基本的语言特征或单词重要性识别方法来避免这个问题,这也是nmt的缺陷,它不能引入语言本身的一些特征,如构词和句法。
我看过一些实验数据。我熟悉基于短语的统计机器翻译,完全基于神经网络的结果没有太大的区别。基于神经网络对同一个语料库的训练进行了改进,但效果不是很明显。
对于谷歌新发布的神经机器翻译(gnmt)系统,我们应该充分肯定它在机器翻译方面的进步。在相同的语料库下,与基于短语的统计机器翻译相比,神经机器翻译(gnmt)系统能够以较少的工作量达到相同的效果。然而,输入的句子纯粹被视为一个序列(理论上,任何符号序列都可以使用),并且生成的内容可能是陌生的、难以控制的,并且错误的结果难以解释。