论文总结之问答生成《Improving Knowledge-aware Dialogue Generation via Knowledge Base Question Answering》
11.Improving Knowledge-aware Dialogue Generation via Knowledge Base Question Answering
本篇论文是ACL最新的2019年底完成的一篇论文,主要在融入知识的情况下增加了回复多样性。
主要创新点有三个:
1)MLP训练后迁移学习
2)利用检索对话的方式增强生成式回复多样性
3)两步解码
现在具体分析下模型:
(1)Knowledge-aware Dialogue Encoder
post逐字经过GRU得到隐藏层向量
再通过预训练好的BiGRU得到隐藏层向量、语法向量(语法向量:Who is the best
actor in the movie” is {who,nsubj, actor, prep, in,pobj, hEi});
二者相加拼接起来;
(2)Response Guiding Attention
post和检索出的i个reponse的之间注意力机制(检索是从语料库里选择最相似的n个post,然后根据这n个post检索出i个答案)
比较费解的是对于post编码最终表示为什么用所有字编码平均值来表示
(3)MLP预训练
将post编码成隐藏层向量、语法向量,连接相加qi。
对三元组知识<subject entity, relation, object entity>编码成向量,然后又取三个向量的平均值(懵逼again);此外,对于relation单独编码;两个向量相加连接得到aj。
训练MLP
得到一个能够识别出post和知识最相关的感知机
(4)多步解码
1)First-step decoder
输入上
除去传统的注意力机制、上一步解码字、上一步解码状态,新添加了知识机制。
知识机制:MLP(预训练过)计算知识向量和平均post隐藏层相似度,加权得到知识向量cb。
具体的,post所有字向量所有的平均值(懵逼+3)和<实体1,实体2>做相似度计算作为权值。cb为选择的知识实体。
2)Second-step decoder
输入
除去传统的注意力机制、上一步解码字、上一步解码状态,新添加了知识机制和与第一步解码最终状态st之间的注意力机制cdt。
知识机制的MLP也变成第一步解码终态平均值(懵逼+4)和知识向量作为输入了。