前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AGGCN | 基于图神经网络的关系抽取模型

AGGCN | 基于图神经网络的关系抽取模型

作者头像
DrugAI
修改2021-02-01 12:24:08
1.7K0
修改2021-02-01 12:24:08
举报
文章被收录于专栏:DrugAIDrugAI

今天给大家介绍2019年6月发表在ACL上的论文“Attention Guided Graph Convolutional Networks for Relation Extraction”,该工作由新加坡科技设计大学StatNLP研究小组完成。该研究提出了一种以全依赖树作为输入的注意力引导图卷积网络(AGGCN)模型。该模型充分利用了依赖树中的信息,以便更好地提取出相关关系。

01

研究背景

关系抽取是检测文本中实体之间的关系,它在生物医学文献挖掘方面有着不可或缺的作用。大多数现有的关系抽取模型可以分为两类:基于序列的关系抽取模型和基于依赖关系的关系抽取模型。基于序列的模型仅仅针对单词序列,而基于依赖关系的模型针对整个依赖关系树。因此基于依赖关系的模型更能捕获有用信息,利于关系抽取。为了进一步提高性能,许多学术者还提出了各种剪枝策略来提取依赖信息。

然而,在剪枝的同时,基于规则的剪枝策略可能会删除整个树中的一些重要信息。因此,该文章提出了一种新的注意力引导图卷积网络(AGGCNs),它直接对全树进行操作。该研究开发了一种“软剪枝”策略,将原始依赖树转换为完全连通带权图。这些图的权重被视为节点之间的相关性强度,并使用自我注意机制以端到端的方式学习。为了对大的连通图进行编码,该研究将密集连接引入GCN模型。在密集连接的帮助下,该研究能够对AGGCN模型进行深度较大的训练,从而能够捕获丰富的局部和非局部依赖信息。最后实验表明,AGGCN模型能够在不增加额外的计算下,学习更好的图形表示,该模型针对各种任务,表现出更好的性能。

02

实验模型

AGGCN模型由几个基本组件构成,其模型如图1所示。

图1 带有示例语句及依存关系树的AGGCN模型

2.1 GCNs

GCN是直接在图结构上运行的神经网络。给定具有n个节点的图,用n×n邻接矩阵A表示。将边的方向性纳入模型来扩展GCN,以对依赖树进行编码。树中的每个节点添加一个自环,并包括依赖弧的相反方向,如果存在从节点i到节点j的边,则Aij = 1且Aji = 1,否则Aij = 0且Aji = 0。第l层的节点i的卷积计算输入特征是h(l-1),输出特征是hi(l),定义公式如下:

其中W(l)是权重矩阵,b(l)是偏差向量,ρ是激活函数(例如RELU)。hi(0)是初始输入xi,其中xi∈Rd,d是输入特征维度。

2.2 注意引导层

AGGCN模型由M个相同的块组成。每个块由三种类型的层组成:注意引导层、密集连接层和线性组合层。

在注意引导层中,通过构造注意引导邻接矩阵Ã,将原始依赖树转换为完全连通加权图。Ãi对应于完全连通图Gi,每个Ãij是从节点i到节点j的边的权重。Ã可以通过自我注意机制构建,并且可以作为后面的图形卷积层计算的输入。Ã的大小与原始邻接矩阵A(n×n)相同,不涉及额外的计算开销。Ã的计算如下所示:

其中Q和K都等于AGGCN模型的第l-1层的集合表示h(l-1)。WiQ∈Rd×d和WiK∈Rd×d都是参数矩阵。Ã(t)是与第t个头部相对应的第t个注意导向的邻接矩阵。最多可以构造N个矩阵,其中N是一个超参数。

2.3 密集连接层

密集连接从任何一层引入直接连接到其前面的所有层。我们首先将gj(l)定义为初始节点,表示在第1,…,第l-1层中产生的节点表示的级联:

每个密集连接的层都有L个子层,这些子层的维度dhidden由L和输入特征维度d决定。在AGGCN中,作者使用dhidden = d/L。例如,如果密集连接的层具有3个子层,并且输入维为300,则每个子层的维度为dhidden = d/L = 300/3 =100。然后,将每个子层的输出连接在一起,形成新的表示形式。因此,输出维度为300(3×100)。AGGCN模型会随着层数的增加而缩小隐藏维度。

模型有N个不同的注意引导邻接矩阵,因此需要N个单独的密集连接层。因此,该研究将每个层的计算修改如下(对于第t个矩阵Ã(t)):

其中t=1,...,N。t取决于注意引导邻接矩阵Ã(t)相关联的权重矩阵和偏差项。权重矩阵的列维每个子层增加dhidden,即Wt(l)∈Rdhidden×d(l),其中d(l)= d + dhidden×(l -1)。

2.4 线性组合层

AGGCN模型只有一个线性组合层,以整合N个不同的密集连接层的表示。线性组合层的输出定义为:

hout是合并N个独立的密集连接层的输出,即hout = [h(1); ...; h(N)]∈Rd×N。Wcomb∈R(d×N)×d是一个权重矩阵,bcomb是一个用于线性变换的偏差向量。

2.5 用于关系抽取的AGGCNs

关系抽取的目的是预测实体之间的关系。最后该研究将句子表示和实体表示连接起来以获得最终的分类表示。首先,需要获取句子表示形式。计算式为:

其中hmask表示被掩蔽的集体隐藏表示。掩蔽表示我们仅选择句子中的关系标记而不是实体标记。f:Rd×n→Rd×1是最大池化函数,可将n个输出向量映射到1个句子向量。类似地,我们可以获得实体表示。对于第i个实体,其表示hei的计算公式为:

其中,hei表示与第i个实体相对应的隐藏表示。实体表示与句子表示合并形成新的表示。我们将前馈神经网络(FFNN)应用于关系推理中的级联表示:

其中hfinal作为逻辑回归分类器的输入,进行预测。

03

实验

3.1 数据

该研究在交叉句子n元关系抽取和句子级关系抽取这两个任务上,评估实验模型性能。对于交叉句子n元关系抽取任务,该实验使用从PubMed中提取的6,987个三元关系实例和6,087个二元关系实例数据集。并考虑了两个特定的评估任务,即,二元类n元关系抽取和多类n元关系抽取。对于句子级关系抽取任务,该研究使用TACRED和Semeval-10 Task8数据集来评估。

3.2 设置

作者在注意引导层选择N个头部(N∈{1,2,3,4}),M个块(M∈{1,2,3});在密集连接层选择L个子层(L∈{2,3,4})。通过初步实验发现(N=2,M=2,L1=2,L2=4,dhidden=340)和(N=3,M=2,L1=2,L2=4,dhidden=300)的时候,分别对应的交叉句子n元关系抽取和句子级关系抽取效果是最好的。文章使用GloVe初始化词向量。

作者用五折交叉验证的平均准确率,来评估交叉句子n元关系抽取任务性能。用TACRED数据集的微观平均F1分数和SemEval数据集的宏观平均F1分数,来评估句子级关系抽取任务性能。

3.3 交叉句子n元关系抽取结果

作者将AGGCN与以这三种为基准模型做了比较:1)基于所有实体对的最短依赖路径特征分类器,2)图结构的LSTM,3)具有剪枝树的图卷积网络模型。对比结果如表1所示:

表1 二类n元和多类n元关系抽取五折交叉验证的平均测试精度

其中“T”表示三元“药物-基因-突变”关系,“B”表示二元“药物-突变”关系。Single表示单个句子内的准确率,Cross表示所有句子的准确率。GCN模型中的K表示预处理的剪枝树距离LCA子树中的依赖路径长度。从表中可以看成,作者提出的AGGCN模型准确率要优于以往所有的模型。

3.4 句子级关系抽取结果

在TACRED数据集中,作者将AGGCN与两种基准模型进行了比较:1)基于依赖关系的模型,2)基于序列的模型。比较结果如表2所示:

表2 TACRED数据集的结果

从表2可以看出,虽然LR模型在精度上有更高的分数,但它的召回率低。虽然PA-LSTM在召回率取得最高的分数,但在其他方面不如AGGCN模型。另外,作者在SemEval数据集上评估的结果如表3所示:

表3 SemEval数据集的结果。

观察两个表可知,无论在哪个数据集上,作者提出的AGGCN模型的F1值始终是最高的。结合这几个实验可得,AGGCN在各种关系抽取任务中都能取得最好的结果。

参考资料

https://www.aclweb.org/anthology/P19-1024/

代码

https://github.com/Cartus/AGGCN

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrugAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档