一、主要摘要
1、采用seq2seq:previous sentence or sentences in a conversation -> next sentence
2、基本end2end,需要少量的人工规则hand-crafted rules
3、实验经验:即使优化了错误的目标函数,模型的对话结果也很不错Despite optimizing the wrong objective function,the model is able to converse well
4、训练数据:特定领域或者通用领域大量的、带噪声的都可以
5、问题:lack of consistency
二、模型
1、基本过程
训练:BP,maximize the cross entropy of the correct sequence given it’s context
预测:1)Greedy inference:上一次输出token作为下一次输入token;2)beam search
2、Exp.Two turns conversation
Q:ABC
A:WXYZ
用于conversation model:输入context是当前已经conversed的全部内容的拼接,输出序列是reply。(N turns的conversation可以生成N-1个样本?)
3、一般的translation模型用于对话模型存在问题:
1)目标函数的优化不符合人类实际对话的目标(longer term and exchange information, rather than next step prediction);
2)缺少一个保证连贯性consistency和普世知识general world knowledge的模型,对于这样的纯无监督无模型有明显的限制
三、数据集
1、Google内部的ITHelp聊天记录
数据长度:典型的一次对话总长度400words,会话间有明显的turn signal
数据规模:训练30M tokens,validation 3M tokens
训练数据的构成:predict next sentence given the previous one
网络结构:1-layer LSTM, 1024 cells,SGD+gradient clipping,词表Top20K
实验结果:perplexity 8 (对比N-gram model perplexity 18)
2、OpenSubtitles数据(电影对话数据)
网络结构:2-layer LSTM,AdaGrad+gradient clipping,每层4096 cells,词表Top100K
加速Trick:cell输出先project到2048个linear units,之后再feed到softmax
实验结果:validation set perplexity 17(对比5-gram model perplexity 28)
Tips:增加soft attention对训练和验证都没有明显的提升
四、结论
模型最大的缺点:缺少作为人类会话的连贯性,因此无法通过图灵测试