【关于 实体-关系联合抽取 】 那些你不知道的事

论文:
会议:
论文地址:
NLP 百面百搭 地址: https://github.com/km1994/NLP-Interview-Notes
推荐系统 百面百搭 地址: https://github.com/km1994/RES-Interview-Notes
搜索引擎 百面百搭 地址: https://github.com/km1994/search-engine-Interview-Notes搜索引擎 百面百搭 地址:https://github.com/km1994/search-engine-Interview-Notes 【编写ing】
NLP论文学习笔记: https://github.com/km1994/nlp_paper_study
推荐系统论文学习笔记: https://github.com/km1994/RS_paper_study
GCN 论文学习笔记: https://github.com/km1994/GCN_study
推广搜 军火库https://github.com/km1994/recommendation_advertisement_search
手机版笔记,可以关注公众号 【关于NLP那些你不知道的事】 获取,并加入 【NLP && 推荐学习群】一起学习!!!

一、基础概念

  • 实体抽取:是对句子中实体赋予相应的语义标签,通常也称为命名实体识别(Named entity recognition, NER)

  • 关系抽取:预测句子或篇章中成对实体所存在的语义关联类型,并用三元组<Subject,Relation.Objec>表示抽取结果。

二、实体-关系联合抽取模式归纳

  1. 基于Sequence Tagging的实体-关系联合提取

  1. 基于Span Classification的实体-关系联合提取

  1. 基于Binary Tagging的实体-关系联合提取

  1. 基于Table Filling的实体-关系联合提取

  1. 基于MRC的实体-关系联合提取

  1. 基于GNN的实体-关系联合提取

  1. 基于Generative的实体-关系联合抽取

三、基于Sequence Tagging的实体-关系联合提取

3.1 核心思想

  • 核心思想:这将实体-关系联合抽取任务转换为序列标注任务。即利用分类器,为序列中的每一个Token赋予一个或多个标签。

3.2 经典文章

  • Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme (ACL 2017)

  • Joint entity recognition and relation extraction as a multi-head selection problem (ExpertSystems with Applications 2018)

  • Joint extraction of entities and relations using multi-label tagging and relational alignment(Neural Computing and Applications 2022)

3.3 Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme (ACL 2017)

  • 论文创新点:提出一种新的标注Schemma用来同时抽取文本中的实体和关系,参见下图;

新Scheme由三个部分构成:“word position in the entity”,“relation type”以及“relationrole";
以图中“United”的标签“B-CP-1”为例,其中B是词在实体中的位置(分别用“BIES”表示,B表示Begin,I表示Inside,E表示End,S表示Single),CP表示关系类型“Country President”,1表示该词在关系中的角色《1表示头实体,2表示尾实体);
  • 模型架构:采用了传统的双层BILSTM,并在第二层上做一些输入内容的修改

  • 存在的问题:无法解决套实体、套关系的问题。

改进文章: Joint extraction of entities and relations using multi-label tagging and relational alignment(Neural Computing and Applications 2022)

四、基于Span Classification的实体-关系联合提取

4.1 核心思想

  • 核心思想:将实体抽取和关系抽取转化为序列中片段的分类问题,或片段之间组合后的分类任务。

4.2 经典文章

  • Span-based Joint Entity and Relation Extraction with Transformer Pre-training (ECAI2020)

  • TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token PairLinking (COLING 2020)

  • A Span-Based Model for Joint Overlapped and Discontinuous Named Entity Recognition(ACL 2021)

4.3 Span-based Joint Entity and Relation Extraction with Transformer Pre-training (ECAI2020)

4.3.1 论文思路
  1. 利用预训练的BERT模型作为其核心部分;BERT部分对于一个句子仅仅需要前向执行一次;

  1. 抛弃了传统的BIO/BILOU标注实体的方式,构建了一个基于跨度的联合实体识别和关系抽取模型。

4.3.2 模型结构
  1. 输入:byte-pair encoded (BPE) tokens(和BERT的输入一致)

  1. Span Classification:

  1. 本质:一个多分类模型(分类类别实体类型:person, organization, none等)

  1. 思路:片段分类部分,公先枚举序列中所有可能的片段(例如,对于文本片段“we willrock you”,枚举结果包括“we”,“we will”,“wewill rock”,“we will rock you”,“will”等)。对枚举到的特定片段(右侧红框),先用Maxpooing获取到span表征,然后再与句子表征,宽度表征拼接,最后将该表征用于span类型分类。

  1. 输入:word embedding(实体包括的词向量进行max-pooling操作), width embedding(实体包含的词个数在width向量矩阵中找到的width向量), cls embedding(BERT的cls向量)

  1. 输出:实体类别

  1. Span Filtering:

  1. 丢弃那些被预测为None的 span;

  1. 预先过滤span size超过10的实体;

  1. 关系分类:

  1. 本质:多分类模型

  1. 思路:先从S中采样一组实体对<S1,S2>,再通过一组特征变换及组合获取两实体表征,记作e(S1),e(S2)。同时,将S1,S2之间的描述做Maxpooling获取C(S1,S2)表征。最后按照下述公式做多标签分类。

  1. 输入:word embedding1(实体1), width embedding1(实体1), context embedding(实体1和实体2中间的词向量进行max-pooling操作), word embedding2(实体2), width embedding2(实体2)

  1. 输出:关系类别

  1. 损失函数

实体分类损失 + 关系分类损失
4.3.3 论文 trick
  1. 负采样

  1. 实体负采样:在所有可能的实体中最多随机选取 N 个实体,并将未在训练集中被标注为正例的样本标记成负例,同时规定实体的长度不能超过10。

  1. 关系负采样:针对所有待预测的实体之间的关系,对于出现过的所有实体任意两两组合构建关系,对于在正样本中未出现的标注为负样本,并且最多选取 M 个负样本。

五、基于Binary Tagging的实体-关系联合提取

5.1 核心思想

  • 核心思想:是将实体识别和关系提取均转化为 三元组抽取,如何准确判断实体片段的开始结束位置,从而分别设计二元分类器用以实现联合提取目标。

5.2 经典文章

  • A Novel Cascade Binary Tagging Framework for Relational Triple Extraction (ACL 2020)

  • FastRE: Towards Fast Relation Extraction with Convolutional Encoder and ImprovedCascade Binary Tagging Framework (IJCAI-ECA 2022)

5.3 A Novel Cascade Binary Tagging Framework for Relational Triple Extraction (ACL 2020)

5.3.1 论文动机

目前一个句子仅包含一个关系三元组进行关系三元组抽取已经能够达到不错的效果。但在一个句子中包含多个关系三元组,尤其当多个三元组有重叠的情况时,模型表现的效果不尽人意。

5.3.2 论文亮点
  • 传统三元组抽取,是先识别subject和object,并对候选<subject,object>做关系分类。

  • 新的三元组提取方法,利用概率图的思想:首先预测第一个实体s,预测出s过后传入s来预测s对应的p跟o。

5.3.3 论文思路

该方法包含两个部分: Subject Tagger和Relation-specific Object Taggers部分:

  • Subject Tagger: 先将序列中的每一个Token做两次二元分类,用于识别实体的开始和结束位置。

  • Relation-specifie Object Taggers: 以第一阶段识别到的Subject,“Brown R.Jackle”为例,进一步识别其对应的Object。对于每一类关系下的Object,该方法同样采用Start-End分类范式实现目标Objet识别,案例“Brown R.Jackle”识别到“Birth place”关系下的两个实休“Washington”,“United Sates Of America”,而其他关系下均没有识别结果。

六、基于Table Filling的实体-关系联合提取

6.1 核心思想

  • 核心思想:将实体抽取以及关系抽取任务转换为表格填充任务通常会将序列文本转换为一个 N*N 的矩阵,然后再通过填充矩阵中的值来表征实体和关系的位置。

6.2 经典文章

  • Table Filling Multi-Task Recurrent Neural Network for Joint Entity and Relation Extraction (ACL 2016)

  • Two are Better than One: Joint Entity and Relation Extraction with Table-Sequenee Encoders (EMNL.P2020

  • Unified Named Entity Recognition as Word-Word Relation Classification (AAAI 2021)

  • UNIRE: A Unifed Label Space for Entity Relation Extraction (ACL2021)

  • Delving Deep into Regularity: A Simple but Effective Method for Chinese Named Entity Recognition(NAACL 2022)

6.3 UNIRE: A Unifed Label Space for Entity Relation Extraction (ACL2021)

6.3.1 论文亮点
  • 论文亮点:提出一种新的实体关系联合抽取方法,将实体和关系的标注空间统一到同一表格中,从而实现实体关系的联合提取。

6.3.2 论文 实体关系 标注方式
  • 这个Table的每一格都是一个Token pair,如果多个Token构成实体,其涉及的Token对被标注为对应实体类型:

  • 实体仅被对应的放在对角位置。如图中“David Perkins”。当Token pair构成关系,其在Table中两个相交的位置会被填充对应的关系类型;

  • 关系被放置在非对角位置。如”DavidPerkins”和“wife”构成关系”PER-SOC”。

6.3.3 论文结构
  • 模型设计上包含三个部分: Biaffine Model、Table Filling和Entity-Relation Decoding构成:

  1. Biaffine Model:先用BERT将输入序列转换为H。然后利用双线性变换实现Token之间的彼此交互,计算Table的ij位置的填充值;

  1. Table Filling: 在获得得分向量g之后,我们将g输入softmax函数以预测相应的标签,从而在标签空间Y上产生分类概率分布

优化函数
  1. 上述 的计算都是独立的,但实体获关系填充时cell彼此是关联的。因此,文章提出两种新的loss 来弥补这种gap。这里引入 ,表示所有 的组合

  1. Symmetry Loss: 从上面设计的标签表示方式可以看出,实体依对角线对称,双向关系同样依对角线对称。于是,对于对称的实体或者关系计算 损失。

  1. Implication Loss: 在同一Table中表示实体和关系时,若关系存在,那么头尾实体也应当必然存在。基于此,可以认为如果某一个词被标注为实体,那么该词被识别为实体的得分不应当低于与该词同一行或者同一列的编码出的关系对应的得分。因此,设计下述公式对实体和关系得分之间关系做限制。

  1. Entity-Relation Decoding: 包含三种操作 片段解码(Span Decoding), 实体解码(Entity Type Decoding), 关系解码(Relation Type Decoding):

  • 6.1 片段解码(Span Decoding): 该操作是为从预测的Table中解码实体边界。分析发现,若Token属于同一个实体,其对应的row的填充是一致的。于是将P展开成 或者 计算相邻行之间的欧氏距离,若欧氏距离大于阙a,则认为这两行获两列之间存在边界。

  • 6.2 实体解码(Entity Type Decoding): 对于实体类型,则按照下述公式获取。其含义就是对span的对角位置得分做均值计算,并取得分最高的实体类型作为最终结果。

  • 6.3 关系解码(Relation Type Decoding): 先固定Subject和Object,然后再计算对应位置得分平均后获得的关系类型

七、基于 MRC 的实体-关系联合提取

7.1 核心思想

  • 核心思想:将实体和关系提取任务转换为机器阅读理解任务(Machine Reading Comprehension,MRC)。一种常见的方法是,对于待提取实体和关系的序列,先基于标签类型构造问句用以获取目标头实体,接着再结合关系和头实体构建问句获取对应的尾实体,最后获得目标三元组信息

7.2 经典文章

  • Entity-Relation Extraction as Multi-turn Question Answering (ACL 2019)

  • Asking Effective and Diverse Questions: A Machine Reading Comprehension based Framework for Joint Entity-Relation Extraction (ICAI 2020)

  • MRC4BioER: Joint extraction of biomedical entities and relations in the machine reading comprehension framework (Journal of Biomedical Informatics, 2022)

7.3 Asking Effective and Diverse Questions: A Machine Reading Comprehension based Framework for Joint Entity-Relation Extraction (ICAI 2020)

  1. 该文章提取利用MRC的方式联合识别实体和关系,并引入多样问答机制,以缓解单句问答存在的语义模糊问题。

  1. 该方法包含三个部分: Head entity extraction,Relation prediction, Tail entity extraction.

  • Head entity extraction: 先基于预定义好的Query模型获取指定实体类型下的T个query,与Context拼接后输入并获取T个序列标注结果,记作 。并按照下面公式做结果集成。其中 是第t个query下,开发集上计算出的序列标注F1 score。解码 获取实体结果。

  • Relation prediction: 关系预测是要对候选关系集合做初筛,保留最有可能的关系类型。具体的,按照下面公式获取上述解码出的某一实体ei的表征h,然后与标签类型表征y拼接后做多标签分类。

  • Tail entity extraction: 给定解码出的实体以及候选关系集合,结合预设模板进一步生成多个query。利用这些query,以及上述query集成方式可以解码出最终Object实体。

八、基于 GNN 的实体-关系联合提取

8.1 核心思想

  • 核心思想:将实体抽取和关系抽取转化为图上节点分类和关系预测任务。整个图的节点、关系表征再利用图神经网络做更新迭代。

8.2 经典文章

  • GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction(ACL 2019)

  • Joint Type Inference on Entities and Relations via Graph Convolutional Networks (ACI2019)

  • Joint extraction of entities and relations using graph convolution over pruned dependency trees(Neurocomputing 2020)

8.3 GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction(ACL 2019)

  1. 文章提出新的实体关系联合提取方法,基于BiLSTM和BiGCN分别捕获序列上下文语义以及局部依存特征。

  1. 该方法设计两个阶段来实现实体关系联合抽取: 1st-phase Prediction,2nd-phase Prediction.

  • 1st-phase Prediction

  • 先是用BILSTM编码序列,同时利用依存关系作为边将序列构成图结构,此时图的初始特征就是BILSTM编码后的Token特征。接着用BiGCN(如下公式)实现Token表征更新。

  • 该阶段,通过两个loss来更新参数,首先是BILSTM结果做序列分类loss,记作elosslp。然后是利用更新后的token pair表征做关系分类,计算loss,记作rlosslp。

  • 2st-phase Prediction:

  • 通过第一阶段可以计算出Token pair之间特定关系r的概率。因此对于每一类关系,可以构建新的graph。通过利用下述BIGCN公式更新节点表征后获取新的节点表征。利用上述方式,可以进一步计算两组loss,rloss2p,eloss2p。

  1. 模型训练时候将两阶段loss权重相加:

  1. 模型推理阶段,实体类型通过BIOES模式解码,关系则是根据成对实体中word-pair的关系类型占比最终确定。

九、基于 Generative 的实体-关系联合提取

9.1 核心思想

  • 核心思想:将实体抽取和关系抽取转化为序列生成任务。通常采用Encoder-Decoder的架构,并通过设置控制条件,实现指定类型实体或关系的生成。

9.2 经典文章

  • GenerativeRE: Incorporating a Novel Copy Mechanism and Pretrained Model for JointEntity and Relation Extraction (EMNLP 2021)

  • Uniffied Structure Generation for Universal Information Extraction (ACL 2022)

  • GenlE: Generative Information Extraction1(NAACL 2022)

9.3 Uniffied Structure Generation for Universal Information Extraction (ACL 2022)

  1. 文章提出将实体-关系联合抽取任务转化为结果可控的结构化语言生成任务。

  1. 方法包含两个重要部分: Structural Schema Instructor和Structured Extraction Langurage。

  • 2.1 Structural Schema Instuctor: 用来描述提取目标,是要提取实体还是关系。其包含三种切分Token: SPOT-NAME实休类型),ASSONAME(关系类型)和Special Symbols(特殊分隔符[spot].[asso].[text])。基于此,模型输入可按照下式组织。

以“[spot] person [spot] company [asso] work for [text]”为例,该标签就是要识别Text中的person、eompany实体,以及两者之间的work for 关系。
  • 2.2 Structured Extraction Langurage: 在提取部分设计特定的结构语言帮助实体-关系抽取如下左图所示,其中Spot Name是SSI中输入的目标实体,Asso Name是SSI中输入的目标关系,Info Span是提取出的实体实例。

同样以“[spot] person [spot] company [asso] work for [text] In 1997, steve was excited tobecome the CEO ofApple”,利用下述SEL语言可以描述出结果。
  1. 基于上述输入及输出格式的定义,文章构建三组数据 (, ,)并基于T5模型训练该生成模型。

  1. 预训练好的模型再在特定的任务上微调 ,微调时加上Rejection Mechanism,以防止无关Spot 或者Asso Name对结果的干扰。

十、总结

  • 对实体-关系联合抽取常用架构做总结归纳,并以典型案例介绍了各种架构的实现方式。

  • 除上述架构外,也有工作将某些架构融合,并实现实体关系联合提取。

  • 每一种架构都有各自的优缺点,基于Span Classification的时间复杂度高,基于Table Filling的计算复杂度高等

  • 是否有更优雅的架构来解决实体关系联合提取任务?需要进一步探索

参考

  1. 实体-关系联合抽取概述 https://zhuanlan.zhihu.com/p/585826606

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员奇奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值