笔记:A Novel Cascade Binary Tagging Framework for Relational Triple Extraction
A Novel Cascade Binary Tagging Framework for Relational Triple Extraction
作者:Zhepei Wei et al., 2020 ACL.
目录
- 简介
- 方法
- 实验
- 总结
1 简介
本文仍然是处理实体关系联合抽取任务,主要针对联合抽取中的关系重叠问题。
从一个全新的角度看待抽取问题,即从原来的根据实体对预测关系类型即\(f(s,o) \rightarrow r\)到根据subject及其关系映射对应的object即\(f_r(s) \rightarrow o\), \(f\)为模型需要学习的一个函数映射。
2 方法
提出\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\), 一个端到端的cascade binary tagging framework来实现上述想法,整体结构如Figure 2.
整个模型基于BERT做编码,目的是为了能够将一些前置知识(如预训练的BERT包含的语义等信息)更好更灵活的融合便于后续的标注。
整个解码过程可以分为两个部分,a) 先找到句子中所有的subject实体; b) 根据subject及其对应的关系找到所有的object实体--可以看作双层for循环外层遍历subject内层遍历每个关系:每个subject依次对每个关系都遍历一遍当前输入的语句(因此第二个解码部分由 a set of relation-specific taggers 组成),找当前关系下的object,object存在1则存在subject与此object对应的关系相当于object和relation同时确定标出了,若object不存在0,则当前的关系也不存在。如图figure 2 说明中k即为外层subject迭代即第几个subject。
2.1 BERT Encoder
使用预训练的BERT提取输入序列/句子的特征信息\(H_N\)为N层BERT encoder最后的输出,之后将其交给后面的解码器作为输入。
同时作者在此做了多组消融试验探究基于Transformer的BERT有多大的作用,即 \(\large{C} \normalsize{AS} \large{R} \normalsize{EL} _{random}\)、\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}_{LSTM}\)、\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)分别为使用随机初始化的BERT、LSTM、预训练BERT作为编码器。
2.2 Cascade Decoder
整个模型的训练目标为:(triple level,本文核心感觉就在这个目标函数的设计上,其实文中也说了实现不难可以用各种方式实现,只不过本文是使用\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)框架二分类器实现的)
先说明一下Eq (1) (2) (3)中的notation,其中s=subject、o=object、r=relation, \(x_j\)表示输入语句,\(T_j\)表示此语句中所包含的所有三元组,\(s \in T_j\)表示在\(T_j\)三元组中的subject,\(T_j|s\)表示\(T_j\)中subject为s的三元组,\((r,o)\in T_j|s\)表示\(T_j\)中subject为s的三元组中的(r,o)对。\(R\)表示所有关系的集合,\(R \setminus T_j|s\)表示\(T_j\)所有三元组中subject为s的关系之外的\(T_j\)的所有关系。
其实根据Eq (2),我们追求的目标就两个部分,即尽量正确的找到句子中所有的subject,之后在s和r条件下尽可能找到所有与之对应的正确的object。这两个tagger都是使用简单的二分类器实现的后续会说明,所以其实就是根据训练集(如实验之一NYT,作者根据NYT构造适合自己模型的数据格式,一个个三元组形式吧)尽量找到所有subject后,尽量把该是此s和r下的object的token标为1即o,不该是s和r下的object的token标为0即Eq(3)中的\(o_{\varnothing}\)表示不属于此s和r可能在其他的关系三元组中所以条件为\(r \in R \setminus T_j|s\)把它归到这里。那么如图figure 2中如果对于当前s如“Brown R Jackie”如果当前句子中所有的词的object标记均为0,那么就说明与此关系无关,没有与此关系对应的object自然就没有这个关系啊,如Work_in。
而且Eq (3)中的第三个部分把之前\(f(s,o) \rightarrow r\)用不上的信息也用上了,因为并不是所有的实体对(s,o)都有关系啊,那这部分不就没用了么反而还有些冗余对于根据实体对映射关系方法,但\(f_r(s) \rightarrow o\)的目标函数Eq (3)个人理解不仅让模型学到如何辨别有关系的实体对,也可以知道有的实体对是没关系的。这样肯定对抽三元组即找有关系的实体对有帮助感觉。而之前的给我的感觉更像是给每个实体对分一个离散的关系标签当然也包括None,但感觉更多的是学辨别实体对属于哪一类关系,正常,人辨别的话首先应该一眼看下去看看有没有关系,再看是什么样的关系。看看之前\(f(s,o) \rightarrow r\)方法的目标函数就是这种感觉啊好像尽力给每个实体对都要分个关系,虽然有的也加了None关系,但数据集关系类型终归是有限的且若是关系复杂如关系重叠呢就不行了,不懂,又在胡说八道了我。。。
解码器由两个部分构成
Subject Tagger
也叫low level tagging module,使用BERT编码器的输出作为输入,就是使用两个相同的二分类器即strat_s和end_s分类器分别标注subject的开始和结束位置,两个分类器分别通过对每个词标注0/1,来表示当前token是否为subject的开始或结束位置,训练时根据训练数据计算损失梯度更新参数,如图figure 2中relation-specific tagger中的每个关系的上下两行分别表示开始结束位置,具体操作如下公式。
其中,\(\mathbf{x}_i\)表示输入序列的第i个token编码后的表示,\(p_i^{start\_s},p_i^{end\_s}\)分别表示第i个token为subject的开始或结束位置的概率,若概率超过某个超参阈值则标为1否则标为0,同时由于同一个句子可能有多个subject,本文采用了一种比较简单的方式即最近邻,每次根据start位置选取与之最近的end构成一个subject。对于这部分我们的优化目标就是Eq (3)中的一部分\(p_{\theta}(s|\mathbf{x})\)。
其中,\(L\)为句子长度,\(\mathbf{I}\{z\}=1\)如果\(z\)为true,否则为0,\(t\)为\(start\_s\)或\(end\_s\),那么\(y_i^t\)为第i个token为subject开始或结束位置的tag二分类标签即0/1,\(\theta=\{\mathbf{W}_{start},\mathbf{b}_{start},\mathbf{W}_{end},\mathbf{b}_{end}\}\)。
Relation-specific Object Taggers
也叫high level tagging module,正如2.2开头说的可以同时确认object和relation,具体操作和subject tagger类似,仍然是用两个相同的二分类器对每个token标注,看是否为object的start和end位置,如下公式。
不同的是,加入了subject实体的信息\(v^k_{sub}\)(每个\(h_i,i=1,...,L\)都加上subject的编码信息,第k轮加第k个subject实体的信息),可以理解需要根据subject来映射object嘛,即\(f_r(s) \rightarrow o\)。
\(v^k_{sub}\)为subject实体中包含多个token,编码后所有subject的token向量加和取平均,使其维度和\(\mathbf{x}_i\)一致便于计算,本文中就是采用将两向量\(v^k_{sub}\)和\(\mathbf{x}_i\)简单相加的方式结合subject实体编码后的信息,同理优化目标为:
最后对Eq (3)取log得到最后的目标函数:\(J(\Theta)\)
3 实验
主要在NYT和WebNLG两个数据集上测试。
- \(\large{C} \normalsize{AS} \large{R} \normalsize{EL} _{random}\)、\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}_{LSTM}\)、\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\),使用预训练BERT的\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)效果最好,即使使用随机初始化的BERT效果也很有竞争力。
- NovelTagging (Zheng et al., 2017), CopyR (Zeng et al., 2018), GraphRel (Fu et al., 2019) and CopyRRL (Zeng et al., 2019).与CASREL对比,本文模型性能最好,尤其在F1分数在NYT和WebNLG远超sota17.5%和30.2%。
- 在不同关系重叠模式的句子中抽三元组结果也是\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)性能最好且稳定,其他方法在NYT和WebNLG上性能会大幅下降由于WebNLG的训练数据中语句有更多的关系重叠的情况,\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)表现在两个数据集上都很稳定说明克服了关系重叠的问题。
- 对于包含不同数量(N)三元组的语句抽取结果,\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)依然表现最好,且随着N增大,依然稳定,一定程度说明确实克服了关系重叠的问题以及面对复杂关系的情况的能力很稳定。
4 总结
正如参考\(^{[2]}\)中所说,subject范围确定直接最近邻万一entity span内有一个token错误就有很大的影响;同时对于object的标注需要结合subject实体信息没问题,但结合方式(直接相加\(v^k_{sub}\))是不是有更好的方式?
参考
【1】Zhepei Wei1,2, Jianlin Su4, Yue Wang5, Yuan Tian1,2?, Yi Chang1,2,3?.A Novel Cascade Binary Tagging Framework for Relational Triple Extraction.ACL 2020.
【2】论文笔记 – A Novel Cascade Binary Tagging Framework for Relational Triple Extraction.https://ivenwang.com/2020/08/11/casrel/.