《RAPL: A Relation-Aware Prototype Learning Approach for Few-Shot Document-Level Relation Extraction》阅读笔记
预备知识:
1.什么是元学习(Meta Learning)?
元学习或者叫做“学会学习”(Learning to learn),它是要“学会如何学习”,即利用以往的知识经验来指导新任务的学习,具有学会学习的能力。由于元学习可帮助模型在少量样本下快速学习,从元学习的使用角度看,人们也称之为少次学习(Few-Shot Learning)。
2.什么是基于度量的元学习(Metric-based meta-learning)?
基于度量的元学习将相似性学习和元学习相结合,学习训练过的相似任务的经验,从而加快新任务的完成。Guo等人将注意机制与集成学习方法相结合,形成了基于度量的元学习模型。
标记文档非常少的情况下,如何识别文档中实体之间的语义关系呢?这是少射文档级关系提取(Few-shot document level relation extraction,FSDLRE)的核心问题,它对于解决实际应用中常见的数据稀缺问题具有重要意义。基于度量的元学习是FSDLRE的一种有效框架,它通过构建类原型来进行分类。然而,现有的方法往往难以得到反映准确关系语义的类原型,主要存在以下两个问题:
-
为了构建目标关系类型的原型,它们将所有具有该关系的实体对的表示聚合在一起,但这些实体对可能同时具有其他关系,导致原型的混淆。
-
它们在所有任务中使用同一组通用的非上述(none-of-the-above,NOTA)原型,忽视了不同任务中目标关系类型对NOTA语义的影响。
为了解决这些问题,本文提出了一种基于关系感知的FSDLRE原型学习方法,它能够增强原型表示的关系语义。本文的方法通过利用关系描述和真实的NOTA实例作为指导,有效地优化了关系原型,并生成了适应不同任务的NOTA原型。在两个FSDLRE基准数据集的多种设置下,本文的方法都显著优于最先进的方法,平均提升了2.61%的F1值。
1 Introduction
文档级关系抽取(DocRE)的定义:识别文档中每对实体之间的关系。
DocRE面临的问题:数据稀缺,数据标注费时费力,并且许多特定领域缺乏带注释的文档。
FSDLRE的定义:在标记文档非常少的情况下,识别文档中实体之间的语义关系。
Popovic和Färber等人(2022)提出一个基于度量的元学习框架,通过训练一组抽样的FSDLRE任务,学习了一个度量空间。在这个空间里,它能够根据实体对到不同关系类型的原型表示的距离,进行分类。这样,该方法就具备了FSDLRE的通用知识,可以快速适应新的关系类型和新的任务。
图1展示了一个FSDLRE任务的例子,这是一个1-Doc的设置,即只给出了一个带有标注关系实例的支持文档,以及三个目标关系类型:Place of Birth、Work Location、Place of Death。任务的目标是预测查询文档中预先给定的实体对之间的所有目标关系类型的实例,例如(Grace Taylor, Place of Birth, Brisbane)。

现有的FSDLRE的两个问题:
-
一个实体对在一个文档中可能有多个关系,如果用支持集中的实体对表示来聚合生成关系原型,那么原型就会混杂了其他无关的关系信息,导致度量空间中的关系难以区分,如图2(a)所示。
-
由于大部分查询实体对并不涉及任何目标关系,因此 NOTA也被当作一个类别。考虑到不同任务的目标关系类型有所差异,如果只是用一组可学习的向量作为 NOTA 原型,并且在所有任务中通用,这种“一刀切”的策略可能会使 NOTA 原型偏离理想的 NOTA 语义,从而导致分类的混淆。如图 2(a) 所示,一组通用的 NOTA 原型在任务 1 中看起来还可以,但是在任务 2 中就不太合适。

为了解决FSDLRE中的两个问题,本文提出了一种新颖的关系感知原型学习方法(Relation-Aware Prototype Learning method,RAPL)。首先,对于支持文档中存在关系的每一对实体,利用关系描述中的固有关系语义作为指导,为每一个表达的关系生成一个实例级别的表示,如图2(b)所示。关系原型是通过聚合所有支持关系实例的表示来构建的,从而更好地关注与关系相关的信息。基于实例级别的支持嵌入,本文提出了一种关系加权对比学习方法来进一步优化原型。通过将关系间的相似性纳入对比目标,可以更好地区分语义相近的关系的原型。此外,本文设计了一种任务特定的NOTA原型生成策略。对于每一个任务,自适应地选择支持的NOTA实例,并将它们融合到一组可学习的基础NOTA原型中,生成任务特定的NOTA原型,从而更有效地捕捉每个任务中的NOTA语义。
2 Problem Formulation
FSDLRE是指在
的设定下,从少量的文档中抽取出实体之间的关系。每个FSDLRE任务(task,也称为一个episode)包含
篇支持文档
和一篇查询文档
,并且每篇文档中提到的实体都进行了预注释。对于每篇支持文档
,还给出了一个三元组集合
,其中包含了文档中所有有效的关系三元组
。这里
和
分别是关系实例的头实体和尾实体,而
是一种关系类型,
是本任务要抽取的关系类型集合。支持文档的标注是完备的,也就是说,任何没有对应关系类型的实体对都被视为NOTA。在给定这些输入的情况下,FSDLRE任务的目标是预测查询文档
中的三元组集合
,它包含了
中所有属于
中关系类型的有效三元组。















本文的方法基于典型的元学习框架。在训练阶段,从一个训练文档语料库
中采样出支持文档和查询文档,构成一系列的训练任务。每个训练任务的
集合是
的一个子集,
是元训练阶段的关系类型集合。模型的目的是从这些训练任务中学习通用的知识,以便能够更好地适应新的任务。




在测试阶段,模型在一个由测试文档语料库
中采样出的测试任务组上进行评估,
和
是互斥的。每个测试任务的
集合是
的一个子集,
是元测试阶段的关系类型集合,它和
也是互斥的。







3 Methodology

3.1 Document and Entity Encoding
本文使用预训练的语言模型(Devlin等人,2019)作为文档编码器,对每个支持文档或查询文档进行上下文相关的编码。
对于任意文档
,首先在实体提及的首尾位置插入特殊标记“∗”,以便识别实体的边界。然后将文档送入编码器,得到标记的上下文嵌入
和交叉标记注意力
:




其中
,
是
中标记的个数,
是编码器的输出维度,
是编码器最后一层的注意力头的平均值。用实体提及前的“*”标记的嵌入作为对应的提及嵌入。对于文档中的每个实体
,它有
个提及
,对它们的嵌入应用logsumexp池化(Jia等人, 2019),得到实体嵌入
,其中
是
的第
个提及的嵌入。













3.2 Relation-Aware Relation Prototype Learning
在给定的一个任务中,本文的目标是为每种目标关系类型获得一个原型表示,能够更好地捕捉相应的关系语义。为此,本文首先提出了基于实例级支持嵌入(instance-level support
embeddings)的关系原型构建方法,使每个原型能够更多地关注支持文档中与关系相关的信息。然后,提出了一种实例级关系加权对比学习方法(instance-level relation weighted contrastive learning method),进一步优化了关系原型。
3.2.1 Instance-Based Prototype Construction

其中,
是一个实体级注意力,通过对每个实体
的每个提及
前的标记“∗”的提及级注意力
取平均得到:
,对于
也同样如此,而
是哈达玛积。







同时,计算一个关系级注意力分布
,覆盖所有的标记,以捕捉与关系
相关的上下文。使用另一个预训练的语言模型作为关系编码器,并将关系
的名称和描述拼接成一个序列,然后将序列输入到编码器中。将
标记的输出嵌入作为关系嵌入
:






并计算关系级注意力
为:


其中,
是可学习参数。

基于
和
,进一步计算所有标记上的实例级注意力分布
,以捕获与实例相关的上下文。具体来说,在
的第
维上的值
可以由下式求得:







其中,
返回
中最大的
元素的索引,
是一个超参数,
是指示函数。接着对
进行归一化,以恢复注意力分布。在这里,不使用
作为实例级注意力,因为对于一个实例,关系是基于实体对来表达的。直接相乘可能会错误地增加与实体对无关的标记的权重。相反,本文利用关系级注意力来放大与实例最相关的上下文的实体对级权重。







然后,计算一个实例上下文嵌入
:


并将其融合到头实体和尾实体的嵌入中,得到具有实例感知的实体表示


其中,
为可学习参数。
的实例表示通过连接头和尾实体表示获得,表示为
。



最后,将支持文档中关系
的所有实例集合记为
,通过对
中关系实例的表示取平均值,计算关系原型
:





3.2.2 Contrastive-Based Prototype Refining
通过将关系原型的构建转化为实例级别,每个原型可以更好地关注与关系相关的支持信息。然而,由于文档上下文的复杂性,同一关系的不同实例可能表现出不同的关系表达模式,使得原型难以捕捉共同的关系语义。另外,有限的支持实例也使得语义接近的关系的原型难以捕捉它们的深层语义差异。因此,本文提出了一种关系加权对比学习方法,进一步优化关系原型。
给定一个任务,用
表示支持文档中所有关系实例的集合,即
。对于一个关系实例
,定义集合
,它包含了支持集中所有其他也表达了关系
的实例,以及集合
,它简单地包含了支持集中所有其他的实例。然后将关系间的相似性融入到一个对比目标中,并定义关系加权对比损失
为:









其中
是一个超参数,
表示余弦相似度。这种对比损失考虑了两个方面:


-
首先,以前的方法很难与对比目标相结合,因为它们只能得到成对的支持向量。实体对的多标签性质使得合理地定义正负对很困难。
-
其次,通过引入关系间的相似性,这种对比损失更加注重将语义上接近的关系的实例向量分开,从而有助于更好地区分相应的关系原型。
3.3 Relation-Aware NOTA Prototype Learning
由于大多数查询实体对没有任何目标关系,所以NOTA也被视为一个类别。现有的方法通常学习一组通用的NOTA原型,用于所有的任务,但这在某些任务中可能不是最优的,因为NOTA的语义在不同的目标关系类型的任务中是不同的。为此,本文提出了一种任务特定的NOTA原型生成策略,以更好地捕捉每个任务中的NOTA语义。具体来说,本文首先引入一组可学习的向量
,其中
是一个超参数。与之前的工作不同,本文不直接将这组向量作为NOTA原型,而是将它们视为需要在每个任务中进一步修正的基础NOTA原型。由于支持文档的标注是完整的,可以得到一个支持NOTA分布,它隐含地表达了NOTA的语义。因此,可以利用支持NOTA实例来捕捉每个特定任务中的NOTA语义。对于一个支持NOTA实例
,使用等式2作为实例级别的注意力,并根据等式6~8得到实例表示 
。将所有的支持NOTA实例的集合记为
,为每个基础NOTA原型
自适应地选择一个NOTA实例:








这个等式找到了一个与基础NOTA原型最接近,而与关系原型最远的NOTA实例。然后,将它与
融合,得到最终的NOTA原型
:



其中
是一个超参数。通过这种方式,可以获得一组特定于任务的NOTA原型,这些原型不仅包含了元学习的一般知识,而且隐含地捕获了每个特定任务中的NOTA语义。

3.4 Training Objective
给定查询文档中的一个实体对
,使用等式2作为实体对级别的注意力,并采用类似于等式6~8的方法得到实体对的表示
。对于每个目标关系类型
,计算
的概率为:






其中
。然后,将查询文档中的所有实体对的集合记为
,计算分类损失为:



如果
之间存在关系
,则
;否则
。总的损失定义为:





其中
是一个超参数。在推理过程中,如果
,就提取查询文档中的关系实例
。



4 Experiments
4.1 Benchmarks and Evaluation Metric
使用的数据集:
-
FREDo:包含两种主要的任务,一种是同域任务,一种是跨域任务。对于同域任务,训练集和测试集的文档语料来自同一个领域。对于跨域任务,测试集的文档语料来自不同的领域,导致训练集和测试集之间的文本风格、文档主题和关系类型有较大的差异。每种任务都有一个1-Doc 和一个3-Doc 的子任务,用来衡量模型的可扩展性。FREDo 使用 DocRED的训练集作为训练和开发的文档语料,使用 DocRED 的开发集作为同域测试的文档语料,使用SciERC的整个集合作为跨域测试的文档语料。DocRED的关系类型集合被划分为三个不相交的集合,用于FREDo的训练 (62)、开发 (16) 和同域测试 (18)。FREDo为同域评估采样了15k个情景,为跨域评估采样了3k个情景。
-
ReFREDo:是FREDo的修订版。由于FREDo使用了DocRED作为底层的文档语料,而DocRED存在不完整的标注问题,因此FREDo构建的情景也可能存在这些标注错误。为了解决这个问题,本文构建了 ReFREDo 作为 FREDo 的修订版本。在ReFREDo中,用Re-DocRED替换了训练、开发和同域测试的文档语料,Re-DocRED是DocRED的修订版本,具有更完整的标注。然后沿用 FREDo的关系类型划分,为同域评估采样了15k个情景。跨域测试的情景与 FREDo 保持一致。还遵循 Popovic 和 Färber (2022) 的方法,计算了 ReFREDo 中测试情景的平均类别数
和每个类别的平均支持实例数
,如表 1 所示。

与 Popovic 和 Färber (2022) 一致,使用宏 F1 来评估整体性能。
4.2 Baselines
本文的方法与四种基于FREDo的基线方法进行比较:
-
是一个初始的基线方法,它使用预训练的语言模型而不进行微调。
-
是一个基于度量的方法,它建立在最先进的有监督的 DocRE 方法和少样本句子级关系抽取方法的基础上。
-
在推理时使用所有的支持实体对,而不是将它们的嵌入平均成一个原型,以提高
在跨域任务上的性能。
-
在训练时使用 NOTA 实例作为额外的 NOTA 原型,并且在推理时只使用 NOTA 实例,以进一步提高
在跨域任务上的性能。
此外,本文还评估了有监督的 DocRE 模型,它通过在整个训练语料上学习并在支持集上微调。在这里,选择 KDDocRE 作为最先进的公开可用的有监督的 DocRE 方法。为了公平的比较,遵循 Popovic and Färber (2022) 的方法,使用 BERT-base作为本文方法的编码器。
4.3 Main Results

表 2 显示了RAPL在 FREDo 和 ReFREDo 上的主要结果。
从实验结果可知:
-
RAPL 相比于基线方法,在两个基准数据集上都取得了显著更好的平均结果(在 FREDo 上的 F1 值为 2.50%,在 ReFREDo 上的 F1 值为 2.72%)。
-
RAPL 在每个任务设置中都一致地超过了最好的基线方法(不同任务设置中的最好基线方法可能不同),使得它比以前的方法更具通用性。
-
RAPL 在同域任务上相比于跨域任务有更多的提升。这进一步反映了跨域设置所带来的更大的挑战。
-
RAPL 在 3-Doc 任务上的性能一致地高于 1-Doc 任务上的性能,而这一点并不总是能够被最好的基线方法保证,证明了 RAPL 的更好的可扩展性。
-
所有方法在 ReFREDo 上的同域性能显著高于在 FREDo 上的同域性能,而这一性能差距在跨域设置下并没有体现在两个基准数据集之间。这表明,一个更高质量的训练集可能并不能有效地解决域适应问题。
-
KDDocRE 的性能不令人满意,表明有监督的 DocRE 方法可能不能很好地适应少样本场景。
4.4 Ablation Study
本文在ReFREDo上进行了消融实验,以探究RAPL每个模块的影响。具体来说,
-
对于“−RCL”,去掉了基于关系加权的对比学习方法。
-
对于“−IBPC−RCL”,进一步去掉了基于实例的关系原型构建方法,并且只用与查询实体对相同的方式获取每个支持实体对的对级嵌入。
-
对于“−IBPC−RCL+SCL”,在“−IBPC−RCL”模型中加入了一个有监督的对比学习目标(Khosla et al., 2020; Gunel et al., 2021),其中把那些共享相同关系的实体对作为正样本,否则作为负样本。
-
对于“−TNPG”,去掉了任务特定的 NOTA 原型生成策略,并且直接把基础的 NOTA 原型作为最终的 NOTA 原型。
平均结果如表 3 所示。可以观察到,与 RAPL 相比,“−RCL”和“−TNPG”模型的性能有不同程度的下降,“−IBPC−RCL”模型的性能甚至比“−RCL”还要差,这证明了每个模块的有效性。此外,在对级上整合对比目标并没有带来显著的改进,这表明了学习实例级支持嵌入的重要性。

4.5 Analyses and Discussions
Effect of Hyperparameters.

本文研究了不同超参数对RAPL性能的影响。本文在 ReFREDo 数据集上的 3-Doc 任务中进行了实验。如图 4 所示,可以观察到:
-
对于控制实例级注意力导出的超参数
,针对领域内任务的最佳值比跨领域任务的大,这可能与领域内语料中的文档更长有关。
-
在对比目标中的温度超参数
(约 0.4)对于与分类目标的协同以及整体模型性能至关重要。
-
盲目地降低超参数
以增加支持 NOTA 实例在 NOTA 原型中的权重可能会对 NOTA 原型的学习产生负面影响。
-
与其他超参数相比,模型对于一定范围内的 NOTA 原型数量
不是很敏感。
Support Embeddings Visualization.

为了直观地展示RAPL的优势,本文从ReFREDo数据集的领域内3-Doc测试语料中选择了三种语义相近的关系类型,并为每种关系类型采样了十个支持实例,然后使用
进行可视化 (Van der Maaten和Hinton, 2008),如图 5 所示。除了消融实验中的两种模型变体,本文还尝试了
,它用有监督的对比损失 (Khosla等人, 2020; Gunel等人, 2021) 替换了实例级的关系加权对比损失。由于一些实体对同时表达了“部分”和“成员”关系,或者“部分”和“子类”关系,本文只在图 5(a) 中可视化了
的“部分”关系。可以观察到,由 RAPL−RCL 学习的支持实例嵌入改善了
学习的支持对嵌入,证明了实例级嵌入对于关系原型构建的有效性。此外,尽管引入实例级的有监督对比目标形成了更紧凑的聚类,但三种关系类型之间的区分度仍然不足。如图 5(d) 所示,本文提出的关系加权对比学习方法更好地区分了三种关系类型。




Performance vs. NOTA Rate of Episodes.

本文进一步探索了任务特定的 NOTA 原型生成策略对性能提升的影响。根据每个测试样本的 NOTA 比率,即查询文档中 NOTA 实体对与总实体对数的比例,将 ReFREDo 数据集的领域内 3-Doc 测试样本划分为不相交的子集。建立了四个子集,分别对应 NOTA 比率在 [0%,95%),[95%, 97%),[97%, 99%) 和 [99%, 100%] 区间内的情况。然后在每个子集上评估了使用或不使用任务特定的 NOTA 原型生成策略训练的模型。实验结果如表 4 所示。可以观察到,任务特定的 NOTA 原型生成策略在每个子集上都带来了改进。更重要的是,随着 NOTA 比率的增加,性能提升也越大。这表明,任务特定的 NOTA 原型生成策略有助于捕捉 NOTA 语义,从而生成更好的 NOTA 表示,尤其是在那些涉及更多 NOTA 查询对的测试样本中。
Performance vs. Number of Support Relation Instances.

本文还分析了支持关系实例数对总体性能的影响。在 ReFREDo 基准数据集的领域内 3-Doc 任务上进行了实验。对于每个测试样本中的每种关系类型,计算了该样本中该关系类型的支持实例数。这里将支持实例数划分为 10 个类别,其中前 9 个类别对应于 1 到 9,最后一个类别对应于支持实例数大于或等于 10 的情况。然后在这些类别上评估了 RAPL 方法的性能,如图 6 所示。可以观察到,RAPL 的性能随着支持关系实例数的增加而呈现出上升趋势,但在某些点也出现了波动。这表明,所提出的方法具有一定的可扩展性,但性能可能不是完全正相关于支持关系实例数。
Preliminary Exploration of LLM for FSDLRE.
近期,大型语言模型(LLM)通过在上下文学习的方式,在许多少样本任务上取得了令人鼓舞的结果。也有一些工作专注于利用 LLM 解决少样本信息抽取问题。然而,大多数研究主要针对句子级任务。因此,本文使用 gpt-3.5-turbo3 进行了一个初步实验,探索 LLM 在 FSDLRE 任务上的性能。由于输入长度的限制,本文只在1-Doc 设置下进行实验。本文从 ReFREDo 的领域内测试样本中随机选择了 1000 个样本,并设计了一个包含任务描述、示例和查询的在上下文学习提示模板(详见附录 C)。实验结果显示,gpt-3.5-turbo 只达到了 12.98% 的宏 F1,甚至低于一些基线方法。虽然这个测试可能无法充分反映 LLM 的能力,但本文认为 FSDLRE 仍然是一个具有挑战性的问题,即使在 LLM 的时代。
5 Related Work
Sentence-Level Relation Extraction.
......
Document-Level Relation Extraction.
大多数现有的 DocRE 研究都基于数据驱动的监督学习场景,通常可以分为基于图的方法和基于序列的方法。基于图的方法通常通过图结构来抽象文档,并用图神经网络进行推理。基于序列的方法用纯粹的Transformer架构来编码长距离的上下文依赖。这两类方法在 DocRE 任务上都取得了令人印象深刻的结果。然而,这些方法都依赖于大规模的标注文档,这使得它们难以适应低资源的场景。
Few-Shot Document-Level Relation Extraction.
为了解决现实中 DocRE 场景中普遍存在的数据稀缺问题,Popovic 和 Färber(2022)将 DocRE 任务转化为少样本学习任务。为了完成这个任务,他们提出了多种基于度量的模型,这些模型都是基于最先进的监督式 DocRE 方法和少样本句子级关系抽取方法构建的,目的是适应不同的任务设置。而对于一个有效的基于度量的 FSDLRE 方法,每个类别的原型应该准确地捕捉相应的关系语义。然而,这对于现有的方法来说是具有挑战性的,因为他们的关系原型学习策略是粗粒度的,而且他们的“一刀切”的 NOTA 原型学习策略也不合理。在这项工作中,本文提出了一种关系感知的原型学习方法,以更好地捕捉原型表示中的关系语义。
6 Conclusion
本文提出了RAPL,这是一种 用于FSDLRE的新颖的关系感知原型学习方法。本文将关系原型的构建重新定义为实例级别,并进一步提出了一种关系加权对比学习方法,来共同优化关系原型。此外,本文设计了一种任务特定的NOTA原型生成策略,以更好地捕捉每个任务中的NOTA语义。实验结果和进一步的分析证明了本文方法的优越性和每个组件的有效性。在未来的工作中,本文想要将该方法迁移到其他少样本文档级信息抽取任务,例如少样本文档级事件论元抽取,它与FSDLRE具有相似的任务结构。
Limitations
首先,引入关系编码器和寻找支持NOTA实例的过程增加了内存和时间的开销。其次,假设实体信息应该被指定可能影响方法的鲁棒性(Liu等人,2022b)。在有监督的场景中,一些最近的DocRE研究探索了联合实体和关系抽取,以避免这个假设(Eberts和Ulges,2021;Xu和Choi,2022;Zhang等人,2023)。本文认为,在少样本场景中,研究端到端的DocRE是有益的,RAPL方法可能为未来的工作提供一些启示。最后,RAPL在跨领域任务上的性能提升低于在领域内任务上的性能提升。一个未来的研究方向是探索提高跨领域任务性能的技术,例如数据增强(Hu等人,2023c)和结构化知识引导(Liu等人,2022a;Ma等人,2023a)。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2023-01-13 Angularjs——初识AngularJS