文章目录
- 1.介绍
- 2.相关工作
- 3.The CASREL Framework
- 3.1 Bert
- 3.2 cascade decoder
- 4.实验
- 5.结果
- 参考
1.介绍
-
做重叠关系的少
-
重叠关系:
- Zeng et al. (2018) :seq2seq+强化学习改善提取顺序
- Fu et al. (2019):(GraphRel)GCNs将文本建模为关系图
-
以前的做法
- 将关系当做离散的标签分配给实体对—这个做法对机器学习来说很难
- 问题
- 类别分布不平衡
- 多数提取出来的实体对之间无关系
- 同一实体参与多个有效关系(重叠三元组),分类器可能会混淆
- 如果没有足够的训练样例,分类器难以区分(!!有的多标签分类难以工作就是因为这个)
- 类别分布不平衡
-
改变f(s,o)→rf(s,o) \rightarrow rf(s,o)→r(原来的做法)到fr(s)→of_r(s)\rightarrow ofr(s)→o
- f(s,o)→rf(s,o) \rightarrow rf(s,o)→r:实体对找关系
- fr(s)→of_r(s)\rightarrow ofr(s)→o:现在,学习关系函数下,给定头实体,预测尾实体
- 如果不存在尾实体,则无此关系
-
本文做法CASREL
- 编码器:Bert
- 序列标注:抽出头实体
- 关系特定的尾实体标注:对每一个头实体,针对其可能的关系抽取其尾实体fr(s)→of_r(s)\rightarrow ofr(s)→o
-
效果
- Bert不预训练,效果也最好
- 预训练了当然更好
- 有丰富的先验知识
-
贡献
- 从新的角度建模了一个通用的重叠关系框架(在设计上就可以用于重叠关系
- 模型为Bert+标注:可以使用预训练中的先验
- 效果好:F1 增加17.5 30.2(远远优于当前的)
-
一个疑问:对于大多数的头实体和关系而言,尾实体应该是不存在的?也存在一个类别不平衡问题
2.相关工作
- pipeline:有传递误差
- 联合模型
- 以前:传统的特征工程,手工流程多
- 神经模型:
- Miwa and Bansal, 2016
- 共享实体、关系模型的参数实现联合,无联合解码、流程上仍然是把实体对pipeline到关系抽取中
- (也有共用解码器的)
- –并没有学习到实体、关系之间的依赖
- Zheng et al. (2017)
- 共用解码器,以统一的模式解码关系和实体
- 序列到序列的标注问题
- 以上进展很好,但不能解决重叠关系抽取
- Miwa and Bansal, 2016
- 重叠关系
- Zeng et al. (2018) :
- seq2seq+强化学习改善提取顺序
- 通过拷贝机制解决
- Fu et al. (2019):(GraphRel)
- GCNs将文本建模为关系图
- Zeng et al. (2018) :
3.The CASREL Framework
-
在三元组层面上建模
- 以前的工作都没有:都是单独定义关系和实体,没有在三元组层次上集成
-
最大化的目标函数
-
公式2:概率的链式法则
-
公式3:利用了一个事实,所有与s相关的关系必然有o,而其他关系则无o。
-
该公式的优点
- 该似然是开始于三元组级别的,优化也是在三元组级别上
- 对于复数三元组如何在句中共享实体没有假设,通过设计来处理三元组问题
- 公式3分解而来的启发:先得到s,再对关系r,找到其对应的o
- 这种模式:允许一次性提取多个三元组
- the subject tagger:找到所有的头实体s
- relation-specific
object taggers:先再对每一个s,特定于关系,寻找对应关系下,s所对应的o - 这两个模块,可以任意替代,但本文中是Bert+binary taggers
3.1 Bert
- 因为输入单句,所以没有sementation embedding
- 输入
- 输入嵌入分别是token embeddings(WsW_sWs), segmentation embeddings 和position embeddings(WpW_pWp) 的总和
- 输入
3.2 cascade decoder
- Cascade Decoder
- a subject tagger:抽取头实体
- a set of relation specific object taggers:对于特定关系,抽取头实体所对应的尾实体fr(s)→of_r(s)\rightarrow ofr(s)→o
- vsubkv_{sub}^kvsubk由实体包含词的token平均获得
4.实验
5.结果
- 处理重叠关系上表现优异
- 从f(s,o)→o转变到fr(s)→of(s,o)\rightarrow o转变到f_r(s)\rightarrow of(s,o)→o转变到fr(s)→o
- 在处理句内多关系上表现优秀
- 实验效果好
参考
code
论文