Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

冯梓娴本期编辑崔一鸣 本期责任编辑

ACL20 基于图注意力网络的多粒度机器阅读理解文档建模

论文名称:Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension

论文作者:郑博,文灏洋,梁耀波,段楠,车万翔,姜大昕,周明刘挺

原创作者:郑博

论文链接:

https://www.aclweb.org/anthology/2020.acl-main.599.pdf

代码链接:

https://github.com/DancingSoul/NQ_BERT-DM

任务介绍

Natural Questions(NQ)是Google于2019年上半年发布的问答(QA)数据集。相比传统问答数据集,NQ数据集带来了两个新的挑战:首先,在NQ数据集中查询文档都是完整的维基百科页面,文档长度相比传统问答数据集较长,并且问题都是实际在Google搜索引擎中真实产生的问题;其次,数据集要求模型得到两个粒度的答案,分别是涵盖推断答案所需的所有信息的长答案(Long Answer),以及使用一个或者多个实体回答问题的短答案(Short Answer)。对于长答案,问答系统需要在给定的长答案候选项中进行选择,短答案则是在长答案内部得到。图1给出了NQ数据集中的一个例子。

图1 NQ数据集中的例子

目前解决NQ任务的两类方法主要可以分为两大类,如图2所示,第一类是Pipeline方法,模型首先在长答案候选集合中选出长答案,然后再在选中的长答案内部抽取短答案;第二类是基于BERT的方法,模型直接在文档抽取短答案,然后直接在长答案候选集中选出包含短答案的长答案。

图2 目前解决NQ任务的两类方法

然而,以上两种方法都是将长短答案两个子任务独立考虑,而并没有想办法建模两个粒度答案之间的联系。由于长答案是文档中的段落,短答案是词片段,这里可以很自然将文档使用层次结构(文档级别->段落级别->句子级别->词级别)表示,并且用段落和词来建模两个粒度答案。由此,我们提出了基于图注意力网络和BERT的多粒度阅读理解框架,并且通过联合训练来建模两个粒度答案之间的联系。

数据处理

由于NQ中文档的长度很长,和其他基于BERT的阅读理解模型一样,我们首先将问题和文档都用Word Piece进行词切分,然后将文档切成多个片段进行处理。由于我们的做法基于BERT,所以忽略掉维基百科文章中的所有HTML标签,然后在每个长答案候选项之前添加特殊标识符,形式如“[Paragraph=N]”,“[Table=N]”以及“[List=N]”。通过判断文档片段中是否存在长答案和短答案,我们将训练数据的答案类别分为以下五类,分别是1)文档片段中包含所有短答案实体;2)文档片段中包含长答案,短答案为“yes”;3)文档片段中包含长答案,短答案为“no”;4)文档片段只包含长答案,没有短答案;5)文档不包含任何答案。

通过这种处理方式,我们得到的训练数据绝大部分都为第五种答案类型,为了平衡训练样本的类别,我们将这种不包含答案的样例随机筛选掉97%,最后得到大约660,000训练样例,其中有350,000条训练样例包含长答案,270,000条训练样例包含短答案。

模型框架

图3 整体系统架构,所有文档片段被独立的输入到模型中,最后汇总之后得到答案我们针对这种NQ数据集提出了一个新的框架,整体系统架构如图3所示,我们将问题以及文档的每个片段独立的输入到模型中,通过BERT编码器进行编码,得到问题和文档片段的初步表示,然后用我们提出的图编码器用得到的表示进一步建模,最终得到一系列结构化的表示,汇总到答案选择模块得到答案。

多粒度文档建模

将文档进行多粒度建模的思想主要来源于文档自身的层次结构特性,通常来讲,文档可以被分解成一系列段落,而段落可以进一步被分解成句子以及词,所以可以很自然的将文档先表示为树结构,分别有以上四种粒度的节点。由于长答案都是文档中的段落,短答案都是文档中的词片段,所以段落粒度节点的信息可以表示长答案,短答案的信息也可以从词粒度节点中获得。在以上得到的树结构基础上,我们进一步的加入了词粒度节点和段落粒度节点的边,词粒度节点和文档级别粒度的边,以及句子粒度节点到文档粒度节点的边,这些边在图中都是双向边。通过将树结构进一步建模成图结构,图中的每两个节点的距离都小于等于2,也就是说信息可以在两步之内进行传递。

图编码器

图4 图编码器内部结构

图5 Graph Integration层示例,左侧是文档建模生成的图,右侧为更新段落粒度节点的图例,信息由其他右边相连的节点输入

图4给出了我们图编码器的内部结构。每一层编码器都由三个自注意力(Selfattention)层,一个图信息整合(Graph Integration)层,以及一个前馈神经网络(Feed-forward)层组成。

图中的图初始化(Graph initialization)模块是一个在文档的树结构上自底向上的average-pooling的初始化,由于BERT编码器只能给出词粒度的表示信息,所以这一步主要是用来获得其他粒度的初始表示。

自注意力机制在原理上等价于图注意力网络的全连接版本,由于得到的图表示本质上是异构的,我们加入自注意力层的目的是使同粒度的节点之间进行充分的交互。

图信息整合层的目的是将经过上一步更新之后的节点信息传到与其相关但是粒度不同的节点上,使得节点可以整合不同粒度的信息,如图5所示。

根据transformer模型的内部结构,我们还在图编码器内部添加了前馈神经网络层,以获得更好的节点表示。

除此之外,我们加入了关系向量(Relational Embedding),它可以将边的信息融入到图网络模型中。受前人工作启发,我们的关系向量主要加入了文档的结构信息,举例说明,段落节点在接受信息时会考虑另外的节点是这个段落的第几个句子或者词。通过这种方式,我们将文档的结构信息在模型的表示中进一步的加强。

在得到这些不同粒度的表示后,我们通过对这些表示进行打分,再进行模型预测。我们进行预测时使用Pipeline策略:先预测长答案,再预测短答案,与之前基于BERT的方法中预测短答案再从长答案候选项中选择不同,我们在实验部分将后者视为基线模型。

实验结果

我们使用了三个模型设置,分别是:1)Model-I:基线模型,首先预测短答案,根据短答案的位置在长答案候选项中进行选择;2)Model-II:只使用average-pooling初始化图,并进行Pipeline预测;3)Model-III:在Model-II的基础上加入了两层图神经网络编码器。

除此之外我们使用三种不同的BERT模型进行实验,分别是:1)BERT-base:在SQuAD2.0数据集上微调过的BERT-base-uncased模型;2)BERT-large:在SQuAD2.0数据集上微调过的BERT-large-uncased模型;3)BERT-syn:Google在SQuAD2.0上提交的模型,经过了N-gram masking以及synthetic self-training的预训练。

表1我们在NQ上的最佳模型的结果和前人工作中系统的比较,以及单人标注结果和多人标注集成结果的性能。

表1给出了主要的实验结果。由于NQ排行榜有提交次数限制,并且每次提交都会在排行榜上显示,所以这里只提交了结果最好的模型。在提交时,我们在NQ排行榜上取得了当时最好的结果。与之前工作中的模型相比,我们的集成模型在两个评测指标上都有很大程度的提升,并且在开发集上超过了单人标注者的表现。

表2 不同的模型设置和使用不同BERT模型时在开发集上的性能比较

表2给出了使用不同BERT模型时,我们的三种模型设置在开发集上的性能比较。结果表明我们的方法在基线模型的基础上有着显著的提升。在BERT-base的设置下,我们使用Pipeline预测方法的Model-II相较于基线模型在长答案的指标下有3.8%的提升,而Model-III通过加入图神经网络,在两个指标进一步提升了1.2%和1.0%。在同样使用BERT-large的情况下,我们的Model-III和之前工作的BERT­_joint相比在开发集的两个指标上有6.0%和1.1%的提升,并且表2和表3中的实验结果都是由三个不同的随机种子初始化模型后取平均得到,实际上提升要比平均结果稍大。

表3 在开发集上的对比实验

表3给出了在BERT-base的设置下,我们模型在开发集上的对比实验结果,首先将我们图相关模块全部移除,结果会大幅下降。然后我们尝试去掉两个子任务其中之一再进行训练,发现结果也会有一定程度的下降,这表明联合训练两个子任务是有效的,并且两个子任务不是完全互相独立的。最后我们分别去掉图编码器中的几个模块,结果都会有不同程度的下降,这些对比实验说明了我们模型每个组件的重要性。

结论

本文提出了一个新的多粒度阅读理解框架,并且在NQ数据集上验证了其有效性。我们利用文档自身的层次结构特性,以四个粒度建模文档,并且同时考虑NQ中两个粒度答案的依赖关系。实验结果表明我们提出的方法是非常有效的,并且相比现有方法有了大幅度的提升。

参考文献

[1] Tom Kwiatkowski, Jennimaria Palomaki, Olivia Rhinehart, Michael Collins, Ankur Parikh, Chris Alberti, Danielle Epstein, Illia Polosukhin, Matthew Kelcey, Jacob Devlin, et al. 2019. Natural Questions: a benchmark for question answering research.

[2] Chris Alberti, Kenton Lee, and Michael Collins. 2019b. A BERT baseline for the Natural Questions. arXiv preprint arXiv:1901.08634.

[3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Proc. of NIPS.

[4] Danqi Chen, Adam Fisch, Jason Weston, and Antoine Bordes. 2017. Reading wikipedia to answer opendomain questions. In Proc. of ACL.

[5] Jianpeng Cheng and Mirella Lapata. 2016. Neural summarization by extracting sentences and words. In Proc. of ACL.

[6] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: pre-training of deep bidirectional transformers for language understanding. In Proc. of NAACL.

[7] Petar Velickovic, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Lio, and Yoshua Bengio. ` 2018. Graph attention networks. In Proc. of ICLR.

[8] Chris Alberti, Daniel Andor, Emily Pitler, Jacob Devlin, and Michael Collins. 2019a. Synthetic QA corpora generation with roundtrip consistency. In Proceedings of the 57th Conference of the Association for Computational Linguistics, ACL 2019, Florence, Italy, July 28- August 2, 2019, Volume 1: Long Papers.

哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

理论ACL2020图注意力网络机器阅读理解
1
相关数据
周明人物

周明博士,微软亚洲研究院副院长、国际计算语言学协会(ACL)候任主席、中国计算机学会理事、中文信息技术专委会主任、术语工作委员会主任、中国中文信息学会常务理事、哈尔滨工业大学、天津大学、南开大学、山东大学等多所学校博士导师。 周明博士1985年毕业于重庆大学,1991年获哈尔滨工业大学博士学位。1991-1993年清华大学博士后,随后留校任副教授。1996-1999访问日本高电社公司领导中日机器翻译研究。他是中国第一个中英翻译系统CEMT-I(哈工大1989年)、日本最有名的中日机器翻译产品J-北京(日本高电社1998年)的研制者。 1999年,周明博士加入微软亚洲研究院,不久开始负责自然语言研究组。他带领团队进行了微软输入法、英库词典(必应词典)、中英翻译、微软中国文化系列(微软对联、微软字谜、微软绝句)等重要产品和项目的研发,并对微软Office、必应搜索、Windows等产品中的自然语言技术做出了重要贡献。近年来,周明博士领导研究团队与微软产品组合作开发了微软小冰(中国)、Rinna(日本)、Zo(美国)等聊天机器人系统。 周明博士发表了120余篇重要会议和期刊论文(包括50篇以上的ACL文章),拥有国际发明专利40余项。他多年来通过微软与中国和亚太地区的高校合作计划,包括微软-高校联合实验室、微软实习生计划、微软-高校联合培养博士生计划、青年教师铸星培养计划,与高校和学术组织联合举办暑期学校和学术会议等多种形式,对推动自然语言处理在中国和亚太的卓越发展做出了杰出贡献。

刘挺人物

哈工大人工智能研究院副院长,国内NLP方向领军人物。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

前馈神经网络技术

前馈神经网络(FNN)是人工智能领域中最早发明的简单人工神经网络类型。在它内部,参数从输入层经过隐含层向输出层单向传播。与递归神经网络不同,在它内部不会构成有向环。FNN由一个输入层、一个(浅层网络)或多个(深层网络,因此叫作深度学习)隐藏层,和一个输出层构成。每个层(除输出层以外)与下一层连接。这种连接是 FNN 架构的关键,具有两个主要特征:加权平均值和激活函数。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

答案选择技术

Answer selection是QA中的一个重要任务。基本定义是:给出问题q和该问题的答案候选池 (s是池大小),目标是从答案池中找到可以准确回答问题最佳答案候选 。这项任务的主要挑战是正确的答案可能不会直接与问题共享词汇单位。相反,它们可能只是在语义上相关。此外,答案有时很嘈杂,并且包含大量不相关的信息。

推荐文章
暂无评论
暂无评论~