今天给大家介绍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