前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >绝了!关系抽取新SOTA

绝了!关系抽取新SOTA

作者头像
NewBeeNLP
发布于 2022-06-06 02:02:27
发布于 2022-06-06 02:02:27
2K0
举报
文章被收录于专栏:NewBeeNLPNewBeeNLP

作者 | Nine 整理 | NewBeeNLP

关系抽取目前的算法大概可以分为以下几种:

  • pipeline approach:先抽实体,再判关系,比如陈丹琦的《A Frustratingly Easy Approach for Joint Entity and Relation Extraction 》(后面称为PURE)
  • Joint Entity and Realtion Extraction:联合模型,目前我看过的有这么几种方式:
    • 将联合任务看做是一个填表问题,比如:table sequence[1],TPlinker[2]
    • 将联合任务看做是一个序列标注问题,比如:ETL Span[3],PRGC[4]
    • 将联合任务看做是一个seq2seq问题,比如:SPN4RE[5]

今天分享的论文是一篇pipeline方法,来自清华和微信ACL2022的工作,《Packed Levitated Marker for Entity and Relation Extraction》,是PURE的升级版,这里我们先简单介绍一下PURE。

PURE

PURE中 NER部分 是将文本送入PLM中获取每个token的上下文表征,然后将每个span的start token、end token的上下文表征以及span长度的embedding拼接在一起得到span的表征,然后送进两层前馈神经网络,最后预测entity type。

PURE中的 关系抽取部分 采用了往句子中的subject span和object span的前后插入 “typed marker” 的方式,这个typed marker就是一对标记,

  • object span的 typed marker 为 start marker [O: entity_type]和end marker [/O: entity_type],
  • Subject span的[S: entity_type]和[/S: entity_type]

通过这种方式对句子改造以后,将改造后的句子送入PLM,然后将 subject span 和 Object 的start marker 的上下文表征拼接在一起作为span的表征,然后过线性变换和softmax预测这个span的relation type。(后面称为PURE-Full)

这种方式的问题就在于每一个训练和预测样本都只能插入一对subject span和object span,导致计算量很大。

他们提出了一种加速方法,这种加速方式也是本文的主要参考的模型: 将typed marker全部放在句子末尾,然后通过让typed marker与相应的subject span或object span中的头/尾单词共享position embedding,并且利用attention mask矩阵来完成一些限定,typed marker进可以与文本以及当前span pair内的typed marker进行attention, text仅可以与text进行attention

这样的话就可以在一个句子中并行处理多对span pairs了,他们提出的这种加速方法提升了关系抽取的速度,但是效果会有一些折扣。(后面成为PURE-Approx.)

PL-Marker

  • 论文:《Packed Levitated Marker for Entity and Relation Extraction》
  • 发表方:清华大学+微信,ACL2022
  • 论文链接:https://arxiv.org/abs/2109.06067v4
  • 开源代码:https://github.com/thunlp/PL-Marker

接下来就是今天的重点,PL-Marker。主要对NER和RE中span的表征进行改进,在之前的工作中,有三种span表征方式:

  • T-Concat :这种方式将span 的start 和end token的representation拼接起来作为span的representation,也就是PURE中NER用的方式,其实很多模型都用的这种方式;
  • Solid Marker(固定标记) :显式的在句子中的span前后插入两个marker,如果是关系抽取,就在subject span和object span前后,但这种方式没法一次性处理多对span,因为在句子中要塞入多对marker的话,不但句子结构会很乱,而且对于有交叉的span也不好处理。PURE-Full就用的这种方式。
  • Levitated Marker(悬浮标记) :就是PURE-Approx,这里不赘述了,目前仅有PURE-Approx中用了这种方式,效果相较于PURE-Full是有折扣的,论文中认为简单将悬浮标记放到句子后面的方式没有考虑多个span之间的关联。

本篇论文对span表征的建模采用的是后两种Marker的方式,针对单个span和多个span提出了两种标签打包的策略:

  • 在做NER的时候提出了: Neighborhood-oriented Packing for span,就是将相邻的span的悬浮标记拼接在同一个样本里面
  • 在做RE的时候提出了: Subject-oriented Packing for span pair,就是将subject span用固定标记插入句子中,其对应的Object span们,用悬浮标记拼接在句子后面,放在一个样本里面

PL-Marker的两种标签打包策略

模型结构

PL-Marker使用的模型就是PLM,与PURE-Approx类似:

  • 拼接在句子后面的悬浮标记对中的start marker与其在句子中对应的span的start token共享position embedding,end marker与对应span的end token共享 position embedding;
  • 通过attention mask矩阵进行限制,使得悬浮标记可以看到它的搭档标记和前面的文本,看不到其他悬浮标记对,文本仅可以看到文本
NER部分:Neighborhood-oriented Packing for span

这部分采用的悬浮标记,将所有的可能的实体span的悬浮标记对都放在句子最后面。但是这样就出现了一个问题,因为要遍历句子中所有可能的span,而PLM能处理的句子长度有限。

因此他们提出了Packing的策略,在Packing的时候,考虑到为了更好的分清楚span的边界(更重要的是区分同一个词为开头的span的差别),会将span相近的放在一起,就是将以开头相同的或者相近的放在一个样本中。

对于一个token数量为N的句子

X={x1,x2,...,xN}

,规定最大的span长度为L,具体步骤如下:

  1. 首先,对所有的悬浮标记对(一个开始标记,一个结束标记)进行排序,排序的方式是按照它们每一对悬浮标记所代表的的span的start token的位置,以及end token的位置,从小到大进行排序,得到排序后的候选span列表;
  2. 然后,将所有的悬浮标记拆分成K个组,这样的话相邻的span的悬浮标记就会被分在一个组里,然后每组拼接分别拼接在句子后面,作为K个样本;
  3. 最后,将样本送进PLM,对于每一对悬浮标记对
si=(a,b)

,分别将他们的开始标记的表征

h(start)a

和结束标记的表征

h(end)b

拼接在一起,作为其对应span的表征:

ψ(si)=[h(start)a;h(end)b]
  1. 而在进行NER的时候,他们是通过上面的步骤获取到span表征(也就是PL-Marker抽取到的span特征),然后与T-Concat方法抽取的span表征合并起来去预测entity type。
RE部分:Subject-oriented Packing for span pair

这部分采用固定标记和悬浮标记混用的方式,原因是如果也采用PURE-Approx的那种subject span levitated marker与object span levitated marker都拼接在后面的情况的话,虽然可以用attention mask去把两对marker绑定在一起,但是这样的话,那么它就不太能识别出它同span的另一个marker。具体做法如下:

  1. 对于一个句子,以及其中的subject span和它对应的object spans,构成一条训练样本,其中subject span采用固定标记,也就是在句子中span单词的前后直接插入[S]和[/S]两个标记,然后将它对应的候选Object span用悬浮标记的方式拼接在文本后面。
  2. 然后把样本送进Pretrained Encoder,对于样本中的每一个span对
ssubject=(a,b)

sobject=(c,d)

,将Subject span前后的固定标记的表征

ha1

hb+1

以及一对object span的悬浮标记的表征

h(start)c

h(end)d

拼接在一起,作为这一对span pair的表征:

ϕ(ssubject,sobject)=[ha1;hb+1;h(start)c;h(end)d]

  1. 为了建模实体类型与关系类型之间的关系,他们还增加了预测object entity的辅助loss
  2. 为了增加一些补充信息,他们新增了从object到subject的反向关系的预测,从而实现了双向关系的预测,其实就是实现了一个Object-oriented packing strategy。
其他设置:
  • Prompt Initialization for NER:受prompt tuning的启发,他们在初始化NER的Marker的时候用不是随机初始化,而是embedding of meaningful words,具体的说就是他们用单词[MASK]和entity的embedding来初始化marker,发现效果均有一定程度的提升。

使用embedding of meaningful words的效果

  • 尝试用关系模型预测到的eneity type来refine由NER模型预测到的entity type,但是在不同的数据集上效果不一样,应该是不同数据集中错误数据的多少导致的吧?

3. 效果

NER效果

使用了悬浮标记的NER的效果达到了SOTA

RE效果
速度

因为采用这种拼接的方式,NER的速度一定是不快,所以他们做了这个实验,对比了不同的group下PL-Marker的做NER的速度,比SeqTagger要慢很多,下表中的Two-stage方法是指他们用一个BASE-size T-Concat模型先过滤了以下候选的span,然后才送进PL-Marker的,可以看到,entity的F1没有损失,但速度有了很大

关系抽取的速度的话,他们与PURE和PURE的加速版本进行了对比,速度上,PL-Marker自然是在这两个模型之间,而效果的话,是最好的。

消融实验

对比了如下的一些方案:

  1. 在RE模型中,将subject span的solid marker改成和levitated marker,然后将所有的span pairs都pack到一个样本里面,那这个和PURE的近似版本很像啊,只不过marker不是typed marker吗?发现效果变差很多。
  2. 他们在做实验的时候对不对称关系进行了反向Relation进行了预测,这里去掉了这部分的预测,发现效果会有比较大的降低,
  3. 去掉了entity type 的辅助loss,发现效果变差
  4. 在PL-Marker的marker都换成typed marker,就像PURE一样,比如[Subject: PER],发现效果会有所降低

本文参考资料

[1]

table sequence: https://arxiv.org/abs/2010.03851

[2]

TPlinker: https://www.aclweb.org/anthology/2020.coling-main.138.pdf

[3]

ETL Span: https://arxiv.org/abs/1909.04273v3

[4]

PRGC: https://arxiv.org/abs/2106.09895

[5]

SPN4RE: https://arxiv.org/abs/2011.01675v1

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NewBeeNLP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ACL2022 关系抽取相关论文泛读
每天给你送来NLP技术干货! ---- 写在前面 今天给大家分享的是是ACL 2022上与实体关系抽取相关的部门论文范读笔记。其中有一些小喵自己也在学习,后续会推出精读笔记。 1. DocRE 论文名称:《Document-Level Relation Extraction with Adaptive Focal Loss and Knowledge Distillation》 论文链接:https://aclanthology.org/2022.findings-acl.132.pdf 代码地址:htt
zenRRan
2022/08/31
2.4K0
ACL2022 关系抽取相关论文泛读
简单有效,来看看这个NER SOTA!
Few shot learning(小样本学习)就是要用很少量标注样本去完成学习任务,前几天有同学在交流群里问关于小样本NER的资源,今天一起来看一篇Amazon AI Lab在ACL2022上发表的论文。
NewBeeNLP
2022/06/06
1.4K0
简单有效,来看看这个NER SOTA!
关系抽取一步到位!
本文主要详细解读关系抽取SOTA论文Two are Better than One:Joint Entity and Relation Extraction with Table-Sequence Encoders[1], 顺带简要介绍关系抽取的背景,方便完全不了解童鞋。
zenRRan
2021/01/28
1.7K0
关系抽取一步到位!
【信息抽取】如何使用BERT进行关系抽取
事物、概念之间的关系是人类知识中非常重要的一个部分,但是他们通常隐藏在海量的非结构文本中。为了从文本中抽取这些关系事实,从早期的模式匹配到近年的神经网络,大量的研究在多年前就已经展开。
用户1508658
2020/08/10
5.9K0
【信息抽取】如何使用BERT进行关系抽取
【论文分享】ACL 2020 信息抽取任务中的新动向
信息抽取一直以来都是自然语言处理中最基础的技术之一,它指的是将文本中的非结构化信息通过算法或模型自动提取转换为结构化数据的过程。信息抽取任务有多个子任务:命名实体识别(NER)、关系抽取(RE)、事件抽取(EE)。信息抽取的结果可以用于很多NLP的下游任务例如阅读理解、知识图谱构建和智能问答。今天给大家分享三篇ACL关于信息抽取的文章,分别涵盖了命名实体识别(NER)、信息联合抽取以及关系抽取(RE)三个方面。
zenRRan
2020/09/14
2.3K0
【论文分享】ACL 2020 信息抽取任务中的新动向
我组18篇论文被ACL 2022录用
近日,ACL 2022录用结果出炉,我组18篇论文被ACL 2022录用,其中主会论文13篇,Findings论文5篇。以下为论文列表及介绍:
对白
2022/02/26
1.6K0
文档级关系抽取:基于结构先验产生注意力偏差SSAN模型
Entity Structure Within and Throughout: Modeling Mention Dependencies for Document-Level Relation Extraction
汀丶人工智能
2022/12/21
4950
文档级关系抽取:基于结构先验产生注意力偏差SSAN模型
NER的过去、现在和未来综述-现在
命名实体识别(NER, Named Entity Recognition),是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
百川AI
2021/10/25
2.9K0
NER的过去、现在和未来综述-现在
ACL 2022录用结果出炉:国内多支团队晒“战绩”,清华一实验组18篇入选
大数据文摘转载自数据实战派 2月24日,第 60届国际计算语言学协会年会(ACL 2022)公布接收结果。值得一提的是,该结果系大会采用 ACL Rolling Review 机制后的首次尝试。 根据官方公开信息,现将多支国内团队的录取结果汇总如下,包括清华NLP团队、中科院计算所跨媒体计算课题组(ICTMCG)、北京语言大学语言监测与智能学习研究组(BLCU-ICALL)、中科院软件所中文信息处理实验室,入选论文方向涵盖预训练、多模态、无监督等前沿方法。 其中,清华NLP团队18篇论文被ACL 2022录
大数据文摘
2022/03/04
1.2K0
Bert不完全手册7. 为Bert注入知识的力量 Baidu-ERNIE & THU-ERNIE & KBert
借着ACL2022一篇知识增强Tutorial的东风,我们来聊聊如何在预训练模型中融入知识。Tutorial分别针对NLU和NLG方向对一些经典方案进行了分类汇总,感兴趣的可以去细看下。这一章我们只针对NLU领域3个基于实体链接的知识增强方案Baidu-ERNIE,THU-ERNIE和K-Bert来聊下具体实现~
风雨中的小七
2022/08/22
3830
Bert不完全手册7. 为Bert注入知识的力量 Baidu-ERNIE & THU-ERNIE & KBert
ACL'22 | 关系抽取和NER等论文分类整理
每天给你送来NLP技术干货! ---- 整理:对白的算法屋 本文汇总了ACL2022信息抽取方向的论文,包括但不限于通用信息抽取、命名实体识别、关系抽取、事件抽取、事件关系抽取、基于事件的观点挖掘等。 一、信息抽取 Automatic Error Analysis for Document-level Information Extraction. Aliva Das, Xinya Du, Barry Wang, Kejian Shi, Jiayuan Gu, Thomas Porter, Claire
zenRRan
2022/04/26
1.1K0
ACL'22 | 关系抽取和NER等论文分类整理
陈丹琦新作:关系抽取新SOTA,用pipeline方式挫败joint模型
端到端关系抽取旨在识别命名实体,同时抽取其关系。近期研究大多采取 joint 方式建模这两项子任务,要么将二者统一在一个结构化预测网络中,要么通过共享表示进行多任务学习。
机器之心
2020/11/13
8650
陈丹琦新作:关系抽取新SOTA,用pipeline方式挫败joint模型
【信息抽取】介绍一种端到端的关系抽取方法
事物、概念之间的关系是人类知识中非常重要的一个部分,但是他们通常隐藏在海量的非结构文本中。为了从文本中抽取这些关系事实,从早期的模式匹配到近年的神经网络,大量的研究在多年前就已经展开。
用户1508658
2020/07/22
1.1K0
知识图谱构建-关系抽取和属性抽取
医疗知识图谱构建离不开大量的三元组,而三元组的获取除了先前文章介绍的IS-A上下位抽取,另一项就是关系抽取。关系抽取是信息抽取领域中的重要任务之一,目的在于抽取文本中的实体对,以及识别实体对之间的语义关系。例如"弥漫性肺泡出血易合并肺部感染"中,"弥漫性肺泡出血"与"肺部感染"都是疾病,他们之间的关系是"疾病-合并症"。存在于海量医疗文本中的知识体系网络,可以为其他NLP技术(实体链接,query 解析,问答系统,信息检索等)提供可解释性的先验知识(知识表示)和推理。
zenRRan
2020/03/03
7.7K0
【文本信息抽取与结构化】详聊如何用BERT实现关系抽取
常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式。这一点在知识图谱、信息抽取、文本摘要这些任务中格外明显。不同的任务的差异在于目标的转化形式不一样,因而不同的任务难度、处理方式存在差异。
用户1508658
2020/03/17
3.4K0
【文本信息抽取与结构化】详聊如何用BERT实现关系抽取
中文NER的那些事儿1. Bert-Bilstm-CRF基线模型详解&代码实现
这个系列我们来聊聊序列标注中的中文实体识别问题,第一章让我们从当前比较通用的基准模型Bert+Bilstm+CRF说起,看看这个模型已经解决了哪些问题还有哪些问题待解决。以下模型实现和评估脚本,详见 Github-DSXiangLi/ChineseNER
风雨中的小七
2021/04/30
9.2K3
中文NER的那些事儿1. Bert-Bilstm-CRF基线模型详解&代码实现
实体关系抽取综述及相关顶会论文介绍
每天给你送来NLP技术干货! ---- 写在前面 实体关系抽取作为文本挖掘和信息抽取的核心任务,其主要通过对文本信息建模,自动抽取出实体对之间的语义关系,提取出有效的语义知识。其研究成果主要应用在文本摘要、自动问答、机器翻译、语义网标注、知识图谱等。 1. 关系抽取任务简介 实体关系抽取作为信息抽取的重要任务,是指在实体识别的基础上,从非结构化文本中抽取出预先定义的实体关系。实体对的关系可被形式化描述为关系三元组〈e1,r,e2〉,其中 e1 和 e2 是实体,r 属于目标关系集 R{r1,r2, r3,…
zenRRan
2022/07/18
2.1K0
实体关系抽取综述及相关顶会论文介绍
【NLP基础】信息抽取(Information Extraction:NER(命名实体识别),关系抽取)
信息抽取的定义为:从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术
zenRRan
2020/02/18
11.9K0
基于神经网络的实体识别和关系抽取联合学习
作者丨罗凌 学校丨大连理工大学博士生 研究方向丨深度学习,文本分类,实体识别 联合学习(Joint learning)一词并不是一个最近才出现的术语,在自然语言处理领域,很早就有研究者使用基于传统机器学习的联合模型(Joint model)来对一些有些密切联系的自然语言处理任务进行联合学习。例如实体识别和实体标准化联合学习,分词和词性标注联合学习等等。 最近,研究者们在基于神经网络方法上进行实体识别和关系抽取联合学习,我阅读了一些相关工作,在此和大家一起分享学习(本文中引用了一些论文作者 Suncong Z
企鹅号小编
2018/03/05
2.4K0
基于神经网络的实体识别和关系抽取联合学习
ACL 2022 Tutorial解析——知识增强自然语言理解
NLP预训练模型需要非常大的参数量以及非常多的语料信息,这些都是希望能尽可能多的记住文本中的知识,以此提升下游任务效果。相比而言,直接从数据库、知识图谱、搜索引擎等引入外部知识进行知识增强,是一种更直接、节省资源的方法。知识增强也是NLP未来的重要发展方向,由于在NLU这种需要理解、常识性知识的领域,知识增强更加重要。
圆圆的算法笔记
2022/09/22
1.4K0
ACL 2022 Tutorial解析——知识增强自然语言理解
推荐阅读
相关推荐
ACL2022 关系抽取相关论文泛读
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档