1. 引言
关系抽取(RE)是信息提取和检索中最重要的任务之一,旨在识别出从原始文本中提及的实体间的关系,在支持文本挖掘等下游自然语言处理(NLP)应用,例如文本挖掘 [1] ,情感分析 [2] ,问答系统 [3] ,和概要 [4] 等起着至关重要的作用。
最近,基于神经网络的RE方法 [5] [6] [7] [8] [9] 使用强大的编码器(如CNN, RNN和Transformers)显著提高了RE模型性能,而不需要任何精心设计的系统或手动构造的特征。这些方法在捕获上下文信息方面更胜一筹,从而使RE系统能够更好地理解文本并识别给定文本中实体之间的关系。采用神经网络的模型帮助RE不仅简单有效,而且有望将更多样化和更丰富的知识整合到RE系统中。在所有不同的知识来源中,句法信息,特别是依存树,已在许多研究中被研究人员证明是有益的 [10] [11] [12] [13] ,因为它们提供了有用单词之间的长距离单词连接,从而相应地指导系统更好地提取实体对之间的关系。
然而,大量利用依赖项信息并不总是能带来良好的RE性能,因为依赖项树中的噪声可能会给关系分类带来混淆 [6] [14] ,特别是当这些树是自动生成的时候。因此,以往的研究在通过特定的模型(如LSTM [6] 或图卷积网络(GCN)) [11] 对依赖信息进行编码之前,总是需要必要的修剪策略。因为固定的修剪策略不能保证得到包含所有重要上下文信息并过滤掉所有噪声的子树,所以有必要设计一种适当的方法来识别依存树中的噪声并相应地建模。
针对以上问题,本文所提出的基于注意力的改进图卷积神经网络关系抽取模型能够利用基于注意力机制的软剪枝策略来挖掘依存树中的有效信息,同时可以过滤掉无用信息;另外,本文加入KV Slot模块,对于实体中的每个单词,KV Slot模块将所有关联的单词及其之间的依赖性映射到内存槽,然后根据每个槽对关系提取的贡献为其分配一个权重。本文的方法不仅利用了单词之间的依赖连接和类型,而且还将可靠的依赖信息与嘈杂的信息区分开来,并对它们进行适当的建模,让模型反复学习利用依赖信息和依赖类型。
2. 相关工作
依赖分析在NLP的语言表达与意义之间起着重要的中间作用。它已广泛应用于NLP任务,如情感分析 [15] [16] ,意见提取 [17] ,知识推断 [18] [19] 。对于RE任务,依存树可以提供具有更多语义关系特征 [6] [20] [21] [22] 的深度学习模型。然而,一个基本的问题是需要将多少依存树信息整合到基于神经网络的RE模型中才能获得令人满意的结果。未修剪的依存树对神经模型带来计算负担和不可避免的干扰,而过于激进的修剪策略会导致关系提取器学习不足。
图卷积网络(GCN)在依赖解析句的编码和并行计算中都显示出了它的有效性。Zhang等人 [11] 在研究中首次将GCN引入RE任务。他们提出的C-GCN模型包括一个双向LSTM层和一个编码依赖结构的GCN层。作者采用了预定义的剪枝策略,其中当一个依存树节点与SDP的距离大于固定k时,将其从树中移除,从而从神经网络模型中排除。他们的模型在
的情况下表现最好 [11] 。激发了一系列基于GCN的RE框架的后续工作。Zhou等人 [23] 提出了一种改进的C-GCN模型在GCN操作中用距离加权的邻接矩阵代替常用的邻接矩阵,更好地表示树形结构,同时采用实体注意机制和剩余网络块等深度学习技术。为了摆脱那些预定义邻接矩阵带来的不灵活性,Guo等人 [24] 和Chen等人 [25] 都使用了通过多头自注意机制学习到的动态矩阵,并采用其他深度学习技术,如密集连接层。但是,由于注意机制缺乏可解释性,他们的方法既没有关注SDP中的关键节点,也没有对依存树进行全面的处理。除了使用C-GCN框架进行句子级RE外,Sun等人 [26] 和Hong等人 [27] 都将GCN应用于端到端提取,而Sahu等人 [28] 在跨句RE中使用了GCN;这些应用证实了GCN在更一般的RE任务中的普遍适用性。
本文针对上述问题,第一,改进了用于关系抽取的注意力机制的图卷积神经网络方法(A-GCN),改进后的方法将基于图卷积网络的注意机制应用于依赖解析器获得的依存树中的不同上下文单词,以区分不同单词依赖的重要性。第二,在A-GCN基础上又加入一个新的模块,即KV Slot模块,对于实体中的每个单词,KV Slot模块将所有关联的单词及其之间的依赖性映射到内存槽,然后根据每个槽对关系提取的贡献为其分配一个权重。增加的KV Slot模块不仅利用了单词之间的依赖连接和类型,而且还将可靠的依赖信息与嘈杂的信息区分开来,并对它们进行适当的建模。第三,本文将提出的模型在SemEval2010-Task8和KBP37数据集上进行实验,取得了很好的效果;为验证本文所提出的基于注意力机制的剪枝策略与KV Slot模块的有效性,还进行了消融实验。
3. 模型描述及实现
本章主要介绍基于改进注意力机制的图卷积神经网络,该模型框架如图1所示。下面将详细介绍各部分模块结构及功能。
![](//html.hanspub.org/file/31-2571177x8_hanspub.png?20231114082539647)
Figure 1. Improved A-GCN relational extraction model framework
图1. 改进的A-GCN关系抽取模型框架
3.1. 模型总体框架介绍
本文用预训练模型BERT将输入句子进行编码,再使用一种改进的基于注意力的图卷积神经网络方法。具体来说,首先从现成的工具包中获得一个输入句子的依存树,然后在依存树上构建图,并对任意两个词之间的不同标记的依赖连接赋予不同的权重,根据连接及其依赖类型计算权重。将改进的A-GCN网络的输出输入进新的KV Slot模块,增加的KV Slot模块不仅利用了单词之间的依赖连接和类型,而且还将可靠的依赖信息与嘈杂的信息区分开来,并对它们进行适当的建模。最后将输出结果进行softmax操作进行预测。
3.2. Transformer和BERT
如图2所示,本文使用的BERT预训练模型是以Transformer模型的编码器作为基模型的一种多头注意力机制构建的模型。在以往的研究中,BERT和RNN等模型不同,在并行性方面、语义理解方面的表现更加突出。BERT模型只是用了Transformer模型的编码器,而其编码器由6个相同的层组成,每一层又由两个子层组成,接下来本文对编码器子层的主要部分进行介绍,其结构如图3所示。
![](//html.hanspub.org/file/31-2571177x9_hanspub.png?20231114082539647)
Figure 2. BERT model structure diagram
图2. BERT模型结构图
![](//html.hanspub.org/file/31-2571177x10_hanspub.png?20231114082539647)
Figure 3. Transformer encoder structure diagram
图3. Transformer编码器结构图
Transformer模型采用自注意力机制和多头注意力机制。设自注意力机制中查询向量Q、键向量K、值向量V的维度相同,注意力的计算采用了scale dot-product。值向量
的权重为
(1)
多头注意力机制则是通过h个不同的线性变换对
进行投影,再将得到的自注意力中不同的注意力结果拼接起来。其表示为
(2)
(3)
自注意力层的结果会输入到前馈神经网络层中,该层主要提供非线性变化,每个解码器都有同样的层级结构。区别在于自注意力层和前馈神经网络层之间有一个注意力层。
3.3. 基于注意力机制的图卷积神经网络A-GCN
为了增强文本表示,从而获得对运行文本的良好理解,许多研究 [6] [25] [29] [30] [31] 试图通过不同的模型架构利用上下文特性,例如n-gram和语法信息。在这些结构选择中,图卷积网络(GCN)是一种被广泛应用的对图中的信息进行编码的结构,在每一层的GCN中,每个节点的信息通过它们之间的连接与它的邻居进行通信。GCN模型在输入句子图上编码上下文信息的有效性已被许多以前的研究证明。标准GCN模型中的图由单词依赖关系构建,用邻接矩阵
表示。如果
或依存树中两个单词
和
之间存在依赖连接,
;否则
。对于句子中每一个单词
,第l层GCN层把其邻接单词集中在一起,对于
计算它的输出表示
:
(4)
其中公式里的
表示GCN的
层中
的输出表示,
和
是GCN的l层可训练矩阵和偏置,
是Relu激活函数。
考虑到在标准GCN网络中,单词之间的连接是平等看待的(即
要么为1,要么为0)。因此用于关系抽取的标准GCN模型不能识别不同连接的重要性。因此,本文提出了一个用于关系抽取的改进的A-GCN模型,这个模型使用注意力机制来计算不同连接的权重,从而使模型相应利用不同依赖连接。除此之外,标准GCN模型和大多数以前的研究都忽略了与依赖连接相关的依赖类型,其中这些依赖类型对于关系抽取任务来说包含非常有用的信息,本文将这些信息引入改进A-GCN模型。
具体来说,本文将依存树中的依赖类型用一个类型矩阵
表示,其中
是
和
之间有向依赖连接相关的依赖类型(比如nsubj)。然后将每个依赖类型
映射到它的嵌入
。再之后,在GCN的第l层,
和
之间连接的权重可以计算为:
(5)
其中
,“
”代表内积操作,
和
分别是
和
的中间向量,其计算公式如下:
(6)
和
(7)
其中
表示向量连接操作。本文将权重
作为
和
之间的关联依赖连接,从而得到
的输出表示:
(8)
其中
是
的类型加强表示,
为节点i的度,
的计算表示如下:
(9)
其中
将依赖类型嵌入
映射到和
相同的维度。
和标准GCN相比,本文的方法用了数值加权(即
),而不是对于
的一个二元选择,以此来区分不同连接的重要性,从而可以更好利用。除此之外,本文将依赖类型信息加入到计算的权重(即
)和
的输出表示(
),这些在以前的大多数研究中都没有考虑到。
3.4. KV Slot模块
受到论文 [13] 的启发,为了更好的利用依存树中的依赖信息,本文增加一个新的模块(Key-Value Slot,简称KV Slot),根据不同依赖关系对关系提取任务的贡献来确定它们的权重,合并携带键(keys)和值(values)的依赖信息,使最终的关系抽取任务效果提高。下面来具体介绍增加的新模块:
在解析树中,输入句子中的每个单词都与它的governor和它的dependents用标记的依赖关系连接起来。对于输入句子中的任意两个单词,它们之间只有一条连接路径。对于一个实体中的每个单词,比如,实体
中的
(
为实体中的一个单词,
是
在输入句子中的索引
)对于实体中每一个单词,本文都考虑两种依赖信息,即“单独项”(own)和“集合项”(all)的依赖信息。
单独项(own)通过依赖解析记录了和
相连的单词的信息。为了构造单独项,首先从句子的依存树中找到
作为governor的所有dependents。然后将governor和dependents作为键,它们与
的依赖关系作为值。本文将
的第j个单独项信息记作
,其中
为与
有依赖连接的单词,
为它们之间的依赖关系类型。
集合项(all)的作用是沿着两个实体之间的依赖路径合并上下文信息。为了构建集合项,对于
中的每一个
(将另一个实体记作
),首先找到
与
的最后一个单词之间的依赖路径。使用最后一个单词的原因是英语中的名词短语(实体总是名词短语)往往是中心语后置的。然后类似于构建单独项的过程,提取该路径上的所有单词(包括
的最后一个单词)以及对应的依赖关系类型。最后,将单词作为键,将依赖关系类型作为值。本文将
的第j个集合项信息记作
,其中
为与
有依赖连接的单词,
为它们之间的依赖关系类型。
在实体
中的单词
(其中
是
在输入句子中的索引,
),将其第j个单独项和集合项分别记为:
和
。以单独项举例,首先用两个矩阵将键
和值
映射到它们的嵌入,分别用
和
表示。之后,本文通过
和GCN模型输出的
来计算
:
(10)
其中
是
的单独项中包含的项数,然后通过以下公式得到键和值的加权和
:
(11)
其中
代表向量的元素和。
集合项也和单独项计算过程类似,可得到一个加权和
,继而得到
:
(12)
即为KV Slot对于单词
的输出。将实体
的每一个单词
都进行以上操作,最终通过最大池化操作得到实体
的向量化表示:
(13)
因此本文得到两个实体的表示(O1代表E1,O2代表E2)。先通过BERT将输入句子X编码,将
编码记为
。然后将
作为输入,输入到l层改进的A-GCN模型,输出记为
。本文通过以下公式得到整个输入句子向量表示
:
(14)
最后用一个可训练矩阵
将其映射到输出空间:
(15)
其中O是一个
维向量,每一个值代表关系类型集R中的一种关系类型,用Softmax函数来预测E1和E2之间的关系
:
(16)
其中
代表向量O在第u维的值。
4. 实验与结果分析
4.1. 实验数据与评估指标
本文在两个标准关系抽取数据集上进行实验,分别为:
1) SemEval2010-Task8数据集。该数据集包含10717个句子实例,其包括8000个训练实例和2717个测试实例,关系类型包括9类关系和1个other类,关系类别及数据分布如表1所示。
2) KBP37数据集。该数据集使用了2010年和2013年的KBP文档数据集,以及对2013年Wikipedia进行注释的文本数据集,包括训练实例15,917个,测试实例3405个,包含19种不同的关系,其中丢弃了低频关系,每种关系的训练实例超过100条。
在两个数据集上本文均采用官方评价指标宏观平均(Macro)F1值评估模型。Macro首先对每一个类计算F1值,然后对所有类求算数平均值。表2为关系分类结果的混淆矩阵。
在计算F1指标值之前,根据混淆矩阵求得查准率P和查全率R,计算如式(17)、(18)所示。
(17)
(18)
F1值定义为查准率和查全率的调和平均数,如式(19)所示。
(19)
![](Images/Table_Tmp.jpg)
Table 1. SemEval2010-Task8 dataset relation type and corpus distribution
表1. SemEval2010-Task8数据集关系类型及语料分布
![](Images/Table_Tmp.jpg)
Table 2. Classification result confusion matrix
表2. 分类结果混淆矩阵
4.2. 依赖图的构建过程
为了构造A-GCN的图,本文使用Standard CoreNLP Toolkits (SCT)获取每个输入句子X的依存树TX。虽然本文的方法能够通过注意机制区分不同依赖连接的重要性,但如果能够通过特定的修剪策略找出那些给关系抽取带来困惑的依赖连接,它仍然是有益的。受先前研究 [11] [12] [15] [32] [33] [34] [35] 的启发,我们通过包含两组依赖连接,即本地连接(local connection)和全局连接(global connection),来构建A-GCN网络模型的图。其中,本地连接包括直接连接两个实体头部的所有依赖项,全局连接包括两个实体头部之间的最短依赖路径(最短依赖路径SDP)上的所有依赖项,通常情况下,不直接连接两个实体的单词也会被涉及。通过一个包含两个实体(即“company”和“restrictions”)的句子,图4展示了两组依赖连接以及用这两组连接构建的邻接矩阵。当SDP比较短,本地组的连接数可能比全局组的连接数多。
![](//html.hanspub.org/file/31-2571177x138_hanspub.png?20231114082539647)
Figure 4. Local connection and global connection
图4. 局部连接和全局连接
4.3. 参数设置
本文引入四个特殊token (“
”,“
”,“
”,“
”)用来标记两个实体的边界,方便编码器在编码时能够区分实体的位置,从而提高模型性能。对于编码器,本文使用BERT,因为它是一个强大的预训练语言模型,其变体在许多NLP任务中取得了最先进的性能。本文使用BERT-base-uncased和BERT-large-uncased编码器(对于BERT-base,使用了带有768维隐藏向量的12层多头注意力机制;对于BERT-large,使用1024维隐藏向量的24层多头注意力机制)。对于A-GCN和KV Slot,本文随机初始化所有可训练参数和依赖类型嵌入,它们的维数与BERT中隐藏向量的维数匹配。对于训练模型需要设置的其他超参数(例如,学习率(learning rate)、预热学习率(warmup rate)、dropout rate和批大小(batch_size)),将这些数据记录在表3中,在其中测试每个模型的所有组合,并使用最终实验中F1值达到最高的一个(它们的最佳组合以粗体显示)。
4.4. 总体结果
在本实验中,本文使用BERT-base和BERT-large编码器在带有或不带有依赖修剪策略的图上运行改进的A-GCN模型,对应于基于局部和全局连接(“L+ G”),以及由完全依赖图(“Full”)构造。本文还使用标准GCN和标准GAT运行基线。对于标准GCN和A-GCN,本文尝试不同数量的层(即1到3层)。此外,本文将不使用任何依赖信息的BERT-base和BERT-large作为基线模型。表4显示了A-GCN模型在SemEval 2010-Task8和KBP37测试集上的F1值。
通过表4可以得出几个观察结果。首先,当使用BERT-base或BERT-large作为编码器时,可以观察到与仅使用BERT的基线(ID: 1)相比,即使BERT基线已经取得了良好的性能,A-GCN在数据集上的功能更加突出。其次,当有相同的图(即“L+G”或“Full”)和相同的层数时,A-GCN优于GAT (ID: 2,3)和标准GCN (ID:4、6、8、10、12、14)。可以将这种观察结果解释为用于权衡不同依赖连接的注意力机制,该机制允许A-GCN区分图中的噪声,从而相应地利用有用的依赖信息。第三,在A-GCN层数不同的模型中,(比如ID:11用于BERT-base和ID:11用于BERT-large),两层A-GCN获得最高F1值。此外,发现本文的A-GCN模型(以及标准的GCN基线)具有本地和全局连接图(即“L+G”)始终优于具有完整依赖图(即“Full”)。这些观察结果是相对直观的,因为当依赖信息以密集的方式被利用时(例如,通过使用更多的层或不进行修剪的完整依存树),它可能会给RE引入更多的噪声。
本文在2个A-GCN层输出后加入KV Slot模块,继续提高模型精度。选择加入或不加入KV Slot模块,若选择加入KV Slot模块,应用单独项和集合项依赖信息的不同组合(即仅单独项依赖信息,仅集合项依赖信息,以及两者都使用)。表5显示了改进的A-GCN模型加上KV Slot模块后在SemEval 2010-Task8和KBP37测试集上的最终F1值。
通过观察发现,用相同剪枝图的两个A-GCN层输出加入KV Slot模块后,当单独项(own)和集合项(all)依赖信息同时使用时,F1值最高,即+KV Slot(both)。从而表明了单独项和集合项包含的依赖信息对于关系抽取任务的作用,本文将它们结合在一起以提高模型性能的方法是可行的。与仅使用集合项依赖信息的模型(即+KV Slot(all))相比,仅使用单独项依赖信息的模型(即+KV Slot(own))在大多数情况下获得了更好的结果。一种可能的解释如下:单独项依赖关系和集合项依赖关系之间存在重叠。如果只使用单独项依赖关系,模型不仅可以利用与实体本身直接关联的上下文信息,而且可以部分的利用依赖路径上的上下文信息,而具有集合项依赖关系的模型则不能利用与实体直接关联的上下文信息,这使得KV Slot (own)可以实现更好的效果。
![](Images/Table_Tmp.jpg)
Table 4. F1 value of the improved A-GCN model
表4. 改进的A-GCN模型的F1值
![](Images/Table_Tmp.jpg)
Table 5. Comparison of F1 values of the model after adding KV Slot module
表5. 入KV Slot模块后模型的F1值对比
4.5. 现有方法
本文最好的模型,使用BERT-large编码器和两个A-GCN层 + KV Slot模块,将其与以前的研究作对比,结果记录在表6中,模型介绍如下:
1) CNN + PF (CNN Position Feature) [36] :模型为基本的CNN,引入实体位置特征。
2) RNN + PF [37] :将CNN + PF中的CNN替换为基本的RNN。
3) SDP-LSTM [6] :通过剪枝策略,选取依存树中的最短依赖路径作为输入,利用LSTM提取异构信息。
4) SPTree (Shortest Path Tree) [10] :应用剪枝策略,将整棵树缩减为实体最低公共祖先下的子树,并利用双向树状结构的LSTM捕获句子高阶特征。
5) Att-Bi-LSTM (Attention Bi-LSTM) [38] :利用注意力机制作用于LSTM输出层捕获句子中重要的语义特征。
6) SA-Bi-LSTM-LET [39] :将实体感知注意力机制与潜在实体类型相结合,充分利用实体信息进行关系抽取。
7) A-GCN [40] :使用注意力机制来计算不同连接的权重,使模型利用不同依赖连接。
从表6可以看出,本文模型的F1值均高于对比模型。本文模型增加的KV Slot模块不仅利用了单词之间的依赖连接和类型,而且还将可靠的依赖信息与嘈杂的信息区分开来,并对它们进行适当的建模,从而进一步提高了关系抽取任务的性能。
![](Images/Table_Tmp.jpg)
Table 6. F1 values for the best model and previous models are used
表6. 使用最佳模型和以往模型的F1值
4.6. 改进A-GCN的作用
在关系抽取中依赖信息是有益的,因为它包含长距离的单词–单词关系,当给定的两个实体在输入句子中相距很远时,这可能非常有用。为了探索A-GCN和新增的KV Slot模块在捕获这种长距离单词关系上帮助关系抽取任务的效果,本文根据实体的距离(即两个实体之间的单词数量)将测试实例分成不同的组,并在这些组上运行模型以测试它们的性能。图5展示了在SemEval2010-Task8测试集中的三组测试实例上,性能最好的A-GCN + KV Slot模型使用BERT-large及其相应的标准GCN和BERT-large基线的性能,其中横坐标表示两实体距离的范围,两实体之间距离用两实体之间词的数量表示。可以观察到,A-GCN + KV Slot在所有组测试实例上的性能都优于两个基线。这个观察结果证实了本文的方法能够利用依赖信息并捕获长距离的单词–单词关系来改进关系抽取任务。并且A-GCN + KV Slot模型同样优于A-GCN模型,表明本文新增的KV Slot模块编码依赖信息以改进关系抽取的方法的有效性。
![](//html.hanspub.org/file/31-2571177x139_hanspub.png?20231114082539647)
Figure 5. In the instance Test model performance based on the distance (i.e, number of words) between two entities
图5. 根据实例中两个实体之间的距离(即单词数)测试模型性能
4.7. 图构建的影响
本文使用带有本地连接和全局连接(“L + G”)的A-GCN模型。为了研究本地连接和全局连接对A-GCN的影响,本文使用两个A-GCN层和由本地连接(“L”)或全局连接(“G”)构建的图来运行方法。表7为BERT-base和BERT-large编码器下不同模型的实验结果(F1值)。和A-GCN (L + G)相比,由局部连接(即A-GCN (L))或全局连接(即A-GCN (G))构建的图模型的性能较低,这符合预期,因为两组连接都包含重要的用于关系抽取的上下文特征。除此之外还发现不论用BERT-base还是BERT-large编码器,A-GCN (L)都比A-GCN (G)效果更好。一个比较合理的解释是:本地连接和全局连接之间存在重叠(例如,图4中的“range”和“restrictions”之间的连接)。因此,A-GCN (L)不仅可以利用与实体本身相关的上下文信息,而且部分得益于两个实体在SDP上的重叠连接,使得A-GCN (L)比A-GCN (G)具有更好的效果。
![](Images/Table_Tmp.jpg)
Table 7. F1 values for models built with graphs of different styles
表7. 使用不同方式的图构建的模型的F1值
4.8. KV Slot模块的影响
之前的实验证明了本文的模型与KV Slot在一阶词相关性上的有效性。本文还使用KV Slot (all)通过BERT-large实现二阶和三阶依赖。表8记录了实验结果(包括来自一阶依赖项的分数)。分析结果如下:首先,在所有设置下使用KV Slot的模型都优于只使用A-GCN的模型。其次,模型在相同的设置下,KV Slot (own)的性能始终优于KV Slot (all),这表明单独项依赖能够给模型带来更大的改进。第三,在所有三个设置下合并不同类型的依赖关系信息(即单独项(own)、集合项(all)或两者都有(both)),本文的新模型优于BERT基线,并且当使用单独项和集合项依赖信息时,F1得分最高(即+ KV Slot (both))。这一观察结果证实了单独项和集合项依赖信息的贡献,以及本文的方法的有效性。第四,对于KV Slot (both),使用更高阶的依赖关系通常会导致较差的结果;而KV Slot (own)则正好相反。一种可能的解释是,对于KV Slot (both),两个实体之间的大多数基本单词依赖关系已经编码,更高阶的依赖关系有时会引入噪声而不是有用的信息;而对于KV Slot (own),利用更高阶依赖关系允许模型沿两个实体之间的依赖路径覆盖更多上下文信息。
![](Images/Table_Tmp.jpg)
Table 8. F1 values measured using dependencies of different orders
表8. 利用不同阶数依赖项测得的F1值
4.9. 消融实验
与标准的GCN相比,A-GCN从两个方面进行了改进:(1) 使用注意机制对不同的依赖连接进行权衡;(2) 在过程中引入依赖类型,对更详细的依赖信息进行编码。为了更好地研究每个个体增强(即注意机制或依赖类型信息)的影响,本文对最佳模型(即带有BERT-base和BERT-large编码器的双层A-GCN (L + G))进行了消融研究。表9记录了不同模型的实验结果,其中仅使用BERT基准和标准GCN基准(不使用注意机制和依赖类型)的性能也记录下来作为参考。结果表明,弱化增强信息(即注意机制或依赖类型信息)会导致更差的结果。在这两种增强中,注意力机制对A-GCN的影响更大,这表明A-GCN区分重要连接并相应地利用它们的能力在关系抽取中起更重要的作用。如表10所示,在A-GCN模型基础上,增加KV Slot模块之后,显然使得在SemEval2010-Task8和KBP37数据集上F1值增加,效果更好,对原有模型性能上有提升,所以加入KV Slot模块。
![](Images/Table_Tmp.jpg)
Table 10. On the basis of A-GCN model, the ablation results of whether to add KV Slot module are carried out
表10. 在A-GCN模型基础上对于是否加入KV Slot模块进行消融研究结果
5. 结束语
在本文中,提出了利用依赖信息进行关系抽取的A-GCN + KV Slot方法,该方法通过对依赖连接应用注意力机制,对连接和类型同时施加权重,从而更好地进行区分重要的依赖项信息,并相应地利用它们。通过这样做,A-GCN能够动态地从不同的依赖连接中学习,从而修剪信息较少的依赖。KV Slot的键和值建立在从现成工具包中获取的输入句子的依存树上。特别是对于句子中的每个实体,根据输入句子的依赖解析及其对应的依赖关系类型,提取与之相关的单词。然后,对这些信息进行编码和加权,并将其用于关系提取任务中。在数据集上的实验结果和分析表明,本文的方法是有效的,在两个英文数据集上都表现出了很好的性能。本文模型是在两个英文数据集上训练测试的,在之后的研究中,我们将进一步将模型扩展到中文数据集上。