机器翻译(MT)以及一些机器人对话问题的特点就是输出是单词序列而不是单个单词。 输出序列的长度可能与源序列的长度不同
为了解决这个问题,主要采用的是Sequence to Sequence模型

模型主要由两个部分组成,一个编码器(encoder)和一个解码器(decoder)。编码器和解码器一般都是由RNN类网络构成,常用LSTM。这是由于使用RNN可以自适应输入输出,这里就不多提了。后面的网络都会以LSTM为例进行说明。
编码器主要指的是将句子编码成一个能够映射出句子大致内容的固定长度的向量
解码器,这里就是将由编码器得到的固定长度的向量再还原成对应的序列数据,一般使用和编码器同样的结构,也是一个RNN类的网络。
实际操作过程会将由编码器得到的定长向量传递给解码器,解码器节点会使用这个向量作为隐藏层输入和一个开始标志位作为当前位置的输入。得到的输出向量能够映射成为我们想要的输出结果,并且会将映射输出的向量传递给下一个展开的RNN节点。
模型训练:

训练时encoder的输入为英文原始文本对应的词向量
decoder的第一个输入为编码器得到的隐藏向量和开始文本bos,后面是对应正确的文本词向量作为输入

本文介绍了机器翻译中Sequence to Sequence模型的工作原理,该模型由编码器和解码器组成,常使用LSTM网络。编码器将输入序列转化为固定长度向量,解码器则负责从该向量还原出目标序列。在模型训练和预测阶段,详细阐述了输入和标签的设置。此外,讨论了简单的贪婪搜索和维特比算法的局限性,重点解析了Beam Search如何通过选取多个最有可能的候选序列来解决语义连贯性问题。
最低0.47元/天 解锁文章

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



