让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文

让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文

询问是沟通的基础。我们日常生交流中少不了询问,机器要高效地协助人类完成各种工作也需要通过询问来了解具体需求。

让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文

图 | 通过询问填补信息鸿沟:StackExchange上的求助帖。发帖者在设置环境变量时遇到了问题,帮助的人询问其系统版本号后,发帖者修改帖子添加了缺失的信息。(图源:askubuntu.com)

询问的一个基本目标就是填补信息鸿沟

,特别是那些询问遗漏信息的澄清性问题。

清晰精准地提问可以提高沟通效率,加快问题解决的速度。

那么怎样的问题才是一个好问题呢?从一个角度来看,我们可以说,

那些潜在答案更有用的问题是好问题

。以上图为例,StackExchange上有人发帖求助环境变量设置问题,但却没有提供系统版本相关信息。在这种情况下,我们可以用不同的方式提问:

a.你的Ubuntu系统版本号是什么?

b.你的无线网卡是什么牌子的?

c.你是否在x86 64架构上运行Ubuntu 14.10内核4.4.0-59-generic?

在此处,b显然不是一个好问题,因为它的潜在答案不会给我们提供任何有用的信息。c也不是一个好问题,因为它太具体狭隘了,回答大概会是“是的”或者“我不知道”。a最为恰当,如上图所示,发帖者的确通过修改帖子作出了回应。

你可能觉得判断哪个是好的问题十分简单,可教会机器做这件事却不是那么简单,但却非常富有意义。试想,如果发帖者在求助时,计算机自动列出一份清单,提醒他可能需要包含的信息,那么就可以免去他人询问和发帖者二次修改的过程,加快问题的解决进程。再比如,机器协助人类工作时,如果可以更精准地提出问题,工作的效率也将随之提升。

为了赋予计算机这种提问的能力,来自马里兰大学伯克利分校和微软研究院的研究人员建立了数据集和神经网络模型对这一问题进行探索。

介绍这项工作的论文近日被自然语言处理顶会ACL(Annual Meeting of the Association for Computational Linguistics)评选为最佳论文。

研究者首先针对这一问题建立了数据集。

他们选择StackExchange作为数据来源,这是一系列关于Ubuntu操作系统、latex 等话题的在线问答网站,每个网站专注于不同的领域。研究者选择askubuntu, Unix和superuser 三个领域的问答建立起约包含7万7千个帖子的数据集。每条数据由一个三元组组成:(post,question,answer),其中包含原贴,澄清性问题以及该问题的答案(即发帖者针对该问题修改帖子所增加的信息或专门针对该问题的回应)。

让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文

图| 数据集详情(图源:arxiv)

在该数据集上,研究者将选择最好的澄清性问题化为对一系列相关问题的排序问题,即对一系列问题进行排序,以此选出最佳澄清性问题。

该模型的灵感来自于EVPI(Expected Value of Perfect Information ,完整信息期望值)理论。这个指标描述的是,针对一个随机事件,拥有其完全信息时的最大期望值。也就是说,对于每一个问题q有一系列可能的回答,每个回答提供的信息的有用程度不同的。这一系列回答带来的收益的期望值就是该问题的EVPI。研究者正是利用神经网络模型分别建模针对每一个问题的得到各个回答的可能性以及这些回答的效用,通过对模型的联合训练找到回答带来的收益最高的问题,也就是最佳澄清性问题。



让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文

图 | 测试过程 3.1:对于给定的帖子p,首先通过Lucene检索与之最相似的10个帖子。利用针对这10个帖子的问题和答案组成候选集。3.2:通过神经网络对问题每个答案出现的概率建模。 3.3:计算各个答案的效用

(图源:

arxiv

针对给定的帖子,模型首先建立问题和答案的候选集。

想想我们人类是如何提问题的呢?我们常常会参考其他人提出的相似问题。研究者也模仿这一行为,利用Lucene搜索与给定的帖子最相近的10个帖子,利用其下的提问和提取的答案建立候选集。Lucene是Apache一款可扩展的信息检索工具,它利用TF-IDF(term frequency-inverse document frequency ,词频-逆文本频率指数)来寻找相似话题的文本。

接下来模型针对每一个问题进行具体分析,得出该问题被各种可能答案回答的概率。

首先根据问题和贴子生成各个答案的表征向量,然后去计算候选集中各个答案之间的距离,再以此计算出该答案出现的概率。最后,通过EVPI计算各种答案可以带来的收益,就可以得到每个问题收益值的期望,以此排序选出最佳的澄清性问题了。

让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文

图| 答案表征向量的生成:一个问题有多种问法,因此在生成答案的表征向量时,不仅要与原答案相似,也要和与这个问题类似的其他问题的答案相似

(图源:

arxiv

研究者最初希望利用数据集中已有数据对模型效果进行评估。

首先针对每一个帖子p,通过模型对问题候选集中的提问进行排序。由于该帖的原有提问也在候选集中,因此把原提问排到更高位置的概率就可以作为模型效果的衡量标准。然而这种方法有两个问题:(1)数据集中有噪声,原贴的问题中可能有一些无用的问题。比如“你是认真在提问吗?”,这样的问题显然不应该排在前面。数据分析中发现,数据集中有约9%的无用问题。(2)候选集中其他答案都是与原贴相关的的帖子下的提问,这其中很可能存在比原贴下问题更好的问题。

为了建立更合理的评估方式,研究者招募了10位在基于Unix的操作系统方面颇有经验的专家

问题进行标注,选出最佳问题(B:best)和可行的问题(V:valid),所有最佳问题也同时标注为可行问题。

针对这些标注的分析结果也十分有趣。研究者利用Cohen’s Kappa对结果进行一致性检验,“best”标注结果的一致性非常低,仅0.15。可见人类的语言变化万千,人们对最佳提问方式本身也有着不小的分歧。不过,当研究者将限制放宽,衡量“best”和“valid”两个标签时的,一致性达到了0.87。

根据这些标注结果,72%的情况下至少有一个标注者将原答案标注为“best”,仅20%的情况下有两位以上标注者同时标注为“best”。不过在88%的情况下至少有一人将其标注为“valid”,这也支持了研究人员关于数据集中噪声的统计结果。

最终,研究者从数据集上选择出500个样本对模型效果进行评估。



让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文

图 | 实验结果。Random:对候选问题集中的十个问题随机排序;Bag-of-ngrams :利用词袋模型对帖子、问题和答案建模,根据预测出正向标签的可能性大小进行排序;Community QA:SemEval2017 Community Question-Answering (CQA) 子任务冠军模型;Neural:利用LSTM对帖子、问题和答案进行建模,再通过一个10层的神经网络进行预测。该模型与EVPI主要的区别在于损失函数。;EVPI:本论文提出的模型

(图源:

arxiv



从实验结果中可以看出,EVPI模型在各个维度上均取得了最好的效果,在问题生成领域极具前景的模型。

而这项工作中对于标注结果分析再次展示了自然语言领域的难点:人类的语言具有多样性和模糊性。提问的方式是多种多样的,即使是人类自己对某一特定领域的最佳的提问方式也存在巨大分歧,想让机器找到答案更非易事。但是即使不能找到最佳,可以找到那些可行的,优秀的提问方式也是极具价值的。

-End-

原创:维尼

校审:戴青

ACL2018最佳论文及地址:

1. Finding syntax in human encephalography with beam search

http://arxiv.org/abs/1806.04127

2. Learning to Ask Good Questions: Ranking Clarification Questions using Neural Expected Value of Perfect Information

(本文介绍论文)

http://arxiv.org/abs/1805.04655

3. Let"s do it "again": A First Computational Approach to Detecting Adverbial Presupposition Triggers

http://arxiv.org/abs/1806.04262

4. Know What You Don"t Know: Unanswerable Questions for SQuAD

http://arxiv.org/abs/1806.03822

5. ‘Lighter’ Can Still Be Dark: Modeling Comparative Color Descriptions. Olivia Winn and Smaranda Muresan

尚未公布

让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文

让机器问你“好问题”,其实没有那么难丨解读ACL2018最佳论文