基于RNN和注意力机制的自然语言处理:从编码器 - 解码器到注意力模型
在自然语言处理(NLP)领域,我们已经探讨了时间序列、使用Char - RNN进行文本生成以及使用词级RNN模型进行情感分析等任务,还涉及了训练自己的词嵌入或重用预训练的词嵌入。现在,让我们聚焦于另一个重要的NLP任务:神经机器翻译(NMT)。
1. 编码器 - 解码器网络用于神经机器翻译
我们先来看一个简单的神经机器翻译模型,它可以将英语句子翻译成法语。
-
模型基本流程
- 英语句子被送入编码器,解码器输出法语翻译。需要注意的是,法语翻译也作为输入反馈给解码器,但会向后移动一步。也就是说,解码器在每一步接收的输入是它上一步应该输出的单词(而不管它实际输出了什么)。对于第一个单词,解码器接收序列开始(SOS)标记。并且,解码器需要以序列结束(EOS)标记结束句子。
- 在将英语句子送入编码器之前,会将其反转。例如,“I drink milk”会被反转成“milk drink I”。这样做的目的是确保英语句子的开头最后被送入编码器,这对于解码器的翻译很有帮助,因为通常解码器首先需要翻译的就是句子开头部分。
- 每个单词最初由其ID表示(例如,“milk”的ID可能是288),然后通过嵌入层得到词嵌入。这些词嵌入才是实际送入编码器和解码器的内容。
-
解码器输出与训练
- 在每一步,解码器会为输出词汇表(即法语)中的每个单词输出一个分数,然后
RNN与注意力机制在机器翻译中的应用
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



