文章目录
论文标题:HOTPOTQA: 用于多样化、可解释的多跳问题解答的数据集
论文链接:https://arxiv.org/abs/1809.09600
arXiv:1809.09600v1 [cs.CL] 25 Sep 2018
摘要
现有的问答(QA)数据集无法训练QA系统进行复杂推理并为答案提供解释。我们引入了HOTPOTQA,这是一个包含113k基于维基百科的问答对的新数据集,具有四个关键特征:(1) 问题需要查找和推理多个支持性文件来回答;(2) 问题多样化,不受任何预设知识库或知识框架的限制;(3) 我们提供句子级别的支持性事实,以便进行推理,让问答系统能够在强监督下解释预测;(4) 我们提供了一种新型的事实比较问题,以测试QA系统提取相关事实和进行必要比较的能力。我们证明了HOTPOTQA对最新的QA系统具有挑战性,而支持的事实使模型能够提高性能并做出可解释的预测。
1 简介
在自然语言上进行推理和推断的能力是智力的重要方面。问答任务(QA)提供了一种可量化且客观的方式来测试智能系统的推理能力。为此,已经提出了一些大型的问答数据集,这激发了在这方面的重要进展。然而,现有的数据集存在局限性,这些局限性阻碍了机器对自然语言进行推理的进一步发展,特别是在测试QA系统进行多跳推理的能力方面,这里系统需要从多个文档中获取信息才能得出答案。
首先,一些数据集主要关注测试在单个段落或文档内推理的能力,或者单跳推理。例如,在SQuAD(Rajpurkar等人,2016)中,问题设计为给定一个单独的段落作为上下文来回答,而且大多数问题实际上可以通过将问题与该段落中的一个句子匹配来回答。因此,在测试系统在更大上下文中进行推理的能力方面存在不足。TriviaQA(Joshi等,2017)和SearchQA(Dunn等,2017)通过使用信息检索收集多个文档来形成给定的问题答案对的上下文,从而创建了一个更具挑战性的环境。尽管如此,大多数问题可以通过匹配问题与一个段落中的几个相邻句子来回答,这是有限制的,因为它不需要更复杂的推理(例如,跨越多个段落)。
其次,针对多步推理的现有数据集,如QAngaroo(Welbl等人,2018)和COMPLEXWEBQUESTIONS(Talmor和Be-rant,2018),是通过使用现有的知识库(KBs)构建的。因此,这些数据集受到它们使用的KBs架构的限制,从而在问题和答案的多样性方面存在固有的局限性。
第三,上述所有数据集只提供远程监督;即,系统只知道答案是什么,但不知道导致它的支持事实是什么。这使得模型难以了解潜在的推理过程,以及做出可解释的预测。
为了解决上述挑战,我们的目标是创建一个需要对多个文档进行推理的QA数据集,并且以自然语言进行推理,不局限于现有的知识库或知识结构。我们还希望它能为系统提供关于答案实际来源于哪些文本的强烈监督,以引导系统进行有意义和可解释的推理。
我们介绍了一个满足这些理想条件的大规模数据集HOTPOTQA。HOTPOTQA是通过众包基于维基百科文章收集的,其中众包工作者被展示多个支持性上下文文档,并被明确要求提出需要对所有文档进行推理的问题。这段文字确保涵盖了更自然的多跳问题,这些问题在设计时没有考虑到任何现有的知识库结构。此外,我们还要求众包工作者提供他们用来回答问题的支持事实,我们也将其作为数据集的一部分提供(请参阅图1示例)。我们为HOTPOTQA精心设计了一个数据收集流程,因为收集高质量的多跳问题并非易事。我们希望这个流程也能为未来的研究指明方向。最后,作为HOTPOTQA的一部分,我们也收集了一种新型的问题——比较问题,在这些问题中,我们需要系统对比两个实体在一些共享属性上的差异,以测试它们对语言和常见概念(如数值大小)的理解。我们将HOTPOTQA公开发布在https://HotpotQA.github.io。
图1:HOTPOTQA中多跳问题的例子。我们还用蓝色斜体强调了支持事实,这些事实也是数据集的一部分。
2 数据收集
我们工作的主要目标是收集一个多样化且可解释性强的问题回答数据集,该数据集需要多步推理。一种方法是根据知识库定义推理链(Welbl等人,2018;Talmor和Berant,2018)。然而,这种方法受限于实体关系的不完整性以及问题类型的缺乏多样性。在这项工作中,我们关注基于文本的问题回答,以使问题和答案更加多样化。总体设置是,给定一些上下文段落(例如,几段或整个网络)和一个问题,问答系统通过从上下文中提取一段文本来回答问题,类似于Rajpurkar等人(2016年)。我们还确保必须执行多跳推理才能正确回答问题。
收集基于文本的多跳问题并非易事。在我们的初步研究中,我们发现,简单地给众包工作者任意一组段落是事与愿违的,因为对于大多数段落集,很难提出一个有意义的多跳问题。为了解决这个挑战,我们精心设计了一个收集基于文本的多跳问题的流程。以下,我们将强调我们流程中的关键设计选择。
构建维基百科超链接图。我们使用整个英文维基百科的dump作为我们的语料库。在这个语料库中,我们发现了两个观察结果:(1)维基百科文章中的超链接通常自然地表示两个(已经消歧义)实体之间的关系,这可能有助于促进多跳推理;(2)每篇文章的第一段通常包含许多可以有意义查询的信息。根据这些观察结果,我们从所有维基百科文章的第一段提取所有超链接。使用这些超链接,我们构建了一个有向图G,其中每条边(a,b)表示从文章a的第一段到文章b存在一个超链接。
生成候选段落对。为了使用G生成有意义的两段式多跳问题回答,我们首先考虑一个示例问题:“Radiohead的歌手和词曲作者是什么时候出生的?”要回答这个问题,需要先推断出“Radiohead的歌手和词曲作者”是“Thom Yorke”,然后在文本中找到他的生日。在这篇文章中,我们将“Thom Yorke”视为一个桥梁实体。 在超链接图G中,给定一条边(a, b),通常可以把b的实体视为连接a和b的桥梁实体。当我们观察到文章b时,它通常可以确定a和b之间的共享上下文的主题,但并不是所有文章b都适合收集多跳问题。例如,像国家这样的实体在维基百科中经常被提及,但不一定与所