Press "Enter" to skip to content

Active Relation Discovery: Towards General and Label-aware OpenRE

Active Relation Discovery: Towards General and Label-aware OpenRE

 

ACL2022 —— 匿名预打印版本

 

Source: Active Relation Discovery: Towards General and Label-aware OpenRE

 

Code: Active Relation Discovery: Towards General and Label-aware OpenRE

 

Abstract

 

开放关系抽取(OpenRE)旨在从开放域中发现和标注新的关系。以往的方法主要存在两个问题: (1 )对已知关系和新关系的区分能力不足 。当将传统的测试设置扩展到更一般的设置时,其中 测试数据也可能来自已知类 ,现有OpenRE方法的性能会出现显着下降。(2) 实际应用前必须进行二次标注 。现有的方法无法自动为新关系标注出 易读、有意义 的类型,然而这是下游任务迫切需要的。为了解决这些问题,本文提出了主动关系发现(ARD)框架,该框架利用关系异常检测来区分已知和新关系,并引入主动学习来标记新关系。在三个真实世界的数据集上进行的大量实验表明,在传统和本文提出的一般OpenRE设置上(general OpenRE),ARD的性能显着优于SOTA。

 

Introduction

 

开放关系抽取旨从开放域数据集中在发现和抽取潜在的新关系。新关系以每年数万种的速度出现,而大多数迅速出现的关系仍 未被标记 和 未被充分探索 ,且 混杂着预定义的关系 。由于受限于固定的预定义关系架构,现有的有监督关系抽取方法是无法很好的处理新关系识别。一些工作注意到了新关系识别的困难及挑战,并开始探索开放域关系抽取。之前的开放域关系抽取工作主要分为两种主要路线: 基于模式和基于聚类 。基于模式的方法利用统计或者 机器学习 方法来 启发式提取关系模式 ,基于聚类的方法则 将表示同一新关系的实例聚成簇 ,然而在真实应用场景下,先前的工作主要有两个缺陷:

 

 

    1. 先前的方法 广泛使用传统设置 ,然而传统的设置并不能全面的反应OpenRE在真实世界的情况。具体来说,传统的OpenRE设置下, 测试集没有已知关系,仅存在新关系 。因此,模型仅仅需要鉴别新关系。固然,对新关系进行鉴别是所有OpenRE模型的必要能力,但是 区分已经关系和新关系的能力同样很重要 。在真实世界中, 已知关系和新关系是混在一起的 ,因此在测试阶段假定我们不会遇到已知关系是不真实的。但在传统设置下,现有的OpenRE模型显然没有学到这种区分已知关系和新关系的能力。根据上述事实,本文在一个通用OpenRE设置上评估现有的OpenRE模型:测试数据也可能来自已知关系。经验实验表明,SOTA模型在这种情况下表现不佳。PS: 通用OpenRE设置就是指测试集既包含已知关系,也包含新关系。

 

    1. 在实际应用之前,当前OpenRE方法输出的 结果需要二次标注 。换句话说,对于一个确定的新关系,模型不能为它指定一个具有 特定含义的表面名称 。这是由于新关系都是没有预定义导致的。作为一系列下游任务的基础,具有实际意义的标签是迫切需要的。然而,由于缺乏人类知识,基于模式和基于聚类的方法都缺乏将新关系类型命名为 人类可读且有意义 的能力。基于模式方法严重依赖于表面形式短语,但实体之间的关系通常不能直接由句子中的某个跨度(Span)表示。基于聚类的方法仅仅是将表示同一关系的实例聚成簇,并没有提供具体的新关系表示。这两种方法都需要手动重新标记新发现的关系。模型和实践之间的这种差距阻碍了现实场景中的模型应用。

 

 

为了解决以上两个缺陷,本文提出了主动关系发现框架(Active Relation Discovery),主要是针对两方面提升:

 

(1)为了避免模型被混有已知关系和新关系的情况迷惑,本文提出了一个关系异常检测算法来区分已知关系和新关系。通过将新关系当作异常点,实现通用OpenRE设置下的性能稳定性。

 

(2)为了给新关系分配有意义的标签,融合人类知识是不可避免的。为了最小化人工成本,本文提出了一种主动学习算法。具体地,本文引入 表示性实例 ,这种实例能够提供新关系的丰富信息(或者说代表性信息)。只有少数具有代表性的实例需要人工标注,然后模型可以在监督下自动标注新关系。

 

Task Formulation

 

General OpenRE: 训练集 ,其中 是 预定义好的已知关系 集合,且均 已标注 。此外,我们假定存在一个关系集合 ,其中 仅包含无标注的新关系 。因此,我们的任务设置是:在真实场景中,我们需要处理一个关系既包含 的数据集。具体流程为:首先我们区分已知关系和新关系,然后对每个实例进行标注。

 

在这种设置下,我们首先考虑新关系发现,其中我们仅关注新关系的挖掘。在该阶段,我们首先在 上预训练一个模型,并获得一个训好的编码器 。接着对于一个具体的数据集(测试集), ,模型需要无监督的将 分为已知关系集合 和新关系集合 。其中, 能够根据 的大量知识进行标注。因此,第二步我们需要关注新关系 的标注,在这一阶段,我们基于主动学习的启发,利用有限的人工成本来提高新关系标注的性能。我们的模型查询 中的一小部分代表性样本集合,然后对它们进行人工标注,接着用这些标注实例来训练分类器,进行自动标注新关系。

 

Methodology

Overview

 

整体框架分为三部分:

关系表示学习(Relation representation):将实例的关系语义映射为低维度的稠密表示。
关系异常检测(Relational Outlier Detection):模型自动从真实数据集中检测新关系,得到新关系集合并作为主动学习模块的输入。
关系主动学习(Relational Active Learning):模型选择最具代表性(信息量最大)的实例集合来训练一个优质的分类器,并对新关系进行标注。

Relation Representation

 

给定一个数据集 ,其中 是一个token序列 ,且有两个已标记的实体 。我们使用关系三元组 来表示关系 以及对应的实体对。对应的,我们有 来代表实例表示关系 。具体来说,我们定义 四个特殊的标记 来定为头实体和尾实体的起始和终止位置,定义 的索引为START(h)和START(t)。由此,一个实例可以被表示为以下形式:

 

接着,我们使用预训练语言模型(比如说BERT),来编码每个token ,得到对应的表示 ,其中 是embedding的维度。对于任意的 ,我们级联 头实体和尾实体起始位置 对应的表示 来作为关系的语义表示: ,其中 为该实体对应的关系标签。这些额外标记的作用类似于传统RE任务中的位置嵌入,关系表示 接下来会用于预测关系类型 。

 

如前面所说, 用于微调预训练语言模型,除了传统的交叉熵损失,我们引入了有监督对比损失:

 

 

其中, 是在一个batch中不同的i的所有正样本索引集合。对比loss的目标是让类内的实例更加紧凑,类间实例更加分散。本质上是为了获得对异常值检测和主动学习更友好的关系表示。

 

Relational Outlier Detection

 

预训练之后,编码器 能够将实例 编码为稠密向量 作为关系表示。在特征空间中,由于语义的相似性,表示同一关系的表示倾向于密集聚集(形成n个独立的簇),表示不同关系的表示倾向于分散。由于实例所表示的看不见的关系没有经过预先训练,换句话说,模型没有看到语义,因此实例没有投影到任何集群附近。如下图所示:


给定任意两个实例
对应的关系表示
,我们定义
是两个表示之间的欧氏距离。接着,我们定义第k距离
来表示

与第k个最近邻居之间的距离。

根据上述定义,我们定义

之间的 可达距离 (reachability distance)为

 

 

接着,我们计算密度来度量可达距离的平均距离:

 

 

其中, 表示所有在 第k距离内的点。密度越大,说明该点更可能在一个簇中,如果这是个散点,那幺它的密度会很小。

 

最后,我们计算 局部异常因子 :

 

 

其中,LOF越大, 就更可能是一个异常点,也就是新关系。

 

Relational Active Learning

 

在关系异常检测之后,模型会将测试集分为已知关系集合 和新关系集合 。对于 ,它能够被准确的标注,因此我们只需要关注为新关系标注有意义的关系类型。为了检索人类可读的标签,避免随后的二次标签,我们需要通过主动学习将人类知识纳入关系学习阶段。我们的主要目的是找到一小部分 信息量最大 的实例,然后人工标注它们。接着,我们使用标注过的数据来有监督的训练一个分类器。那幺应该如何找到信息量最大的新关系实例呢?这个问题可以转换为如何找到 最有可能表达“新关系”的实例 的问题。根据这个问题,本文提出了一种关系主动学习模块。一开始,我们随机标注一小部分 中的数据。令已经标注过的数据集为 ,未标注过的数据集为 ,PS: 均为 的子集。根据潜在分布P(x),我们假设所有实例 都是i.d.d(独立同分布数据)。相应地,它们的标签为条件分布 。关系主动学习主要包含三个组件:Neural Encoder, Discriminator, Active learning

 

Neural Encoder

我们使用一个神经元编码器来学习

的在潜在特征空间下的分布。PS:框架是独立于编码器的选择的,这里采用BERT作为编码器。神经元编码器的作用是将

编码到同一个特征空间,接着尝试 愚弄 鉴别器,让它正确预测实例是否具有“代表性”。因此,编码的损失函数为

 

 

这是一个二分类交叉熵,目的是先让编码器知道什幺样本是具有代表性的(即已标注样本)。

 

Discriminator

 

鉴别器是一个二进制分类器, 用于选择信息量最大的样本,1代表该样本信息量大。我们通过对抗训练来利用 的信息。鉴别器的目的是通过对抗训练,以便 准确地分辨实例是否表示新的关系 。

 

 

最终我们联合优化上述两个目标函数:

 

Active Learning

 

在每个训练step,我们选择 个 鉴别器输出最高置信度 的实例作为 最具有代表性实例 ,接着这些实例会被人工标注,然后用于训练分类器。现在,需要进一步讨论人工标注。考虑到关系数量的爆炸性增长,需要设计一个支持在线和持续学习新关系的标注过程。为此,本文提出了一种实用、易于实现的标注过程。一开始,对于每个被选择的实例,标注者只需要判断是否 中有相同的关系类型实例。如果 中没有相同的关系实例,那幺它会被认为是新的关系,否则标注为已知关系。程序完成后,关系的标准比主动学习开始前更容易设计。这种方式有效地保证了我们框架的持续学习和在线学习的能力,方便地适应实际情况。随后, 会被输入到一个MLP分类器,通过以下损失优化

 

 

关系主动学习模块的整体流程如下:

Experiments

 

分别在传统和通用OpenRE下评估,数据集为NYT+FB,FewRel,FewRel2.0.

 

部分数据处理 :传统设置对应Ori版本,每种数据集的通用OpenRE设置分为noisy和imbalanceed版本。为了获得噪声版本,我们从原始训练集中随机选择40%的样本。考虑到在FewRel和FewRel2.0中,每个新关系的样本数量是相同的,我们进一步构造了不平衡版本来探索存在类不平衡时模型的性能。具体来说,我们在噪声版本的基础上,随机丢弃测试集中每个关系类具有不同概率的一部分样本,从而导致测试集中的类不平衡。

 

Main Results

 

从主实验结果看来,我们有以下结论: (1) ARD优于SOTA的模型。与其他半监督方法相比,差距更大,ARD提高了25个点以上。这证明了ARD可以 有效地发现和学习新关系的表示 ,而成本只占人工成本的一小部分。 (2) baselines模型从原始版本到噪声版本再到不平衡版本的性能普遍一致地下降。这表明通用OpenRE设置对于真实场景来说 更具挑战性和实用性 。RSN-CV的F1分数从原始到噪声急剧下降19.5。相比之下,ARD模型在噪声和不平衡上的表现都优于原始版本。这表明 关系发现过程和关系主动学习在不同场景下是鲁棒的 。 (3) SOTA模型在FewRel2.0上表现不佳。这完全是意料之中的,因为测试集中的实例来自非通用和低资源领域,如生物医学。另一方面,ARD仍然显示出较强的稳定性,证实了 模型的跨领域能力 。

Analysis on Active Learning

The Efficiency of Active Learing

Table 2显示了本文主动学习方法与各种主动学习基线模型的结果,可以观察到,在每个epoch中,我们的模型优于其他模型,这表明我们的方法可以一致地采样信息样本。


The Impact of Different Encoder and Scope of Query

下图显示了在不同编码器和查询范围下的实验结果。“查询范围”表示 的比值,我们还探索了β-VAE和BERT作为编码器的影响。同时,我们报告了使用30%的随机选择和 的全部量进行训练时的结果。结果表明: (1) 一般情况下,模型性能与 规模成正比。但随着样本数量的增加,结果略有改善。但当查询范围为40%时,该模型仍然产生更好的性能。 (2) VAE与BERT编码器的比较符合直觉。虽然VAE具有直观性,易于训练,但BERT在实证结果上仍具有优势。 (3) 288个样本(约占 训练样本的8%)训练的模型的性能与随机选择30%的模型相似。当使用全量的 训练时,F1比ARD高6.1%,而人力成本是ARD的12倍。结果证明了ARD的有效性。


Analysis on Relational Outlier Detection

ARD采用新关系发现模块区分已知关系和新关系,保持主动学习模块更有效地选择知识性新关系而不受已知关系的干扰。为了证明新关系发现的有效性和意义,我们对三种有噪声版本的LOF算法进行了消融实验。实验结果如Table 4所示,我们注意到: (1)尽管主动学习对新关系具有较强的鲁棒学习能力,但去除LOF算法后,模型性能表现出不同程度的退化。 (2)在FewRel、NYT+FB和FewRel2.0数据集上,F1分数在每个epoch的平均下降幅度分别为2.82、8.02和6.36,其中NYT+FB下降幅度最大。这种现象是直观的,因为数据集包含了最多已知关系,噪声(已知关系)越多,主动学习模块对新关系就越困惑。结果表明,该关系发现模块在 降噪方面起到了关键作用 。

Discussion

 

本文首次指出了传统OpenRE设置下的两种缺陷,并提出了关系异常检测和关系主动学习来促进模型在通用OpenRE下的新关系识别。这种设置以及方法更加贴近真实的业务场景,值得借鉴。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注