论文阅读:Connecting the Dots Document-level Neural Relation Extraction with Edge-oriented Graphs

论文阅读:Connecting the Dots: Document-level Neural Relation Extraction with Edge-oriented Graphs

0. Summary

文档级关系提取是一个复杂的人工过程,需要逻辑推理来提取文本中命名实体之间的关系。现有的方法使用基于图的神经模型,将单词作为节点,边作为它们之间的关系,对句子之间的关系进行编码。这些模型是基于节点的,即它们仅基于两个目标节点表示形成成对表示。但是实体关系可以通过作为节点之间路径形成的唯一边表示更好地表达。因此,我们提出了一个面向边缘的图形神经网络模型文档级关系提取。该模型使用不同类型的节点和边创建文档级图。图边上的推理机制可以在内部使用多实例学习来学习句内和句间关系。

1. Research Objective

在文档级别进行关系抽取,前提是实体已知。

2. Background and Problems

Problems:

  • 句子级别的关系抽取已经有很多的研究和进展了,但是现实生活中往往的关系往往是要通过多个句子才能推理出来的。
  • 并且一个实体在不同句子可能有多个不同的指代(mention),这些指代对于文档级的关系抽取也很重要。
  • 且有些关系不能直接抽取出来,需要一定的知识推理才能实现。
  • 在生物医学领域共同指代的问题十分普遍。作者说在通用领域并不普遍,应该是在写论文时DocRE这个数据集还没有出现。

Background:
对于实体的多指代,通常用MIL(Multi-Instance learning),图像和远程监督进程用到的方法。

对于文档级别的关系抽取,主要分为两大类。一类是序列模型,比如用CNN,LSTM等方法。另一类是图神经网络的方法,如DGCN等。目前两种方法的效果其实差不太大,但是图神经网络的可解释性更强,更直观一些。

目前许多方法都更着重于实体也即图中的点的表示,但是对于关系来说,更注重边(关系)的表示可能会更好。所以本文采用依赖于边表示的文档图结构,利用MIL的方法建立图神经网络,通过对实体之间的交互进行推理来抽取关系。通过一些启发式的方法来文档图中的点和边的构建。

3. Method

总体结构图如下所示:

在这里插入图片描述

分为四个部分,首先是encoding编码层,然后是建立图网络,第三部分是推理层,最后是进行关系分类(所以本质还是一个分类任务,是否可以改变呢,是不是可以提出新的任务驱动,新的损失函数。而不是进行分类呢)。

Encoding layer

首先使用word embedding将文字变成向量,然后使用BiLSTM作为编码器,将每个token都表示为上下文相关的语义向量。(是不是和word2vec的作用有点重叠呢,后续这里都是使用bert了)

Graph Construction

Node construction

分为3种类型,M(Mention node)指代节点,E(Entity node)实体节点,S(Sentence)句子节点。

M节点:示形式是提及所包含的单词(w)的平均值(感觉不大懂这个包含单词的意思)。

E节点:与该实体相关联的提及(m)表示的平均值。

S节点:该句子包含的所有节点的平均值。

计算公式为如下所示,其中t为type embedding。

在这里插入图片描述

edge construction

利用上述定义的三种节点,然后进行组合,包括:MM, MS, ME, SS, ES这5种组合。但是对于EE(两个实体的节点)并不进行连接,而是用其他组合的边来推测实体之间的关系。

MM:

在一个句子中同时出现提及可能是互动的微弱迹象。因此,只有当相应的提及位于同一个句子中时,我们才会创建M到M的边。公式如下:

在这里插入图片描述

是由两个MM节点以及c:位于这两个节点间的上下文注意力分数、两个MM节点间的距离拼接而成。

MS:

连接指代节点和她所在的句子而成:
x M S = [ n m ; n s ] x_{MS}=[n_{m};n_{s}] xMS=[nm;ns]
ME:

如果是该实体的指代则连接起来 x M E = [ n m ; n e ] x_{ME}=[n_{m};n_{e}] xME=[nm;ne]

SS:

连接句子进而来编码非局部信息。文章中连接了所有的句子,分为两种,一种是直接连接和非直接连接,直接连接的句子距离为1:
x S S = [ n s 1 ; n s 2 ; d s 1 , s 2 ] x_{SS}=[n_{s1};n_{s2};d_{s1,s2}] xSS=[ns1;ns2;ds1,s2]

ES:

如果该实体的一个指代出现在一个句子中,则连接:
x E S = [ n e ; n s ] x_{ES}=[n_{e};n_{s}] xES=[ne;ns]
Inference layer

主要是推理EE以及更新上一节定义的边。我们只能通过表示节点之间的路径来生成实体到实体的边表示。这意味着可以通过最小长度等于3的边路径关联实体【也就是句子内部的2条路径和跨句子之间的3条路径(Length 2 for an intra-sentence pair (E-S-E) or length 3 for an inter-sentence pair (E-S-S-E))】

采用两步推理法来推理实体EE之间的连接。第一步,用中间节点k来连接两个节点i,j。使用修改后的双线性变换组合了两个连续边缘eik和ekj的表示。此步骤将生成2倍的边表示。我们将i和j之间的所有现有路径合并到k。 i,j和k节点可以是E,M或S这三种节点类型中的任何一种。与目标节点没有边的中间节点将被忽略。

在这里插入图片描述

第二步为将原始边和公式3所产生的长边进行线性插值,得到新的表示

在这里插入图片描述

经过N次迭代,重复上述两个步骤之后,就可以得到EE边长度为 2 N 2^{N} 2N

Classification layer

用一个softmax函数对EE节点的边进行分类:

在这里插入图片描述

5. Experiment

CDR上结果,达到了63.6%,本来也就只有一种关系,特别是句子间的关系抽取,也才50%,比瞎猜好一点吧。

在这里插入图片描述

GDA的结果:句子内部的关系抽取还可以,句子之间的比瞎猜还差。总体来说效果可以可能是因为数据量比较大吧。

在这里插入图片描述

其余的消融实验包括:

  • 不同的预训练模型
  • 不同的迭代次数N
  • 去除MM,ME,MS等节点效果的下降
  • 去掉边增强的一些trick,比如节点类型,节点之间的距离而导致的效果下降。
  • case study中指出了三种常见的错误,第一种是一个句子中出现多个实体,并且用and连接不容易抽取关系。第二种就是同一个句子的共同指代,最后一种是同义词也即不完整的实体链接也导致了一些额外的错误。
  • case study中指出了三种常见的错误,第一种是一个句子中出现多个实体,并且用and连接不容易抽取关系。第二种就是同一个句子的共同指代,最后一种是同义词也即不完整的实体链接也导致了一些额外的错误。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值