1.先说说关系抽取存在的问题
下面以关系抽取的存在场景问题以及模型本身存在的问题,来看这个关系抽取这个任务存在哪些问题。
1.1 抽取的场景问题:
不同的模型往往在不同的场景下表现出不同的优越性,关系抽取可以分为实体识别及关系抽取两个任务来看,这其中分别存在以下场景问题:
实体识别方面的场景分三种:
①. Normal NER
example: 李明在南京
entity: 李明(Person) 南京(Location)
②. Overlapped NER
example: 李明在南京大学
entity: 李明(Person) 南京(Location) 南京大学(Institution)
③. Discontinuous NER
example: 芯片设计、制造、生产服务
entity: 芯片设计服务(Service)、芯片制造服务(Service)、芯片生产服务(Service)
关系识别方面的场景分三种:
例子如上图,关系识别的场景也分为三种①. Normal ②. EntityPairOverlap ③. SingleEntityOverlap
1.2.模型本身存在的误差问题
在目前的模型方面,主要存在以下两种误差
- 误差累积(error accumulation):指的是实体识别阶段,识别漏掉、不准的问题会累积到关系抽取任务阶段
- 暴露误差(exposure bias):指的是在关系抽取任务中,训练阶段输入的是gold entity(ground truth entity),而在预测阶段是实体识别模型预测的实体。
误差累积、暴露误差这个问题主要存在于下文中的pipline及共享参数的联合抽取模型中(也就是共享encoder,不同decoder过程)。
2. 模型结构一览
上面说的是关系抽取这个任务的一些场景问题及现在模型存在的误差问题。下面就带着以上这些个场景问题+模型误差问题,去逐个看看下面关系抽取一些经典模型分别针对以上问题做出的优化。
在解决关系抽取这个任务时,按照模型的结构分为两种,一种是Joint Model,另一种是Pipline, 这个大家应该比较熟悉了,其实可以把它在细化一下。
2.1 Joint Model
多任务学习(共享encoder参数的联合抽取模型)
实体与关系共享同一个encoder网络编码,解码仍然是两个decoder,本质上是采取pipline的编码方式,即是先解码出实体,再去解码关系,这种方式是存在误差累积的。
这种一个encoder编码,两个decoder解码的模型是以下面这三种经典方式作为一个代表
①.层叠式指针标注(CasRel)
paper: A Novel Cascade Binary Tagging Framework for Relational Triple Extraction
author: Zhepei Wei, Jianlin Su, Yue Wang, Yuan Tian, Yi Chang
这篇文章是苏剑林有参与提出的,在当时关系抽取任务上提出了一个新的方式,采用一个层叠式的指针方式分别去预测subject实体与object实体。