EMNLP2020文档级关系抽取模型GLRE 论文Global-to-Local Neural Networks for Document-Level Relation Extraction
文章目录
- 前言
- 1.摘要
- 2.模型
- 2.1编码层
- 2.2全局表示层
- 2.3局部表示层
- 2.4分类层
- 3.实验
前言
这是EMNLP2020一篇文档级关系抽取的论文,代码链接 https://github.com/nju-websoft/GLRE,这篇论文主要有三个亮点:
- 构建了异质图并使用了R-GCN进行特征传播,相较之前一些构建同质图然后做特征传播的模型,使用异质图可以融合更复杂的特征;
- 有一个本地表示层,通过自注意力的计算方式得到一个local entity representation,消融实验证明了这种方式可以提升关系推理的性能;
- 在关系分类时使用文档主题信息,计算关系向量对文档主题信息的注意力。
1.摘要
文档级关系抽取的目标是识别有多个句子的一篇文档中两个命名实体之间的语义关系,这需要复杂的实体关系推理。本文提出了一种新的文档级RE模型,通过对文档信息进行整体和局部两方面的信息表示进行编码,然后将实体的局部语义和全局语义表示拼接在一起得到实体对的表示,在和文档主题求注意力后进行关系分类。
2.模型
首先用BERT对输入文档以句子为单位编码,然后采用和19年EMNLP中的EoG模型一样的方式构建一个异质图,在异质图上使用R-GCN进行特征传播,接着使用一个本地表示层,最终拼接多个向量(局部表示和全局表示)得到实体对的表示,在对文档主体信息求注意力后进行关系分类。
2.1编码层
D=[w1,w2,...wk]D=[w_1,w_2,... w_k]D=[w1,w2,...wk] 是输入文档,其中 wj(1≤j≤k)wj(1≤j≤k)wj(1≤j≤k) 是其中的第 jjj 个字。使用BERT对文档D进行编码:
其中 hj∈Rdwh_j∈R^{d_w}hj∈Rdw 是在BERT最后一层输出的一系列隐藏状态。受BERT输入长度的限制,GLRE将一个长文档以短段落的形式顺序编码。
2.2全局表示层
这个模块构建了一个和EoG中相同的具有不同类型节点和边的全局异构图,以获取不同的依赖关系信息。在这个异质图中,有三种类型的节点:
- 提及节点(M节点),该节点对文档D中实体的不同提及进行建模。提及节点 mim_imi 的表示通过对所包含单词的表示进行平均来定义。为了区分节点类型,拼接了一个节点类型表示 tm∈Rtdt_m∈R^d_ttm∈Rtd。因此,mim_imi 的表示是 nmi=[avgwj∈mi(hj);tm]n_{m_i}=[avg_{w_j∈m_i}(h_j);t_m]nmi=[avgwj∈mi(hj);tm] ,其中 [;][ ;][;] 是串联运算符。
- 实体节点(E节点),表示文档D中的实体。实体节点 eie_iei 的表示是通过其所有提及的平均(将实体对应的所有提及向量做一个平均池化)和节点类型表示 te∈Rtdt_e∈R^d_tte∈Rtd 来定义的。因此,eie_iei的表示为 nei=[avgmj∈ei(nmj);te]n_{e_i}=[avg_{m_j∈e_i}(n_{m_j});t_e]nei=[avgmj∈ei(nmj);te] 。
- 句子节点(S节点),用D来编码句子。与提及节点类似,句子节点si的表示形式化为 nsi=[avgwj∈si(hj);ts]n_{s_i}=[avg_{w_j∈s_i}(h_j);t_s]nsi=[avgwj∈si(hj);ts],其中 ts∈Rtdt_s∈R^d_tts∈Rtd。
三种类型的节点两两相连共有六种类型的边,六种边有五种是可以直接表达出来的,EE边是不能直接表达,需要通过计算来进行推理然后得到的。GLRE定义了五种类型的边来建模节点之间的交互:
- 提及边(M-M):为同一句话中的任意两个提及节点添加一个边。
- 提及实体边(M-E):在提及节点和其对应的实体节点之间添加一条边。
- 提及句子边(M-S):如果提及出现在句子中,在提及节点和句子节点之间添加一个边。
- 实体句子边(E-S):如果句子中至少出现一个实体的提及,在实体节点和句子节点之间创建一条边。
- 句子边(S-S):连接所有的句子节点来对非序列信息进行建模(即打破句子顺序,建立文档级的联系)。
最后,使用L层堆叠R-GCN在全局异构图上进行特征传播。与GCN不同,R-GCN考虑了不同类型的边,能够更好地对多关系图进行建模。具体而言,其第 (l+1)(l+1)(l+1) 层的节点前向传递更新定义如下:
其中 σ(⋅)σ(·)σ(⋅) 是激活函数。NixN^x_iNix 表示与边 xxx 连接的节点 iii 的邻域集,XXX 表示边的类型集。Wxl,W0l∈Rdn×dnW^l_x,W^l_0∈R^{d_n×d_n}Wxl,W0l∈Rdn×dn是可训练的参数矩阵(dnd_ndn是节点表示的维数)。将图卷积后的实体节点表示称为实体全局表示,它在整个文档范围内编码实体的语义信息。用 eigloe^{glo}_ieiglo表示一个实体的全局表示。
2.3局部表示层
通过将实体相关的提及表示与多头注意力结合,来学习实体针对特定实体对的局部表示。“局部”可以从两个角度来理解:
- 从编码层聚合原始提及信息。
- 对于不同的实体对,每个实体将具有与该实体对对应的一个局部表示。即假设一个实体 e1e_1e1,它能够和其他三个实体组成三个实体对,那么实体 e1e_1e1将针对这三个实体对各有一个局部表示。
多头注意力机制能够使模型结合多个不同表示子空间的实体信息。它的计算包括查询集Q和键值对(K,V):
在GLRE中,Q是实体全局表示,K是图卷积前的初始句子节点表示(即R-GCN中句子节点的输入特征),V是初始提及节点表示。具体地说,给定一个实体对 (ea,eb)(e_a,e_b)(ea,eb),GLRE定义它的local representations如下:
式中,LN(⋅)LN(·)LN(⋅)表示层标准化。MaM_aMa是eae_aea对应的提及节点的集合,SaS_aSa是MaM_aMa中每个提及节点所在的句子节点的集合。MbM_bMb和SbS_bSb对ebe_beb的定义类似。MHead0MHead_0MHead0和MHead1MHead_1MHead1是用来学习实体局部表示的独立模型参数。
关于本地表示部分注意力机制的使用,论文里有解释为什么要这样使用注意力:如果一个句子包含两个分别对应于实体ea、ebe_a、e_bea、eb的提及节点ma、mbm_a、m_bma、mb,那么提及节点表示nma、nmbn_{m_a}、n_{m_b}nma、nmb对预测(ea,eb)(e_a,e_b)(ea,eb)关系的贡献更大,在得到ealoc,ealoce^{loc}_a,e^{loc}_aealoc,ealoc时注意力权重应该更大。更一般地说,含有mam_ama的句子的节点表示和ebgloe^{glo}_bebglo之间的语义相似度越高,说明这个句子和mbm_bmb在语义上更相关,所以nman_{m_a}nma应该对ealoce^{loc}_aealoc给予更高的注意力权重。
2.4分类层
为了对实体对(ea,eb)(e_a,e_b)(ea,eb)的目标关系rrr进行分类,GLRE首先将实体的全局表示、实体的局部表示和相对距离表示拼接起来,作为实体的最终表示:
式中δabδ_{ab}δab表示文件中实体eae_aea的第一个提及到实体ebe_beb的第一个提及的相对距离。δbaδ_{ba}δba的定义类似。
然后,将ea,ebe_a,e_bea,eb的最终表示拼接起来,作为目标关系表示or=[ˆea;ˆeb]o_r=[ˆe_a;ˆe_b]or=[ˆea;ˆeb]。
此外,文档中的所有关系都隐含着文档的主题信息,例如电影中经常出现的“导演”和“角色”。反过来,主题信息暗示了可能的关系。相似主题下的一些关系可能同时发生,而不同主题下的其他关系则不可能同时发生。因此,GLRE使用自我注意来捕捉语境关系表征,融合文档的主题信息:
其中W∈Rdr×drW∈R^{d_r×d_r}W∈Rdr×dr是一个可训练的参数矩阵。drd_rdr是目标关系表示的维度。oi(oj)o_i(o_j)oi(oj)是第i个(第j个)实体对的关系表示。θiθ_iθi是oio_ioi的注意力权重。ppp是实体对的数目。
最后,使用前向神经网络(FFNN)对目标关系表示或上下文关系表示oco_coc进行预测。此外,考虑到一个实体对可能包含多个关系,GLRE将多分类问题转化为多个二元分类问题。rrr在所有关系集合RRR上的预测概率分布定义如下:
损失函数为:
3.实验
用DocRED和CDR两个数据集做了对比实验
EMNLP2020文档级关系抽取模型GLRE 论文Global-to-Local Neural Networks for Document-Level Relation Extraction相关推荐
- 论文小综 | 文档级关系抽取方法(上)
本文作者: 陈想,浙江大学在读博士,研究方向为自然语言处理 张宁豫,浙江大学助理研究员,研究方向为自然语言处理.知识表示与推理 1. 前言 关系抽取(Relation Extraction, RE)是 ...
- 论文小综 | 文档级关系抽取方法(下)
本文作者: 陈想,浙江大学在读博士,研究方向为自然语言处理 张宁豫,浙江大学助理研究员,研究方向为自然语言处理.知识表示与推理 这篇推文是文档级关系抽取方法的第二部分,前面的部分请移步推文" ...
- 达摩院文档级关系抽取新SOTA和零样本关系抽取新任务
©作者 | 邴立东.谭清宇.谢耀赓 单位 | Alibaba DAMO, NUS, SUTD 引言 关系抽取(RE)是 NLP 的核心任务之一,是构建知识库.事件抽取等下游应用的关键技术.多年来受到研 ...
- 文档级关系抽取方法,EMNLP 2020 paper
向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习 公众号:datayx 目前大多数关系抽取方法抽取单个实体对在某个句子内反映的关系,在实践中受到不可避免的限制:在真 ...
- 文档级关系抽取:A Densely Connected Criss-Cross Attention Network for Document-level Relation Extraction
提示:文档级关系抽取相关论文 A Densely Connected Criss-Cross Attention Network for Document-level Relation Extract ...
- 达摩院文档级关系抽取新数据集和五元组抽取新任务
©PaperWeekly 原创 · 作者 | 邴立东.谭清宇等 单位 | Alibaba DAMO, NUS, SUTD 关系抽取(RE)是 NLP 的核心任务之一,是构建知识库.事件抽取等下游应用的 ...
- 入门文档级关系抽取_数据集DocRED、CDR、GDA
作为学习文档级关系抽取的短暂总结与记录.主要是相关数据集问题,如果能帮助到其他人,我也是很开心的. 文档级关系抽取论文 网上有很多文档级关系抽取的综述,他们会告诉你有哪些经典文献需要阅读,我就不再搬运 ...
- 谈谈我对NLP文档级关系抽取中Ign_F1指标的理解(Ign_F1与F1的关系)
因为Ign_F1这个参数网上所解释的内容都是一致的,并且不太好理解 于是我就特地请教了YX师兄 这里特地感谢1107实验室YX师兄 F1分数 F1为精确率和召回率的调和平均数(为下部分做准备) 对于查 ...
- 文档级关系抽取:QIUXP:DORE: Document Ordered Relation Extraction based on Generative Framework
DORE: Document Ordered Relation Extraction based on Generative Framework 文档级关系抽取是从整篇文档中抽取出三元组.更难,但也很 ...
- ACL 2018论文解读 | 基于路径的实体图关系抽取模型
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
最新文章
- 【jsp】通过get和post传值的区别
- 去年我年薪 30W,今年我一天做 3 顿饭
- 【OkHttp】OkHttp 源码分析 ( OkHttpClient.Builder 构造器源码分析 )
- sqoop动态分区导入mysql,sqoop 导入数据到hive分区表(外表,内表) 指定分区 指定数据库 指定表...
- cordova项目适配iPhoneX
- python语言的优缺点论文_Python语言的优缺点是什么呢?
- mysql 更新日的数据类型_[每日更新-MySQL基础]5.常用的数据类型-整数和字符串
- SpringCloud学习笔记028---在SpringBoot中整合多数据源_实战项目
- Object-c 协议@protocol(@required、@optional)
- idea 2019.2 svn 忽略文件/目录 .idea *.iml target log
- PDF虚拟打印机怎么虚拟打印
- Theano学习二:内存、变量、函数、自动微分、循环、scan以及分析调试等基础知识
- SpringBoot系列教程(六十七):SpringBoot自定义Fastjson为JSON消息转换器
- Base 64 图片解码
- linux下CURL工具的使用(常用选项)
- oracle delete not in 优化,Oracle中的sql语句优化
- 组合图形-第13届蓝桥杯Scratch省赛1真题第4题
- JS-关于原型与原型链这件事
- pip install psycopg2报错
- wireshark分析数据包
热门文章
- centos6配置mysql远程访问_一次成功的MySQL升级失败教训
- python基于窗体的播放器_基于Python3的终端播放器 – MellPlayer
- verilog设计一个补码加减法运算器_一文搞懂:计算机中为什么用补码来存储数据?...
- python编程工时计算_python 两个时间段过滤求交集(工时计算)
- C#:获取web.config中配置的IP地址
- Pannellum:实例之通过按钮控制全景图
- VSCode搭建vue前端开发工程的配置文件-launch.json
- 算法笔记_面试题_3.去除数组中的重复元素
- 论文阅读-多任务(2021)-YOLOP:用于自动驾驶目标检测与语义分割的实时多任务模型
- 高等数学复习笔记(四)- 零点问题与微分不等式