2019.11.15 更新 Learning to Ask Questions in Open-domain Conversational Systems with Typed Decoders
Learning to Ask Questions in Open-domain Conversational Systems with Typed Decoders
ACL 2018
总结
很喜欢的这篇文章的工作。
这篇文章是讲,如何在对话系统中生成问题,从而驱使对话变得更深入。文章有阐述为何对话系统中的问题生成和普通的QA有所不同,一是pattern和answer的对应关系不一样,二是对话系统中对response topic 的相关性(与post)要求更高。文章将问句拆解,分成三个部分:interrogative, topic word, ordinary word,采用了常见的encoder-decoder框架,但是设计了两个不同的decoder以解决新问题。
-
soft typed decoder: STD不仅仅预测下个词出现的概率,而是类型概率和词汇表概率一起预测, 并且这里的类型是隐式的,不可见的。
$P(y_{t} y<t,X) = \sum_{i=1}^{k} P(y_{t} ty_{t}=c_{i},y<t,X)*P(ty_{t}=c_{i} y<t,X)$ 等号右侧,前者为词汇表概率,后者为类型概率
-
hard typed decoder: HTD先决定下一个词的类型,再根据类型预测词,但这么做有两点问题:一是用$argmax$ 梯度断掉无法反向传播,二是如果前者类型选错的话,会导致错误传播,作者用$Gumbel-Softmax$来近似$argmax$,还用了一些平滑化的操作来减少后者的影响。