论文笔记:Beyond I.I.D.: Three Levels of Generalization for Question Answering (上)

346 阅读17分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情

导语

摘要

现有的KBQA研究大多只关注于标准的i.i.d.(即独立同分布)假设。然而,在大规模KBs上,i.i.d.可能既无法合理地实现,也不理想,因为1)难以捕捉真实的用户分布,2)从巨大的空间中随机抽样训练样本将是数据效率非常低的。因此,本文建议KBQA模型应当同时拥有三方面的泛化性能:i.i.d.、compositional和zero-shot。本文构建了一个新的大规模、高质量数据集,包含64331个问题,GrailQA,并为所有三个泛化水平提供了评估设置。此外,该文还提出了一种基于bert的KBQA模型。数据集和模型的结合使我们能够彻底检查和证明,像BERT这样的预训练上下文嵌入在KBQA泛化中的关键作用。

1 简介

知识库问答(KBQA)是一种很有前景的技术,它提供对知识库(KBs)的统一的、用户友好的访问,并屏蔽用户背后的异构性。随着KBs的规模和覆盖面的增加,由于编写像SPARQL这样的结构化查询的难度越来越大,KBQA变得更加重要。

近年来,出现了一系列的KBQA数据集和模型。大多数现有研究(隐式地)专注于i.i.d.设置,即假设训练分布代表真实的用户分布,测试时的问题将从相同的分布中提取。虽然这是机器学习的标准,但对于大规模KBs上的KBQA来说可能是问题。首先,由于问题覆盖面广、组合爆炸,很难收集到足够的训练数据来覆盖所有用户可能提出的问题;其次,即使努力实现这一点,例如通过不断地将所有用户问题注释到已部署的KBQA系统,也可能会损害用户体验,因为在每次迭代中,系统在现有训练数据未覆盖的新分布外问题上总是失败。

image.png

因此,本文认为应该建立实用的KBQA模型,在测试时对分布外问题具有很强的泛化能力。提出了三个泛化层次:i.i.d.、compositional和zero-shot(图1)。除了标准的i.i.d.泛化,KBQA模型还应该泛化到见过的模式项的新组合(关系、类、函数)。例如,如果一个模型被训练了有关关系的问题,如producer、staged_here、capacity、classes(如Theater)和function(如GE)的问题,那么它应该能够回答涉及所有这些模式项的复杂问题,即使在训练中没有涉及这种特定的组合。此外,KBQA模型还可能遇到关于模式项甚至整个域的问题,这些问题在训练中根本没有涉及(例如,TV_Program和program_created),需要以zero-shot的方式泛化。

高质量的数据集对于社区向具有更强泛化能力的KBQA模型发展至关重要。除了为所有三个层次的泛化提供基准外,理想的数据集还应该是大规模的、多样化的,并捕捉KBQA的其他实际挑战,如实体链接、复杂问题和语言变化。然而,现有的KBQA数据集通常受到一个或多个维度的约束。其中大多数主要关注i.i.d.设置。GraphQ和QALD可用于测试组合泛化,但不能用于测试zero-shot泛化。它们的规模也相对较小,对知识库本体的覆盖范围也有限。SimpleQ[6]规模较大,但只包含单关系问题,多样性有限。数据集之间的定量比较见表1。

image.png

本文为KBQA构建了一个新的大规模、高质量数据集,名为GrailQA(Strongly Generalizable Question Answering),支持对所有三个泛化水平的评估。它包含64,331个众包问题,涉及多达4种关系和功能,如计数,比较和最高级,使其成为迄今为止最大的KBQA数据集,具有复杂的问题。该数据集涵盖了FREEBASE commons中所有的86个领域,这些是FreeBase中被认为是高质量的、可供公众使用的部分,以及这些领域中的大部分类和关系。此外,我们数据集中的问题涉及从United_States_of_America到Tune_Hotels,均为流行的实体。为了使数据集更加多样化和真实,通过大规模的网络挖掘和众包,收集了实体的常见表面形式,如Barack_Obama的"Obama "和" President Obama ",并在问题中使用它们。最后,开发了多种众包质量控制机制以确保数据集质量,最终的数据集由6685名人口结构高度多样化的众包工作者贡献。

除了数据集,本文还研究了提高泛化能力的重要因素,并提出了一种新的基于BERT等预训练语言模型的KBQA模型。该模型的表现与现有模型有竞争力:在GraphQ数据集上,该模型达到了新的SOTA,以很大的优势(3.5%)击败了之前的模型。在GrailQA上,所提出模型明显优于最先进的KBQA模型。更重要的是,数据集和模型的组合使我们能够彻底研究KBQA中的几个挑战,如搜索空间修剪和语言本体对齐。该模型不同变体的比较清楚地表明了BERT在组合泛化和零样本泛化中的关键作用。这项工作是首批证明预训练上下文嵌入(如BERT)在KBQA的多个泛化层次上的关键作用的工作之一。该数据集可以作为KBQA的一个有价值的预训练语料库:在该数据集上进行预训练,该模型可以泛化到其他数据集(WebQSP),并仅用10%的数据达到类似的性能微调,甚至可以以零样本的方式泛化到所有数据集。总而言之,本文的主要贡献有三个方面:

  • 本文首次对KBQA的三个泛化水平进行了系统研究,即i.i.d、compositional和zero-shot,并讨论了它们对实际KBQA系统的重要性。

  • 构建并向公众发布了一个大规模、高质量的KBQA数据集,包含64K个具有不同特征的问题,以支持在所有三个层次上具有更强泛化能力的KBQA模型的开发和评估。

  • 提出了一种新的基于BERT的KBQA模型,具有竞争力的性能,并彻底检查和证明了预训练上下文嵌入在泛化中的有效性。本文还提出了细粒度的分析,指出了有希望进一步改进的地方。

2 背景

2.1 知识库

知识库由两部分组成:一个本体层OC×R×CO \subseteq C \times R \times C 和关系事实ME×R×(CEL)M \subseteq E \times R \times (C \cup E \cup L),其中CC是所有class的集合,EE为所有实体集合,LL为所有字面值(literals)的集合,RR表示所有二元关系的集合。图2中显示了一个示例,其中顶部是F REEBASE本体的一个片段,底部是一些事实。作者的数据集基于最新版本的FreeBase。尽管FreeBase已经停止更新,但它仍然是最大的公开可用KBs之一,其高质量的人工管理使其成为基准KBQA的可靠选择。我们使用了它的commons子集,包含86个域、2038个类、6265个关系和超过4500万个实体。

2.2 三种级别的泛化:定义

这些定义基于自然语言问题的基本逻辑形式。作者将S表示为完整的模式项集(schema item),其中包括R,CR,C,以及一组可选的语义表示语言(如SPARQL)特定于语言的结构。在我们的例子中,作者包含了一组函数。注意,实体和字面量不包括在内。将S𝑡𝑟𝑎𝑖𝑛S_{𝑡𝑟𝑎𝑖𝑛}表示为任何训练示例中的模式项集合,将S𝑞S_𝑞表示为问题qq的模式项集合。各个泛化水平的合格测试集Q定义如下:

  • 独立同分布泛化(I.I.D. generalization):qQ,SqStrain \forall q \in Q, \mathcal{S}_q \subset \mathcal{S}_{\text {train }}此外,测试问题遵循训练分布,例如,从训练数据中随机抽样。
  • 组合泛化(Compositional generalization):qQ,SqStrain \forall q \in Q, \mathcal{S}_q \subset \mathcal{S}_{\text {train }},但是,在训练中没有涉及qq的具体逻辑形式。
  • 零样本泛化(Zero-shot generalization):qQ,sSq,sS\Strain \forall q \in Q, \exists s \in \mathcal{S}_q, s \in \mathcal{S} \backslash \mathcal{S}_{\text {train }}

泛化水平代表了对KBQA模型的期望:一个模型应该最低限度地能够处理与其训练对象相关的问题。再进一步,它还应该推广到所见结构的新组合。理想情况下,一个模型还应该处理新的模式项,甚至是有限的训练数据没有覆盖的整个领域,其中也包括新的结构的组合。通过明确列出不同的泛化水平,作者希望鼓励开发具有更强泛化能力的模型。与这些相反,实用的KBQA模型也应该对语言变体具有很强的泛化能力,即对应于相同逻辑形式的不同复述。我们接下来要介绍的数据集也特别强调了这一维度。

3 数据

在本节中,我们将描述我们的数据集GrailQA是如何构建的,并对其质量和多样性进行分析。5.1节描述了如何划分数据集以创建不同泛化水平的评估设置。

3.1 数据收集

Wang等人提出了一种隔夜方法,该方法通过三个步骤收集问题-逻辑形式对:(1)从知识库中生成逻辑形式,(2)将逻辑形式转换为规范问题,以及(3)通过众包将规范问题转述为更自然的形式。Su等人通过算法将隔夜方法扩展到大型KBs,如FreeBase,以生成对应于大规模空间中有意义问题的逻辑形式。然而,Su等人在中的数据收集完全由少数专家标注者完成,这极大地限制了其可扩展性和问题多样性。在Su等人方法的基础上,开发了一个具有精心设计的质量控制机制的众包框架,该框架具有更强的可扩展性,产生更多样化的问题。因此,我们能够构建一个比FreeBase本体更大一个数量级的数据集(表1)。我们的数据收集流程如图2所示。

image.png

规范逻辑形式生成

利用Su等人提出的逻辑形式生成算法,随机生成具有丰富特征的逻辑形式。该算法保证生成的逻辑形式具有结构良好、无冗余等重要性质。它首先遍历知识库本体以生成仅由类、关系和函数组成的图形状模板,然后将某些节点连接到兼容的实体,以生成语义表示的逻辑形式,称为图查询(Graph query)。在这个阶段,我们只使用一组兼容的实体为每个模板奠定基础,以生成一个规范的逻辑形式,并使用它来驱动后续步骤。在之前的工作之后,生成了包含多达4种关系的逻辑形式,并可选地包含一个从计数、最高级(argmax, argmin)和比较级(,>,,<\ge, >,\le,<)中选择的函数。图2中的示例逻辑形式有3个关系和一个函数。

每个规范的逻辑形式都由一个研究生根据以下标准进行验证,即是否有理由期待一个真实的人类用户问这个问题?

该方法只保留有效的问题,减少了生成逻辑形式的KBQA数据集中常见的人工问题数量,使数据集更加真实。这一步的总体通过率为86.5%。

规范问题标注

每个经过验证的规范逻辑形式都由一名研究生用一个规范问题进行注释,然后由另一名学生进行交叉验证,以确保其保真度和流畅性。参与的研究生都了解KBQA,并接受了有关标注任务的详细材料的训练。为了进一步促进该任务,我们开发了一个图形界面(图7),它显示了逻辑形式的交互式图形可视化。可以单击每个组件以查看辅助信息,如简短描述及其域/类。需要注释器将实体和字面量括在括号中(图2)。

基于众包的同义解释

我们使用Amazon Mechanical Turk来众包经典问题的复述,并将我们的任务限制在以英语为母语的人,任务满意率至少为95%。我们开发了一个具有自动化质量控制机制的众包框架,其中包含三个任务(说明见图8):

  • 任务1:同义解释。众包工作者面对一个规范的问题以及辅助信息,如主题实体描述和问题的答案,并被要求提出一个合理和自然的复述。用括号括起来的实体和文字在释义中逐字保留。系统持续运行,直到每个典型问题得到5个有效释义(任务2)。我们为每句转述支付0.10美元。
  • 任务2:交叉验证。然后,由多个独立的工作者(原始作者除外)对每个复述对相应的规范问题的流利性和保真度(即语义等价)进行判断。每句复述平均得到4个判断,忠实度满意率低于75%或流利度满意率低于60%的被丢弃。总的来说,有17.4%的释义被丢弃。一名工作人员一次判断10个释义,其中一个是对照问题。手动构建了一组已知好的/坏的复述-规范问题对的初始集合,作为控制问题,并逐渐用众包工作者验证的新问题对扩展该集合。当潜在控制问题失败时,我们要求worker重新考虑他们对整个批次的验证决定,我们发现通过这样做,垃圾邮件发送者或低质量的worker往往会退出任务,我们最终得到的是大部分高质量的worker。每批我们付0.15美元。
  • 任务3:实体表面形式挖掘。从一个大型实体链接数据集FACC1中收集了一个常见的表面形式列表,根据每个实体的频率进行排名,该数据集在ClueWeb的10亿多web文档中识别出约100亿次提到FreeBase实体。例如,Barack_Obama的一些常见表示法(和频率)是“obama”(2100万)、“barack obama”(530万)和“barack hussein obama”(101K)。然后,我们要求至少3名众包工人从挖掘的列表中选择真正的表面形式,而少于60%的工人选择的表面形式将被丢弃。我们为每项任务支付0.05美元。

对应和抽样

通过将每个规范逻辑形式与相容的实体进行对应,可以生成更多的逻辑形式。我们进行控制抽样以生成最终问题:从与相同规范逻辑形式相关联的逻辑形式和复述池中,我们每次从每个池中抽样一个以生成问题(图2)。我们从统一的权重开始,每次选择逻辑形式或复述时,其权重分别除以𝜌𝑙和𝜌𝑝。我们将𝜌𝑙设置为2,将𝜌𝑝设置为10,以加强语言多样性。最后,随机替换Task 3中挖掘的实体表面形式(如果有的话)。这样,我们就能够生成一个质量和多样性受到精心控制的大规模数据集。

3.2 数据分析

我们总共收集了4,969种规范逻辑形式和29,457种复述(包括规范问题)。经过采样后,最终数据集包含64331个问题逻辑形式对,这是迄今为止KBQA上包含复杂问题的最大数据集。我们注意到,由于我们的数据收集设计,这种抽样是GrailQA的独特功能。与现有数据集的详细对比如表1所示,部分示例问题如表2所示。GrailQA比现有数据集具有更广泛的覆盖范围和更独特的规范逻辑形式,除了ComplexWEBQ。GrailQA也是唯一明确评估零样本泛化的KBQA数据集(第5.1节)。不同特征下的问题分布如下:

image.png

质量

作为一项数据质量的定性研究,手动分析了100个随机抽样的标准逻辑形式、它们的标准问题和相关的复述:100个典型问题中有3个与典型逻辑形式意义不匹配,大多是由于误解了某些关系的方向性,576个复述中有12个与对应的典型问题不匹配,导致典型问题标注错误率为3%,复述错误率为2.1%,整体错误率为5.6%。所有经过检验的释义都相当流利。

语言多样性

该数据集由11名研究生和6685名众包工作者贡献,他们在年龄群、教育背景和性别方面具有不同的人口统计学特征(附录A)。将众包解释作为数据收集手段的一个常见问题是缺乏语言多样性——众包工作者可能会偏向于规范问题。然而,对于GrailQA来说,情况可能并非如此。当所有问题都是小写时,每个复述和对应的规范问题之间的平均Jaccard相似度分别为0.569和0.286。平均编辑距离为26.1(平均总长度为50.1个字符)。同一经典问题的复述之间的统计量为0.527,0.257和28.2。当排除实体时,差异性甚至更高。我们相信这是一种相当不错的语言多样性,我们将其归功于我们多样化的群体工作者和质量控制机制。

实体连接

由于我们对实体表面形式的大规模挖掘,GrailQA还具有更现实和更具挑战性的实体链接。常见的表面形式包括缩写(“FDA” for Food_and_Drug_Administration),姓/名(“Obama” for Barack_Obama),常识(“Her Majesty the Queen” for Elizabeth_II)和口语vs正式(“Obama vs. Romney” for United_States_Presidential_Election_2012)。一般来说,挖掘出的表面形式比实体的正式名称在知识库中更典型、更口语化地指代实体,使问题更具有现实性。这是对实际KBQA系统的一个重要挑战,但在现有的KBQA数据集中在很大程度上被忽视了。例如,Yao表明,对于WebQSP数据集,由于数据集的构建方式,简单的模糊字符串匹配就足以完成命名实体识别(NER)。

3.3 S-表达式

除了图查询,本文还在S-表达式中提供了它的另一种线性化版本,这是应用主流的序列到序列(Seq2Seq)神经模型所需要的。S-表达式在紧凑性、组合性和可读性方面提供了很好的权衡,但可以选择任何其他形式的线性化,如𝜆-DCS或直接使用相应的SPARQL查询。每个图查询都可以很容易地转换为等价的s表达式。例如,图2(d)中的图查询可以转换为(AND Theater (AND (GE capacity 10000))(JOIN staged_here (JOIN producer Bob_Boyett)))))。更多细节可以在附录b中找到。图查询和S-表达式都可以很容易地转换为SPARQL查询来获得答案。我们将在建模中使用S-表达式作为逻辑形式。