图神经网络关系抽取论文阅读笔记(二)

news2024/11/20 1:38:19

1 用于关系抽取的生成式参数图神经网络

论文:Graph Neural Networks with Generated Parameters for Relation Extraction(2019 ACL)

1.1 创新点

  1. 传统的图神经网络在进行NLP任务时,图的拓扑结构都是预先定义好的,之后再用于节点之间消息传递。本文提出一种具有生成参数的新型图神经网络模型,实现了富文本信息的关系消息传递,也就是说图的结构信息(如邻接矩阵、定点值等)可以根据输入的文本信息自动生成,自动构建出GNN的图结构。同时提出的模型还具备处理多条关系推理的能力,可用于处理非结构化输入数据(如自然语言)的关系推理。如图所示:

    在这里插入图片描述

  2. 将提出的图神经网络模型用于关系抽取,证明了它在多跳关系推理方面的能力,同时还给出了三个远程监督的数据集,用于后续研究。

1.2 模型架构

给定一个文本序列,其可能包含m个实体,关系抽取的任务是对每一个实体对预测出一个标签。GP-GNN模型是由一个全连接图构成的 G = ( V ( 实 体 集 合 ) , E ( 边 集 合 ) ) \mathcal{G}=(\mathcal{V(实体集合)}, \mathcal{E(边集合)}) G=(V(),E())

整个GP-GNN模型架构由三部分组成:(1)encoding 模块。(2)传播模块。(3)分类模块进行关系推理。

在这里插入图片描述

1.2.1 GP-GNNs用于关系抽取

给定一个句子: s = x 0 i , j , x 1 i , j , … , x l − 1 i , j s=x_0^{i, j}, x_1^{i, j}, \ldots, x_{l-1}^{i, j} s=x0i,j,x1i,j,,xl1i,j ,一个关系集合R,和一个实体集合 V s = { v 1 , v 2 , … , v ∣ V s ∣ } \mathcal{V}_s=\left\{v_1, v_2, \ldots, v_{\left|\mathcal{V}_s\right|}\right\} Vs={v1,v2,,vVs},其中 v i v_i vi可能包含一个或者几个单词。

1.2.2 Encoding Module

传统的图神经网络一般会显式的定义边,然而在自然语言中没有这样的显式的边存在,因此就认为这是一个全连接图,也就是说每个单词都会和句子中的其他单词有联系。这些联系就用边的权重矩阵表示,这个权重矩阵不是通过随机初始化再进行反向传播得来的而是通过句子中单词的向量变换生成而来的

对于当前输入的文本,得到特征表示:X代表word embedding,p代表单词x距离实体i和j的position embedding。
E ( x t i , j ) = [ x t ; p t i , j ] E\left(x_t^{i, j}\right)=\left[\boldsymbol{x}_t ; \boldsymbol{p}_t^{i, j}\right] E(xti,j)=[xt;pti,j]

Word Representations:Glove

Position Embedding:将序列中的token标记为三种类型,分别是属于第一个实体,属于第二个实体,非实体。

得到特征表示之后,之后将其送到encode当中:
A i , j ( n ) = [ MLP ⁡ n ( BiLSTM ⁡ n ( ( E ( x 0 i , j ) , E ( x 1 i , j ) , ⋯   , E ( x l − 1 i ,  b e ˋ   ′ ) ) } \mathcal{A}_{i, j}^{(n)}=\left[\operatorname { M L P } _ { n } \left(\operatorname { B i L S T M } _ { n } \left(\left(E\left(x_0^{i, j}\right), E\left(x_1^{i, j}\right), \cdots, E\left(x_{l-1}^{\left.i, \text { bè }^{\prime}\right)}\right)\right\}\right.\right.\right. Ai,j(n)=[MLPn(BiLSTMn((E(x0i,j),E(x1i,j),,E(xl1i, beˋ ))}
其中这里的 A i , j ( n ) \mathcal{A}_{i, j}^{(n)} Ai,j(n)就是图的权重矩阵

1.2.3 Propagation Module

传播模块逐层学习节点的表示形式,节点的初始嵌入(即第0层的表示)与任务相关,可以是对节点特征进行编码的嵌入,也可以是one-hot编码嵌入。给定层n的表示形式,n +1 层的表示形式通过下面公式计算,其中 N ( v i ) \mathcal{N}\left(v_i\right) N(vi)表示图G中节点v的邻域, σ \sigma σ表示非线性激活函数。
h i ( n + 1 ) = ∑ v j ∈ N ( v i ) σ ( A i , j ( n ) h j ( n ) ) \mathbf{h}_i^{(n+1)}=\sum_{v_j \in \mathcal{N}\left(v_i\right)} \sigma\left(\mathcal{A}_{i, j}^{(n)} \mathbf{h}_j^{(n)}\right) hi(n+1)=vjN(vi)σ(Ai,j(n)hj(n))
The Initial Embeddings of Nodes:第0层的hvi和hvj被分别的表示为 h v i ( 0 ) = a subject  \mathbf{h}_{v_i}^{(0)}=\boldsymbol{a}_{\text {subject }} hvi(0)=asubject  h v j ( 0 ) = a o b j e c t \boldsymbol{h}_{v_j}^{(0)}=\boldsymbol{a}_{\mathrm{object}} hvj(0)=aobject,其中 a subject  = [ 1 ; 0 ] ⊤  and  a object  = [ 0 ; 1 ] ⊤ 3 \boldsymbol{a}_{\text {subject }}=[\mathbf{1} ; \mathbf{0}]^{\top} \text { and } \boldsymbol{a}_{\text {object }}=[\mathbf{0} ; \mathbf{1}]^{\top 3} asubject =[1;0] and aobject =[0;1]3

第一层的构造,对于主体和客体会给一个标记,以便最后进行关系抽取时使用。

1.2.4 Classification Module

在输出模块中,将目标实体(vi,vj)作为输入,然后进行转变:
r v i , v j = [ [ h v i ( 1 ) ⊙ h v j ( 1 ) ] ⊤ ; [ h v i ( 2 ) ⊙ h v j ( 2 ) ] ⊤ ; … ; [ h v i ( K ) ⊙ h v j ( K ) ] ⊤ ] \boldsymbol{r}_{v_i, v_j}=\left[\left[\boldsymbol{h}_{v_i}^{(1)} \odot \boldsymbol{h}_{v_j}^{(1)}\right]^{\top} ;\left[\boldsymbol{h}_{v_i}^{(2)} \odot \boldsymbol{h}_{v_j}^{(2)}\right]^{\top} ; \ldots ;\left[\boldsymbol{h}_{v_i}^{(K)} \odot \boldsymbol{h}_{v_j}^{(K)}\right]^{\top}\right] rvi,vj=[[hvi(1)hvj(1)];[hvi(2)hvj(2)];;[hvi(K)hvj(K)]]
再进行关系预测:
P ( r v i , v j ∣ h , t , s ) = softmax ⁡ ( MLP ⁡ ( r v i , v j ) ) \mathbb{P}\left(r_{v_i, v_j} \mid h, t, s\right)=\operatorname{softmax}\left(\operatorname{MLP}\left(\boldsymbol{r}_{v_i, v_j}\right)\right) P(rvi,vjh,t,s)=softmax(MLP(rvi,vj))
Loss:
L = ∑ s ∈ S ∑ i ≠ j log ⁡ P ( r v i , v j ∣ i , j , s ) \mathcal{L}=\sum_{s \in S} \sum_{i \neq j} \log \mathbb{P}\left(r_{v_i, v_j} \mid i, j, s\right) L=sSi=jlogP(rvi,vji,j,s)
在实践中,将每个目标实体对堆叠在一起去推断各个实体对之间的潜在关系。

1.3 实验部分

1.3.1数据集

  • Distantly labeled set :Sorokin和Gurevych用Wikipedia语料库提出了一个数据集,本文任务与其任务之间有一个小区别:本文任务是提取句子中每对实体之间的关系,而他们的任务是提取给定实体对与上下文实体对之间的关系。 因此需要修改其数据集:1)如果给定三元组中缺少反向边??,例如如果句子中存在三元组(Earth, partof, SolarSystem),则向其添加一个反向标签(Solar System, partof, Earth)如何添加;2)对于所有没有关系的实体对,在它们之间添加了“NA”标签,对所有实验都使用相同的训练集。
  • Human annotated test set : 根据Sorokin and Gurevych提供的测试集,需要5个annotator标记数据集,被用来决定是否对每一对实体都使用远程监督,只有所有5个annotator都接受的实例才合并到人工标注的测试集中,最终测试集中有350个句子和1,230个三元组。
  • Dense distantly labeled test set : 进一步从远距离标记的测试集中拆分出一个密集的测试集,标准是:实体数量应严格大于2;句子的真实标签中必须至少有一个圆(至少有三个实体)(圆的每个边都有一个非“NA”标签)。该测试集可用于测试论文方法在实体之间具有复杂相互作用的句子上的表现,该测试集中有1,350个句子、超过17,915个三元组和7,906个关系。

1.3.2 实验效果

在这里插入图片描述

​ 从表2和表3中可以看出,本文最佳模型在所有三个测试集上的性能均明显优于所有基模型。这些结果表明GP-GNN模型可以使用自然语言生成的参数对完全连接的图成功进行推理。这些结果还表明本模型不仅在句子级关系提取上表现良好,而且在袋级关系提取上也有所改进。

在这里插入图片描述

层数表示模型的推理能力,K层模型具有推断K跳关系的能力。为了证明层数的影响,比较了具有不同层数的模型。从表2和表3中可以看到,在所有三个数据集上,三层模型均达到最佳。

1.4 论文总结

​ 解决了利用GNN与自然语言进行关系推理的问题,提出的模型GP-GNNs通过将自然语言编码为参数并执行层与层之间的传播来解决关系消息传递任务。 新模型也可以被认为是解决非文本输入(例如文本,图像,视频,音频)的图生成问题的通用框架,可以实现多模态。在这项工作中,证明了其在预测自然语言和袋级实体之间的关系方面的有效性,并表明通过在推理中考虑更多跃点,关系提取的效果可以得到显着改善

1.5 个人点评

​ 参数自动生成的图神经网络(GP-GNN)是本文的主要亮点,既实现了端到端关系抽取也实现了多模态;但是GP-GNN的原理实在没整明白,感觉论文中很多细节也没有说明白,导致看完了对原理还是一脸懵逼,比如图权重矩阵的生成就很匪夷所思,词向量和位置向量拼到一起丢进Bilstm和MLP就出来了, A i , j ( n ) = [ MLP ⁡ n ( BiLSTM ⁡ n ( ( E ( x 0 i , j ) , E ( x 1 i , j ) , ⋯   , E ( x l − 1 i ,  b e ˋ   ′ ) ) } \mathcal{A}_{i, j}^{(n)}=\left[\operatorname { M L P } _ { n } \left(\operatorname { B i L S T M } _ { n } \left(\left(E\left(x_0^{i, j}\right), E\left(x_1^{i, j}\right), \cdots, E\left(x_{l-1}^{\left.i, \text { bè }^{\prime}\right)}\right)\right\}\right.\right.\right. Ai,j(n)=[MLPn(BiLSTMn((E(x0i,j),E(x1i,j),,E(xl1i, beˋ ))},这是实在不好理解,为什么权重矩阵可以这么搞就获得了呢?

​ 而且这个实体顶点的初始值设置也很奇怪为什么是 a subject  = [ 1 ; 0 ] ⊤  and  a object  = [ 0 ; 1 ] ⊤ 3 \boldsymbol{a}_{\text {subject }}=[\mathbf{1} ; \mathbf{0}]^{\top} \text { and } \boldsymbol{a}_{\text {object }}=[\mathbf{0} ; \mathbf{1}]^{\top 3} asubject =[1;0] and aobject =[0;1]3,也没想明白。

​ 最后实验是在自己的三个远程监督数据集上做的,也没整明白,为什么不在其他有监督的数据集上做,单纯是为了验证关系推理能力吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29283.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

已解决OSError: [Errno 22] Invalid argument

已解决OSError: [Errno 22] Invalid argument 文章目录报错代码报错翻译报错原因解决方法帮忙解决报错代码 粉丝群里面的一个粉丝用Python读取文件的时候,发生了报错(跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助…

PTA题目 前世档案

网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。 现在我们把结论从左到右顺序…

UnityVR一体机报错:GL_OUT_OF_MEMORY,[EGL] Unable to acquire context

一、 报错信息一览 (1) [EGL] Unable to acquire context: E Unity : [EGL] Unable to acquire context: EGL_BAD_SURFACE: An EGLSurface argument does not name a valid surface (window, pixel buffer or pixmap) configured for GL rendering. 解决…

AQS源码解析 4.Condition条件队列入门_手写BrokingQueue

AQS源码解析—Condition条件队列入门_手写BrokingQueue Condition 条件队列介绍 AQS 中还有另一个非常重要的内部类 ConditionObject,它实现了 Condition 接口,主要用于实现条件锁。ConditionObject 中也维护了一个队列,这个队列主要用于等…

动态规划算法学习三:0-1背包问题

文章目录前言一、问题描述二、DP解决步骤1、最优子结构性质2、状态表示和递推方程3、算法设计与分析4、计算最优值5、算法实现6、缺点与思考前言 一、问题描述 二、DP解决步骤 1、最优子结构性质 2、状态表示和递推方程 子问题可由两个参数确定:待考虑装包的物品…

【C/调试实用技巧】—作为程序员应如何面对并尝试解决Bug?

小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan 关于C语言的所有由浅入深的知识,都存放在专栏【c】 ❤❤❤ 个人简介:双一流非科班的一名小白,期待与各位大佬一起努力! 推荐网站:cplusplus.com 目录…

Springboot集成ItextPdf

目录 一、概述 二、Itext API 1.PDF文档生成 3.常用对象 一、文档对象 二、操作对象 三、内容对象 四、表格对象 四、常用案例 一、水印 三、页眉页脚 四、合并多个PDF 五、表单PDF 六、模板PDF 一、html模板 二、使用工具构建PDF模板 7、HTML转PDF 8、删除页…

同花顺_知识_庄家技法_4拉升技法

写在前面: 文中知识内容来自书籍《同花顺炒股软件从入门到精通》 目录 1. 拉升时机的选择 1)大盘走势稳健时 2)重大利好出台前后 3)进行一次凶狠的打压之后 4)大市偏弱时 5)图形及技术指标修好之时 …

FPGA开发(4)——AXI_LITE总线协议

一、AXI总线简介 对于axi总线的学习我主要是参考了赛灵思的ug1037文档以及arm的INI0022D手册,对其中的内容做了总结。 AXI是amba总线的一种,包含三种,axi full、axi lite和axi stream。 AXI工作:axi接口包含了五组通道&#xf…

如何快速用一条命令配置好本地yum源(6/7/8版本)

一,挂载ISO安装镜像 挂载方式分两种: 1.上传iso安装镜像到服务器主机的指定目录,比如/setup/os为例 mount -o loop /setup/os/iso镜像包名称 /mnt 2.直接虚拟机或者物理主机挂载iso安装镜像 mount /dev/cdrom /mnt mount/dev/sr0 /mnt 3.挂载…

【计算机网络】网络层:路由器的构成

路由器工作在网络层,用于互连网络,主要工作是转发分组。 把某个输入端口收到的分组,按照分组要去的目的网络,把该分组从路由器的某个合适的输出端口转发给下一跳路由器。 (根据目的网络的IP地址转发分组)…

[附源码]java毕业设计学生档案管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

使用Umi 遇到的错误

今天想使用ui,出现了很多错误,刚开始安装的时候没有一点事,就是运行的时候报错,好像和umi版本不匹配了,后来又把umi删除了又安装一遍,然后还是运行不了,后来我又把umijs/preset-ui卸了&#xff…

通过制作4个游戏学习Python

前言 学习编程最好玩的方法 你会学到什么 (文末送读者福利) 您将学习如何有效地使用Python 您将创建一个python游戏组合 你将学会如何管理好大型项目 你将学习面向对象编程 您将学习并实现高级Python特性 你将对Python有一个透彻的理解 类型:电…

Spark并行度和任务调度

文章目录并行度如何设置并行度如何规划我们自己群集环境的并行度?Spark的任务调度并行度 Spark之间的并行就是在同一时间内,有多少个Task在同时运行。并行度也就是并行能力的设置,假设并行度设置为6,就是6个task在并行跑&#xf…

蒙特卡洛原理及实例(附Matlab代码)

文章目录一、理论基础1.1 伯努利大数定理1.2 辛钦大数定理1.3 切比雪夫大数定理1.4 三者区别和联系二、蒙特卡洛法2.1 蒙特卡洛的起源2.2 蒙特卡洛的解题思路2.2 蒙特卡洛法的应用三、几个小栗子3.1 求解定积分3.1.1 解析法3.1.2 蒙特卡洛法3.2 求解六边形面积3.2.1 解析法3.2.…

[附源码]SSM计算机毕业设计基于的高校学生考勤管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

支持向量机

目录 支持向量机 0. 由来 1. 核心思想 2. 硬间隔支持向量机 2.1 间隔最大化 2.1.1 函数间隔2.1.2 几何间隔2.1.2 间隔最大化 2.2 转换为拉格朗日对偶问题 2.2.1 拉格朗日对偶问题2.2.2 将问题转换为拉格朗日对偶问题 3. 软间隔支持向量机 4. 泛函基础 4.1 度量&#xff…

Flutter 8 个优秀动画 Packages

Flutter 8 个优秀动画 Packages 前言 动画对于使移动应用程序的用户界面感觉自然流畅至关重要。加上交互式元素和平滑的过渡,它们使应用程序简单易用。 正文 Flutter Animate 组件 Package https://pub.dev/packages/flutter_animate 一个 performant 库&#xff0c…

springboot simple (9) springboot jpa(Hibernate)

返回目录 1 JPA Hibernate Hibernate是一个全自动的ORM框架(Object Relational Mapping ,对象关系映射)。 Spring Data JPA: 是Spring Data的子模块,JPA默认使用hibernate作为ORM实现。 2 springboot继承Hibernate 第1步&…