前言:
由于本社群打算组队参加京东的多轮对话系统挑战赛,比赛内容主要是做一款功能强大的聊天机器人,由于之前一直都是在做视觉,而seq2seq又是聊天机器人不可或缺的,因此打算学一下nlp的东西。(PS:大佬们如果对比赛感兴趣的,可以联系群主。)
一、初识
seq2seq 即“Sequence to Sequence”,是一个 Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列, Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列。
这个结构最重要的地方在于输入序列和输出序列的长度是可变的,可以用于翻译,聊天机器人,句法分析,文本摘要等。
seq2seq最早由两篇文章独立地阐述了它主要思想,分别是
《Sequence to Sequence Learning with Neural Networks》
地址:https://arxiv.org/pdf/1409.3215.pdf
和《Learning Phrase Representation using RNN Encoder-Decoder for Statistical Machine Translation》
地址:https://arxiv.org/pdf/1406.1078.pdf
二、深入
Encoder-Decoder的基本结构如图所示:
模型读取一个输入句“ABC”,并生成“WXYZ”作为输出语句。该模型在输