当前位置:   article > 正文

NLP-信息抽取-三元组-联合抽取-级联结构-2019:CasRel【抽取关系三元组的级联二元标注框架】【解决了SEO、EPO问题】【将关系作为主语到宾语的映射函数】

casrel

《原始论文:A Novel Cascade Binary Tagging Framework for Relational Triple Extraction》

在百度“2019语言与智能技术竞赛”(下称LIC2019)中,作者提出了一个新的关系抽取模型(参考《基于DGCNN和概率图的轻量级信息抽取模型》),后被进一步发表和命名为“CasRel”,算是当时关系抽取的SOTA。

GitHub:CasRel
GitHub:CasRel-pytorch-reimplement
GitHub:kg-2019-final
GitHub:kg-baseline-pytorch

在这里插入图片描述

一、概述

1、三元组重叠问题

在这里插入图片描述

根据不同的重叠情况将句子划分 为三种类型。

  • Normal表示三元组之间无重 叠;
  • EPO(Entity Pair Overlap)表 示三元组之间共享同一个实 体对
  • SEO(Single Entity Overlap) 表示三元组之间仅共享一个 实体。注意在某些复杂的情 况下,一个句子可能既是 EPO类型,同时也是SEO类型

2、已有工作

以往的方法大多将关系建模为实体对上的一个离散的标签

  • 命名实体识别(Named Entity Recognition, NER)确定出句子中所有的实体
  • 然后学习一个关系分类器在所有的实体对上做RC,最终得到我们所需的关系三元组。

缺点

  • 在实体对的组合之中,大多数实体对是没有关系链接的,这便存在很多的负例,也就造 成了关系分类的不平衡
  • 重叠三元组的问题更是一个难点,因为其存在共享的实体,甚至两个实体存在多种关系, 这便增加了难度,没有足够的训练数据,是难以学习或者根本无法学习这种关系的。

3、本文idea提出原因

1 .很少的研究工作解决三元组重叠的问题。

2 . pipline的流程可能造成实体的识别错误,也就造成关系构建的错误

4、摘要核心

1 .很少研究关注三元组重叠问题

2 .为三元组重叠提出一种新的关系抽取框架

3 .实验结果表明该方法是有效的,在NYT和WebNLG数据集上取得较好的效果

5、研究成果

提出一个全新的框架:CasRel

  1. 为重叠三元组设计了一个新的通用算法框架
  2. 融合transform模型,可以通过预训练模型融合先验知识
  3. 在两个公开数据集上达到state-of-the-art

优点:

  • CasRel原论文模型能够解决SEO和EPO三元组重叠问题。SOO问题理论上也是能够解决的,需要注意修改模型中subject和object的位置关系约束和判断部分代码。

缺点:

  • 存在误差传递和暴露偏差问题。因为CasRel仍然是Pipeline的提取模式,subject提取存在的错误和遗漏直接影响后续的关系预测和object的提取。
  • 存在关系冗余和计算效率低的问题。假设有N个关系类别,在获取subject之后,每个subject需要计算每个关系下可能对应的object,需要进行2*N次二分类计算,若关系类别较多,由于许多冗余的关系则会导致过多的计算,影响计算效率。
  • 训练和测试过程也存在效率低的问题。在CasRel训练过程中每个文本即使有多个subjects也只随机取样其中的一个subject和其对应的三元组作为一个训练样本,这样训练过程中不能对同一文本中所有三元组进行一次性的学习,而且训练的epoch会很大,论文中作者表示通过充分的训练训练集中每个三元组样本均会被采样学习到;同时在测试过程中由于每个文本中的三元组数目是不固定的,CasRel这种抽取模式下batch size需要设置为1。

6、本论文历史意义

在这里插入图片描述

二、模型结构

1、CasRel网络结构

在这里插入图片描述
BERT Encoder
Cascade Decoder

  • Subject Tagger
  • Relation-specific Object Taggers

2、tag标注

2.1 原理

在这里插入图片描述
对于给定的句子x,提取三元组(s,r,o)

根据贝叶斯公式进行分解

  • 寻在句子中存在的subject
  • 在给定句子及subject的情 况下,对所有可能的关系relation对应的object进行识别

2.2 subject标注

在这里插入图片描述
头尾指针标识subject的位置,使用 1进行标注,其他位置使用0

subject标注损失函数使用最大似然函数

2.3 Relation-specific Object 标注器

在这里插入图片描述
头尾指针标识object的位置,使用1 进行标注,其他位置使用0

加入上层的subject编码信息,多个subject时取平均值

Object损失同样适用最大似然函数

2.4 log目标函数

在这里插入图片描述
最终损失函数使用log函数,实际实现过程也就是2*(subject+object)损失函数之和

3、tricks

1 .训练时随机选择一个subject进行训练
2 .训练时直接使用输入的subject而不是预测的subject
3 .subject object的获取就近原贝

三、实验结果

在这里插入图片描述

1、compare various model

在这里插入图片描述
在这里插入图片描述

2、Different overlapping

在这里插入图片描述
不同模型对于不同类型三元组的表现,CasRel表现良好

3、Different number

在这里插入图片描述
对于同一个句子含有多个三元组的情况,数据显示CasRel表 现较好

四、论文总结

1、关键点

新的标注策略

新的模型框架

三元组重叠

2、创新点

引入指针标注

级联式联合抽取

3、启发点

将离散的label识别问题转化为subject,(relation,object)。

Instead of treating relations as discrete labels as in previous works, our new framework models relations as functions that map subjects to objects in a sentence, which naturally handles the overlapping problem.




参考资料:
一文详解关系抽取模型 CasRel
ACL2020-关系抽取 CASREL
Casrel,TPlinker,PRGC三者模型比较
基于DGCNN和概率图的轻量级信息抽取模型
GPLinker:基于GlobalPointer的实体关系联合抽取
关系抽取模型
NLP之关系抽取(信息抽取、三元组抽取)(附pytorch代码)

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号