Press "Enter" to skip to content

论文小综 | 文档级关系抽取方法(上)

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

本文作者:

 

陈想,浙江大学在读博士,研究方向为自然语言处理

 

张宁豫,浙江大学助理研究员,研究方向为自然语言处理、知识表示与推理

 

1. 前言

 

关系抽取(Relation Extraction, RE)是从纯文本中提取未知关系事实,是自然语言处理领域非常重要的一项任务。过去的关系抽取方法主要将注意力集中于抽取单个实体对在某个句子内反映的关系,然而单句关系抽取在实践中受到不可避免的限制:在真实场景如医疗、金融文档中,有许多关系事实是蕴含在文档中不同句子的实体对中的,且文档中的多个实体之间,往往存在复杂的相互关系。如下图所示:

 

 

图中包括了文章中的三个关系事实(从文档标注的诸多关系事实中采样得到),其中涉及这些关系事实的命名实体用彩色着色,其它命名实体用下划线标出。与句子级相比,文档级关系抽取中的文本要长得多,并且包含更多的实体, 这使得文档级关系抽取更加困难。例如,关系事实(Baltimore,country,U.S.)和(Eldersburg,country,U.S.)中的相关实体并没有出现在同一个句子中并且需要长距离依赖,除此之外, 识别这两个关系实例还需要逻辑推理, 由Eldersburg坐落于Maryland,而Maryland属于U.S.,可以推理出Eldersburg属于U.S.。该过程需要对文档中的多个句子进行阅读和推理,这显然超出了句子级关系抽取方法的能力范围。根据从维基百科采样的人工标注数据的统计表明,至少40%的实体关系事实只能从多个句子联合获取。因此,有必要将关系抽取从句子级别推进到文档级别。

 

文档级关系抽取主要面临以下三个挑战:

 

1. 相同关系会出现在多个句子。在文档级关系抽取中,单一关系可能出现在多个输入的句子中,因此模型需要依赖多个句子进行关系推断。

 

2. 相同实体会具有多个指称。在复杂的文档中,同一个实体具有各种各样的指称,因此模型需要聚合不同的指称学习实体表示。

 

3. 不同的实体之间的关系需要逻辑推理。文档包含多个实体关系三元组,不同的实体关系三元组之间存在逻辑关联,因此模型需要具备一定的逻辑推理能力。

 

2. 文档级关系抽取数据集

 

2.1 DocRED

 

2019年的ACL上清华大学刘知远团队提出了一个关系抽取数据集DocRED[1],为文档级关系抽取的研究提供了一个非常好的标注数据集。DocRED包含对超过5000篇Wikipedia文章的标注,包括96种关系类型、143,375个实体和56,354个关系事实,这在规模上超越了以往的同类精标注数据集。与传统的基于单句的关系抽取数据集相比,DocRED中超过40%的关系事实只能从多个句子中联合抽取,因此需要模型具备较强的获取和综合文章中信息的能力,尤其是抽取跨句关系的能力。DocRED还有一个在线的Leaderboard https://competitions.codalab.org/competitions/20717#results

 

2.2 CDR

 

CDR是生物医学领域的人类标注的化学疾病关系抽取数据集,由500份文档组成,该数据集的任务是预测化学和疾病概念之间的二元相互作用关系。

 

2.3 GDA

 

GDA是生物医学领域的一个大规模数据集,它包含29192篇文档以供训练,其任务是预测基因和疾病概念之间的二元相互作用。

 

3. 文档级关系抽取方法

 

文档级关系抽取总体可以分为两类方法:基于序列的方法和基于文档图的方法。基于序列的方法主要直接使用神经网络学习文档中实体的表征,并对所有候选实体对进行分类,代表论文有[1-13];基于文档图的方法则通过实体及其指称构建文档图,并通过图传播的方式显式学习实体与实体之间的关联,代表的论文有[14-22]。基于序列的方法模型相对简单,便于实际落地应用。基于文档图的方法对需要复杂逻辑推理的样本具有一定的优势。下面,我们介绍5篇文档级关系抽取的代表性论文。

 

其中基于文档图的方法我们在本次推文中介绍,基于序列的方法我们将在下一次推文介绍。

 

3.1 基于文档图的方法

 

基于图的模型主要利用词或者实体等构建图节点,通过学习文档的潜在图结构来构造文档图,并使用图神经网络进行推理。这里我们主要介绍以下3篇代表性的论文。

 

Connecting the Dots: Document-level Neural Relation Extraction with Edge-oriented Graphs

 

发表会议:EMNLP 2019

 

论文链接:

 

https://www.aclweb.org/anthology/D19-1498/

 

Motivation

 

这篇paper[14]提出的模型的动机基于以下几个发现:

 

1. 之前很多利用图网络的方法,只关注node而没有关心node之间edge的表达, 然而作者发现文档级别的图具有丰富的层次化的edge和node,可以在不同种类node之间,建立不同类型的edge来决定信息流入node的多少,来更好的拟合文档之间异构的交互关系。

 

2. 每一个target entity的mentions对于entity之间的relation是非常重要的。

 

Model

 

 

EoG模型认为不同的node根据不同的性质生成不同种类的edge,但是采用相同的启发式规则归纳到相同的表达空间当中,从而不断更新node表达。其主要分为四部分:Sentence Encoding Layer、Graph Construction、Inference Layer、Classification Layer。

 

1. Sentence Encoding Layer: doucment中的每一个sentence的word都被编码为一个vector,实际上,这样得到的是4维的张量[batch_size,nums_seqs,seq_length,embedding_dim],然后将其把每个句子都放入BiLSTM当中生成新的隐表示状态,得到contxtual representation。

 

2. Graph Construction: 分为node construction与edge construction。

 

node construction:在EoG模型中,有以下三种node:

 

mention node:是所有entity的mentions的集合。每一个mention node的representation是此mention的所有word embedding的平均值

 

entity node:是所有entity的集合,每一个entity node的representation是该entity所有的mentions的平均值

 

sentence node: 是所有sentence的集合,每一个sentence node是该sentence中所有word embedding的平均值

 

edge construction:在EoG模型中,有以下五种edge:

 

mention-mention(MM):作者是连接两个在同一个sentence中的两个mention,并且其表示是concat这两个mention本身的representation+context+两个mention的距离

 

mention-entity(ME):连接所有的mention与其对应的entity

 

mention-sentence(MS):将mention与此mention所在的sentence node进行连接

 

entity-sentence(ES):如果一个sentence中至少存在一个entity的mention,那幺我们将setence node与entity node进行连接

 

sentence-sentence(SS):将所有的sentence node进行连接,以获得non-local information

 

基于上述建立的多种类型的edge和node关系,作者将异构的edge统一到相同的表达中,把不同edge的类型根据不同的矩阵转换映射到相同的空间当中来进行后续的推导。

 

 

3. Inference Layer:

 

本文中由于没有直接的EE edge,所以需要得到entity之间的唯一路径的表示来产生EE edge的Representation,这里使用了two-step inference mechanism来实现这一点。

 

The first step:利用中间节点
在两个节点

之间产生一条路径,如下:

 

The second step:如果

节点之间的原本就存在edge,将原始的edge与所有新产生的edge的信息进行聚合,其信息融合方式如下(
是一个对于远近关系控制的超参数,越大表示越对直接连接注意)

 

重复上述两步N次,我们就可以得到比较充分混合的EE edge。实际上,这一步就是为了解决logical  reasoning。

 

4. Classification Layer:

 

这里使用softmax进行分类,因为实验所使用的两个数据集其实都是每一个entity pair都只有一个Relation,具体公式如下:

 

Experiment

 

数据集:CDR、GDA

 

实验结果:

 

 

 

作者在ablation study部分探索了不同节点之间信息交互方式对信息抽取的影响,其对EoG(full)、EoG(NoInf)、EoG(Sent) 三个变体模型在不同长度的entity pair进行实验:

 

 

从这张图我们可以看出:在intra-sentence当中,EoG(full)提供的推理未能达到很好的效果。然而长句子建模的效果,尤其是当entity pair之间相差4句以上时的效果要远好于EoG(Sent),这证明了EoG(Sent)在建模的时候可能忽略了一些重要的节点之间交互信息,那幺能否让模型自动选择哪些节点参与交互,以及参与交互的权重是多少呢?(在LSR就是这幺做的)。除此之外,作者还对不同的component进行了消融实验,文章利用控制变量法,去除不同的边来观察不同边的产生的影响如下:

 

 

从图中结果可以看到,去掉SS对模型的结果影响很大,这这说明对于document-level RE,提取inter-sentence之间的交互信息是非常重要的,另外,尽管在本模型中去掉MM对结果影响最小,共指信息建立的MM之间的关系并没有给模型带来一个significant improvement,但我认为共指信息MM的确对于entity pair的relation identification共指信息的确有非常重要的作用,只是EoG里面构造MM的交互方式不够有效,之后的GAIN模型完善了MM的构建方式并获得了巨大提升。

 

Reasoning with Latent Structure Refinement for Document-Level Relation Extraction

 

发表会议:ACL 2020

 

论文链接:

 

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

 

Motivation

 

LSR[15]模型是EoG模型的改良,针对的问题就是:在EoG模型的消融实验中,发现EoG(full)在句子间距离长度大于4时的效果要比原始的EoG模型要好,那幺基于这样一个发现自然会想到在full的情况下,是否可以让模型自动选择哪些边重要,那些不重要呢?

 

对于document当中复杂的交互方式,对文档中的node全连接会引进大量冗余信息,若是对全连接的edge按照硬规则进行剪枝又可能丢失重要信息,本文不采用硬规则编码node与node之间的连接,而是通过一个邻居节点的隐状态来自动学习知识,在一个全连接的状态下自动进行学习来捕获更多的非邻居的信息。

 

Model

 

LSR模型分为三部分:Node Constructor、Dynamic Reasoner、Classifer。

 

1. Node Constructor :这一部分如下如所示分为两小部分:context encoding与node extraction,主要就是对document中的所有word进行编码,并得到graph所有类型的node的representation。

 

 

context encoding:对于给定的document,LSR是将doc中的sentence逐条输入到encoder中(BILSTM/BERT etc),然后将每个sentence输出的embedding拼接得到整个doc的contextual representation。

 

node extraction:在LSR中,有三种node:mention node、entity node以及meta dependancy path node。mention node表示的是一个sentence中entity的所有的mention,其表示是该mention中的所有word的representation的平均;entity node指的是entity node,其表示是所有mention node的representation的平均;MDP表示一个句子中所有mention的最短依赖路径集。

 

LSR与EoG模型不同的地方之一在于:mention node与entity node一样的,但是LSR没有sentence node,并且使用了MDP node来代替,作者认为MDP node能够过滤掉无关信息。

 

2. Dynamic Reasoner: 主要分为两部分:structure induction与multi-hop reasioning。LSR可以重复多次dynamic reasoner模块,从而得到更加丰富的node representation。

 

 

structure induction:这一部分主要是用来学习上述构建的文档图的结构,根据已知的三种节点信息来寻找节点之间的交互强度,得到文档图的邻接矩阵,从而以便使用GCN来进行aggregate。公式如下

 

其中表示的是文档图的邻接矩阵,这里使用了structure attention network以及矩阵树原理的思想。

 

multi-hop reasioning:在得到邻接矩阵之后,LSR便根据之前生成的邻接矩阵信息,采用DenseGCN的方式对graph进行aggregate以构造深层次的non-local信息。

 

3. Classifier: 根据最后生成的表达做一个Bilinear算子直接对entity pair进行关系分类,使用sigmoid函数。

 

Experiment

 

数据集:DocRED、CDR、GDA

 

实验结果:

 

 

 

 

通过上面结果可以看出LSR 在DocRED数据集上效果提升显着,而从其在CDR与GDA数据集上的结果来看,LSR在没有MDP节点的情况下取得了SOTA,说明MDP的作用不大。

 

总的来说,LSR模型利用矩阵树原理对异质网络利用attention的交互方式来构建相同的表达形式,并通过structure induce来迭代更新矩阵, 这种思想跟前两年的AGGCN有点相像,其关键在于如何构造一个概率矩阵控制信息转移的情况。

 

Double Graph Based Reasoning for Document-level Relation Extraction

 

发表会议:EMNLP 2020

 

论文链接:

 

https://www.aclweb.org/anthology/2020.emnlp-main.127/

 

Motivation

 

这篇paper[16]也是继承EoG模型,主要应对文档级别的关系抽取提出的三个主要挑战:1. 一个relation的subject与object可能位于不同的sentence,需要考虑多个sentence才能判断一对实体的relation;2. 同一个entity可能会出现在不同的sentence当中,因此需要利用更多的上下文信息,从而更好的表示entity;3. 很多relation需要logical reasoning才能得到。为此提出了GAIN模型。

 

Model

 

文章提出了一种具有双图特征的图聚合推理网络(GAIN)。GAIN首先构建了一个异构的提及图(hMG)来建模文档中不同提及(mention)之间的复杂交互。同时还构造了实体级图(EG),并在此基础上提出了一种新的路径推理机制来推断实体之间的关系。在公共数据集DocRED上进行实验,实验结果表明GAIN显着优于之前的技术,比之前的SOTA模型LSR-BERT在F1上高出2.22。

 

GAIN模型分为四部分: encoding module、ention-level graph aggregation module、entity-level graph aggregation module、classification module。

 

1. Encoding Module: 这一部分主要是将document中的word经过编码,得到contextual representation。给定有n个token的document,然后将word embedding与实体类别embedding以及共指embedding进行拼接,得到final word embedding,然后使用编码器(BISLTM/BERT etc)编码: 得到这一层的输出:

 

2. Mention-level Graph Aggregation Module: 这个graph的构建主要是对mention之间的关系进行建模。为了建模文档级别的信息和不同句子中指称之间的相互作用,GAIN构建了异构的指称图(hMG),hMG中包含两类节点:

 

Mention node:不同句子中同一个实体的mention应该有不同的表示

 

Document node:是一个虚拟节点,主要是为了建模整个文档的信息hMG中包含三类边:

 

Intra-Entity Edge:连接属于同一个实体的不同mention节点,用来建模同一个实体的不同指称之间的关系

 

Inter-Entity Edge:连接在同一个句子中出现的不同实体的mention节点,用来建模不同实体之间的关系

 

Document Edge:连接文档节点与所有mention节点。任意两个mention节点通过document节点相连,解决了长距离依赖的问题

 

构建好graph之后,GAIN模型使用图卷积网络(GCN)对节点特征进行提取,公式如下所示:

 

其中,不同类型节点使用不同的权重矩阵进行计算,最终的节点表示为GCN各层结果的拼接:

 

3. Entity-level Graph Inference Module: 这一步就是进行inference,得到entity-entity的表示,用于最终的分类,所以path reasoning mechanism很重要。在entity-level graph中,我们将同一个entity的所有mention的表示的平均作为此entity的表示,entity node之间的边表示由entity节点计算得到:

 

对于给定的两个实体节点

,只考虑长度为2且 经过实体
的路径,其中第

 

条路径的表示为:

 

上述表示可以很容易扩展到长度为k的路径。entity pair之间的path会有多个并非所有路径都是有效的证据,因此作者加入了注意力机制,显式地对路径进行编码是对推理证据进行建模,从而使 模型更好地进行关系推理。

 

4. Classification Module: 对每个enity pair

 

,作者使用了丰富的特征对其表示:

 

其中,
就是document node,由于同一个实体对可能存在多种关系,因此文档级关系抽取是个多标签分类任务,对每一个关系

 

, 最终的损失函数为二分类交叉熵损失,其后验概率分布和损失 函数分别为:

 

Experiment

 

数据集:DocRED

 

实验结果:

 

 

 

实验结果显示,在不同的词向量初始化设置下,作者提出的GAIN均达到了SOTA,并且相较于 GloVe GAIN在使用BERT预训练模型的条件下性能提升更大。为了验证GAIN各个模块的有效性,进行了消融实验。 作者首先去除了hMG,即只使用初始的mention节点表示,发现结果大幅下降。作者认为这说明hMG很好的建模了不同mention之间的关系以及文档级别的特征。

 

然后作者去除了推理模块,即不使用路径表示而只使用头尾实体的节点表示进行分类,结果也大 幅下降。作者认为这说明显式地对推理路径进行建模可以提高文档级关系抽取的性能。

 

最后作者去除了hMG中的文档节点表示,结果大幅下降。作者认为这说明文档节点很好的汇聚 了文档级的信息,并且减少了长距离依赖的负面作用。

 

基于序列的方法我们将在下一次推文介绍,敬请关注我们的公众号,谢谢!

 

参考文献

 

[1] Yao etal., DocRED: A large-scale document-level relation extraction dataset, ACL2019

 

[2] Zhou etal., Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling, AAAI2021

 

[3] Xu etal., Entity Structure Within and Throughout: Modeling Mention Dependencies forDocument-Level Relation Extraction, AAAI2021

 

[4] Qin etal., ERICA: Improving Entity and Relation Understanding for Pre-trained Language Models via Contrastive Learning

 

[5] Huang etal., Entity and Evidence Guided Relation Extraction for DocRED

 

[6] Xiao etal., Denoising Relation Extraction from Document-level Distant Supervision, EMNLP2020

 

[7] Ye etal., Coreferential Reasoning Learning for Language Representation, EMNLP2020

 

[8] Wang., Fine-tune BERT for DOCRED with Two-step Process

 

[9] Tang etal., Hin: Hierarchical Inference Network for Document-level Relation Extraction, PAKDD2020

 

[10] Jia etal., Document-level N-ary Relation Extraction with Multiscale Representation Learning, NAACL2019

 

[11] Eberts etal., An End-to-end Model for Entity-level Relation Extraction using Multi-instance Learning

 

[12] Eyal etal., Bootstrapping Relation Extractors using Syntactic Search by Examples

 

[13] Li etal., Multi-view Inference for Relation Extraction with Uncertain Knowledge, AAAI2021

 

[14] Christopoulou etal., Connecting the Dots: Document-level Neural Relation Extraction with Edge-oriented Graphs, EMNLP2019

 

[15] Nan etal., Reasoning with Latent Structure Refinement for Document-Level Relation Extraction, ACL2020

 

[16] Zeng etal., Double Graph Based Reasoning for Document-level Relation Extraction, EMNLP2020

 

[17] Xu etal., Document-level Relation Extraction with Reconstruction, AAAI2021

 

[18] Zhou etal., Global Context-enhanced  Graph  Convolutional  Networks for Document-level Relation Extraction, COLING2020

 

[19] Zhang etal., Document-level Relation Extraction with Dual-tier Heterogeneous Graph, COLING2020

 

[20] Wang etal., Global-to-local  Neural  Networks for Document-level  Relation  Extraction, EMNLP2020

 

[21] Li etal., Graph Enhanced Dual Attention Network for Document-level Relation Extraction, COLING2020

 

[22] Peng etal., Cross-sentence N-ary Relation Extraction with Graph LSTMs, TACL2017

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注