Facebook发布全新神经机器翻译算法(译)
July 14, 2017
原文:https://www.infoq.com/news/2017/05/facebook-machine-translation
作者:Roland Meertens
翻译:纸岳
Facebook 的人工智能研究团队近日发布了其研究结果,一种新型的神经机器翻译(Neural Machine Translation)算法。比起其他系统,该算法在三种知名机器翻译任务中取得了更高的分数(score)。并且,该算法的运行速度是谷歌(Google)的神经机器翻译系统的九倍之快。
Facebook 所使用的技术——卷积神经网络在计算机视觉领域中非常有名。这项技术能够按层级处理句子,然后捕捉到每句话中,单词之间的复杂关系。在句子中,两个、三个、甚至更多彼此相邻的单词可以组成短语。Facebook 通过训练计算机,使其能够对句子中的这些短语赋予意义。 再通过处理句子和其中短语的联系,计算机能了解到句子的每个部分分别有何意义。最后, 另一种神经网络算法会把计算机所理解的意思,转化去目标翻译语言。
传统神经机器翻译算法只能逐字读入,然后再记忆到该字为止,前半句话的意思。计算机的速度也因此而受限于序列读入(sequential reading)的速度。而卷积方法与之相反,它最主要的优势在于,你可以将该方法同时应用于一句话的不同部分。所以,Facebook 的算法比序列读入的方法更快九倍之多。
除了神经机器算法之外,Facebook 还介绍了一种新型技术——多重跳跃(Multi-hop)。作为注意力机制的替代方法,这种新技术更加智能,也更加复杂。注意力机制,是一种能够解决同词异义的方法。在不同上下文的情况下,同一词语会拥有不同的翻译方法。而注意力机制则是在翻译某一词语的同时,查看原句中与之相关的其他部分。通过这样的方法,注意力机制才能够通过上下文,决定这个词语合适的翻译方法。
同时,Facebook 还计划在其他类型的文本处理任务中应用这种新方法。比如,使用神经网络算法回答问题。通过这种新方法,他们可以同时处理一段对话的不同部分。
Facebook 已经将完整解法发布在了博客中,其论文也是可以免费获取的。同时,如果你希望尝试 Facebook 的算法和了解其用途,你可以从 Github 开源代码库上免费下载源代码。
比起其他算法,如标准英译法、英译德以及英译罗马尼亚语,新算法的表现更加优异。在机器翻译领域中,它也胜过谷歌的神经网络系统(谷歌的翻译 SDK 如今也已向公众开放使用,支持 20 对语言翻译)。如果你想要了解神经机器翻译算法与以往的方法有何不同,你可以在微软必应翻译中选择这两种不同的方法进行语句翻译。