《Document-level Relation Extraction as Semantic Segmentation》论文阅读笔记
原文
代码
摘要
本文研究的是文档级关系抽取,即从文档中抽取出多个实体之间的关系。现有的方法主要是基于图或基于Transformer的模型,它们只考虑实体自身的信息,而忽略了关系三元组之间的全局信息。为了解决这个问题,本文提出了一种新的方法,它通过预测一个实体级关系矩阵来同时捕获局部和全局信息。这种方法类似于计算机视觉中的语义分割任务。本文的主要贡献是提出了一个文档U形网络,它由一个编码器模块和一个U形分割模块组成。编码器模块用于捕获实体的上下文信息,U形分割模块用于捕获图像风格特征图上的三元组之间的全局相互依赖性。本文在三个公开的数据集DocRED、CDR和GDA上进行了实验,结果表明,本文的方法可以达到最先进的性能。
1 Introduction

每个关系三元组可以向同一文本中的其他关系三元组提供信息。
为了捕获文档中多个三元组的相互依赖关系,本文将文档级关系抽取任务转化为一种实体级的分类问题[Jiang et al., 2019],也叫做表格填充[Miwa and Sasaki, 2014; Gupta et al., 2016],如图2所示。这种问题类似于语义分割(一个广泛应用的计算机视觉任务),它的目标是用卷积网络给图像的每个像素分配一个对应的类别标签。受此启发,本文提出了一种新颖的模型,名为文档U形网络(DocuNet),它将文档级关系抽取建模为语义分割问题。在这个模型中,本文将实体对之间的相关特征作为图像输入,然后预测每个实体对的关系类型作为像素级的输出。具体来说,本文设计了一个编码器模块来获取实体的上下文信息,以及一个U形分割模块来获取三元组之间的全局依赖信息。本文还提出了一种平衡的softmax方法来处理关系类别的不平衡分布。本文的主要贡献有以下几点:
-
首次将文档级关系抽取问题建模为语义分割问题。
-
提出了模型DocuNet,它能够有效地捕获文档级关系抽取的局部和全局信息。
-
在三个公开的数据集上进行了实验,证明了本文模型相比于现有的方法有显著的性能提升。
2 Related Work
一方面,本文受到了[Jin et al., 2020]的启发,他们是首次考虑关系之间全局交互的研究,而这方面的研究还很少见。另一方面,本文注意到卷积神经网络(CNN)在关系抽取(RE)领域已经有了很多应用,这些研究[Nguyen and Grishman, 2015; Shen and Huang, 2016]表明CNN可以有效地提取图像风格的特征图。因此,本文的工作也与[Liu et al., 2020]的研究有关,他们将不完整的话语重写视为一种语义分割任务,这激发了本文从计算机视觉的角度来探索RE问题。本文采用了U-Net [Ronneberger et al., 2015],它由一个收缩路径和一个对称的扩展路径组成,分别用于捕获上下文信息和实现精确的定位。据本文所知,这是第一次将RE问题建模为语义分割任务。
3 Methodology
3.1 Preliminary
给定一个文档
,其中包含一组实体
,任务是提取这些实体之间的关系。一个文档中可能有多个相同的实体。为了抽取实体
和
之间的关系,本文用一个
的矩阵
表示,其中
是
和
的关系类型。本文的目标是得到矩阵
的输出,这类似于语义分割的任务。本文按照实体在文档中首次出现的顺序排列矩阵
中的实体,利用实体间的相关性估计生成特征图,并把特征图当作一张图像。注意,输出的实体级关系矩阵
和语义分割中的像素级掩码是对应的,这就把关系抽取和语义分割联系起来了。本文的方法也适用于句子级别的关系抽取。由于文档中的实体更多,所以实体级关系矩阵可以学习更多的全局信息,从而提高性能。












3.2 Encoder Module
考虑一个文档
,其中包含了一些实体提及。为了标记实体的位置,在每个提及的开始和结束处添加特殊符号
和
。使用一个预训练的语言模型作为编码器,将文档中的每个词
转换为一个向量
,得到文档的嵌入表示:






由于有些文档的长度超过了语言模型的最大输入限制(例如 512),本文使用一个滑动窗口的方法来编码整个文档。对于每个窗口,取其嵌入的平均值作为最终的表示。然后,使用
的嵌入来表示每个实体提及,这是一种简单而有效的方法,参考了 [Verga et al., 2018]。

为了得到每个实体的嵌入,使用一种平滑的最大池化操作,即 logsumexp 池化,将一个实体的所有提及的嵌入进行聚合:

其中
是第
个实体的嵌入,
是该实体在文档中出现的次数,
是该实体的第
个提及的嵌入。这种池化操作可以有效地捕捉文档中提及的信息,得到一个全局的实体表示。





为了计算文档中实体之间的关系,本文构建一个实体级的关系矩阵,其中每个元素表示两个实体的相关性。使用一个
维的特征向量
来表示源实体
和目标实体
之间的关系特征。本文提出了两种计算
的方法,一种是基于相似度的方法,另一种是基于上下文的方法。基于相似度的方法是将
和
之间的三种相似度度量拼接起来,分别是哈达玛积(element-wise product)、余弦相似度(cosine similarity)和双线性相似度(bi-linear similarity):








其中
是一个可学习的权重矩阵。这种方法可以直接捕捉实体嵌入之间的相似程度,反映它们的关系强度。基于上下文的方法是利用实体感知的注意力机制,根据文档的嵌入和实体的重要性,计算出一个特征向量:


其中
是一个可学习的权重矩阵,
是文档的嵌入,
是 transformer 中的头数,
和
分别是第
个头的源实体和目标实体的注意力权重,
是实体感知的注意力权重。这种方法可以利用文档的上下文信息,生成更加丰富和灵活的关系特征。







3.3 U-shaped Segmentation Module

本文将实体级关系矩阵
看作是一个
通道的图像,并将文档级关系预测问题转化为在
上进行像素级的分割。其中
是数据集中所有样本的最大实体数。为了实现这一目标,本文借鉴了计算机视觉领域的经典语义分割模型 U-Net。如图 3 所示,该模型由一个 U 型的分割网络组成,包括两个下采样模块和两个上采样模块,并通过跳跃连接实现信息的融合。在下采样模块中,每个模块包含两个最大池化层和两个卷积层,同时每个模块的通道数翻倍。如图 2 所示,实体级关系矩阵中的分割区域对应于实体对之间的关系共现情况。U 型分割网络能够在接受域内实现实体对之间的信息交换,类似于一种隐式的推理过程。具体来说,CNN 和下采样模块能够扩大当前实体对嵌入
的感受野,从而为表示学习提供更多的全局信息。在上采样模块中,每个模块包含一个反卷积层和两个卷积层,同时每个模块的通道数减半,这有助于将聚合的信息分配到每个像素上。最后,通过一个编码模块和一个 U 型分割模块来融合局部和全局信息
,如下式所示:







其中
和
分别表示 U 型分割模块和实体级关系矩阵。
是一个可学习的权重矩阵,用于降低
的维度,使其与
相匹配,而
远小于
。







3.4 Classification Module
本文使用前馈神经网络,将实体对嵌入
和
以及实体级关系矩阵
映射到隐藏表示
。然后,利用双线性函数计算关系的概率。具体地,有:





其中,
是矩阵
中
的实体对表示,
和
,是模型的参数。





由于之前的工作发现 RE 的关系分布不平衡(大部分实体对的关系为 NA),本文采用了一个平衡的 softmax 方法进行训练,这受到了计算机视觉领域的圆形损失 [Sun et al., 2020] 的影响。具体地,增加了一个额外的类别 0,使得目标类别的分数都高于
,而非目标类别的分数都低于
。形式地,有:



为了简化,将阈值设为零,得到以下公式:

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战