Question Directed Graph Attention Network for Numerical Reasoning over Text

在这里插入图片描述

  Question Directed Graph Attention Network for Numerical Reasoning over Text

1.摘要

对文本进行数字推理,如加法、减法、排序和计数,是一项具有挑战性的机器阅读理解任务,因为它需要自然语言理解和算术计算。为了应对这一挑战,作者提出了一种异构图表示,用于这种推理所需的文章和问题的上下文,并设计了一个问题导向图注意网络来驱动该上下文图上的多步数值推理。

2.介绍

作者认为QANET和NumNet对于复杂的数值推理是不够的,因为它们缺少数值推理的两个关键要素:

  1. Number Type and Entity Mention:NumNet中的数字比较图无法识别不同的数字类型,缺少文档中提到的连接数字节点的实体信息。
  2. Direct Interaction with Question:NumNet中的图推理模块忽略了直接的问题表示形式,这在定位问题所指向的重要数字作为数字推理的枢纽时可能会遇到困难。

3.数值推理的样例

作者认为数字和实体之间的关联是学习数字推理模型的强正则化:数字之间的 比较,加,减通常应用于具有相同类型或引用相同实体的数字。比如下图一个数值推理的例子:
在这里插入图片描述
其中有不同类型的实体和数字。两者都用不同的颜色强调:实体(黄色)、数字(红色)、百分比(蓝色)、日期(深蓝)、序数(蓝绿)。本文明确地将类型信息编码到模型中,并利用问题表示来进行推理过程。可以看到,第一段由5个”people counting“类型的数字,当给定数字类型时,如果模型学习提取以这个“population”问题为条件的“people counting”,推理难度将大大降低。

此外,图表中的实体提供了关于文章和问题之间相关性的明确信息。问题中的实体可能出现在文章中的几个句子中,表明每个数字如何通过这些桥接实体彼此关联,这有助于QA模型更好地收集和汇总信息以进行数字推理。 此外还可以观察到,当问题实体同时出现在一个句子中(第一段的最后一个句子)时,这可能暗示答案可以从该句子中得出。 第二个示例说明了跨度提取中的情况。 同样,当数字和“ Stephen Gostkowski”之间的相关关系明确时,该模型也会受益。

为了明确地将类型和实体信息集成到模型中,作者构建了一个异构有向图(下图,对应上表),其中节点由实体和不同类型的数字组成,而边可以编码不同类型的关系。图的节点由问题和文章中的实体数字组成。同一类型的数字彼此紧密相连一个句子中共同出现的数字和实体也是相互联系的

4.异构图建立

在这里插入图片描述
红色节点是数字,深蓝色节点是日期,其他节点是实体。边编码数字和实体之间的关系:

  1. 具有相同数字类型(例如日期)的数字被连接在一起。
  2. 该图将数字和同一个句子中的实体连接起来,以表示它们的同现。

在第一step中,模型关注包含Spanish 和 Portuguese实体的子图,因为它们在问题中被提及。在更新中,模型学习区分数字和日期,并提取与问题相关的数字。在第二step中,数字的表示由来自实体的消息以及进行推理的问题来更新。

基于这种异构图,作者提出了一种问题导向图注意网络(QDGA T),用于数值型MRC任务。由于与答案相关的数字可以由问题来引导,QDGAT在图推理过程中结合了问题的上下文编码。更具体地说,QDGAT使用上下文编码器,例如BERT和RoBERTa ,来提取问题和段落中的数字和实体的表示,作为图中每个节点的初始嵌入。通过异构图,QDGAT学会从以问题为条件的图中收集信息,用于数值推理。每个节点也由基于问题的上下文感知表示来描述,并且节点的表示通过消息传递迭代来更新。在用图神经网络进行多次消息传递迭代后,QDGAT逐渐聚合节点信息来回答问题。从这个意义上说,QDGAT以一种更符合人类感知和推理的方式抽象了段落和问题的表示,使模型产生了一种更可解释的推理模式。

5.Method

5.1 Problem Definition

在MRC任务中,每个数据样本由一个段落 P P P和一个相关的问题 Q Q Q组成。MRC模型的目标是根据 P P P回答问题 Q Q Q,给出答案 A A A。除了像标准MRC任务一样预测文本跨度之外,在数字推理的情况下,答案 A A A也可以是从算术计算(如排序、计数、加法和减法)中导出的数字。

5.2 Overall Framework

在这里插入图片描述
该模型由三个主要组件组成,representation extractor module, reasoning module, prediction module。representation extractor 负责语义理解。在extractor上,构造了一个具有类型化数字和相关实体的异构图。

扫描二维码关注公众号,回复: 12559680 查看本文章
Word Representation Extractor

RoBERTa处理passage和question,输入形式[CLS] Q [SEP] P [SEP]串联:
在这里插入图片描述

Graph Construction

该模块从文本数据构建异构类型的图形。图 G G G = ( V V V, E E E)包含数字 N N N和实体 T T T,两者都由外部命名实体识别系统(CoreNLP)识别,节点 V V V = { N N N, T T T},其边 E E E编码数字类型的信息和数字与实体的关系。

具体来说,NER软件将文本中的每个令牌标记为21个预定义类别之一。标记为NUMBER, PERCENT, MONEY, TIME, DATE, DURATION, ORDINAL 的被视为数字。此外,作者增加了一个额外的标记YARD并且利用了一个数字提取器去提取剩余的数字,它们也被标记为NUMBER

                          数字提取器word2num:https://pypi.org/project/word2number/

所有这些标记用8种数字类型 V N V_N VN=(NUMBER,PERCENT,MONEY,TIME,DATE, DURATION,ORDINAL,YARD)构成数字集 N N N。至于其他已识别的标记,将它们映射到标签ENTITY中,以构建类型集为 V T V_T VT是={ ENTITY} 的实体集 T T T

最后 t t t ( ( ( v v v ) ) ) ∈ ∈ V N V_N VN ∪ ∪ V T V_T VT来表示节点的类型。类型信息可以直接通知模型找到与问题相关的数字,从而降低推理难度。

E E E编码数字和实体之间的关系,对应两种情况。

  1. The edge between the numbers: 边 e i e_i ei , _, , j _j j存在于两个数字 v i v_i vi v j v_j vj之间,并且仅当这两个数字在 V N V_N VN中是同一类型时,它的关系 r r r i _i i , _, , j _j j= r r r j _j j , _, , i _i i对应于数字类型。
  2. The edge between the entity and the number:一个边存在于一个实体和一个数之间,并且仅当两者出现在同一个句子中。在这种情况下,关系 r r r i _i i , _, , j _j j= r r r j _j j , _, , i _i iENT+DIGIT

第一种情况的边将相同类型的数字聚集在一起,这提供了一个明显的线索来帮助对这些数字进行推理。在第二种边大致表示数字和实体之间的相关性。总的来说,该图有9个关系 R R R,即8个数字类型关系和1个ENT+DIGIT关系。

Numerical Reasoning Module

数字推理模块,即QDGAT,建立在表示和图提取器的基础上。基于图 G G G = ( V V V E E E),QDGAT网络可以表示为:
在这里插入图片描述
W M W^M WM是投影矩阵:
在这里插入图片描述
MEAN表示为mean pooling。 W c W^c Wc投影问题表示的平均向量以导出 c c c c c c是用于指导QDGAT中推理的问题语言嵌入。QDGAT然后对表示( M P M^P MP M Q M^Q MQ)和以问题导向 c c c为条件的图 G G G进行推理。
在这里插入图片描述

Prediction Module

预测模块将图推理网络 U U U的输出作为最终预测。目前NAQANet和NumNet+中的答案类型一般分为三类:
1.跨度提取,
2.计数,
3.算术表达式。
作者为这些答案类型实现了单独的模块,它们都以图网络 U U U和问题嵌入 c c c的输出作为输入。具体如下:

  1. 跨度提取:有三个跨度提取任务,即单篇文章跨度、多篇文章跨度、单题跨度。单个跨度提取的概率是由问题或段落中开始和结束位置的概率的乘积导出的。
  2. 计数:这个问题被认为是一个10类分类问题(0-9),它涵盖了DROP数据集中大约97%的计数问题。
  3. 算术表达式:答案由一个算数表达式给出,在DROP数据集中,只涉及加法和减法运算。作者通过将每个数字分类为(1,0,+1)中的一个来实现这一点,然后将其用作数值表达式中数字的系数,以得出最终答案。

本文使用一个独特的分类网络将数据样本分类为五种细粒度类型( T T T)之一。每个类型求解器使用一个唯一的输出层来计算条件答案概率 p p p( A A A| T T T)。

5.3 Question Directed Graph Attention Network

基于异构图 G G G,QDGAT对问题进行上下文感知的数值推理,通过在数字和实体之间传递消息的多次迭代来收集关系信息。它通过图中的边动态地确定与哪些对象交互,并通过图发送消息来传播关系信息。为了实现这一点,用上下文化的问题表示来扩充推理模块。例如,在表1的例子中,任务是找出有多少西班牙人和葡萄牙人受伤或死亡。实体和数字被显式标记,并在异构图中建模,如图1所示。QDGAT能够提取相关的实体,即西班牙语和葡萄牙语,条件是 c c c。在与这两个实体相关的数字中,其中一些是日期类型的,而其他的是关于人的。但是,应该只关注问题所要求的与人有关的数字。然后,模型对这些数字进行推理,得出答案计算的表达式。

Module Input

图神经网络将提取器的输出表示作为输入。每个节点由 M P M^P MP M Q M^Q MQ中对应的向量表示。形式上,当 v i v_i vi在passage中时,节点 v i v_i vi的输入是 v i v_i vi= M P M^P MP[ I P I^P IP( v i v_i vi)],其中 I P I^P IP返回 v i v_i vi M P M^P MP中的索引。从question和passage中收集的向量构成推理模块 v 0 v^0 v0的输入。

                   注意:当vi对应几个tokens时,使用它们向量的平均值。
Question Directed Node Embedding Update

在每次迭代 t t t ∈ ∈ { 1 1 1,…, T T T},Question Directed 层将问题信息与当前节点嵌入表示相集成。这一步是模仿检测相关节点的推理步骤。更具体地说,用 c c c表示的问题用于指导节点之间的信息传播。每个节点通过 c c c从邻居那里收集信息。数字和实体的作用不仅取决于输入本身,还取决于邻居和它们之间的关系。因此,采用self -attention layer 动态聚合信息。该表示首先被转换到三个空间:q、k和v:
在这里插入图片描述

c c c ∈ ∈ R R R d ^d d h ^h h g g g时ELU激活函数。
在这里插入图片描述
m t m^t mt ∈ ∈ R R R d ^d d h ^h h v 0 v^0 v0 ∈ ∈ R R R d ^d d h ^h h
在这里插入图片描述
W W W q _q q c _c c, W W W k _k k c _c c W W W v _v v c _c c大小为 d h d_h dh× d h d_h dh,[ a a a b b b]表示 a a a b b b的连接,⚪表示对应元素点乘。

所以最后 x x x t ^t t q _q q, x x x t ^t t k _k k, x x x t ^t t v _v v的大小都为 d h d_h dh

Directed Graph Attention

在每次迭代中,每个节点的这个Graph Attention层聚集来自该节点的邻居的信息。这一步是模仿选择相关关系进行操作的推理步骤。更具体地说,计算节点 i i i j j j之间的相关性,这是通过总结所有关系来衡量的:
在这里插入图片描述
其中, R i R_i Ri , _, , j _j j表示两个节点之间的关系, a a a i _i i , _, , j _j j表示节点 i i i对节点 j j j的注意得分, W W W a ^a a k _k k∈1×2 d d d h _h h是将表示映射为标量的向量, f f f表示leakyReLU激活函数。该attention分数用于消息传播,以从每个相邻节点收集适量的信息。节点的迭代更新过程:
在这里插入图片描述
其中 N i N_i Ni表示 G G G中节点 i i i的相邻节点, W u W_u Wu d h d_h dh× 2 2 2 d h d_h dh。得到权重 α α α i _i i , _, , j _j j后,对相邻节点的值进行求和,得到新的节点表示。最后,通过映射 v 0 v^0 v0和被更新的 x x x的拼接,计算出 v v v的新表示 v v v t ^t t + ^+ + 1 ^1 1 i _i i。形式上将节点嵌入更新和图attention层表示为一个函数:
在这里插入图片描述

从这个推理步骤的过程可以看到,模块接收来自question的信息,直接管理消息在数字和实体之间的传播。

Module Output

执行QDGAT-single推理步骤的 T T T次迭代,以执行等式(5)中的QDGAT。

最后一层的输出 v T v^T vT由图注意网络 U U U中的数字和实体获得。对于其他token,使用提取器的表示向量。形式上,输出 U U U的计算如下实现:
在这里插入图片描述
其中 J J J ( ( ( i i i ) ) )表示图节点中token i i i的索引, M M M表示 M P M^P MP M Q M^Q MQ的组合。然后在预测模块中为上述五种答案类型使用 U U U

6. Experiments

6.1Dataset and Evaluation Metrics

DROP:DROP是通过在维基百科的段落上众包问答对来构建的,在最初的train/dev/test部分包含77409 / 9536 / 9622个样本。使用精确匹配(EM)和F1分数作为评估指标。

6.2 Experiment Settings

上下文编码器:RoBERTa,24层,16个attention head ,1024个嵌入维度。这表明hidden size d h d_h dh的大小为1024。
优化器:Adam
epochs:5
batch size :16。
对于RoBERTa的超参数:
learning rate :5e-5
L2权重衰减:1e-6。
对于其他部分:learning rate : 1e-4,L2权重衰减:5e-5。
执行图推理步骤的 T T T = 4次迭代。

6.3 Main Results(来自排行榜)

DROP开发和测试集的总体结果。对于QDGAT p _p p,使用了更仔细的数据预处理和一个RoBERTa,该RoBERTa在SQuaD数据集上进行了预训练。
在这里插入图片描述

6.4 Ablation Analysis

QDGAT N _N N H _H H 从图中移除数字类型和实体。
QDGAT N _N N Q _Q Q 从QDGAT移除问题导向( c c c),使用正常的图卷积消息传递机制。
在这里插入图片描述
数字类型的影响:QDGAT在与数字和日期相关的问题上工作得更好,与span提取相比,这需要更具体的数字推理。
在这里插入图片描述

model 泛化能力研究

将QDGAT与NumNet+ 在RACE数据集上进行了比较,它是从中国中学生英语考试中收集的数据集。从RACE中提取了一部分特殊的例子,其中问题以“how many ”开始,称为RACENum。RACENum再分为中学考试(RACENum-M)和高中考试(RACENum-H)两类。RACENum-M和RACENum-H数据集相应地包含633和611个问题。由于原始的RACE数据集是多项选择的形式,需要将它们转换成DROP数据格式。NumNet+、QDGAT及其消融变量在RACENum上的准确性总结在下表中,这与在DROP数据集上的性能比较一致:
在这里插入图片描述

7. Case Study

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43390809/article/details/113526099
今日推荐