Dawn's Blogs

分享技术 记录成长

0%

Document-Level Relation Extraction with Adaptive Focal Loss and Knowledge Distillation

年份:2022

From:ACL

作者:Qingyu Tan, Ruidan He etc.

机构:DAMO Academy, Alibaba Group

GitHub:https://github.com/tonytan48/KD-DocRE

工作:

  • 为了改进了双跳关系的推理,提出使用轴向注意力模块作为特征提取器。这个模块能够关注位于双跳逻辑路径中的元素,并捕获关系三元组之间的相互依赖关系。
  • 其次,提出了自适应焦点损失(Adaptive Focal Loss)来解决不平衡的关系类型分布问题,提出的损失函数使得长尾类对总体损失的贡献更大。
  • 最后,使用知识蒸馏来克服注释数据和远程监督数据之间的差异。具体来说,首先用少量的人类注释数据来训练一个教师模型。然后,将使用教师模型对大量的远程监督数据进行预测。生成的预测被用作预训练学生模型的软标签。最后,对预先训练好的学生模型进行了进一步的微调。

现有工作的缺陷:

  1. 现有方法聚焦于从预训练语言模型获取上下文信息,但是忽略了实体对之间的交互信息。
  2. 现有方法没有明确的解决DocRE数据集中关系类别数量不平衡的问题,仅关注于动态阈值以平衡正负样本数量不平衡的问题。
  3. 几乎没有工作讨论在DocRE数据集上应用远程监督方法。

模型结构

image-20241002183958840

提出的模型包含三个部分:

  1. 表示学习(Representation Learning):首先通过预先训练的语言模型提取每个实体对的上下文表示。轴向注意模块将进一步增强实体对的表示,该模块将对实体对之间的相互依赖信息进行编码。
  2. 自适应Focal损失(Adaptive Focal Loss):使用一个前馈神经网络分类器,用于计算损失,应用AFL损失以更好的应对长尾分布。
  3. 知识蒸馏:使用知识蒸馏客服人工标注数据和远程数据之间的差异。具体来说,就是用带注释的数据训练一个教师模型,并将其输出作为软标签。然后,我们基于软标签和远程标签对学生模型进行预训练。预先训练好的学生模型将再次使用带注释的数据进行微调。

Representation Learning

实体表示

利用预训练语言模型对文档进行编码,同时用特殊token标记实体位置(星号)。实体表示为,多个实体提及的sumexp池化操作:

image-20241002192707135

后用多个实体提及在最后一层的多头注意力权重的平均值,作为上下文信息增强:

image-20241002192807553

最终,实体表示为两部分,分别是实体嵌入和上下文多头注意力机制增强:

image-20241002192855565

实体对表示(轴向注意力)

实体对通过分组的线性函数进行表示:

image-20241002193001011

引入轴向注意力机制,来引入两跳的实体对信息,最终实体对表示为:

image-20241002193326491

Adaptive Focus Loss

通过线性层来进行关系类型的预测:

image-20241002193633475

引入AFL来解决长尾分布问题,损失函数分为两个部分。第一部分是正例的,第二部分是关于负例的。其中,正例的概率分布计算方式:

image-20241002193834274

负例的概率分布计算方式:

image-20241002193856005

损失函数被定义为:

image-20241002194006213

其中r为超参数,AFL损失是被设计成更多地关注低置信度的类别。如果一个正例关系类别的概率分布较低,则相关类的损失贡献将较高,从而可以对长尾类进行更好的优化。

利用远程监督进行知识蒸馏

略,这部分没有参考价值。

实验

image-20241002192356297

RAPL: A Relation-Aware Prototype Learning Approach for Few-Shot Document-Level Relation Extraction

年份:2023

From:EMNLP

作者:Shiao Meng, Xuming Hu, Aiwei Liu, Shu’ang Li, Fukun Ma, Yawen Yang, Lijie Wen

机构:School of Software, Tsinghua University

GitHub:https://github.com/THU-BPM/RAPL

文档型关系抽取数据的标记费时间、人工密集,同时在垂直领域中缺乏标记数据,文档型关系抽取标记稀缺是现实世界的常见问题。文章提出了RAPL(Relation-Awared Prototype Learning),解决了以下问题:

  • 对于支持文档中包含关系的每个实体对,利用关系描述中固有的关系语义作为指导,为每个表达的关系推导出一个实例级表示。关系原型是通过聚合其所有关系实例的表示来构建的,从而更好地关注与关系相关的信息。基于实例级的嵌入,又提出了一种关系加权对比学习方法来进一步细化原型,可以更好地区分语义密切关系的原型。

  • 设计了一个特定于任务的NOTA原型生成策略。对于每个任务,自适应地选择支持的NOTA实例,并将它们融合成一组可学习的基础NOTA原型,以生成特定于任务的NOTA原型,从而更有效地捕获每个任务中的NOTA语义。

image-20241002144134220

few-shot文档级关系抽取在实际应用中,针对labaled文档稀缺问题至关重要。现有的工作主要是matric-based元学习框架,为关系类型建模原型,是FSDLRE(Few-Shot Document-Level RE)中被应用广泛的一种框架。然而,现有的工作往往难以获得具有精确关系语义的类原型,缺陷

  1. 为了构建目标关系类型的原型,它们聚合了带有该关系的所有实体对的表示,而这些实体对也可能包含其他关系,从而干扰了原型(Overlap问题)。
  2. 在所有任务中使用一组通用的NOTA(None of the above)原型,而忽略了在具有不同目标关系类型的任务中,NOTA语义的不同。

image-20241002144148114

模型结构

image-20241002144624283

文档和实体编码器

文档编码

使用预训练语言模型(BERT等)作为文档编码器,对于每一个文档,在每个实体提及的开始和结束处插入一个特殊的token“∗”,以标记实体的位置。然后,将文档输入预训练语言模型编码器,以获得具有上下文信息的token嵌入H和交叉token注意力矩阵A。其中,H是BERT的输出;A是最后一层的平均注意力头。

image-20241002145607492

实体编码

对于一个实体而言,在一个文档中可能有多次提及,使用插入特殊的标记“*”作为提及的嵌入,实体的嵌入就是多个提及嵌入的sumexp池化

关系感知的关系原型学习

对于给定事件中的每个目标关系类型,目标是获得一个能够更好地捕获相应关系语义的原型表示。为此:

  • 首先提出构建基于实例级(一个关系三元组就是一个实例)嵌入的关系原型,使每个原型能够更多地关注支持文档中的关系相关信息。
  • 然后提出了一种实例级的关系加权对比学习方法,进一步细化了关系原型。

基于实例的原型构建

实体对级别的注意力分布

首先得到实体pair级别的注意力分布,获取与实体pair相关的上下文。其中实体级别的注意力分布是实体提及嵌入(A矩阵得到)的平均值:

image-20241002151547711

关系级别的注意力分布

同时,获取关系级别的注意力分布,使用另一个预先训练好的语言模型作为关系编码器,并将关系的名称和描述连接到一个序列中,然后将该序列输入编码器。以[CLS]的输出作为关系嵌入,并计算关系级别的注意力分布:

image-20241002151945127

实例级别的嵌入计算

基于实体对级别和关系级别的注意力嵌入,计算实例级别的注意力嵌入,以获取实例级别的上下文信息。其中top-k%函数表示获取%k大的下标。利用关系级的注意力来放大与实例最相关的上下文的实体对级别嵌入的权重。

image-20241002152119975

最后,计算实例级别的上下文嵌入:

image-20241002152533823

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

image-20241002152616492

原型计算

将头实体和尾实体视为实例级别的嵌入:

image-20241002152831048

原型为实例级别嵌入的平均值:

image-20241002152900562

关系加权对比学习方法

提出了一种关系加权的对比学习方法以细化关系原型表示,对比学习的目标是:使得同一关系类型的实例级别表示更近,不同关系类型的实力级别表示更远。

S为Support集合中的所有实例集合;对于一个特定的实例(关系三元组),P为表达同一关系的其他实例的集合,A为其他所有实例的集合。然后定义关系加权对比学习的损失函数:

  • 分子越大,分数越大,损失函数越小:当前实例和表达同一关系的其他实例的点积越大,故当前实例和表达同一关系的其他实例越接近。
  • 分母越小,分数越大,损失函数越小:引入关系相似度(cossim),当不同关系的语义相似度越接近时具备更大损失,故当前实例和表达不同关系的其他实例越远。

image-20241002154416464

通过引入相似性,损失函数可以更好的区分相似语义的不同关系。

关系感知的NOTA原型学习

现有方法中,通常学习一组NOTA原型以应用于所有的任务。这在某些任务中可能不是最优的,因为NOTA语义在具有不同目标关系类型的任务中是不同的。为此,提出了一种特定于任务的NOTA原型生成策略,以更好地捕获每个单独任务中的NOTA语义。

引入一组可学习的向量,与以前直接将这组向量视为NOTA原型的工作不同,将它们视为需要在每个任务中进行进一步修正的基础NOTA原型。由于Support文档的注释是完整的,所以可以获取到Support集合中的隐式表达语义的NOTA分布。因此,依靠Support集合中的NOTA实例来捕获每个特定任务中的NOTA语义。

下面表达式中,它定位了接近基础NOTA原型、并且远离关系原型的NOTA实例:

image-20241002161330621

NOTA原型如下,将获取到的NOTA实例融合到基础NOTA原型中:

image-20241002161340351

推理/训练过程

推理时,实体之间的关系类型概率判别如下:

image-20241002162118440

在训练时,损失函数不仅仅包含对比学习损失,还包括Query预测结果损失(BCE):

image-20241002162148511

结果

image-20241002162231121

ntity Structure Within and Throughout: Modeling Mention Dependencies for Document-Level Relation Extraction

会议:AAAI

年份:2021

作者:Benfeng Xu, Quan Wang etc.

机构:School of Information Science and Technology, University of Science and Technology of China, Hefei, China

数据集:

  • DocRED
  • CRD、GDA:生物医学领域

贡献:

  • 将文档级文本中显示的各种提及依赖关系总结成一个统一的框架。通过在编码网络内部和整个编码网络中显式地合并这种结构,能够同时、交互式地执行上下文推理和结构推理,从而大大提高了关系提取任务的性能。
  • 提出SSAN(Structured Self-Attention Network),通过结构性的指导,扩展标准的自注意力机制。

Approach

实体结构

文档级关系抽取中的实体结构,两种结构都可以表示为True和False:

  • 共现(co-occurence)结构:一个句子中存在多个实体提及,表示句子内部的实体依赖关系。
  • 协同(coreference)结构:多个实体提及指向同一实体,指向同一实体时需要被同时发现和推理。

image-20241001213808222

除了实体提及之间的依赖关系外,我们还进一步考虑了实体提及与其句子内非实体(None-Entity,NE)词之间的另一种依赖关系,把它表示为intraNE。对于其他句子间非实体词,我们假设不存在关键依赖,并将其归类为NA。

综上,实体结构为:intra+coref,intra+relate,inter+coref,inter+relate,intraNE,NA

模型

image-20241001213951334

文章使用了引入结构性信息的Transformer结构,在计算注意力权重时引入结构信息,其中 s_i_j为上图中矩阵中的实体结构类型。

image-20241001214649255

image-20241001214757373

其中,转换模块(transformation)有两种方案,双仿射方案和线性分解方案:

image-20241001215131606

在关系分类时,使用指向同一个实体的多个实体提及的平均池化作为实体表示,最后进行多分类。损失使用普通的交叉熵损失。

实验结果

image-20241001215440299

image-20241001215454711

image-20241001215510951