《Learning to Ask Questions in Open-domain Conversational Systems with Typed Decoders》阅读笔记

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:用户是否愿意回答该问题使得对话继续下去。 

四、总结

这篇文章做的是对话系统里面的问题生成,但是它其实只是输入了一句话,然后生成一个问题使得这个对话继续下去。并没有输入对话历史,因此它生成问题的空间比较大,不需要与对话历史保持连贯,只需要与给定的句子有关系就好了。

因此,它通过在给定的句子中找寻主题词,然后对其进行提问,确保与其关联。并且提出了两种编码器,通过确定单词的类型继而生成问题。这种思路可以借鉴,后续应该考虑到引入对话历史,使得生成完整的多轮对话,以证明在对话系统中提问的鲁棒性。

你可能感兴趣的:(《Learning to Ask Questions in Open-domain Conversational Systems with Typed Decoders》阅读笔记)