论文总结之问答生成篇
基于生成:
1.A Working Memory Model for Task-oriented Dialog Response Generation
没看太懂,主要领会下思想,细节并没有细讲,作者说在补充文档里。
(1)将对话历史信息用类似transformer的方法编码。得到Ok
(2)E-MemNN:对话历史写进来(具体咋写也没说)
(3)S-MemNN:将知识库的三元组写进
(4)开始解码,将上一步解码yt-1和qt-1传给GRU,得到qt;将qt传给2,得到一个copy机制分布和词表分布;将qt和1中的Ok传给3,得到知识库copy分布;两个分布给STS,处理后得到t时刻最大概率生成单词。
PS:粗暴理解就是历史上下文和知识库融入一同作用于解码阶段。对话历史E-MemNN就类似传统的attention,使用了词表生成和复制机制。知识库阶段是先将知识库和上下文加了联系后再用于解码只有copy机制。
——————————————END1———————————————
2.Generating Responses with a Specifific Emotion in Dialog
(1)encoder用了双向LSTM,得到正向反向的向量表示。
(2)解码阶段的状态sj由生成yj-1,情感词加权求和ej, sj-1经过lstm决定。
(3)情感加权求和ej为该情感下各个词汇的加权求和。权重为encoder最终状态向量hm,情感词向量,sj-1作sigmoid(相似度计算吧)。
(4)最终生成概率则由传统词表概率分布和情感词表概率加权相加。这两个概率分布由解码状态si处理得到。
PS:跟传统的attention相比,原来的是解码状态和编码最终状态做相似度计算,现在在这个之上再加了一个情感词向量相似度计算。
Emotion Classifification :
没看懂为什么要这么做。
我的理解是:把所有在这两个字典里可能生成的yj和他们的概率相乘。
然后再softmax得到情感分类?回馈给解码器指导继续生成。
——————————————END2———————————————
3.Incorporating Copying Mechanism in Sequence-to-Sequence Learning
16年的老文章,seq2seq里很经典的copy机制。
分两个模式:copy和attention(传统的)
(1)将输入X双向RNNencoder成向量M(h1,h2…),M不光包含语义还有词位置
(2)传统的attention更新状态St靠的是St-1,C和yt-1;本文copy模式状态更新相比传统是在yt-1上有所增加,步骤如下:
计算yt-1和与其相等的所有xi匹配度作为权重,分别和该对应的hi累成相加得到一个参数;将参数和embedding好的yt-1连接送入计算St
(3)St包含两个模式的状态,分别将St和字典V、hi(M的)做计算。得到两个参数后用于计算prob生成和prob复制。
——————————————END3———————————————
4.Neural Response Generation with Dynamic Vocabularies
本篇论文主要思想是用动态词典去减少decorder时间,偏数学。
目标是通过最大似然学习出词汇选择模型和回复生成模型。用多元伯努利分布的抽样,计算出动态词表第一部分,第二部分就是常规高频词
详细参考:https://bigquant.com/community/t/topic/121119
——————————————END4———————————————
5.Neural Response Generation with Meta-Words
(1)先根据message预测出元字(具体啥根据我也不知道)
(2)State Memory Panel一开始初始化定好了每一个key和goal不变、
(3)在state controller环节,根据解码状态st和当下的M.vt和M.key连接来判断当前表达超出goal还是没达到goal,从而控制M.vt+1的变化∆是增还是减(我理解的是st包含了上一步中的goal一些特征,所以可以这样用)
(4)将goal和M.vt做比较处理得到差异din;然后通过st和dt相似度得到权重;权重和差异向量相乘累加得到最终差异向量ot
(5)传统的注意力机制attention加上这个差异向量,决定下一步编码。
——————————————END5———————————————
6.Retrieval-Enhanced Adversarial Training for Neural Response Generation
这篇也是19年索引和生成相结合的强化学习一篇paper。
1.Retrieval-based Method
(1)将对话pair分开建立一个数据集,分别为message库和candidate库,二者建立索引;(2)user的message作为输入,从message库中找出相似度最高的10个(3)然后索引到candidate中,找出最符合的两个作为N-best response candidate。
2.Discriminator
(1)把message和candidate都用lstm处理;(2)用lstm计算每个candidate和generator的response匹配度zi,再去所有zi的平均值(3)用lstm计算message和response的匹配度zx(4)将zx和均值zi连接送给MLP,得到Dθ(y|x, {c})
3.Generator
(1)双向lstm输入message和candidate作为context(2)将candidate从word和sentence两个级别做注意力(3)message用word级别做attention。PS:跟传统seq2seq不同的就是用了两个东东做了attention,其中一个还从两个级别做
4.强化学习
(1)生成器生成的response输入给鉴别器
(2)鉴别器通过两种相似度比较得到Dθ(y|x, {c}),为了最小化辨别误差函数会对改变θ,θ相当于一个policy传给生成器(判断生成器生成的东西是假的)
(3)生成器也有个目标函数,接收到θ后他会最小化自己的目标函数,从而调整自己的参数φ。(希望自己生成的东西更真实,从而骗过鉴别器)
——————————————END6———————————————
7.Topic Aware Neural Response Generation
这是几年前16年的paper,可以跟第二篇情感生成进行对比。
(1)使用LDA模型给input一个主题,然后根据主题选出前n个词汇,将它们计算成向量。
(2)解码分为两个attention。第一个和传统s2s一样。第二个topic attention如下:1.将上一个解码状态si-1,编码最终状态ht,主题词向量喂给MLP从而得到每个主题词的权重(跟第二篇情感paper的方法几乎一摸一样)2.权重和主题词向量相乘,得到注意力(方法和传统attention一样)
(3)更新得到si,然后在用论文给定公式计算两种情况下的词汇分布概率。
PS:实际就是解码时候对跟主题相关的词汇增加一个额外概率,使它成为解码选择.
另外参考:https://blog.****.net/qq_35495233/article/details/86618835
——————————————END7———————————————