【论文精读】AAAI 2022 - OneRel Joint Entity and Relation Extraction with One Module in One Step

【论文精读】AAAI 2022 - OneRel: Joint Entity and Relation Extraction with One Module in One Step

【论文原文】:OneRel: Joint Entity and Relation Extraction with One Module in One Step

【作者信息】:Shang, Yu-Ming and Huang, Heyan and Mao, Xianling

论文:https://arxiv.org/pdf/2203.05412v1.pdf
代码:https://github.com/China-ChallengeHub/OneRel

博主关键词:关系抽取,联合抽取

推荐论文:TPLinker,CasRel,W2NER,OneEE

摘要

联合实体和关系提取是自然语言处理和知识图构建中的一项重要任务。现有的方法通常将联合提取任务分解为几个基本模块或处理步骤,以使其易于执行。然而,这样的范式忽略了一个事实,即三元组的三个元素是相互依存和不可分割的。因此,以前的联合方法存在级联错误和冗余信息的问题。为了解决这些问题,在本文中,我们提出了一种新的联合实体和关系提取模型OneRel,该模型将联合提取视为一个细粒度的三元组分类问题。具体来说,我们的模型由一个基于评分的分类器和一个特定关系的horns tagging策略组成。前者评估token对和关系是否属于真实三元组。后者确保了一个简单但有效的解码过程。在两个广泛使用的数据集上的大量实验结果表明,所提出的方法比最先进的基线性能更好,并且在各种重叠模式和多个三元组的复杂场景中提供了一致的性能增益。

1、简介

传统的实体和关系抽取存在错误级联的问题,所以近些年血多研究都在构建一个统一的模型来实现实体和关系联合抽取。为了使复杂的任务易于执行,现有的研究通常将联合提取分解为几个基本模块或处理步骤(Yu et al 2020;Zhao et al 2021b)。如图1所示,根据三元素的提取过程,这些方法分为两类:多模块多步骤和多模块单步骤。第一类使用不同的模块框架的级联分类框架(Fu, Li, and Ma 2019; Yuan et al 2020; Wei et al 2020; Zheng et al 2021; Zhao et al 2021a,b)或文本生成框架(Zeng et al 2018; Zeng, Zhang, and Liu 2020; Ye et al 2021),以逐步获得实体和关系。尽管这类模型很有前景,但由于早期步骤中的错误可能会影响后续步骤的预测结果,因此存在级联错误传播问题。第二类尝试分别识别实体和关系,然后根据它们的潜在相关性将它们组合成三元组(Wang et al 2020; Sui et al 2020; Wang et al 2021)。然而,由于在单独的识别过程中实体和关系之间的相互约束不足,这种方法往往会产生冗余信息,导致在组装三元组时出错(Zheng et al 2017)。

事实上,上述问题的根本原因是基于分解的范式忽略了三元组一个重要的性质,它的头实体、关系实体和尾实体是相互依存、不可分割的。换句话说,在没有充分感知其他两个元素的信息的情况下提取一个元素是不可靠的。为了填补这一空白,我们试图从三重分类的角度来完成联合提取任务。例如,如图1所示,“Bionico”和“Mexico”是句子中的两个词,Country是预定义的关系,所有这些都在训练数据中可见。直观地说,三元组(Bionico,Country,Mexico)可以通过判断其正确性来直接识别。这个想法带来了以下三个优点。首先,头部实体、关系和尾部实体被同时馈送到一个分类模块中,从而可以完全捕获三元素之间的依赖关系,从而减少冗余信息。其次,只使用一步分类,能够有效地避免级联错误。第三,一个模块一步到位的简单架构使网络变得简单且易于训练

受上述思想的启发,本文提出了一种新的联合实体和关系提取模型OneRel,该模型能够用一个模块一步从非结构化文本中提取所有三元组。考虑到一个实体可能由多个token组成,我们设计了一个基于评分的分类器,并将联合提取任务转化为细粒度的三元组分类问题。具体而言,对于token对 ( w i , w j ) (w_i,w_j) (wi,wj)和预定义的关系 r k r_k rk,基于评分的分类器测量组合 ( w i , r k , w j ) (w_i,r_k,w_j) (wi,rk,wj)。为此,对于输入句子,OneRel的输出是三维矩阵,每个条目对应于 ( w i , r k , w j ) (w_i,r_k,w_j) (wi,rk,wj)的分类结果。为了准确有效地从输出矩阵中解码实体和关系,我们引入了一种新的特定关系horns tagging(简称Rel-Spec Horns Tagging)策略来确定头部实体和尾部实体的边界标记。在两个广泛使用的基准数据集上的实验结果证明,所提出的方法优于以前的方法,并达到了最先进的性能。

总的来说,本文的贡献如下:

  • 我们提供了一个新的视角,将联合提取转化为细粒度的三元组分类,使其能够同时捕获头部实体、关系和尾部实体的信息。
  • 根据我们的观点,我们引入了一种新的基于评分的分类器和Rel-Spec Horns Tagging策略。前者负责并行标记,而后者确保高效解码。
  • 我们在两个公共数据集上评估了我们的模型,结果表明,我们的方法比最先进的基线表现更好,尤其是在重叠三元组的复杂场景下。

2、相关工作

现有的联合方法根据其三元组提取过程可以大致分为两类:

扫描二维码关注公众号,回复: 14957642 查看本文章

第一类是多模块多步骤,它使用不同的模块和相互关联的处理步骤来连续提取实体和关系。例如,第一部工作首先识别句子中的所有实体,然后在每个实体对之间进行关系分类(Katiyar and Cardie 2017; Tan et al 2019; Fu, Li, and Ma 2019; Liu et al 2020). 第二部工作首先检测句子表达的关系,而不是保留所有多余的关系;然后预测头实体和尾实体(Zeng et al 2018; Yuan et al 2020; Zheng et al 2021; Ma, Ren, and Zhang 2021)。第三部工作首先区分所有的头实体,然后通过序列标记或问答推理出相应的关系和尾实体(Wei et al 2020; Yu et al 2020; Zhao et al 2021a,b; Ye et al 2021)。尽管取得了成功,但多模块多步骤方法仍存在级联错误的问题,因为早期步骤中的错误无法在后续步骤中纠正。

第二类是多模块一步,它并行地提取实体和关系,然后将它们组合成三元组。例如,Miwa and Bansal (2016); Zhang, Zhang, and Fu (2017); Wang et al (2020, 2021) 将实体识别和关系分类视为表格填充问题,其中每个条目代表两个单词之间的交互。Sui等人(2020)将联合提取任务公式化为集合预测问题,避免考虑多个三元组的预测顺序。然而,由于在单独的识别过程中实体和关系之间的相互约束不足,这种多模块一步方法无法完全捕捉预测的实体和关系间的依赖关系,导致在三重构建过程中存在冗余信息。

与现有的方法不同,在本文中,我们提出将联合提取任务视为一个细粒度的三元组分类问题,它能够以一个模块一步的方式从句子中提取三元组。因此,可以极大地解决上述级联错误和冗余信息。此外,经典模型Novel-Tagging(Zhang,Zhang,and Fu 2017)设计了一种复杂的标记策略来建立实体和关系之间的联系,并且还可以一步从句子中识别三元组。然而,这种技术不能处理重叠的情况,因为它假设每个实体对最多拥有一个关系。

3、方法

在本节中,我们首先给出任务的定义和符号。然后,我们介绍了我们的Rel-Spec Horns Tagging策略及其解码算法。最后,我们提供了基于评分的分类器的详细形式化。

3.1 任务定义

给定一个句子 S = { w 1 , w 2 , … , w L } S=\{w_1,w_2,\ldots,w_L \} S={ w1,w2,,wL},有 L L L个token和 K K K个预定义好的关系 R = { r 1 , r 2 , . . . , r K } \mathcal{R}=\{r_1,r_2,...,r_K \} R={ r1,r2,...,rK}。联合实体和关系抽取的目的是去识别句子 S S S所有可能的三元组 T = { ( h i , r i , t i ) } i = 1 N \mathcal{T}=\{ (h_i,r_i,t_i) \}_{i=1}^N T={(hi,ri,ti)}i=1N N N N是三元组的数量, h i , t i h_i,t_i hi,ti连续几个token组成的头实体和尾实体,即 entity.span = w p : q w_{p:q} wp:q w p : q w_{p:q} wp:q指的是 w p w_p wp w q w_q wq的连接。

请注意,不同的三元组可能共享重叠的实体,这对联合提取任务构成了巨大挑战(Zeng et al 2018)。

3.2 Relation Specific Horns Tagging

对于一个句子,我们设计了一个分类器来为所有可能的 ( w i , r k , w j ) (w_i,r_k,w_j) (wi,rk,wj)组合分配标签,其中 w i , w j ∈ S , r k ∈ R w_i,w_j∈S,r_k∈\mathcal{R} wi,wjS,rkR。我们保持一个三维矩阵 M L × K × L M^{L×K×L} ML×K×L来存储分类结果(Tagging)。因此,在测试阶段,我们的任务是从矩阵 M M M中解码实体和关系(解码)。

标记:我们使用“BIE”(Begin,Inside,End)符号来指示token在实体中的位置信息。例如,“HB”表示头部实体的开始token,“TE”表示尾部实体的结束token。如图2(a)所示,对于一个表达三元组(New York City,Location in,New York State)的句子,在特定关系的子矩阵 M r = Location in M_{r=\text{Location in}} Mr=Location in中有九个特殊标签(蓝色标签)。

根据可以通过检测实体的边界token来确定实体的见解(Wei et al 2020),我们的标记策略中使用了四种类型的标记:(1)HB-TB。这个标签指的是这两个位置分别是以特定关系为条件的成对头部和尾部的开始标记。例如,“New York City”和“New York State”这两个实体之间存在一种关系,因此,组合的分类标签(“New”、“Located in”、“New”)被分配了标签“HB-TB”。(2) HB-TE。这个标签意味着行对应的token是头实体的开始,而列对应的token则是尾实体的结束。例如,“New”是“New York City”的开始标记,“State”是“New York State”的结束标记,因此(“New”,Location in ,“State”)的组合被赋予标签“HB-TE”。(3) HE-TE。这个标签与“HB-TB”有着相似的逻辑,这意味着两个位置分别是以特定关系为条件的成对头部实体和尾部实体的末端标记。例如,(“City”、Location in、“State")的组合被指定为“HE-TE”。(4) “-”. 除上述三种情况外的所有情况都将标记为“-”。正如我们从图2(b)和(c)中看到的那样,因为只有矩形的三个角需要标记,所以我们生动地将这种方法命名为Rel-Spec Horns Tagging。

显然,标记矩阵 M M M是稀疏的,这具有以下优点:首先,在进行分类时,使用三个而不是九个特殊标签可以有效地缩小潜在的搜索空间。其次,稀疏的 M M M意味着在训练过程中有足够的负样本。第三, M M M的稀疏性确保了三元解码的简单性和效率。

此外,我们的Rel-Spec Horns Tagging可以自然地解决具有重叠模式的复杂场景。具体来说,对于EntityPairOverlap(EPO)情况,实体对将根据它们的关系被标记在不同的子矩阵中。例如,在图2(a)和(b)中,(New York City,Location in,New York State)和(New York State,Contain,New York City)是两个EPO三元组,因此,这两个实体对分别标记为 M r = Located in M_{r=\text{Located in}} Mr=Located in M r = Contains M_{r=\text{Contains}} Mr=Contains。对于SingleEntityOverlap(SEO)场景,如果两个三元组包含相同的关系,那么这两个实体对将被标记在 M r = i M_{r=i} Mr=i的不同部分,否则它们将根据它们的关系被标记在不同的子矩阵中。对于最复杂的头尾重叠(HTO)模式,例如图2(c)中的三元组(New York City,City Name,New York),实体对(红色标签)位于 M r = City name M_{r=\text{City name}} Mr=City name的对角线附近,仍然可以很容易地解码。

解码:标记矩阵 M L × K × L M^{L×K×L} ML×K×L标记成对的头部实体和尾部实体的边界token,以及它们之间的关系。因此,从 M M M中解码三元组变得简单明了。也就是说,对于每个关系,头部实体的跨度从“HB-TE”拼接到“HE-TE”;尾部实体的跨度从“HB-TB”拼接到“HB-TE”;两个配对实体共享相同的“HB-TE”。

3.3 基于得分的分类

对于输入句子,我们使用预先训练的BERT(Devlin et al. 2019)作为句子编码器来捕获每个token的 D D D维token嵌入 e i e_i ei
{ e 1 , e 2 , … , e L } = B E R T ( { x 1 , x 2 , … , x L } ) (1) \{e_1,e_2,\ldots,e_L \}=BERT(\{x_1,x_2,\ldots,x_L \}) \tag{1} { e1,e2,,eL}=BERT({ x1,x2,,xL})(1)
其中 x i x_i xi是每个token的输入表示。它是对应的token嵌入和位置嵌入的总和。

然后,我们列举了所有可能的 ( e i , r k , e j ) (e_i,r_k,e_j) (ei,rk,ej)组合,并设计了一个分类器来分配高置信度标签,其中 r k r_k rk是随机初始化的关系表示。直观地说,我们可以使用一个输入为 ( e i , r k , e j ) (e_i,r_k,e_j) (ei,rk,ej)的简单分类网络来实现这一目标。然而,这种直觉有两个缺陷:一方面,一个简单的分类器不仅无法充分探索实体和关系之间的相互作用,而且很难对三元组的固有结构信息进行建模。另一方面,使用 ( e i , r k , e j ) (e_i,r_k,e_j) (ei,rk,ej)作为输入意味着模型需要执行至少 L × K × L L×K×L L×K×L的计算来对所有组合进行分类,这在时间上是不可接受的

受知识图嵌入技术的启发,我们借用了HOLE(Nickel、Rosasco和Poggio,2016)的思想,其得分函数定义为:
f r ( h , t ) = r T ( h ∗ t ) (2) f_r(h,t)=r^T (h * t) \tag{2} fr(h,t)=rT(ht)(2)
其中 h , t h,t h,t分别是头和尾的表示, ∗ * 意思是循环相关性,用于挖掘两个实体之间的潜在相关性。在这里,我们重新定义 ∗ * 运算符作为非线性级联投影:
h ∗ t = ϕ ( W [ h ; t ] T + b ) (3) h*t=\phi (W[h;t]^T +b ) \tag{3} ht=ϕ(W[h;t]T+b)(3)
其中 W ∈ R d e × 2 d W\in \mathbb{R}^{d_e×2d} WRde×2d b b b是可训练的权重和偏差, d e d_e de表示实体对表示的维数。 [ ; ] [;] [;]是串联运算, ϕ ( ⋅ ) \phi(\cdot) ϕ()是ReLU激活函数。新的定义带来了以下好处:首先,我们分类器的分数函数可以与句子编码器的输出无缝连接。其次,可以通过矩阵 W W W自适应地学习从实体特征到实体对表示的映射函数。第三,两个实体之间的级联是不可交换的,即 [ h ; t ] ≠ [ t ; h ] [h;t] \ne [t;h] [h;t]=[t;h],这对于建模不对称关系是必不可少的。

接下来,我们使用所有关系表示 R ∈ R d e × 4 K \mathcal{R}\in \mathbb{R}^{d_e×4K} RRde×4K来同时计算token对 ( w i , w j ) (w_i,w_j) (wi,wj) ( w i , r k , w j ) k = 1 K (w_i,r_k,w_j)_{k=1}^{K} (wi,rk,wj)k=1K的显著性,其中4是分类标签的数量。因此,我们的方法的最终得分函数定义为:
v ( w i , r k , w j ) k = 1 K = R T ϕ ( d r o p ( W [ e i ; e j ] T + b ) ) (4) v_{ {(w_i,r_k,w_j)}_{k=1}^{K}}=R^T \phi(drop(W[e_i;e_j]^T+b)) \tag{4} v(wi,rk,wj)k=1K=RTϕ(drop(W[ei;ej]T+b))(4)
其中 v v v是得分向量, d r o p ( ⋅ ) drop(\cdot) drop()表示用于防止过度拟合的丢弃策略(Srivastava et al. 2014)。因此,我们仅用两层完全连接的网络就实现了并行评分(矩阵 R R R也可以被视为可训练的权重),并将实际实现的处理步骤减少到 L × 1 × L L×1×L L×1×L,甚至优于TPLinker(Wang et al 2020)。此外,分数函数符合HOLE的思想,能够捕捉关系之间的相关性和互斥性,这将在实验中得到验证。最后,我们将 ( w i , r k , w j ) ({w_i,r_k,w_j}) (wi,rk,wj)的得分向量输入到softmax函数中,以预测相应的标签:
P ( y ( w i , r k , w j ) ∣ S ) = S o f t m a x ( v w i , r k , w j ) (5) P(y_{(w_i,r_k,w_j)}|S)=Softmax(v_{w_i,r_k,w_j}) \tag{5} P(y(wi,rk,wj)S)=Softmax(vwi,rk,wj)(5)
OneRel的损失函数将被定义为:
L t r i p l e = − 1 L × K × L × ∑ i = 1 L ∑ k = 1 K ∑ j = 1 L log ⁡ P ( y ( w i , r k , w j ) = g ( w i , r k , w j ) ∣ S ) (6) L_{triple}=- \frac{1}{L \times K \times L} \times \sum_{i=1}^L \sum_{k=1}^{K} \sum_{j=1}^{L} \log P(y_{({w_i,r_k,w_j})}=g_{({w_i,r_k,w_j})}|S) \tag{6} Ltriple=L×K×L1×i=1Lk=1Kj=1LlogP(y(wi,rk,wj)=g(wi,rk,wj)S)(6)
g ( w i , r k , w j ) g_{({w_i,r_k,w_j})} g(wi,rk,wj)是标准的标签。

4、实验

数据集

实验结果

5、总结

在本文中,我们提供了一个新的视角来将联合提取任务转化为细粒度的三元组分类问题,并提出了一种新的联合模型,该模型具有基于评分的分类器和Rel-Spec Horns Tagging策略,可以一步获得一个模块的三元组分类器,极大地缓解了级联错误和冗余信息的问题。在公共数据集上的实验表明,我们的模型在不同场景下的性能优于最先进的方法。

在未来,我们希望探索以下方向:

  • 为了提高模型的效率,我们设计了一个简化版的HOLE作为分数函数。接下来,我们将尝试设计一个更高效、更强大的评分函数,以进一步增强其捕捉实体和关系之间联系的能力。
  • 我们想在其他信息提取问题中探索三元组分类的想法,例如事件提取。

【论文速递 | 精选】

论坛地址:https://bbs.csdn.net/forums/paper

最近工作

猜你喜欢

转载自blog.csdn.net/qq_45041871/article/details/130320220
one