文章来源 | 恒源云社区
原文地址 | UNIRE:一种用于实体关系抽取的统一标签空间
原文作者 | Mathor
Abstract
(Zhong and Chen,ACL2020 Two are better than one: Joint entity and relation extraction with table sequence encoders) 使用pipeline方法为实体检测和关系分类设置了两个独立的标签空间,并取得了SOTA。由于pipeline方法不能共享实体抽取和关系抽取的信息,因此作者为了促进两个任务的交互提出了一种可以共享标签空间的方法。
作者采用表填充的方法实现,具体来说:输入一张 s × s s\times s s×s大小的表,这张表包含一个句子中所有的单词对,实体和关系由表格中的正方形和矩形表示(实体:实体内部所有字符都是相同的实体类型标签例如PER;关系:有关系的两个实体所有的字符之间都有相同的关系标签),实体都在对角线,关系在非对角线。作者实现了SOTA并且只用了一半的参数,就达到了与最好的提取器相当的准确率,而且速度更快
Figure 1:联合实体关系提取表的示例。每个单元格对应一个单词对。实体是对角线上的正方形,关系是对角线外的矩形。请注意,PER-SOC是无向(对称)关系类型,而PHY和ORG-AFF是有向(非对称)关系类型。
该表准确地表示重叠的关系,例如:PER实体 D a v i d P e r k i n s \mathrm{David Perkins} DavidPerkins参与两个关系 ( “ D a v i d P e r k i n s ” , “ W i f e ” , P E R − S O C ) \mathrm{(“David Perkins”,“Wife”,PER-SOC)} (“DavidPerkins”,“Wife”,PER−SOC)and ( “ D a v i d P e r k i n s ” , “ C a l i f o r n i a ” , P H Y S ) \mathrm{(“David Perkins”,“California”,PHYS)} (“DavidPerkins”,“California”,PHYS)
对于每个units,一个相同的双仿射模型预测其标签。联合解码器被设置为寻找最佳正方形和矩形
1 Introduction
人们认为联合模型可能会更好,因为它们可以减轻子模型之间的误差传播,具有更紧凑的参数集,并且统一地编码关于两个任务的先验知识。本文将已有的单独的标签空间转化为统一的标签空间,存在的难点:两个子任务通常被表述不同的学习问题(例如:作为序列标签的实体检测,作为多类分类的关系分类),并且它们的标签被放置在不同的事物上(例如,词与词对)。
先前的一次尝试( Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme - ACL Anthology )是用一个序列标记模型处理这两个子任务。 设计了一个复合标签集来同时对实体和关系进行编码。然而,该模型的表现力被牺牲了:它既不能检测重叠关系(即,参与多个关系的实体),也不能检测孤立的实体(即,没有出现在任何关系中的实体)。
作者定义一个新的统一标号空间的关键思想:将实体检测看作关系分类的特例。输入空间是一个二维表,每个条目对应于句子中的一个词对(图1)。联合模型从统一的标签空间(实体类型集和关系类型集的并集)为每个单元指定标签。在图形上,实体是对角线上的正方形,关系是对角线外的矩形。该公式保留了关于现有entity−ralationentity-ralationentity−ralation提取场景(例如,重叠关系、有向关系、无向关系)的完整模型表达能力。
基于表格形式,联合实体关系提取器执行两个操作:填充和解码。首先,填表是预测每个词对的标签,类似于依存句法分析中的弧形预测任务。采用双仿射注意机制(Dozat和Manning,2016)来学习词对之间的互动。本文还对表施加了两个结构约束。然后,给出带有标签日志的表填充,本文设计了一种近似联合解码算法来输出最终提取的实体和关系。基本上,它高效地在表中找到分割点来识别正方形和矩形(这也与现有的表填充模型不同,现有的表填充模型仍然应用某些顺序解码并递增地填充表)。
在三个基准测试(ACE04,ACE05,SciERC)上的实验结果表明,与目前最先进的提取器(zhong和Chen,2020)相比,该联合方法取得了与之相当的性能:在ACE04和Science ERC上性能更好,在ACE05.1上更具竞争力;同时,我们的新联合模型在解码速度上更快(比确切的流水线实现快10倍,与近似流水线相当,但性能较低)。它还有一个更紧凑的参数集:与单独的编码器相比,共享编码器只使用一半的参数。
2 Approach
2.1 TASK DEFINITION
给定一个句子 s = x 1 , x 2 , … , x ∣ s ∣ s=x_1,x_2,…,x_{|s|} s=x1,x2,…,x∣s∣( x i x_i xi是word),目的是提取一组实体 ε \varepsilon ε和一组关系 R \mathcal{R} R。对于关系三元组 ( e 1 , e 2 , l ) (e_1,e_2,l) (e1,e2,l),其中 l ∈ Y r l \in \mathcal{Y_{r}} l∈Yr是预定义的关系类型, y e \mathcal{y_e} ye、 y r \mathcal{y_r} yr表示预定义的实体类型和关系类型的集合。
对于句子 s s s维护一个表格 T ∣ s ∣ × ∣ s ∣ T^{|s| \times |s|} T∣s∣×∣s∣,其中 ∣ s ∣ |s| ∣s∣表示句子长度。对于表 T T T中的每个单元格 c e l l ( i , j ) cell(i,j) cell(i,j),为其分配一个标签 y i , j ∈ y y_{i,j} \in \mathcal{y} yi,j∈y,其中 y e ∪ y r ∪ ⊥ \mathcal{y_e} \cup \mathcal{y_r} \cup {\perp} ye∪yr∪⊥