Zhepei Wei, et al, “A Novel Cascade Binary Tagging Framework for Relational Triple Extraction”, ACL 2020
1 简介
这篇文章还是抽取实体+关系三元组。这篇文章提出了全新的 pipeline 方法:先抽 subject,然后对于每个 subject,挨个看每个关系,判断这个 subject 有没有这个关系的合适的 object。这样就可直接克服复用的问题了!这篇文章实现的时候,使用 BERT 编码,最后的性能超强!直接暴打前人 30 多个点!
2 相关工作
之前的抽取实体+关系三元组方法(详见这篇文章),都是把实体当做离散的分类问题来解决的,即对于一对实体,找到关系。这样存在很多问题。首先,实体的分布是非常不均匀的,大部分句子里也不存在这些三元组,这样一来,这些数据对训练就没什么帮助,浪费掉了。另外,如果同一对实体可能有不同的关系,这就会让分类器很迷惑(我的理解:分类器是函数,是单射,同样的输入只能是同样的输出)。
3 算法
为了能解决上面说的问题,作者提出了训练集 $D$ 的似然函数:
$$ \begin{aligned} & \prod_{j=1}^{|D|} \Bigg[ \prod_{(s,r,o)\in T_j}p((s,r,o)|x_j)\Bigg] \\ =& \prod_{j=1}^{|D|} \Bigg[ \prod_{s\in T_j}p(s|x_j) \prod_{(r,o)\in T_j|s}p((r,o)|s,x_j) \Bigg] \\ =& \prod_{j=1}^{|D|} \Bigg[ \prod_{s\in T_j}p(s|x_j) \prod_{r\in T_j|s}p_r(o|s,x_j) \prod_{r\in R\backslash T_j|s}p_r(o_\emptyset|s,x_j)\Bigg] \end{aligned} $$
其中,$x_j$ 是训练集里的一个句子,$T_j = \{(s,r,o)\}$ 是 $x_j$ 中的所有三元组的集合,$s\in T_j$ 表示 $T_j$ 中的 subject $s$,$T_j|s$ 是 $T_j$ 中 subject 为 $s$ 的三元组集合,$(r,o)\in T_j|s$ 是其中一对(relation, object),$R$ 是所有可能关系的集合,$R\backslash T_j|s$ 代表 $T_j$ 里面所有“除了 $s$ 为 subject ”的关系的集合。
那么对于一个给定的 subject $s$,如果有包含它的三元组,就计算 $\prod_{r\in T_j|s}p_r((o|s,x_j)$,作为正例的分数;如果没有包含它的三元组,就计算 $\prod_{r\in R\backslash T_j|s}p_r((o_\emptyset|s,x_j)$,作为负例的分数。这样一来,就能用上之前方法用不上的训练数据了!
另外,这样一来,就可以不限制地对所有关系进行判断,根本就没有什么三元组的共享实体,就不会有“复用”的问题了。
于是整个优化过程,就是最大化似然函数。如果所有概率都是 1,那不就完全拟合了训练集的三元组数据!
那怎么来设计模型结构呢?上面这个式子分成两部分,模型也是:首先是预测 subject $p(s|x_j)$,然后对于每个关系 $r$,预测 object $p_r(o|s,x_j)$。具体结构如下图所示:

下面我就分成三个部分,分别叙述分数中 $p(s|x_j),p_r(o|s,x_j),p_r(o_\emptyset|s,x_j)$ 是如何计算的。
3.1 BERT encoder
这部分作者采用三种结构进行对比,分别是完整的 BERT 预训练框架、基于 LSTM 的 Glove 作为预训练 embedding 的 encoder(还是这篇文章)、随机权重的 encoder。
3.2 subject tagger
这一层 subject tagger 由两个一模一样的二分分类器组成,分别判断每一个 token 是否为 subject 的开始或结束,并为其赋值 0/1。具体在每个 token 上的操作如下:
$$ \begin{aligned} p_i^{start_s} &= \sigma(W_{start}X_i + b_{start})\\ p_i^{end_s} &= \sigma(W_{end}X_i + b_{end}) \end{aligned}$$
其中 $p_i^{start_s}$ 和 $p_i^{end_s}$ 表示句子的第 i 个 token 是 subject 开始/结尾的概率。实验中,超过某一个阈值,就将其 tag 赋为 1。$X_i$ 是前一步得到的 token 的特征表示。
subject tagger 部分的目标函数即为最大化它的似然函数:
$$p_\theta(s|X) = \prod_{t\in \{start\_s,end\_s\}}\prod_{i=1}^L(p_i^t)^{I\{y_i^t = 1\}}(1-p_i^t)^{I\{y_i^t = 0\}}$$
其中 $L$ 是句子的长度,$z$ 为真时,$I\{z\}=1$,$y^t_i\in\{0,1\}$ 是第 i 个 token 是 subject 开始/结尾的 tag 值。还是一样,这样的似然函数就用上了所有“不是 subject”的训练数据。
3.3 relation-specific object taggers
上一步得到 subject 的起始位置之后,作者用一个非常朴素的方法判断 subject:直接取最近的 start 和 end 之间的所有 token 当做 subject。我个人觉的不太靠谱——中间有错一个或者缺一个,那整句话可能就都错了。不过我也没想到什么更好的方法。
relation-specific object tagger 是对于每一个关系 $r$,计算每一个 token 是这个 subject 和这个 relation 对应的 object 的起始的概率:
$$ \begin{aligned} p_i^{start_o} &= \sigma(W^r_{start}(X_i+v^k_{sub}) + b^r_{start})\\ p_i^{end_o} &= \sigma(W^r_{end}(X_i+v^k_{sub}) + b^r_{end}) \end{aligned} $$
其中 $v^k_{sub}$ 是句子中第 k 个 subject 的 embedding。这里让 $X_i$ 和 $v^k_{sub}$ 直接相加,我不是很懂,这样得到的结果是这两个词语义的中间值吗?然后为了能让这俩相加,这俩的 shape 需要一样。于是,$v^k_{sub}$ 直接就是用 这个 subject 中每一个 token 的 embedding 相加得到。
那么预测 object 阶段的似然函数:
$$p_{\phi_r}(o|s,X) = \prod_{t\in\{start\_o,end\_o\}}\prod_{i=1}^L(p_I^t)^{I\{y_i^t = 1\}}(1-p_i^t)^{I\{y_i^t = 0\}}$$
同 3.2,不赘述了
3.4 总体似然函数
第三部分起始的似然函数取对数:
$$\sum_{j=1}^{|D|}\Bigg[\sum_{s\in T_j}\log p_\theta(s|X_j) + \sum_{r\in T_j|s}\;og p_{\phi_r}(o|s,X_j) + \sum_{r\in R \backslash T_j|s}\log p_{\phi_r}(o_\emptyset|s,X_j)\Bigg]$$
这样就可以直接用 SGD 来优化了
4 实验结果
- SOTA,且在 NYT 和 WebNLG 上分别有了 17.5% 和 30.2% 的巨大提升!
- 为什么 WebNLG 上提升多?因为 WebNLG 上的复用情况更多
- 其它方法在 WebNLG 上的性能明显差于 NYT,而 CasREL 在两者上性能相当,说明已经克服了复用的问题
- 其他方法在复用数增大时,性能明显下降,而 CasREL 基本不动,说明已经克服了复用的问题
- encoder 采用 BERT 要比随机 embedding 效果好
- CasREL 不受三元组数量、复用限制,从根本上就吊打之前的所有
5 总结
- 这个其实算是 pipeline 方法了,看看能不能整成 joint 的
- 我感觉这篇文章写得很好!先给思路,然后从大局开始,层层展开。
- 设计的模型也很好!明明都是那么简单的东西,稍微一组合,性能那么强。作者是怎么想到的呢?他在文章里完全没给出灵感所在哇?不过我觉得,跟 TransE 的想法有点像
[mathjax]
Viel Glück in Ihrem Blog, wie ich weiterhin regelmäßig zu folgen. Cicely Hillie Berkow
谢谢
Beeindruckend! Dies könnte einer der nützlichsten Blogs sein, die wir jemals zu diesem Thema gesehen haben. Eigentlich großartig. Ich bin auch Spezialist für dieses Thema, damit ich Ihre Bemühungen verstehen kann. Anya Bartolemo Tallia
谢谢
You do have a fabulous blog thanks.
Bonnibelle Dennet Aubarta
谢谢
I am truly grateful to the holder of this website who has shared this fantastic paragraph at at this time. Meg Tibold Devi
谢谢