神经机器翻译(英语:neural machine translation,缩写:NMT)是一种直接使用人工神经网络以端到端方式进行翻译建模的机器翻译方法。
2014年出现了第一篇关于在机器翻译中使用神经网络的科学论文,随后几年神经机器翻译又取得了一些进展。
神经机器翻译所需的内存比传统统计机器翻译(SMT)模型少了许多,此外,神经翻译模型的各个部分都是联合训练的(端到端),以充分利用翻译效能。
深度学习应用首次出现在1990年代的语音辨识领域。2014年,第一篇关于以神经网络进行机器翻译的科学论文问世。同年,Bahdanau等人和Sutskever等人提出了端到端的神经网络翻译模型,正式使用了“神经机器翻译”一词。2015年,百度推出了第一个大规模的NMT系统,Google于隔年推出,其他公司也随后纷纷推出NMT系统。该领域在接下来几年取得许多进展,如大词表NMT、影像字幕应用、子词-NMT、多语种NMT、多源NMT、字元解码NMT、零资源NMT、全字元-NMT和零样本NMT(Zero-Shot NMT)等。2015年,NMT系统第一次出现在公开机器翻译比赛(OpenMT'15),WMT'15也开始有NMT系统参赛,次年,该比赛已经有90%的获奖者是NMT系统。
欧洲专利局从2017年以来持续使用神经机器翻译技术,让世界各地的专利系统的资讯得以即时理解 。该系统是与Google合作开发的,有31种语言配对,该系统截至2018年已翻译超过900万个文件。
神经机器翻译(NMT)与个别改造子部件的统计式词组翻译模型不同。神经机器翻译的原理并没有大幅突破传统的统计机器翻译,它们之间的主要区别在于,神经机器翻译对词汇和内部状态使用了向量表征(“嵌入”、“连续空间表征”)。NMT的模型结构比基于词组的模型更为简单,不是用分开的语言模型、翻译模型和重新排序模型,而是仅使用单一序列(Sequence)模型,一次预测一个词汇,这个序列预测是根据整段的源语言句子和已产生的目标语言序列来预测的。NMT模型使用了深度学习和表征学习。
词序列起初通常是以递回神经网络(RNN)来建模。被称为“编码器”的双向RNN为被称为“解码器”的RNN编码源语言的句子,解码器被用来预测目标语言中的词汇。递回神经网络在将长输入编码为单一向量时会面临困难,这点可以透过注意力机制来弥补 ,该机制允许解码器在产生输出的每个词汇时特别关注输入的不同部分。此外还有多种覆盖模型(Coverage Model)用于解决这种注意力机制所处理的问题,比如忽略过去的对齐资讯所造成的过度翻译(over-translation)和翻译不足(under-translation)。
卷积神经网络(CNN)原则上对处理长的连续序列有一定的好处,但仍有几个劣势导致最初未被使用,这些劣势在2017年时成功以“注意力机制”解决。
“Transformer”是一个基于注意力的模型,目前仍然是几个语言对的主导架构。Transformer模型的自注意力层( self-attention layer)透过检查配对序列中所有词汇之间的依存关系,直接对这些关系进行建模,借此学习序列中词汇之间的依存关系。这是一种比RNN采用的门控机制更简单的方法。Transformer简单易用,使研究人员即使是在低度语言资源(low-resource )的条件下,也能够用Transformer模型开发高品质的翻译模型。