MENU

RE paper: RFBFN(2022)

September 20, 2023 • Read: 94 • Paper阅读设置

原文:RFBFN: A Relation-First Blank Filling Network for Joint Relational Triple Extraction

代码:RFBFN code

标签:

  • ACL2022
  • Relational Triple Extraction
  • Joint Extraction

文献学习

内容学习

1 本文所针对的问题 or 本文的改进角度

现有的联合关系三元组抽取问题的局限处是:

  • 1) 关系的语义信息并没有被充分利用;
  • 2) 实体对的抽取总是需要多步:先抽取subject,再抽取object,或者相反顺序,有时甚至还需要subject-object对齐(在明确subject实体和object实体后确定它们的配对问题)。

2 关系的语义信息没有被充分利用问题

1) 关系的语义信息
字面上说,关系的语义信息是指,关系本身所具有的确定的语义信息。
比如说,关系Capital_Of,句子A is Capital of B.就包含了该关系的语义,这个句子就可以作为这个关系的语义信息。

关系语义信息并不是一个确定形式的信息,可以理解为包含关系语义的先验知识。

2) 为什么它能够被利用?
实际上,只要确定了数据集,就确定了该数据集对应的预定义好的关系集,我们就能够知道所有关系确定的语义信息,也就能够自定义所有关系的包含其对应语义信息的所谓的关系语义信息。

对于关系三元组抽取任务,其中的关系抽取子任务,本质上,是从句子中抽取预定义好的关系。
关系抽取的本质是抽取预定义好的关系,也就是说,初始条件就是已知所有关系,那么也就知道每个关系的语义。

关系抽取任务是从句子中抽取关系三元组,那么,只要知道这个句子有关系A,就能知道这个句子有关系A的语义,那么关系A的语义就能够被利用。

3) 为什么说已有方法没有充分利用?
已有的方法都是判断这个句子有没有关系,换句话说,大多数已有模型是去学习不同关系对应的某种特征,并没有考虑去利用关系本身的语义信息。

利用与不利用的区别:
关系抽取任务是根据一个句子,抽取关系和实体对,在忽略了关系语义的情况下,不管是抽取关系还是抽取实体对,其能够处理的数据只有这个句子。
而有了关系语义,对一个句子,抽取关系时是用不到关系语义的,因为抽取关系是根据这个句子的关系表示来判断这个句子有没有这个关系的语义,简单地说,抽取关系就是判断这个句子有没有这个关系的语义特征,也就是说,关系语义对于抽取关系子任务来说相当于一个关系的黄金标准关系表示。但可以在其他与关系语义相关联的子任务上利用关系语义,也就是抽取实体对,因为一个关系三元组的实体对的确定,不仅仅与句子中实体表示有关,更重要的是与其所在的关系有关,这就涉及到了关系语义,因此在这个子任务上可以充分利用关系语义。
具体如何利用,本文就给出了一个很好的答案。

3 实体对抽取问题

一个关系三元组的形式是:(s, r, o),由一个实体对和一个关系构成,并且一个实体对中一个为subject、一个为object
因此,确定一个关系三元组的实体对,实际上是确定三个问题:

  • 确定实体对中两个实体;
  • 确定两个实体中哪个是subjec;
  • 确定两个实体中哪个是object。

从此可以看出,关系三元组抽取任务中,实体对的正确抽取是很关键的问题,并且是比确定关系更复杂的问题。
因为,对于关系来说,抽取关系本质上看的是上下文,也就是一段文本是否具有这个关系语义,而确定实体对,不仅要看实体的表示来确定是否是实体,还要看其所在关系,来确定实体对中的subject和object。
可以说,实体对的确定体现了包含关系三元组的句子中,实体与关系之间的关联性。

由于实体对抽取问题本身的复杂性,已有方法对这个子任务的处理也总是分多个步骤实现。
本文旨在一步实现实体对的抽取,达到准确且简单的效果。

4 本文方法

1) 解决问题的思路
本文针对的任务是关系三元组的抽取,也就是说,给定一个句子,提取出该句子中包含的所有(s, r, o)形式的关系三元组。要确定一个三元组,就要确定关系和实体对。
本文旨在充分利用关系的语义信息,并在抽取实体对时实现同时抽取subject和object,以实现关系三元组的抽取。
本文提出的解决方法称为RFBFN,其思想是给定一个句子,先确定关系,再利用关系的语义信息确定实体对。为了实现实体对抽取的一步到位,其灵感来源于BERT中的完形填空,将关系的语义信息以一个subject-object填空形式展现,利用该语义信息,通过完形填空来确定该关系下的实体对。
这样一来,关系的语义信息充分得到利用,这种填空确定实体对,不仅实现了根据实体与关系之间的关联性抽取实体,还实现了同时抽取两个实体并确定哪个是subject、哪个是object。

从这里也可以知道,关系的语义形式并不是确定的,可以理解为有关关系的先验知识。

2) 为什么这样能够改进性能
这种思路实际上很巧妙。
之前的方法抽取一个句子中某个关系的三元组,是通过对多个被判定为具有该关系的三元组的句子样本的学习来学习一个普适的该关系的三元组的特征。这里明显的不足在于,即使多个句子都包含同一个关系的三元组,但每个句子往往包含多个不同的关系,同时每个句子包含多个不同的关系对应的不同实体对,每个实体对的角色也是不同的。
而本文提出的方法,本质上是学习每个关系模板下的实体对特征。

举个通俗地例子来理解:
比如有n个各不相同的句子存在关系A的关系三元组,
之前的方法是根据不同句子的不同关系上下文学习:1) 关系A的特征;2)关系A对应的实体对特征,不管是关系A的特征还是关系A的实体对特征,本质上都只能依赖于对句子处理。
本文提出的方法是,虽然n个句子的关系上下文各不相同,但它们都含有关系A,因此将它们都直接映射为一个关系A的语义完形填空模板,此时问题就转换为通过n个不同样本,学习关系A的完形填空模板中实体对的特征。此时,对于关系A的特征,是依赖于对句子的处理,但是对实体对的特征,不仅利用了句子还额外有了一个关系语义,相当于多了一个关系A的先验知识来强调该关系。

这是本文通过完形填空充分利用关系语义的一个突出方面。
另一个方面是,完形填空的设计,来抽取实体对,本质上体现了利用了实体对与关系语义的关联性来确定实体对、确定实体对中的subject和object,在之前的方法中实体subject与object的确定往往脱离了与关系的关联性。

3) 具体方法

Last Modified: October 9, 2023