文档级关系抽取介绍

0、数据集介绍

文档级关系抽取的数据集有DocRED、SCIREX、CDR、GDR。

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

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

SCIREX数据集是发表在ACL2020上的《SCIREX: A Challenge Dataset for Document-Level Information Extraction》,针对DocRED中文档长度较短问题提出,总共包含438篇文章,平均每一篇文章有5735个字,文章较长。但是它的文档都是科学文章,实体类型有四种:Dataset, Method, Metric, and Task,任务是针对entity之间的N元关系抽取。

DocRED数据集是发表在ACL2019上的《DocRED: A Large-Scale Document-Level Relation Extraction Dataset》,这是一个大规模的、人工标注的、通用的文档级关系抽取数据集。由清华大学刘知远老师团队提出,是以 Wikipedia 作为语料库、以 Wikidata 作为知识图谱构建的。
在这里插入图片描述
DocRED包含对超过5000篇Wikipedia文章的标注,包括96种关系类型(不局限于某一领域)、132,375个实体和56,354个关系事实。其中,实体类型:person (18.5%), location(30.9%), organization (14.4%), time (15.8%) and number (5.1%),还有15.2%包括events, artistic works and laws。每个实体平均标注1.34个。每个关系平均需要1.6个句子来支持,40.7%的关系事实需要从多个句子获得(因此需要模型具备较强的获取和综合文章中信息的能力,尤其是抽取跨句关系的能力)。同时还标注了实体之间指代信息以及关系事实对应的证据语句。

平均每篇文章字数:1002k/5053=198.2,(太少了,可以直接使用bert编码,tokenize后超过512的可以忽略)

DocRED还有一个在线的Leaderboard https://competitions.codalab.org/competitions/20717#results

1、《Double Graph Based Reasoning for Document-level Relation Extraction》

1.1 概述
文档级关系抽取有三点挑战:(1)一个关系中的subject和object出现在不同的句子中,因此不能只基于一个句子来推断;(2)同一个实体在不同的句子中被提到多次,必须融合cross-sentence得到实体的表征;(3)只有在显示的或者隐式的识别其他实体关系后才能推断出的实体关系,即需要逻辑推理。

为了应对以上问题,作者提出了Graph Aggregation-and-Inference Network (GAIN),GAIN包括一个异质Mention-level Graph (MG),它包含mention节点和document节点,三种不同类型的边,intra-entity edge, inter-entity edge and document edge,用来抓取文档中实体信息。然后在MG上应用Graph Convolutional Network来获取每一个mention的document-aware表征;然后通过在MG上合并相同entity的mention来构建Entity-level Graph(EG),在此模型基础上提出一个新的路径推理机制,这种机制能够让模型推理出实体间的多跳关系。

1.2 模型

模型包含4部分:encoding module,mention-level graph aggregation,entity-level graph inference module,classification module
在这里插入图片描述
Encoding Module
将wordembedding, type embedding, coreference embedding 拼接,然后送进编码器(Bert、LSTM等):
在这里插入图片描述
Mention-level Graph Aggregation Module

为了建模文档级信息及mention和entity之间的交互关系,构建异质Mention-level Graph。MG有两种不同类型的节点,mention 节点和 document 节点,每一个mention节点指的是entity的一个特别的表示,MG只有一个document节点,目的是建模全局文档信息,这个节点可以作为一个支点,帮助不同的mention进行交互,从而减少文档中mention之间的距离。

MG有三条边:

  • Intra-Entity Edge:指向同一entity的mention全部连接,使用这种方式建模相同entity的不同的mention的内在联系。
  • Inter-Entity Edge: 同一个句子内的不同entity的mentions相连,使用这种方式建模实体之间的内在联系。
  • Document Edge:所有的mentions连接到document 节点,通过这种连接,文档节点可以attend到所有的mentions,建立document和mention之间的联系。另外,以文档节点为轴心,两个mention节点之间的距离最多为2,这样就可以建模长距离依赖。

下一步是在MG上应用Graph Convolution Network来融合相邻的特征:
在这里插入图片描述
其中,不同类型的节点使用不同的权重矩阵进行计算,最终表示为GCN各层结果(不同的层表达了不同的特征)的拼接:
在这里插入图片描述
Entity-level Graph Inference Module

这一部分介绍Entity-level Graph和路径推理机制。首先,将指向同一entity的mention合并到entity节点作为EG中entity 节点,通过平均的方式获取:
在这里插入图片描述
EG中两个entity节点之间的边由entity节点计算得到:
在这里插入图片描述
对于给定的两个实体,只考虑长度为2且经过实体o的路径(这里使用two-hop,也可以扩展到k),其中第i条路径表示为:
在这里插入图片描述
两个entity之间的路径有很多条,并非所有的路径都是有效的证据,因此使用attention机制使模型来进行更好的推理:
在这里插入图片描述
有了这个模块,一个entity可以通过融合它的mention信息来表示(来自于多个句子),潜在的推理线索由实体之间的不同路径来建模。

Classification Module

对于每一个实体对,concatenate以下表征:(1)实体头尾加一些计算,比如绝对值,乘积(2)MG中的document node,这样可以融合cross-sentence信息和document-aware表征(3)推理路径,最后进行分类:
在这里插入图片描述
1.3 实验
在这里插入图片描述
在这里插入图片描述
(Table4)没有MG的话,Inter类型下降的很多。(Table5)推理模块可以推断出潜在信息。 使用MG建模不同mention之间的信息,抓取文档级特征,使用EG加路径推断获取关系。(构建图,将mention,entity,sentence,document信息加入,逻辑推理)

2、《Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling》

2.1 概述
本文并没有使用图来建模,提出了自适应阈值和局部上下文池化方法来解决多标签多实体问题。

2.2 模型

Enhanced BERT Baseline

输入:在mention前后加星号标记,使用bert编码,每篇文档编码一次,所有实体对基于相同的contextual embedding,使用mention前的星号embedding作为mention embedding,entity embedding由所有mention通过以下公式获得(这种计算在实验中好于平均池化):
在这里插入图片描述
然后对每一个实体对的subject和object进行非线性激活,再使用双线性变换和sigmoid进行分类:
在这里插入图片描述
这个增强版的bert接近SOTA。

Adaptive Thresholding

关系分类结果概率在(0,1),需要一个阈值来确定关系标签,然而,模型可能对不同的实体对或者类别有不同的confidence,但是一个全局的阈值无法解决这个问题。这个问题激励我们替换掉全局阈值,在推断阶段使用一个可学习的,自适应的阈值,可以减少决策错误。

为了方便解释,将实体对的标签分为两类,Positive class和negtivate class,positive class是某一个关系存在于实体对中,negtivate class相反。

如果一个实体对分类正确,positive class的logits应该大于阈值,negtivate class的logits应该小于阈值,而且两者差值越大越好,在这里,引入阈值类TH class,它就像其他类一样自动学习,它学到依赖于实体的阈值。
在这里插入图片描述
损失函数如下:
在这里插入图片描述
Localized Context Pooling

在Enhanced BERT Baseline中获得entity embedding的方式是通过此entity的所有的mention,然后有些实体上下文对此实体对关系分类不相关。
在这里插入图片描述
如上图,中间句子中John Stanistreet与关系place of birth,place of death不相关,由此,只关注到相关的上下文对关系分类很重要。基于这一点,提出一个局部上下文池化,使用与实体对中实体相关的局部上下文表征来增强实体表征。因为本来就使用基于transformer结构的预训练模型,考虑直接使用attention heads 来做局部上下文池化,不需要重新学习。

我们首先拿 “*”符号的注意力作为mention注意力,对同一个实体的所有mention 的attention进行平均以此来获得实体级attention。通过对subject和object head attention相乘来获取上下文重要性,然后进行规范化,以此获取对两个实体都重要的上下文表征,然后将其融入到实体表征中:

在这里插入图片描述
H 是公式(1)中的上下文表征,修改公式(3)(4),经过实验,使用最后一层的transformer效果最好。
在这里插入图片描述
2.3 实验
在这里插入图片描述
在这里插入图片描述
(Table 6)自适应阈值分析:训练阶段,Per-class给每一个类别调整一个阈值在Dev上效果可以,在Test上效果低于自适应阈值,可见Per-class过拟合了。

上下文池化分析:将文档按实体数目进行分组,使用LOP和不使用都会随着实体数目增多而F1下降,模型w/LOP始终优于模型w/o LOP,除非文档包含很少的实体(1到5),而且随着文档中实体数目的增多差距拉大,然而一篇文档中含有1-5个实体的文档数很少,DocRED数据集平均实体数19个,由此证明LOP有效果。

3、《Entity Structure Within and Throughout: Modeling Mention Dependencies for Document-Level Relation Extraction》

3.1 概述
文档级关系抽取很多是基于图来建模的,这种方式首先对文档进行编码,然后通过构造一个精心设计的图来引入实体结构,其中实体表示通过传播进行相应的更新。这种方式的弊端:将上下文表征和推理分离开了,上下文表征不受益于图结构的引导。作者认为结构依赖性应该纳入编码层和整个系统。为了达到这个目的,作者定义了各种mention之间的交互依赖关系,还提出了SSAN(Structured Self-Attention Network),一种新的自注意力机制的扩展。另外本方法只关注文档级实体结构,但是可以应用于所有基于transformer的预训练模型,例如将SSAN应用到阅读理解等任务。

3.2 模型

Entity Structure
Entity Structure 描述了实体在整个文档中的分布和依赖关系,分为两种结构:

  • Co-occurrence structure(共现结构):两个mentions是否存在于同一个句子中。
  • Coreference structure(共指结构):两个mentions是否指向同一个实体。
    在这里插入图片描述
    除了这些以外,还考虑了mentions与句子内非实体词之间的依赖关系,表示为intraNE,对于句子间非实体词,假设他们之间没有依赖关系,表示为NA,所有依赖关系如下: {intra+coref, inter+coref, intra+relate, inter+relate, intraNE, NA}如下图示例(E3是包含两个token的实体,按每一个token来分配依赖关系)

SSAN
在这里插入图片描述
SSAN继承于Transformer encoder,在每一层,首先获取query / key / value vector,如下公式(1):
在这里插入图片描述
基于输入和实体结构S,建立非结构化attention score和结构化注意力bias,然后将他们聚合在一起来指导获得最终的self-attention flow。非机构化attention score由标准的self-attention query-key获得:
在这里插入图片描述
同时,使用额外的模块来建模query-key的结构依赖:
在这里插入图片描述
然后应用softmax,将value聚合起来:
在这里插入图片描述
Transformation Module

为了融合离散结构s到端到端的可训练的深度模型中,实例化每个s为有特定参数的神经层。对于每一个s,由相应的层参数决定的结构化模型。对于这种特定的神经层,有两种设计: Biaffine Transformation and Decomposed Linear Transformation
在这里插入图片描述
所以,整个attention的表示:
在这里插入图片描述
SSAN for Relation Extraction
编码阶段结束以后,通过平均池化对每一个目标实体构建固定维度的表征,对每一个实体对,根据预先指定的关系进行分类
在这里插入图片描述
3.3 实验
在这里插入图片描述
即使SSAN与预训练模型有很好的兼容性,但是新引入的transformation层跟预训练模型不同,在一定程度上影响了SSAN的发挥,为了解决这个问题,利用DocRED的远程监督数据预训练了SSAN,结果表示为表中+Adaptation。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值