[论文阅读]UNIRE: A Unified Label Space for Entity Relation Extraction[ACL2021]

论文地址:https://aclanthology.org/2021.acl-long.19/
代码地址:https://github.com/Receiling/UniRE
关键模型:LSTM,BERT,ALBERT,SciBERT
数据集:[论文阅读]UNIRE: A Unified Label Space for Entity Relation Extraction[ACL2021]


作者认为实体与关系联合处理会比较好,设计了统一的标签空间中提取实体和关系,以便更好地挖掘两个子任务之间的交互。提出新颖的表格,将实体和关系表示为正方形和矩形。对角线上是每个单词的实体类型号,对角线以外是实体之间的关系,关系也分为对称关系与非对称关系,如图:
[论文阅读]UNIRE: A Unified Label Space for Entity Relation Extraction[ACL2021]
David Perkins”参与了两种关系(“David Perkins”,“wife”,PER-SOC)和(“David Perkins”,“California”,PHYS)。对于每一个单元,同一个biaffine模型预测其标签。联合解码器被设置为寻找最佳的正方形和矩形。所以任务变成了如何巧妙编码表格单元元素,以及如何解码表格单元元素


模型总览:
[论文阅读]UNIRE: A Unified Label Space for Entity Relation Extraction[ACL2021]
其中PLM是预训练语言模型,编码句子上下文


Biaffine Model

为了使表格中的单词有方向,采用双仿射注意力机制,对每个单词采用头MLP与尾MLP:\(\mathbf{h}_{i}^{\text {head }}=\operatorname{MLP}_{\text {head }}\left(\mathbf{h}_{i}\right), \quad \mathbf{h}_{i}^{\text {tail }}=\operatorname{MLP}_{\text {tail }}\left(\mathbf{h}_{i}\right)\)
得到每个单词对的得分:\(\begin{aligned} \mathbf{g}_{i, j} &=\operatorname{Biaff}\left(\mathbf{h}_{i}^{\text {head }}, \mathbf{h}_{j}^{\text {tail }}\right) \\ \operatorname{Biaff}\left(\mathbf{h}_{1}, \mathbf{h}_{2}\right) &=\mathbf{h}_{1}^{T} \mathbf{U}_{1} \mathbf{h}_{2}+\mathbf{U}_{2}\left(\mathbf{h}_{1} \oplus \mathbf{h}_{2}\right)+\mathbf{b} \end{aligned}\)

Table Filling

使用softmax来预测得分中各个标签的概率:\(P\left(\mathbf{y}_{i, j} \mid s\right)=\operatorname{Softmax}\left(\operatorname{dropout}\left(\mathbf{g}_{i, j}\right)\right)\)
损失函数:\(\mathcal{L}_{\text {entry }}=-\frac{1}{|s|^{2}} \sum_{i=1}^{|s|} \sum_{j=1}^{|s|} \log P\left(\mathbf{y}_{i, j}=y_{i, j} \mid s\right),(1)\)

Constraints

为了增强模型,添加了合理完美的限制

Symmetry对称性

如文中提供的表格,某些关系是有方向的(在表格中表现为不对称)。反之,有些关系是有无方向的(在表格中表现为对称),由于实体由单词组成,且一般在对角线上,所以定义为对称的。
\(\mathcal{L}_{\mathrm{sym}}=\frac{1}{|s|^{2}} \sum_{i=1}^{|s|} \sum_{j=1}^{|s|} \sum_{t \in \mathcal{Y}_{\mathrm{sym}}}\left|\mathcal{P}_{i, j, t}-\mathcal{P}_{j, i, t}\right|\)
从损失函数可以看到,设计思想就是让对称的单元元素尽可能训练中趋于一致。

Implication隐含的

通俗解释,有实体才有关系,所以对角线上的实体的值必须大于同一行或同一列其他表格元素的值
\(\mathcal{L}_{\text {imp }}=\frac{1}{|s|} \sum_{i=1}^{|s|}\left[\max _{l \in \mathcal{Y}_{r}}\left\{\mathcal{P}_{i, ;, l}, \mathcal{P}_{:, i, l}\right\}-\max _{t \in \mathcal{Y}_{e}}\left\{\mathcal{P}_{i, i, t}\right\}\right]_{*}\)
最后将三部分loss相加作为模型最终训练用的损失函数。


解码:

[论文阅读]UNIRE: A Unified Label Space for Entity Relation Extraction[ACL2021]
联合解码算法概述。它包括三个步骤:跨度解码、实体类型解码和关系类型解码
受(Sun et al.,2019)程序的启发,我们提出了一种三步解码算法:首先解码跨度(实体跨度或实体之间的跨度),然后解码每个跨度的实体类型,最后解码每个实体对的关系类型。我们考虑在所有标签上(包括实体标签和关系标签)的每个单元的概率得分,并根据阈值预测跨度。然后,我们预测得分最高的实体和关系。
一个重要观察结果是,对于任意实体,其对应的行(或列)在表中完全相同(例如,图1的第1行和第2行相同),而不仅仅是对角线条目(实体为正方形),但对于非对角条目(如果它参与了与另一个实体的关系,则其所有行(列)都将以相同的方式找到该关系标签)。换句话说,如果相邻的行/列不同,则必须存在实体边界(即,一个属于实体,另一个不属于实体)。因此,如果我们的双仿射模型经过合理的训练,给定一个模型预测表,我们就可以利用这个特性找到实体边界的分割位置。


*Span Decoding:按行/列计算欧氏距离,将每个单词计算出的行/列距离进行平均,大于设定的阈值(\(\gamma =1.4\))则将此位置定位拆分位置
*Entity Type Decoding:通过上一步得到的Span(i,j),得到起始节点i与结束节点j,生成的矩形进行实体类型解码\(\hat{t}=\arg \max _{t \in \mathcal{Y}_{e} \cup\{\perp\}} \operatorname{Avg}\left(\mathcal{P}_{i: j, i: j, t}\right)\),解码得到的结果是实体标签或者是无关系。
*Relation Type Decoding:得到一个具有跨度(i,j)的实体\(e_1\)与具有跨度(m,n)的实体\(e_2\),使用相应矩形解码两个实体之间的关系\(\hat{l}=\arg \max _{l \in \mathcal{Y}_{r} \cup\{\perp\}} \operatorname{Avg}\left(\mathcal{P}_{i: j, m: n, l}\right)\)


实验结果:
[论文阅读]UNIRE: A Unified Label Space for Entity Relation Extraction[ACL2021]
消融实验:
[论文阅读]UNIRE: A Unified Label Space for Entity Relation Extraction[ACL2021]

上一篇:JVM面试知识点


下一篇:FEALPy 调试