如何将 RNN 应用于序列到序列的 NLP 任务?

How to apply RNN to sequence-to-sequence NLP task?

我对 NLP 任务上的序列到序列 RNN 很困惑。之前,我已经实现了一些分类任务的神经模型。在这些任务中,模型将词嵌入作为输入,并在网络末端使用 softmax 层进行分类。但是神经模型如何做 seq2seq 任务呢?如果输入是词嵌入,那么神经模型的输出是什么?这些任务的示例包括问答、对话系统和机器翻译。

您可以使用编码器-解码器架构。编码器部分将您的输入编码为一个固定长度的向量,然后解码器将该向量解码为您的输出序列,无论它是什么。编码和解码层可以根据你的 objective 函数共同学习(它仍然可以涉及 soft-max)。查看 this paper,其中展示了如何将此模型用于神经机器翻译。这里的解码器一个一个地发出单词以生成正确的翻译。