神经机器翻译(seq2seq RNN)实现详解
seq2seq 是一类特殊的 RNN,在机器翻译、文本自动摘要和语音识别中有着成功的应用。本节中,我们将讨论如何实现神经机器翻译,得到类似于谷歌神经机器翻译系统得到的结果(https://research.googleblog.com/2016/09/a-neural-network-for-machine.html)。
关键是输入一个完整的文本序列,理解整个语义,然后输出翻译结果作为另一个序列。阅读整个序列的想法与以前的架构截然不同,在该架构中,一组固定词汇从一种源语言翻译成目标语言。
本节受到 Minh-Thang Luong 于 2016 年所写的博士论文“Neural Machine Translation”的启发。第一个关键概念是编码器–解码器架构,其中编码器将源语句转换为表示语义的向量,然后这个向量通过解码器产生翻译结果。
编码器和解码器都是 RNN,它们可以捕捉语言中的长距离依赖关系,例如性别一致性和语法结构,而不必事先知道它们,也不需要跨语言进行 1:1 映射。它能够流利地翻译并且具有强大的功能。
发表评论