《Document-level Relation Extraction as Semantic Segmentation》论文阅读笔记
原文
代码
摘要
1 Introduction

- 首次将文档级关系抽取问题建模为语义分割问题。
- 提出了模型DocuNet,它能够有效地捕获文档级关系抽取的局部和全局信息。
- 在三个公开的数据集上进行了实验,证明了本文模型相比于现有的方法有显著的性能提升。
2 Related Work
3 Methodology
3.1 Preliminary
,其中包含一组实体
,任务是提取这些实体之间的关系。一个文档中可能有多个相同的实体。为了抽取实体
和
之间的关系,本文用一个
的矩阵
表示,其中
是
和
的关系类型。本文的目标是得到矩阵
的输出,这类似于语义分割的任务。本文按照实体在文档中首次出现的顺序排列矩阵
中的实体,利用实体间的相关性估计生成特征图,并把特征图当作一张图像。注意,输出的实体级关系矩阵
和语义分割中的像素级掩码是对应的,这就把关系抽取和语义分割联系起来了。本文的方法也适用于句子级别的关系抽取。由于文档中的实体更多,所以实体级关系矩阵可以学习更多的全局信息,从而提高性能。3.2 Encoder Module
,其中包含了一些实体提及。为了标记实体的位置,在每个提及的开始和结束处添加特殊符号
和
。使用一个预训练的语言模型作为编码器,将文档中的每个词
转换为一个向量
,得到文档的嵌入表示:
的嵌入来表示每个实体提及,这是一种简单而有效的方法,参考了 [Verga et al., 2018]。
是第
个实体的嵌入,
是该实体在文档中出现的次数,
是该实体的第
个提及的嵌入。这种池化操作可以有效地捕捉文档中提及的信息,得到一个全局的实体表示。
维的特征向量
来表示源实体
和目标实体
之间的关系特征。本文提出了两种计算
的方法,一种是基于相似度的方法,另一种是基于上下文的方法。基于相似度的方法是将
和
之间的三种相似度度量拼接起来,分别是哈达玛积(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
和
以及实体级关系矩阵
映射到隐藏表示
。然后,利用双线性函数计算关系的概率。具体地,有:
是矩阵
中
的实体对表示,
和
,是模型的参数。
,而非目标类别的分数都低于
。形式地,有:

《Document-level Relation Extraction as Semantic Segmentation》论文阅读笔记的更多相关文章
- 《MuseGAN: Multi-track Sequential Generative Adversarial Networks for Symbolic Music Generation and Accompaniment》论文阅读笔记
出处:2018 AAAI SourceCode:https://github.com/salu133445/musegan abstract: (写得不错 值得借鉴)重点阐述了生成音乐和生成图片,视频 ...
- (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!
Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...
- 生成对抗网络(Generative Adversarial Networks,GAN)初探
1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...
- 生成对抗网络(Generative Adversarial Networks, GAN)
生成对抗网络(Generative Adversarial Networks, GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的学习方法之一. GAN 主要包括了两个部分,即 ...
- StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记
StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 本文将利 ...
- 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks
Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...
- 《Self-Attention Generative Adversarial Networks》里的注意力计算
前天看了 criss-cross 里的注意力模型 仔细理解了 在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...
- Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection
Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11 19:47:46 CVPR 20 ...
- SalGAN: Visual saliency prediction with generative adversarial networks
SalGAN: Visual saliency prediction with generative adversarial networks 2017-03-17 摘要:本文引入了对抗网络的对抗训练 ...
- Generative Adversarial Networks,gan论文的畅想
前天看完Generative Adversarial Networks的论文,不知道有什么用处,总想着机器生成的数据会有机器的局限性,所以百度看了一些别人 的看法和观点,可能我是机器学习小白吧,看完之 ...
随机推荐
- 果然,基于 VictoriaMetrics 修改而来的 VictoriaLogs 来了!!!
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 2022 年 6 月的时候,正在痛苦的研究 grafana ...
- SignalR系列文章01---MVC项目中创建demo
1. 新建mvc项目,引入指定的nuget包 2. 新增加一个集成器类添加如下的代码 /// <summary> /// 供客户端调用的服务器端代码 /// </summary& ...
- ILRuntime的TestCase
基于ILRuntime 1.6.3版本,在ILRuntime中提供测试用例,建议在下载ILRuntime之后先跑一遍官方的测试用例,对比自己使用ILRuntime的性能和官方数据是否一致 测试工具 测 ...
- C/C++ Zlib实现文件压缩与解压
在软件开发和数据处理中,对数据进行高效的压缩和解压缩是一项重要的任务.这不仅有助于减小数据在网络传输和存储中的占用空间,还能提高系统的性能和响应速度.本文将介绍如何使用 zlib 库进行数据的压缩和解 ...
- 7.4 C/C++ 实现链表栈
相对于顺序栈,链表栈的内存使用更加灵活,因为链表栈的内存空间是通过动态分配获得的,它不需要在创建时确定其大小,而是根据需要逐个分配节点.当需要压入一个新的元素时,只需要分配一个新的节点,并将其插入到链 ...
- C/C++ 通过Socket 传输结构体
本质上socket无法传输结构体,我们只有将结构体装换为字节数组,或者是字符串格式来传输,到了服务端在强制类型转换一下即可,下面的代码分别提供原生写法与通过boost的实现两种,直接改改,可用于收集目 ...
- Advanced Installer傻瓜式打包教程
工具 Advanced Installer 11.0 前言 这个包不复杂,没有服务和注册表等操作,但需要.NET Framework 4.5和MySQL,同时需要初始化一下数据库,下面一起来实操一下. ...
- java判断系统时间是否在规定的时间区间之内
java判断系统时间是否在规定的时间区间之内 1️⃣ 创建controller => service => serviceimpl package com.preciouslove.xin ...
- Leetcode刷题第一天-贪心
455-分饼干 链接:455. 分发饼干 - 力扣(LeetCode) 优先使用最小饼干满足最小胃口,一个娃只能分一个饼干T_T不能加 1 class Solution: 2 def findCont ...
- 一次人脸识别ViewFaceCore使用的经验分享,看我把门店淘汰下来的POS机改成了人脸考勤机
POS软件是什么?你好意思吗,还在用老掉牙的Winform. 门店被淘汰的POS机 销售终端--POS(point of sale)是一种多功能终端,把它安装在信用卡的特约商户和受理网点中与计算机联成 ...