依存树可以帮助关系抽取模型捕捉单词之间的长距离关系。然而,现有的依赖关系模型要么过于积极地修剪依存树而导致忽略一些关键信息(例如否定关系),要么就很难在不同的树结构上并行计算而导致计算效率很低。我们针对关系抽取而定制了一种图卷积网络,它能够有效地并行存储任意依赖结构的信息。我们进一步将新的修剪策略应用于输入树,方法是保留两个可能存在关系的实体之间的最短路径中的词。所得到的模型在TACRED数据集中表现优异,优于现有的序列模型和基于依存关系的神经模型。我们还通过详细的分析表明,该模型与序列模型具有互补优势,并且它们的组合进一步提升了模型的表现。
关系抽取涉及到辨别句子中两个实体之间是否存在关系(通常分别称为主语和宾语)。良好的关系抽取表现是那些需要在大规模非结构文本上进行关系理解的应用的基石,例如问答,知识库应用和生物医学知识发现。
利用输入句子的依存分析的模型,或者基于依存关系的模型,在关系抽取中被证明是非常有效的,因为它们捕获了字面形式上比较模糊的远距离句法关系(例如,从句比较长或有着复杂的范围限定的情况)。传统的基于特征的模型通过将依存树的特征转化为沿着树的重叠路径来表示依存信息。然而,这些模型面临着特征过于稀疏的挑战,并且对词汇的变化很敏感。最近的神经模型用分布式表示来解决这个问题,它们的计算图是沿着解析树形成的。利用依存信息的一种常见方法是沿着实体的最低共同祖先(LCA)下的解析树或子树执行自下而上或自顶向下的计算。另一种由Bunescu和Mooney提出的流行方法是将解析树简化为实体之间最短的依赖路径。
然而,这些模型有几个缺点。直接在解析树上进行操作的神经模型通常很难并行化,因此计算效率很低,因为将树对齐并进行有效的批处理训练通常是非常重要的。基于主语和宾语之间最短依赖路径的模型计算效率更高,但这种简化的假设也有很大的局限性。图1显示了一个真实的示例,当模型仅考虑依赖路径时,一些关键信息(比如:否定关系)将被丢失。
图1:一个经过修改的TAC KBP挑战语料库的例子。给出了主语(“he”)和宾语(“Mike Cane”)之间的原始UD依存树的子树,其中实体之间的最短依赖路径以粗体高亮显示。请注意,否定(“Not”)没能进入依赖路径。
在本文中,我们提出了一种为关系抽取量身定制的图卷积网络。该模型利用有效的图卷积运算对输入语句上的依存结构进行编码,提取以实体为中心的表示,从而使关系预测更加鲁棒。我们还应用了一种新的以路径为中心的剪枝技术,在最大限度地保留有关内容的同时,从树中删除无关信息,这进一步提高了包括我们的模型在内的几个依赖模型的性能。
我们在流行的SemEval 2010 Task 8数据集和更新、更大的TACRED数据集上测试了我们的模型。在这两个数据集上,我们的模型不仅在与新的剪枝技术相结合时显著优于现有的基于依赖性的神经模型,而且还比现有的基于树的模型计算效率提高了10-100倍。在TACRED上,我们的模型进一步实现了最优的性能,超越了参与对比的神经序列模型。该模型在TACRED上也显示了对序列模型的互补优势,并且通过简单的预测插值组合这两种模型,进一步提升了模型的表现。
总结一下,本文的主要贡献是:(1)提出了一种基于图卷积网络的关系抽取神经模型,使其能够在任意依赖结构上有效地融合信息;(2)提出了一种新的以路径为中心的剪枝技术,帮助基于依赖关系的模型在不破坏关键内容的情况下最大程度地去除无关信息,提高其鲁棒性;(3)对模型和剪枝技术进行了详细的分析,表明基于依赖关系的模型与序列模型具有互补的优势。
在这一部分中,我们首先描述了依存树结构上的图卷积网络(GCNS),然后介绍了一种以GCNs为核心的关系抽取模型。
图卷积网络是卷积神经网络对图编码的适配版本。给定一个具有n个节点的图,则可以用一个n×n的邻接矩阵A来表示图结构,如果从节点i到节点j存在一条边,那么 A i j = 1 A_{ij} = 1 Aij=1。在一个L层的GCN中,如果我们将第l层第i个节点的输入向量表示为 h i ( l − 1 ) h_{i}^{(l-1)} hi(l−1) ,输出向量表示为 h i ( l ) h_{i}^{(l)} hi(l) ,则可以将图卷积操作写成
其中W(l)是一个线性变换,b(l)是一个偏置项,σ是一个非线性函数(例如Relu)。直观地,在每个图的卷积过程中,每个节点从图中的相邻节点收集和汇总信息。
我们通过将每棵树转换成相应的邻接矩阵A,将图卷积操作应用于建立依赖树的模型,其中,如果节点i和j之间存在依赖边,则 A i j = 1 A_{ij} = 1 Aij=1。然而,在等式(1)中片面地应用图卷积运算,可能会导致节点表示的结果大不相同,因为节点的度变化很大。这可能会使我们的句子表示偏向于高度节点,而不管节点中携带的信息是什么(参见2.2节中的详细信息)。此外, h i ( l − 1 ) h_{i}^{(l-1)} hi(l−1) 中的信息从未传递到 h i ( l ) h_{i}^{(l)} hi(l),因为依存树中的节点没有边连接到自己。
我们通过将数据传入非线性层之前进行归一化操作,和通过给图中的每个节点添加自循环的方式解决了这些问题:
其中Ã = A + I,I为n×n的单位矩阵。 d i = ∑ j = 1 n A ~ i j d_{i} = \sum_{j=1}^n Ã_{ij} di=∑j=1nA~ij 是节点i在图中的度。
将这种操作叠加L层,我们会得到一个深层GCN网络,其中我们用 h 1 ( 0 ) h_{1}^{(0)} h1(0) , … , h n ( 0 ) h_{n}^{(0)} hn(0) 来表示输入的词向量,并使用 h 1 ( L ) h_{1}^{(L)} h1(L) , … , h n ( L ) h_{n}^{(L)} hn(L) 来表示输出的词向量。这个网络中的所有操作都可以通过矩阵乘法高效地实现,使其适合于示例中给出的批处理计算并在GPU上运行。此外,信息在节点之间的传播是并行的,并且运行时与依存树的深度无关。
请注意,上面介绍的GCN模型对图中的所有边都使用相同的参数。我们还试验了:(1)对自顶向下、自下而上和自循环的边使用不同的转移矩阵W;(2)添加特定的参数用于控制边的连通,类似于Marcheggiani和Titov在2017年提出的方法。我们发现,模型中加入有向边并没有使得模型的表现有所提升(我们因此将图看成是无向图,即∀i, j, Aij = Aji),并且增加了对于边的连通性的控制以后降低了模型的精度。我们猜想这是因为所提出的GCN模型通常已经能够捕捉到对关系进行分类所需的边的信息,而再次增加对边的方向和连通性的特征不会为模型提供更强的分类能力,反而会引起过拟合。例如,“A’s son, B” 和 “B’s son, A”,其中所包含的关系可以很容易地通过不同实体上的“ 's ”区分开来,即使在不考虑边的方向性的情况下也是如此。
我们现在来正式定义关系抽取的任务。令X = [x1 , … , xn]表示句子,其中xi是第i个单词。识别主语实体和宾语实体,并将其对应于句子中的两个区间:Xs = [xs1 , … xs2]和Xo = [xo1 , … , xo2]。 给定X,Xs和Xo,关系抽取的目标是预测实体之间的关系r∈R(R是预定义的关系集)或者为“无关系”。
图2:用图卷积网络抽取关系。左侧显示整体架构,而右侧则只显示“relative”一词的详细图卷积计算,以求清晰。本文还提供了一个完整的、未标记的句子依存分析,以供参考。
在对单词向量应用了L层的GCN之后,我们获得每个单词的隐含表示,这些表示直接受其邻居的影响,在依存树中不超过L条边。 为了利用这些单词表示进行关系抽取,我们首先得到如下的句子表示(另见图2):
其中 h ( l ) h^{(l)} h(l) 表示GCN第1层的总体的隐含表示, f : R d ∗ n → R d f:R^{d*n}→R^{d} f:Rd∗n→Rd 是从n个输出向量映射到句子向量的最大池化函数。
我们还观察到依存树中靠近实体单词的信息通常是关系抽取的核心。 因此,如下所示,我们还从 h ( L ) h^{(L)} h(L) 获得了主语实体的表示 h s h_{s} hs ,通过类似的方式可以获得宾语实体的表示 h o h_{o} ho。
受近期关于实体间关系学习的研究启发,我们通过连接句子和实体表示获得用于分类的最终表示,并将它们喂入一个前馈神经网络(FFNN):
然后将这个 h f i n a l h_{final} hfinal 的最后表示输入线性层,然后再进行Softmax运算,以获得关系上的概率分布。
到目前为止,我们介绍的模型学习到了关系抽取的有效表示,但它也留下了一些未充分解决的问题。 首先,输入词向量不包含关于词序或消歧的上下文信息。 其次,GCN高度依赖于正确的解析树来从句子中提取关键信息(特别是在执行剪枝时),而现有的解析算法在许多情况下产生的是一颗并不完美的树。
为了解决这些问题,我们进一步应用了结合了上下文的GCN(C-GCN)模型,其中输入字向量首先被喂入到BiLSTM网络以生成带有上下文的表示,然后将其作为原始模型中的 h ( 0 ) h^{(0)} h(0)。 该BiLSTM上下文层与网络的其余部分共同训练。 我们在第5节中凭经验证明,这种改进大大增强了原始模型的表现。
我们注意到这种关系抽取模型在概念上类似于图的基于核方法的模型,因为它旨在利用依存树的局部信息来进行关系分类。 我们的模型还包含关键的路径之外的信息,与基于最短依赖路径的方法相比,它的鲁棒性大大提高。 与树形结构模型(例如Tree-LSTM)相比,它不仅能够通过使用池化功能来捕获更多的全局信息,而且还不需要执行难以并行化的递归操作,从而显著的提升了速度。 例如,我们观察到在Titan Xp GPU上,在50个样本的mini batch上训练Tree-LSTM模型平均需要6.54秒,而训练原始GCN模型仅需0.07秒,而C-GCN模型需要0.08秒。
依存树提供了可以在关系抽取中利用的丰富结构,但是与关系相关的大多数信息通常包含在以两个实体的最近共同祖先(LCA)为根的子树内。之前的研究已经表明,通过消除句子中的无关信息,移除此范围之外的词有助于关系抽取。因此,我们希望将我们的GCN模型与树的剪枝策略结合起来,以进一步提高性能。然而,过于激进地剪枝(例如仅保留依赖路径)可能导致关键信息的丢失,反而会降低鲁棒性。例如,当模型仅限于查看实体之间的依赖路径时,会忽略掉图1中的否定关系。同样,在句子“她去年被诊断出患有癌症,并在今年6月死亡”中,依赖性路径“她←诊断→癌症”不足以证明癌症是主语实体“她”死亡的原因,除非将“死亡”的依赖也进入进来。
受这些观察的启发,我们提出了以路径为中心的剪枝技术,一种将信息从依赖路径中合并起来的新技术。这是通过在LCA子树中保留到依赖路径距离为K的词的方式来实现的。K = 0,表示对应于将树剪枝到依赖路径即可,K = 1,表示保留直接连接到依赖路径的所有节点,K =∞ 表示保留整个LCA子树。我们将这种修剪策略与我们的GCN模型相结合,将修剪过的树直接送入图卷积层(对于我们的C-GCN模型,无论剪枝结果如何,LSTM层仍然在完整的句子上进行操作)。我们证明了,用K = 1进行剪枝可以实现保留相关信息(例如否定和连接)和尽可能多地去除无关内容之间的最佳平衡。
完全监督和远程监督的关系抽取方法的核心是统计分类器,其中许多句法信息被证明是有益的。 例如,Mintz等人在2009年探索了将句法特征添加到统计分类器中,并发现它们在句子比较长时很有用。各种核方法还利用语法信息来度量训练和测试样本之间的相似性以预测关系,发现基于树的核方法和基于依赖路径的核方法对此任务有效。
最近的研究发现神经模型在关系抽取中是有效的。Zeng等人在2014年首先应用具有手动特征的一维卷积神经网络来编码关系。Vu等人在2016年证明了通过投票的方式将CNN与RNN相结合可以进一步提高性能。Zhou等人和Wang等人在2016年使用RNN和CNN上的注意力机制完成了关系抽取任务。
除了应用在单词序列上的神经模型之外,将依存树结合到神经模型中也已经显示出通过捕获长距离关系来改善关系抽取任务的能力。Xu等人在2015年通过在实体之间的最短依赖路径上应用LSTM网络来概括“依赖路径核方法”的想法。 Liu等人在2015年首先在以依赖路径上的词为根的子树上应用RNN,然后在路径上应用CNN。Miwa和Bansal在2016年在联合实体和关系抽取的实践中应用了Tree-LSTM,一种结合了依存树的LSTM的广义形式。他们发现,当应用于以两个实体的LCA的为根节点的子树时,它是最有效的。
最近,Adel等人在2016年和Zhang等人在2017年已经证明,当在较大的数据集上训练时,相对简单的神经模型(分别为CNN和增强的LSTM)可以实现与基于依赖的模型相当甚至更加优越的性能。在本文中,我们深入研究了基于依赖关系的模型,并证明,通过对模型的适当设计,即使在大规模的数据集中,它们也可以优于序列模型并具有互补优势。
最后,我们注意到一种类似于以路径为中心的剪枝技术已被应用于缩小语义角色标记中可能的参数空间。作者证明了剪枝词远离谓词和根之间的路径是有益的,但他们给出的最佳剪枝距离为10,几乎总是保留整棵树。我们的方法的不同之处在于它应用于实体之间的最短依赖路径,并且我们证明了在我们的方法中,对于几个基于依赖的关系抽取模型,最佳剪枝距离是1。
我们拿我们的模型与几种基于依赖的模型和神经序列模型进行了比较。
**基于依赖的模型。**在我们的主要实验中,我们将比较三种基于依赖的模型。(1)逻辑回归(LR)分类器,它将基于依赖的特征与其他词汇特征相结合。(2)最短依赖路径LSTM(SDP-LSTM),它在依存树中的主语和宾语之间的最短路径上应用了神经序列模型。(3)Tree-LSTM,它是一个递归模型,将LSTM推广到了任意的树结构。我们研究Tree-LSTM的child-sum变体,并将其应用于依存树(或其一部分)。在实践中,我们发现通过在遗忘门的输入上,连接依赖标签的向量表达来修改此模型,可以提高其在关系抽取方面的表现,因此在我们的实验中使用了此变体。早些时候,我们的团队将(1)和(2)与序列模型进行了比较,并发布了这些结果; 对于(3)我们用自己的实现来说明结果。
**神经序列模型。**我们的团队提出了一种竞争序列模型,该模型在LSTM的输出上加入了位置感知注意机制(PA-LSTM),并且表明它在很大程度上优于几个CNN和基于依赖的模型。我们与这个强大的模型进行比较,并在它的开源实现的基础上进行下一步的分析。
我们在两个关系抽取的数据集上进行了实验:(1)TACRED:在(Zhang et al,2017)中被发布, TAC KBP包含了来自每年TAC KBP挑战的106k个实体对。它包含41种关系类型和一种特殊的的类型,即“无关系”,当实体对的关系不存在于41种给定的关系类型之内时,则会被标记为“无关系”。TACRED中的实体对是被标注好的,主语分为个人和组织,宾语被分为16种细粒度类型(例如日期和位置)。我们在这个数据集上报告了传统的微观平均F1分数。(2)SemEval 2010 Task 8:SemEval数据集在最近的工作中被广泛使用,但其规模要小得多,其中包括8000个训练样本和2717个测试样本。它在未被标注的实体对上包含了19个关系类别:9个有向关系和一个特殊的Other类。在SemEval上,我们遵循惯例,给出了官方的宏观平均F1分数。
为了对TACRED数据集进行公平比较,我们遵循(Zhang et al,2017)中使用的评估方案,通过从5次独立运行中选择在验证集上具有中位数F1的模型,并采用其在测试集上的F1进行对比。我们还使用相同的“实体面具”策略,我们用特殊的SUBJ-
传统上,对SemEval的评估是在没有将实体替换掉的情况下进行的。但是,正如我们将在第6.4节中讨论的那样,该方法鼓励模型倾向于过拟合,并且无法测试它们的实际泛化能力。因此,我们给出了两种评估方案的结果:(1)给出实体,保留实体以与之前的工作进行比较;(2)替换实体,实体会被替换掉,以测试我们的模型在更现实的环境下的泛化能力。
由于篇幅有限,我们在补充材料中给出了模型训练的细节。
表1:在TACRED上的结果。在单个模型中,下划线表示最高;在所有模型中,粗体表示最高。†表示Zhang等人在2017年的实验结果;‡标志着我们的实验结果。∗表示PA-LSTM在p<0.01时,使用bootstrap测试取得了显著的提升。
我们在表1中的给出了我们在TACRED数据集上测试的主要结果。我们观察到我们的GCN模型的F1值,比所有基于依赖的模型,高出了至少1.6。通过结合上下文的词语表示,C-GCN模型的F1值进一步比已经很强的PA-LSTM模型高出1.3,实现了新的最佳表现。 此外,我们发现我们的模型在精度和召回率方面都优于其它基于依赖的模型。将C-GCN模型与GCN模型进行比较,我们发现表现的提升主要来自于召回率的提升。我们猜想这是因为C-GCN通过捕获局部信息,使得其解析错误时更加健壮(参见第6.2节)。
正如我们将在6.2节中所展示的,我们发现与PA-LSTM相比,我们的GCN模型具有互补优势。为了利用这一结果,我们尝试了一种简单的插值策略来组合这些模型。给定来自GCN模型的输出概率 P G ( r ∣ x ) P_{G}(r|x) PG(r∣x)和来自任何关系r的序列模型的 P S ( r ∣ x ) P_{S}(r|x) PS(r∣x),我们将插值概率计算为
其中在验证集上选择α∈[0,1],并将α设置为0.6。GCN和PA-LSTM之间的这种简单插值获得了67.1的F1得分,比每个独立的模型高出了至少2.0。C-GCN和PA-LSTM之间的插值进一步将结果改善为68.2。
表2:在SemEval上的结果。†表示原文章中给出的结果;‡表示使用开源实现得到的结果。后两栏分别显示了实体评估和替换实体评估的结果。∗表示PA-LSTM在p<0.05时,使用bootstrap测试取得了显著的提升。
为了研究我们提出的模型的泛化能力,我们还在SemEval测试集上训练和评估了我们最好的C-GCN模型(表2)。我们发现在传统的实体评估中,我们的C-GCN模型在SemEval数据集上优于所有现有的基于依赖的神经模型。值得注意的是,通过正确地合并off-path信息,我们的模型优于先前基于最短依赖路径的模型(SDP-LSTM)。在替换掉实体的评估中,我们的C-GCN模型也大幅优于PA-LSTM,这表明即使没有看到实体,我们的模型也具有泛化能力。
图3:基于依赖的模型在不同剪枝策略下的表现。对于每个模型,我们给出了5次在TACRED验证集上的平均F1,误差条表示平均估计值的标准差。K=∞等价于使用LCA的整棵子树。
为了证明以路径为中心的剪枝方法的有效性,我们比较剪枝距离K变化时的两个GCN模型和Tree-LSTM。我们在TACRED数据集上尝试了K∈{0, 1, 2, ∞},并且还包括使用完整树(不进行剪枝)时的结果。如图3所示,当K = 1时,三个模型的性能都达到了峰值,优于它们各自的基于依赖路径的方法(K = 0)。这证实了我们在第3节中的假设,即合并off-path信息对于关系抽取至关重要。Miwa和Bansal在2016年提出,当分别使用依赖路径和LCA子树时,Tree-LSTM实现了类似的表现。 我们的实验证实了这一点,并进一步表明,通过K = 1的路径中心修剪可以使结果得到改善。
我们发现,当保留整个依存树时,这三个模型都不太有效,这表明包含额外的信息会损失性能。最后,我们注意到,结合了上下文信息的GCN使得它对输入的树结构的变化不那么敏感,大概是因为该模型已经可以使用LSTM层中的词序列信息,学习到抽取关系所需的所有外部路径信息。
表3:最佳C-GCN模型的消融研究。表中的F1是5个模型F1的中位数。
为了研究C-GCN模型中各组成部分的贡献,我们对TACRED上的验证集进行了一项消融研究(表3)。我们发现:(1)实体表示和前馈层贡献了1.0的F1。(2)当去除依赖结构(即将依赖结构设置为 I I I)时,F1下降了3.2。(3)当一起去除前馈层、LSTM层和依赖结构时,F1下降了10.3。(4)去除剪枝(即以完整的树作为输入)进一步使F1下降了9.7。
为了理解GCN模型学习的过程以及它们与序列模型(如PA-LSTM)的不同之处,我们将它们的表现与TACRED验证集中的示例进行了比较。具体来说,对于每个模型,我们使用了5个不同种子的进行独立训练,并且对于每个样本,我们分别在5个模型中进行评价。例如,如果有5个模型中有3个正确地将样本分类,则表示在该样本上它实现了60%的准确度。我们观察到,在使用847个(3.7%)个验证样本时,我们的C-GCN模型的准确度比PA-LSTM高至少60%,而在使用629个(2.8%)验证样本时,PA-LSTM的准确率提高了60%。 这种互补的性能解释了当两个模型组合在一起时,我们在表1中看到的改进。
图4:在验证集上,句子中实体之间距离的变化对几种模型的影响。误差条表示5次运行的平均估计值的标准差。
我们进一步说明,这种差异是由于每个模型的竞争优势所导致的(图4):基于依赖关系的模型能够更好地处理两个实体相距较远的句子,而序列模型可以更好地利用局部信息,而不管解析质量如何(参见图6)。我们在补充材料中给出了进一步的分析。
图6:上方是C-GCN、下方是PA-LSTM在验证集上5次独立预测都正确的例子。对于每个例子,图中给出了预测结果和在K = 1时使用以路径为中心的剪枝方法对依存树进行修剪的过程,最短依赖路径以加粗的形式给出。为了清晰起见,我们省略了连接在标点符号上的边。第一个例子说明了C-GCN具有处理长距离依赖的能力,同时能够以减少噪音的方式为剪枝过程提供帮助。第二个例子说明了PA-LSTM更好地利用了“迁移”一词的邻近性,而不管解析中的附加错误如何。
为了更深入地了解C-GCN模型的行为,我们对它正在处理的部分依存树进行了可视化,以及每个词的最终表示对 h s e n t h_{sent} hsent的贡献有多大(图5)。我们发现,该模型通常更关注依赖路径,但有时也会合并off-path信息,以提升其预测能力。模型还学会忽略限定词(例如“the”),因为它们对关系预测的影响微不足道。
为了进一步了解哪些依赖边对不同关系的分类贡献最大,我们通过总结每个依赖边的连通节点对 h s e n t h_{sent} hsent贡献的维数来对每个依赖边进行评分,我们在表4中给出了得分最高的边。从表中可以看出,这些边缘大多与每种关系的指示性名词或动词相关联(我们也注意到数据集偏差的影响:“巴菲特”这个名字经常与股东关系相关的上下文相关联,因此在这种关系中排名第一)。
表4:对TACRED的验证集中不同关系的分类贡献最大的三条依赖边。为了清晰起见,我们删除了这样的边:1)连接到普通标点符号(即逗号、句点和引号);2)连接到公共介词(即,of,to,by);3)连接相同实体。我们使用PER,ORG来表示个人、组织的实体类型。我们使用S-和O-分别表示主语和宾语实体。我们还在补充材料中给出了更多关系的边。
在我们的研究中,我们观察到句子中的实体与SemEval数据集中的关系标签之间存在很高的相关性。我们用PA-LSTM模型来分析这一现象(我们选择了PA-LSTM模型,因为它用了简化的样本,更适合我们的实验)。我们首先将SemEval训练中的每一个句子简化为“主语和宾语”,其中主语和宾语是句子中的实际实体。令人惊讶的是,如果使用GloVe来初始化单词向量,经过训练的PA-LSTM模型可以在验证集上实现65.1的F1,即使不使用GloVe来初始化词向量,模型也能在验证集上取得47.9的F1。为了在更真实的环境下进一步评估该模型,我们参照了我们为TACRED(替换掉了实体)所做的工作,训练了一个带有原始SemEval验证集(未替换实体)的模型,以及一个在验证集上替换了实体的模型。当未替换实体的模型在原始SemEval验证集上实现了83.6的F1时,如果我们用一个特殊的
我们展示了一种基于图卷积网络的模型在关系抽取中的成功。我们还提出了一种以路径为中心的剪枝方法,以提高基于依赖的模型的鲁棒性,方法是在不丢失关键信息的情况下删除不相关的内容。通过详细的分析表明,该模型与序列模型具有互补的优势,所提出的剪枝技术可以有效地应用于其他基于依赖的模型中。
TACRED
在所有的神经模型中,我们将LSTM隐藏层节点的数量设为200。在GCN模型中,我们还使用200个节点的隐藏层作为输出前馈层。实验中使用了2层GCN层和2层前馈层(FFNN)。我们对GCN中的所有非线性层使用Relu作为激活函数,在所有池化层中使用标准的最大池化操作。对于Tree-LSTM模型,我们发现一种2层体系结构比普通的1层模型工作得更好,并将其用于我们的所有实验中。对于Tree-LSTM和我们的模型,我们使用K=1时的以路径为中心的剪枝,因为我们发现这会为所有模型产生最好的结果(也见图3)。我们使用预先训练过的300维GloVe向量初始化词向量,对于所有其他向量(即POS、NER),我们都使用30维的向量。我们使用原始数据集中包含的依赖解析树、POS和NER序列,该数据集是由斯坦福的CoreNLP生成的。对于正则化,我们将dropout的概率设为p=0.5,并应用于所有LSTM层和除去最后一个之外的所有GCN层。
SemEval
我们使用的LSTM隐藏层大小为100,并对SemEval数据集使用了1个GCN层。我们使用斯坦福的CoreNLP对数据集进行预处理,生成依存解析树、POS和NER向量。所有其它超参数都有同样的设置。
对于这两个数据集,我们使用Nivre等人在2016年提出的通用的v1依赖格式。
对于训练,我们使用随机梯度下降法,初始学习率为1.0。我们使用5作为阈值进行梯度裁剪。对于GCN模型,我们在TACRED数据集上对每个模型进行100轮训练,并且从第5轮开始,每当验证集合上的F1在一轮训练完成之后没有增加时,我们就将学习率修改为原来的0.9倍。对于Tree-LSTM模型,我们发现30轮训练就已经足够了。由于SemEval数据集的规模较小,我们对所有模型进行了150轮训练,并使用0.5的初始学习率,衰减率为0.95。
在我们的实验中,我们发现输出向量 h s e n t h_{sent} hsent往往具有较大的变化幅度,因此在每个样本的交叉熵损失中加入以下正则化项可以使结果得到改善:
这里, l r e g l_{reg} lreg在学习句子表示时,起到了 l 2 l_{2} l2正则化的作用。β控制正则化强度,我们设定β= 0.003。我们凭经验发现这比在卷积权重上应用 l 2 l_{2} l2正则化更有效。
图8:C-GCN正确预测的更多示例和修剪后的依存树。
表5:对TACRED验证集中不同关系的分类贡献最大的三个依赖边。为清晰起见,我们删除了 (1)连接到公共标点符号(即逗号,句号和引号),(2)连接到公共介词(即,of,to,by),(3)连接相同实体中的边。我们分别使用PER,ORG,CHARGE,CAUSE对PERSON,ORGANIZATION,CRIMINAL_CHARGE和CAUSE_OF_DEATH进行表示。我们分别使用 S- 和 O- 来表示主语和宾语实体。ROOT表示树的根节点。