PURE

今天分享一篇普林斯顿大学的信息抽取工作。这篇论文颠覆了联合抽取的思路,论证Pipeline的方式比联合抽取和多任务学习效果都要好。对于一直在做联合抽取工作的我来说,确实很令人沮丧。但也正因为本文的方法很简单,我认为或许会有改进之处。

A Frustratingly Easy Approach for Entity and Relation Extraction

普林斯顿大学(Princeton University)

NAACL 2021

citation: 36

Abstract

近年来大部分的命名实体识别和关系抽取工作都是将二者联合完成。要么是把他们放进同一个结构预测网络,要么是共享相同的表示进行多任务学习。但在本文的工作中,我们提出的模型是pipeline的,使用相同的Encoder,我们达到了SOTA。经过分析,我们认为关键的点在于:1)对于实体和关系使用不同的表示;2)尽早将实体信息融入关系抽取模型;3)利用全局上下文。最后我们提出了一个方式来高效训练。

Introduction

联合模型能够捕捉实体和关系的交互,减少错误放大。在本文的工作中,我们重新审视了此问题。我们提出了简单高效的端到端模型,做了细致的分析,并简化算法。

Model

实体模型对输入的每一个span预测命名实体的类型。实体模型是基于前文模型的简单模型,它枚举所有可能的span(最大长度限制在L以内),首先使用BERT得到每个词的表示,然后得到span的隐层状态:(最后一项是学到的整个span的表示)
h e ( s i ) = [ x s t a r t ; x e n d ; ϕ ( s i ) ] h_e(s_i) = [x_{\rm{start}};x_{\rm{end}};\phi(s_i)] he(si)=[xstart;xend;ϕ(si)]
得到的he直接放入FFN分类。

关系模型是把实体模型得到的每一个实体对都作为候选,全部加入关系模型中。加入的形式是采用marker。我们定义如下的marker:
< S : e i > , < ∣ S : e i > , < O : e i > , < ∣ O : e i > <S:e_i>,<|S:e_i>,<O:e_i>,<|O:e_i> <S:ei>,<S:ei>,<O:ei>,<O:ei>
它们的作用是用于提示实体的位置信息。加入marker之后,我们使用第二个encoder来得到输出表示,然后拼接两个头表示作为关系整体的表示:(这里我不理解得到的双向表示怎么回事)
h r ( s i , s j ) = [ x s t a r t i ; x s t a r t j ] h_r(s_i,s_j)=[x_{\rm{start}_i};x_{\rm{start}_j}] hr(si,sj)=[xstarti;xstartj]
很难想象为什么只用头实体。除非学到了双向的信息。应该是做了一层双向的学习。

最后得到的结果用在分类上即可。

跨句的上下文在解决一些代词entity问题非常有效。我们评估了使用跨句上下文的重要性,如我们预料的一样,预训练模型能够做到捕捉长距离上下文信息,我们把句子变成了固定窗口大小W,具体来说,如果一个句子的长度是n,那么我们分别在左右两边添加了(W-n)/2d长度的上下文。

对于两个模型,我们使用独立的交叉熵来解决问题。

有效的batch计算策略。我们模型的一个痛点是,对每对可能的关系对,我们都需要预测它们之间的关系。为了缓解这个问题,我们采用了一个新的策略。因为在原来的句子表示时,我们加入marker之后get到的上下文信息是不一样的,因为marker改变了句子结构。为了能够复用单词的信息表示,我们采用如下策略:我们将marker的位置信息和span开头结尾的位置信息绑定。这样原句子的位置信息embedding就不会更改了。然后,我们限制attention层。我们强制文本token只注意文本token,而不会注意到marker token,所有这4个token对应同一个span对。这种更改使得我们能够复用token。在实践中,我们把所有的marker加到句尾。

Experiments

对于命名实体识别,只有正确识别出实体的位置和标签,才算完全正确;

对于关系抽取,有两个评价指标:

Rel:只要两个span的边界正确并且关系类型正确,就算正确;

Rel+:当且仅当实体完全正确,并且关系类型也完全正确,才正确。

实现细节:

使用bert-base-uncased以及albert-xxlarge-v1作为ACE04,ACE05基本的encoder;

使用scibert-scivocab-uncased作为SciERC的encoder。

实体模型的上下文窗口W大小为300,关系模型的窗口W为100. 考虑8个单词的span

实验略。

Reference

https://zhuanlan.zhihu.com/p/414810626

https://zhuanlan.zhihu.com/p/375425216

Thoughts

我认为抽取实体的方法是非常愚笨的。枚举所有可能的实体的复杂度是O(NL),N是句子长度,L是窗口长度。我觉得可以稍微看一下有没有对此的改进。但其实枚举能做到O(N)复杂度看起来还可以。

抽取关系的方法在优化之前是复杂度是O(M^2),M是第一步抽取出的实体数。还是稍微有些复杂的。因此需要优化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值