对话系统学习笔记(2)–A Diversity-Promoting Objective Function for Neural Conversation Models
此篇文章为李纪为博士在2016年在NAACL上发表的有关于增加对话多样性的一篇论文。本文主要提出了使用MMI( Maximum Mutual Information)作为目标函数来使模型的回答更有趣味和意义。
在传统的seq2seq模型中,当模型做出回答时,会对一般,安全的响应给出更高的分值,其原因是这种的回答符合语法规则,并且在数据库给出的对话中这种回答较为普遍,所以训练的次数较多,因此给出这种无意义的回答的概率较高,而有意义的回答概率就会变小。作者通过引入MMI(作为衡量输入与输出之间依赖关系的优化目标函数)来减少模型生成无意义回答的概率。
文章所用模型与之前相同,也是基于LSTTM的S2S模型,作为改进作者引入了新的目标函数,相对于之前的目标函数(论文Sequence to Sequence Learning with Neural Networks 作者Sutskever)所采用的最大似然估计:
原文中作者也是用了beam-search算法(与动态规划算法相似)来对模型的输出进行优化,然而正是这给优化使得模型的回答更加趋向于一般化。
所以本文的创新点在于引入了新的目标函数MMI,在MMI中,选择参数以最大化源与输出之间的相互信息(成对)。:
该公式也可写为:
通过这种方式,避免了无条件地使用高概率的响应,相反,增加了那些特定于给定输入的响应的概率。
上式为加入惩罚变量lambda后的公式,其中lambda越大,无意义回答生成的概率越低(简单的加减法),在后文中记作MMI-antiLM。
MMI目标的另一种形式是使用贝叶斯定理
所以上式可以重写为:
上式可以看为是输入与输出间的均衡,在后文中记作MMI-bidi。
对两种MMI进行优化
-
MMI-antiLM
虽然理论上MMI只会惩罚高频回复,但是在实际中模型倾向于选择不符合语法的不受p(T|S)惩罚的输出所以需要进行优化。注意到输出的不符合文法的句子往往是长句子的后面,并且考虑到生成的靠后的单词受decode中前部分单词影响逐渐变大,换句话说,要预测的第一个词将决定句子的剩余部分,并且早期由语言模型预测的单词进行惩罚比后来预测的单词对句子多样性的贡献更大。所以采取的方案是:
如上式所示,对P进行优化,其中g(k)为:
所以通过该式可以实现将惩罚的力度加在decode的前部分,而对后面的过程不做处理。
3.MMI-bidi
Direct decoding from (1 −lambda ) log p(T|S) +lambda log p(S|T) is intractable, as the second part p(S|T) requires completion of target generation before p(S|T) can be effectively computed.也就是说由于巨大的输出,要实现反向预测是困难的。本文采用的方式为首先生成一个N-best列表,再由列表中得分较高的值输入反向S2S模型中得到两个列表进行重排列,选出得分最高的值。
总结
数据库使用: Twitter Conversation Triple Dataset;OpenSubtitles dataset
结果:
可以看出实验结果高于baseline。
更多推荐
对话系统学习笔记(2)
发布评论