
NumNet: Machine Reading Comprehension with Numerical Reasoning
https://arxiv.org/abs/1910.06701
https://github.com/ranqiu92/NumNet
1.Motivation
将数值推理集成到机器阅读理解模型中。两个关键因素:
- 数值比较:问题的答案可以通过在文档中进行数值比较,如排序和比较,直接获得。例如,在表1中,对于第一个问题,如果MRC系统知道“49 > 47 > 36 > 31 > 22”的事实,它可以很容易地提取出第二长的场地目标是47码。

- 数值条件:问题的答案不能通过文献中简单的数值比较直接得到,往往需要数值比较才能理解文本。例如,对于表1中的第二个问题,MRC系统需要知道哪个年龄组占人口的7%以上才能计算组数。
2 Methodology
2.1 Framework
NumNet模型的概述如上图所示。分为编码模块、推理模块和预测模块。
Encoding Module
使用QANet的编码组件将问题和段落编码到向量空间表示中。形式上,问题Q和短文P首先编码为:

然后 passage-aware 的问题表示和question-aware的文章表示被计算为:

其中QANet-Emb-Enc()和QANet-Att()分别表示QANet的“stacked embedding encoder layer”和“context-query attention layer”。前者由卷积层、self-attention层和前馈层组成。后者是一个passage-question 的关注层。
Reasoning Module
首先建立一个异构图:GGG =(VVV;EEE),其节点 (VVV)对应于passage和question中的数字,边(EEE)用于编码数字之间的数值关系。然后基于图神经网络进行推理:

其中WMW^MWM是一个共享权重矩阵,UUU是对应于数字的节点的表示,QANet-Mod-Enc( ·)是QANet中定义的“模型编码器层”,类似于QANet-Emb-Enc(), Reasoning(·) 的定义将在第3.3节中给出。
最后,由于UUU只包含数字的表示,为了解决包含非数字单词的跨度式答案,将UUU与MPM^PMP连接起来,产生的数字感知的段落表示M0M_0M0。形式上:

[;]表示矩阵连接,III(iii)返回索引。
Prediction Module
遵循NAQANet,将答案分为四种类型,并使用唯一的输出层来计算每种类型的条件答案概率PPPrrr(answer|type):
- Passage span:答案是passage的跨度,答案概率被定义为开始和结束位置概率的乘积
- Question span:答案是question的跨度,答案概率也定义为开始位置和结束位置概率的乘积。
- Count:答案是通过计数得到的,被当作十个数(0-9)以上的多类分类问题处理,覆盖了DROP数据集中的大部分Count类型答案。
- Arithmetic expression:答案是一个算术表达式的结果。表达式分三步获得:(1)从passage中提取所有数字;(2)为每个数字指定一个符号(加号、减号或0);(3)对有符号的数字求和。
同时,还使用额外的输出层来预测每种答案类型的概率PPPrrr(type)。在训练时,最终答案概率定义为所有可行答案类型上的联合概率,即

这里,不需要答案类型注释,概率PPPrrr(type)由模型学习。在测试时,模型首先贪婪地选择最可能的答案类型,然后据此预测最佳答案。
2.2 Numerically-aware Graph Construction
将question和passage中的所有数字都视为图中的节点,以便进行推理,对应于出现在question和passage中的数字的一组节点分别表示为VQV^QVQ和VPV^PVP。将所有节点表示为VVV = VQV^QVQ∪VPV^PVP,数字对应于一个节点vvv ∈ VVV表示为nnn(vvv)。
在这项工作中考虑了两组边:
- 更大关系边(E→E^→E→):对于两个节点viv_ivi,vjv_jvj∈ VVV,如果nnn(viv_ivi) > nnn(vjv_jvj),则从vvvi_ii指向vjv_jvj的有向边eeei_iij_jj→^→→= (viv_ivi,vjv_jvj)将被添加到图中,这在图1中用实线箭头表示。
- 更小或等于关系边(E←E^←E←):对于两个节点viv_ivi,vjv_jvj∈ VVV,如果nnn(viv_ivi) ≤ nnn(vjv_jvj),则有向边(eeei_iij_jj←^←←= (vjv_jvj,viv_ivi)将被添加到图中,这在图1中用虚线箭头表示。
2.3 Numerical Reasoning
当构建图GGG =(VVV;EEE)时,利用NumGNN来执行推理,这对应于等式(7)中的Reasoning(·) 函数。推理过程如下:
Initialization
对于每个节点vvvP^PPi_ii∈ VPV^PVP,其表示被初始化为MPM^PMP的对应列向量。形式上,初始表示为
vvvP^PPi_ii= MPM^PMP[IpI^pIp(vvvP^PPi_ii)]
其中IpI^pIp(vvvP^PPi_ii)表示对应于vvvP^PPi_ii的词索引。
类似地,节点vvvQ^QQi_ii∈ VQV^QVQ的初始表示被设置为MQM^QMQ的对应列向量。最后将所有初始节点表示表示为v0v^0v0 = { vvvP^PPi_ii }∪{vvvQ^QQi_ii }。
One-step Reasoning
给定图GGG和节点表示vvv,使用GNN分三步进行推理:
(1) Node Relatedness Measure:
由于通常只有少数数字与回答问题相关,因此为每个节点计算一个权重,以便在推理中忽略不相关的数字。在形式上,节点viv_ivi的权重计算如下

其中WvW_vWv是权重矩阵,bvb_vbv是偏置。
(2) Message Propagation:
由于数字在推理中的作用不仅由它自己决定,而且与上下文有关,因此将massage从每个节点传播到它的邻居,以帮助执行推理。由于question和passage中的数字可能在推理中扮演不同的角色,并且应该区分对应于不同数字关系的边,所以我们在消息传播中使用特定关系的转换矩阵。在形式上,定义以下传播函数来计算节点的前向传递更新:

其中vvv’^’’i_ii−^-−是节点viv_ivi的消息表示,rrrj_jji_ii是分配给边eeej_jji_ii的关系,WWWr^rrj^jji^ii是关系特定的变换矩阵,NiN_iNi= {jjj|(vjv_jvj,viv_ivi) ∈ EEE}是节点viv_ivi 的邻居。对于每条边,rrrj_jji_ii由以下两个属性决定:
- 数值关系:>或者≤
- 节点type:边的两个节点对应于两个数,即:(1)都来自question(qqq−-−qqq);(2)两者均来自passage(ppp−-−ppp);(3)分别来自question和passage(qqq−-−ppp);(4)分别来自passage和question(ppp−-−qqq)。即:

(3) Node Representation Update:
由于上一步得到的消息表示只包含来自邻居的信息,需要与节点表示融合,与节点本身携带的信息相结合,执行如下:

最后,表示整个一步推理过程作为单一功能:

Multi-step Reasoning
通过单步推理,只能推断相邻节点之间的关系。然而,对于某些任务,例如排序,可能需要多个节点之间的关系。因此,执行多步推理至关重要,可以按如下方式进行:

其中t ≥ 1。假设执行KKK步推理,vvvK^KK在Eq(7)中用作UUU.

3 Experiments
3.1 Dataset and Evaluation Metrics
数据集:DROP
评价指标:EM和F1
3.2 Experimental Settings
本文在开发集上调整模型,并使用网格搜索来确定最佳参数。所有表示的维度(例如,QQQ、PPP、MMMQ^QQ、MPM^PMP、UUU、MMM’^’’0_00、MMM0_00和vvv)都设置为128。如果没有指定,推理步骤KKK设置为3。
Adam优化器,β1= 0.8,β2= 0.999,∈∈∈= 10-7以最小化目标函数。学习率为5e-4,L2权重衰减λ为10-7,梯度限幅的最大模值为5。还对所有可训练变量应用衰减率为0.9999的指数移动平均。该模型以40个epoch16个batch_szie的规模进行训练。passage和question在训练期间分别被削减到400和50个token,在测试期间分别被削减到1000和100个token。
3.3 Overall Results

3.4 Effect of GNN Structure
不同GNN结构对DROP开发集的影响。结果如下表所示。“Comparison”, “Number” and “ALL”分别对应于比较问题子集、数字型答案子集和整个开发集。如果替换数字感知图为完全连通的图,则模型退回到传统的GNN,在表中表示为“GNN”。此外,““- question num”表示问题中的数字不包含在图形中,“-≤type edge”和“->type edge”分别表示不采用≤和>型的边。

3.5 Effect of GNN Layer Number
3.6 Case Study


NumNet模型将数值推理集成到机器阅读理解中,通过建立异构图并利用图神经网络进行推理。它能处理数值比较和条件问题,尤其在处理涉及排序和计算的任务时表现出色。实验在DROP数据集上进行,验证了模型的有效性。

1174

被折叠的 条评论
为什么被折叠?



