SG-Net: Syntax-Guided Machine Reading Comprehension

句法引导的机器阅读理解

1. Abstract

对于机器阅读理解来说,从冗长的细节中有效地对语言知识进行建模和克服噪声的能力是提高机器阅读理解性能的关键。传统的注意力模型关注的是所有的词,没有明确的约束,这导致了对一些不必要的词的不准确的关注。在这项工作中,本文建议使用句法来引导passage和问题的文本建模,将显式句法约束融入注意机制,以获得更好的语言动机单词表征。为了达到这一目的,本文提出了一种新颖的双重上下文结构,称为语法引导网络(SG-Net),它由一个BERT上下文向量和一个句法引导上下文向量组成,以提供更细粒度的表示。对常用基准测试的大量实验表明,与微调的BERT基准相比,所提出的方法取得了显著的改善。

2. Instruction

理解句子的意义是解决许多自然语言理解(NLU)问题的先决条件,例如基于机器阅读理解(MRC)的问答。显然,这需要很好地表达一个句子的意思。

一个人在阅读和理解句子的过程中,大多数单词都是表面上的,并且更注重关键的单词。虽然已经提出了各种注意力模型来模仿人类学习,但其中大多数,特别是全局注意力方法平等地处理一个句子中的每个单词,并注意到一个句子中的所有单词,而没有显式的修剪和事先的焦点,这将导致不准确地集中在一些可有可无的单词上

本文观察到,当回答较长的问题时,MRC模型的准确性降低(如5.1节所示)。通常情况下,如果文本特别冗长和细节千篇一律,深度学习模型就很难理解,因为它受到噪声的影响,对文本成分的关注很模糊,更不用说准确地回答问题了。相比之下,广泛的研究已经证实,人类通过一系列的注视和第一眼快速扫视后的扫视来高效阅读句子。

此外,对于涉及阅读理解的文章,输入序列通常由多个句子组成。目前几乎所有的注意方法和语言模型,例如Bert,都将输入序列视为一个整体,例如一篇文章,而没有考虑每个句子内部的语言结构。这将导致由于噪声过多和每个相关单词缺乏关联跨度而导致的加工偏差

所有这些因素促使本文寻求一种信息性的方法,只需在句法结构线索的指导下,显式地考虑每个输入句子中相关的句法重要性词子集,就可以有选择地挑选出重要的词,从而给出更准确的注意信号,并减少长句带来的噪声影响

在本文中,本文用句法引导的约束来扩展自我注意机制,以捕捉每个关注词的句法相关部分。具体地说,本文采用预先训练好的依存句法分析树结构来产生句子中每个词的相关节点,即兴趣依存关系(DOI),将每个词作为一个子节点,由依存句法分析树中的所有祖先节点和它自己组成。图1中显示了一个示例。

为了有效地适应这样的DOI信息,本文提出了一种称为句法引导网络(SG-Net)的双重语境结构,它结合了BERT语境向量和句法引导语境向量,为具有挑战性的阅读理解任务提供了更细粒度的表示。本文的评估是基于两个广泛使用的具有挑战性的MRC任务,基于跨度的SQuAD 2.0和多项选择风格的RACE。

这是首次将句法关系作为机器阅读理解的注意指导,并提出了一个用于深度聚合的通用句法指导结构。一系列的实验和分析表明,该方法是有效的。

3 Syntax-Guided Network

本文的目标是设计一个有效的神经网络模型,尽可能有效地利用语言信息来进行端到端的MRC。首先提出了一般的句法制导的注意结构,建立在最近先进的BERT的基础上,然后适合于机器阅读理解任务的任务特定层。

图2描述了模型的整个体系结构。

使用语法引导的自我注意层将BERT嵌入转换为条件注意表示。然后,将BERT和条件注意学习的输出进行整合。最后,将得到的语法增强的表示传递给特定于任务的层以进行最终预测。

3.1 BERT Encoder

在BERT的实现之后,每个序列的第一个token是特殊token[CLS],并且序列由[SEP]令牌分隔。然后,BERT的输出H被馈送到提出的句法制导的关注层,以获得句法增强的表示。

3.2 Syntax-Guided Network

句法制导表示是通过两个步骤获得的。

  • 首先,将编码的表示传递给语法制导的自我关注层;
  • 然后将相应的输出与原始的BERT编码器输出聚合,形成语法增强的表示。

该模型可以看作是对诸如BERT等注意语言模型的扩展,增加了一个句法制导层以包含句法依赖。它被设计成将句法树结构信息合并到多头注意机制中,以指示每个句子的标记关系,这将如下所示。

Syntax-Guided Self Attention Layer

在这项工作中,本文首先训练一个句法依存句法分析器来标注每个句子的依存结构,然后将其反馈到SG-Net作为标记感知注意的指导。

为了利用句子的句法依存关系树提供的中心词和依赖词之间的关系,本文只限制单词和它的所有祖先中心词之间的注意范围。换句话说,本文希望每个词只关注句子中具有句法重要性的词,即在子词看来的祖先中心词。如图3所示,在这句话中,credit这个词不是关注整个段落中的每个单词,而是只关注它的祖先中心词Reflect和Lost以及它自己,这意味着信用的DOI包含Reflect、Lost和它自己。

具体来说,给定输入token序列S={s1,...,sn}S=\{s_1,...,s_n\}S={s1​,...,sn​},首先使用句法分析器来生成依存关系树。然后,根据依存关系树推导出每个词sis_isi​的祖先节点集PiP_iPi​。最后学习一个DIO掩码M序列,它被组织成n*n矩阵:

显然M[i,j]=1M[i,j]=1M[i,j]=1表示token sis_isi​是sjs_jsj​的祖先节点。

如图3所示,credit(i=4)的祖先是reflect(j=2)、losses(j=5)及其自身(j=4),因此M[4,(2,4,5)]=1M[4,(2,4,5)]=1M[4,(2,4,5)]=1和M[4,(0,1,3)]=0M[4,(0,1,3)]=0M[4,(0,1,3)]=0。

然后,将来自Vanilla Bert的最后一层输出H投影到维度L×dk,L×dq,L×dvL\times d_k, L\times d_q, L\times d_vL×dk​,L×dq​,L×dv​的不同的键、值和查询表示中,分别表示每个头部i的Ki′K_i'Ki′​,Qi′Q_i'Qi′​,Vi′V_i'Vi′​。然后,执行点积来对具有兴趣的mask依赖性的key-value对进行 评分,以获得维度为L×LL\times LL×L的关注权重,表示为Ai′A_i'Ai′​:

然后,所有头部的Wi′W_i^′Wi′​ 被串联并通过前馈层,随后是Gelu激活。在通过另一前馈层之后,对输出和初始表示的和应用一层归一化,以获得最终表示,表示为:

Dual Context Aggregation

与BERT等语言模型中的多头注意相比,本文集成了两个上下文向量来进行答案预测:

  • 直接来自BERT编码器最后一层的普通BERT上下文向量,始终关注所有单词;
  • 来自提出的句法制导层的句法制导上下文向量;

为此,除了来自BERT编码器的传统上下文向量H={h1,...,hn}H=\{h_1,...,h_n\}H={h1​,...,hn​}之外,从上面的语法制导层学习上下文向量H′={h1′,...,hn′}H'=\{h_1',...,h_n'\}H′={h1′​,...,hn′​}。

形式上,最终模型输出H−={h−1,...,h−n}\overset{-}{H}=\{\overset{-}{h}_1 ,...,\overset{-}{h}_n\}H−={h−1​,...,h−n​}的计算公式为:

3.3 Task-specific Adaptation

本文重点研究了两种类型的阅读理解任务,跨度阅读理解任务和多项选择式阅读理解任务,它们分别可以描述为<P,Q,A>或<P,Q,C,A>,其中P是一篇文章(上下文),Q是对P的内容的查询,其中跨度或选择C是正确答案A。

本文的系统不仅应该预测段落P中的开始和结束位置,并提取SPAN作为答案A,而且当问题无法回答时,还返回空字符串。对于多项选择题,该模型在种族数据集上实现,要求从一组候选答案中根据给定的段落和问题选择正确的答案。

在这里,本文建立了这两个任务的模型,并根据特定的任务将语法制导网络的输出反馈到任务层。给定专门针对种族的段落P、问题Q和选项C,本文将BERT的输入X组织为以下两个序列。

该序列被馈送到上面提到的ERT编码器以获得上下文表示H,然后该H被传递到本文提出的语法制导的自我关注层和聚合层以获得最终的语法增强的表示H−\overset{-}{H}H−。

为保持简单性,下游任务特定层基本上遵循BERT的实现。本文在下面概述,以保持本文模型体系结构的完整性。

对于基于跨度的任务,本文将H−\overset{-}{H}H−馈入线性层,并通过Softmax获得开始和结束位置上的概率分布。

对于多项选择任务,本文将其输入到分类器中来预测多项选择模型的选择标签。

SQuAD 2.0

对于 SQuAD 2.0,本文的目标是答案文本的跨度,因此本文使用带有SoftMax运算的线性层,并将 作为输入,以获得开始和结束概率s和e:

本文SQuAD模型的训练目标被定义为开始和结束预测的交叉熵损失,

对于预测,给定输出开始和结束概率s和e,本文计算有答案分数Score和无答案分数Score:

本文得到有答案分数和无答案分数之差作为最终分数。设置阈值δ来确定问题是否可回答,该阈值是根据开发集在线性时间内用动态规划启发式计算的。如果最终分数高于阈值,该模型预测给出Has-Answer分数的答案跨度,否则预测空字符串。

RACE

选择H中的第一个令牌表示H0,并将其传递给前馈层以给出预测p。对于具有n个选择候选的每个实例,本文根据训练期间的交叉点损失来更新模型参数,并在测试时选择概率最高的一个作为预测。本文RACE模式的训练目标被定义为,

其中,pip_ipi​表示预测,yiy_iyi​表示目标,i表示数据索引。

4 Experiments

4.2 Main Results

5 Discussions

5.1 Effect of Answering Long Questions

本文观察到,当遇到较长的问题时,基线的性能会大幅下降,特别是对于那些超过20个单词的问题,而本文提出的SG-Net工作得很好,甚至显示出准确率和长度之间的正相关。这表明,与基线相比,通过语法增强的表示,本文的模型更能处理冗长的问题。

5.2 Visualization

在句法引导下,问题中的关键字名称、立法和1850被突出显示,文章中的密苏里和妥协也得到了高度关注,这正是正确的答案。可视化实验证明,得益于句法制导的关注层,本文的模型能够有效地选择关键部分,引导下游层收集更多的相关片段进行预测。

5.3 Dual Context Mechanism Evaluation

在SG-Net中,本文将句法制导的关注层和普通的自我关注层的表示整合在双重上下文层中。为了揭示每个潜在组件的贡献,本文在基线上与以下各项进行比较:

  1. 仅VAnilla注意,在BERT输出之后增加一个额外的香草BERT关注层。
  2. 仅句法制导注意,在BERT输出之后增加额外的句法制导层。
  3. 如第3.2节所述,SG-Net最终采用双重上下文注意。

表3显示了结果。

本文观察到,双重上下文注意会产生最佳的表现。增加额外的关注并不会带来任何进展,这表明引入更多的参数不会促进强大的基线。句法引导的注意也是微不足道的,因为它在计算注意时只考虑了与句法相关的部分,这是对传统注意机制的补充,具有更多的噪声但更多样化的信息,最终激励了双重上下文层的设计。实际上,除了双重聚合之外,还有其他操作可以合并双重上下文层的表征,如拼接和双向注意,我们的比较也涉及到这两种操作,本文的实验表明,使用双重语境注意可以产生最好的结果。

6. 启示

  1. 本文将句法分析融入到自注意力中,称为句法引导的注意力,创新点很好,最近正在实现这种方法。
  2. 对于特征融合来说,还是相加的效果好于拼接和注意力。
  3. 欢迎关注微信公众号:自然语言处理CS,一起来交流NLP。

句法引导的机器阅读理解相关推荐

  1. 2021秋招-机器阅读理解整理

    机器阅读理解整理 经典模型整理 笔记 后Bert时代机器阅读理解 后续 自己论文整理 已经分类整 大的实验室: UCL MRC_Group: AI2: 微软: THU: PKU: 数据集文章 ROPE ...

  2. 2018机器阅读理解竞赛冠军分享:问答系统新思路

    7月28日,由中国中文信息学会和中国计算机学会联合举办的第三届语言与智能高峰论坛于北京语言大学举办.Naturali 奇点机智团队作为2018机器阅读理解技术竞赛冠军团队,受邀参加本次活动的" ...

  3. ​京东AI研究院获QuAC机器阅读理解竞赛冠军,EL-QA模型能力业界领先

    来源:机器之心 本文约2000字,建议阅读8分钟 京东提出的 EL-QA 模型(登顶 QuAC Leaderboard,全部三项指标均获得第一名. [ 摘要 ]近日,在斯坦福大学.华盛顿大学.Alle ...

  4. 神经机器阅读理解最新综述:方法和趋势

    作者丨刘姗姗 学校丨国防科技大学 研究方向丨自然语言处理 近年来,基于深度学习方法的机器阅读理解受到了广泛的关注.近日,来自国防科技大学的团队在arXiv上发布了预印版综述文章 Neural Mach ...

  5. 论文浅尝 - WWW2020 | 生成多跳推理问题以改善机器阅读理解能力

    论文笔记整理:谭亦鸣,东南大学博士生. 来源:WWW 2020 链接: https://dl.acm.org/doi/pdf/10.1145/3366423.3380114 概述 这篇论文关注的任务是 ...

  6. NLP-阅读理解:“阅读理解”综述(Machine Reading Comprehension, MRC)【完形填空、多项选择、抽取式(答案片段抽取)、生成式(自由作答)】《机器阅读理解数据集》

    <原始论文:Neural Machine Reading Comprehension: Methods and Trends> 一.阅读理解概述 所谓的机器阅读理解(Machine Rea ...

  7. 机器阅读理解算法集锦

    机器阅读理解算法集锦   机器阅读理解(Machine Reading Comprehension, MRC) 是一项基于文本的问答任务(Text-QA),也是非常重要和经典的自然语言处理任务之一.机 ...

  8. 机器阅读理解(MRC)零基础入门级综述(一)

    目录 机器阅读理解(MRC)零基础入门级综述(一) 一.机器阅读理解(MRC)是什么? 1. 含义 2. 分类 3. 机器阅读理解(Reading Comprehension) vs. 问答(Ques ...

  9. 科大讯飞刷新纪录,机器阅读理解如何超越人类平均水平? | 技术头条

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」明日开启,扫码咨询 ↑↑↑ 记者 | 琥珀 出品 | AI科技大本营(公众号ID:rgznai100) 对于日常从事模型训练的研究人员来 ...

最新文章

  1. 如何使用vs来运行box2d中Testbed的案例
  2. c语言检测文件bom,C语言关联TC中BOMWindow与BOPWindow
  3. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysq
  4. Nginx打开目录浏览功能(autoindex)以及常见问题解决方案
  5. mysql的存储过程正负数的变化_《转》mysql存储过程语法及范例
  6. Windows 下有哪些逆天的软件?
  7. Bootstrap 模态框插件Modal 的选项
  8. haproxy安装_Haproxy负载mycat集群配置
  9. 具有数据库依赖性的.NET Core应用程序的集成测试
  10. NUMA与英特尔下一代Xeon处理器学习心得(5)
  11. [Python]用Python下载网络小说.23333
  12. Android获取超级管理员权限
  13. H3CNE中单臂路由实验
  14. 餐厅小票打印模板_智慧餐厅多商家入驻小程序开发,成功案例:万足外卖!
  15. abd获取手机应用的安装包
  16. 阿里云短信服务--SMS
  17. RSA的dp泄露 —— 【WUST-CTF2020】leak
  18. 虚拟地址转换成物理地址
  19. Supervisor 命令
  20. Notify 与 Indicate的区别

热门文章

  1. un4 unreal4 创建路径 曲线 管道 Spline组件 使用方法
  2. 弱威胁感知时代的企业安全--360安全实战
  3. 华南产业集团发力数字经济,城链科技发布会成功召开
  4. ppt编辑图片进阶功能
  5. nuc7 android tv,NUC7PJYH HDMI在特定显示屏上出现问题
  6. 从零开发短视频电商 隐藏业务ID以及缩短业务链接
  7. 将小写字母转换成大写字母C/C++(指针)
  8. 仓库管理系统的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. 戴尔要求DEC雇员扔掉Mac
  10. Linux 添加一块新硬盘