2018,论文链接:https://arxiv.org/pdf/1805.04843.pdf
一、动机
学会在大规模开放领域的对话系统中提问是很重要的,然后这个任务尚未被探索。因此,本文提出了一种在问答系统中提问的方法,旨在探索新的相关信息使得人机对话继续下去。
二、方法
任务的特殊性:
1、不仅有多种提问模式(疑问词不同/yes or no问题),还要包含多种多样的相关主题。2、需要在给定文本中的多个主题之间切换自如。
好问题的组成:疑问词(暗示提问模式)+主题词(切换主题的关键信息)+普通词(在句法和语法上起作用,使问题更流畅)
本文共收集了20种疑问词,并假定问题中的动词和名词(感觉应该是动名词)是主题词,其他词是普通词。
因此,本文将问题中的单词分成上述三种类型。在encoder-decoder的框架上设计了两个解码器—软类型解码器(STD)和硬类型解码器(HTD),分别以隐含和直观的方式处理单词类型。
输入:文本序列. 编码器:GRU 解码器:STD+HTD
2.1 STD
目的:生成更多有意义的问题
假定每个单词都有一个隐含类型(疑问/主题/普通)。STD首先估计给定文本中每个单词的类型概率分布,然后基于词汇表计算特定类型下的生成该单词的概率分布。最终生成一个单词的概率是特定类型下概率分布的总和,系数是相应的类型概率。
2.2 HTD
不同于STD,HTD先算出给定文本中每个单词的类型概率分布,取概率最高的类型作为该单词类型计算在该类型下的生成概率分布。
但是这么做会产生两个问题:1)如果第一次选择的类型是错误的,就会导致最终问题的语法错误。2)argmax是离散的,不可微的,训练时不可以反向传播。
因此作者用了Gumbel-Softmax来近似argmax的操作。
三、实验
数据集:从微博上收集了900万个post-response对。进行数据预处理,删除通用问题(适合各种答案类型的问题),最终剩余491000个post-response对,组成数据集。
人工评估:Appropriateness:问题在逻辑和内容上是否合理;
Richness:是否包含和给定文本相关的主题词;
Willingness to respond:用户是否愿意回答该问题使得对话继续下去。
四、总结
这篇文章做的是对话系统里面的问题生成,但是它其实只是输入了一句话,然后生成一个问题使得这个对话继续下去。并没有输入对话历史,因此它生成问题的空间比较大,不需要与对话历史保持连贯,只需要与给定的句子有关系就好了。
因此,它通过在给定的句子中找寻主题词,然后对其进行提问,确保与其关联。并且提出了两种编码器,通过确定单词的类型继而生成问题。这种思路可以借鉴,后续应该考虑到引入对话历史,使得生成完整的多轮对话,以证明在对话系统中提问的鲁棒性。