关系抽取中两种类型的模型:

joint模型:

将实体识别等任务与关系抽取一起完成

多任务学习(共享参数的联合抽取模型)

  • 多头选择:构建 × × 的关系分类器对每一个实体pair进行关系预测(N为序列长度,C为关系类别总数),输入的实体pair其实是每一个抽取实体的最后一个token。后续基于多头选择机制,也有paper引入预训练语言模型和bilinear分类。
  • 层叠式指针标注:将关系看作是SPO(Subject-Prediction-Object)抽取,先抽取主体Subject,然后对主体感知编码,最后通过层叠式的指针网络抽取关系及其对应的Object。
  • Span-level NER:通过片段排列抽取实体,然后提取实体对进行关系分类。

结构化预测(联合解码的联合抽取模型)

结构化预测则是一个全局优化问题,在推断的时候能够联合解码实体和关系(而不是像多任务学习那样,先抽取实体、再进行关系分类)。结构化预测的joint模型也有较多,比如统一的序列标注框架、多轮QA+强化学习等,不过有的联合解码方式通常很复杂。

代表模型

  1. Casrel(级联二进制标记框架)

注意点:处理重叠问题(指针标注方法),下图为各类重叠问题:

模型结构:

相关博客:CASREL Framework for Relational Triple Extraction - 知乎 (zhihu.com)

论文:1909.03227.pdf (arxiv.org)

代码:fresh382227905/CasRel-pytorch-reimplement: Pytorch reimplement of the paper "A Novel Cascade Binary Tagging Framework for Relational Triple Extraction" ACL2020. The original code is written in keras. (github.com)

2. TPLinker(Token Pair Linking)

关注点:全局优化(采用联合序列标注方法)

结构:

相关博客:(10条消息) TPLinker 实体关系抽取代码解读_爱吃火锅的博客-CSDN博客

论文:2010.13415.pdf (arxiv.org)

代码:131250208/TPlinker-joint-extraction (github.com)

pipeline模型

将实体识别与关系抽取分开来做

在《A Frustratingly Easy Approach for Joint Entity and Relation Extraction》文章中给出了比较详细的介绍:

(1) 实体和关系模型的上下文表示本质上捕获不同的信息,因此共享它们的表示会损害性能。

(2) 在关系模型的输入层融合实体信息(边界和类型)至关重要。

(3) 利用跨句信息在上两项任务中都很有用。

针对于pipeline模型作者主要做出了3个方面:

(1)提出了一种模型PURE

(2)解释了PURE为什么效果会好,其优点有哪些

(3)高效近似方法提高速度

相关博客:反直觉!陈丹琦用pipeline方式刷新关系抽取SOTA - 知乎 (zhihu.com)

论文:2010.12812.pdf (arxiv.org)

代码:princeton-nlp/PURE: NAACL'2021: A Frustratingly Easy Approach for Entity and Relation Extraction (github.com)

 
目前共有0条评论
  • 暂无Trackback
你目前的身份是游客,评论请输入昵称和电邮!