【论文翻译】Graph Convolution over Pruned Dependency Trees Improves Relation Extraction
摘要
依存树可以帮助关系抽取模型捕捉单词之间的长距离关系。然而,现有的依赖关系模型要么过于积极地修剪依存树而导致忽略一些关键信息(例如否定关系),要么就很难在不同的树结构上并行计算而导致计算效率很低。我们针对关系抽取而定制了一种图卷积网络,它能够有效地并行存储任意依赖结构的信息。我们进一步将新的修剪策略应用于输入树,方法是保留两个可能存在关系的实体之间的最短路径中的词。所得到的模型在TACRED数据集中表现优异,优于现有序列和基于依赖的神经模型。我们还通过详细的分析表明,该模型与序列模型具有互补优势,并且它们的组合进一步提升了模型的表现。
1 引言
关系提取涉及到辨别句子中两个实体之间是否存在关系(通常分别称为主语和宾语)。成功的关系抽取是那些需要在大规模非结构文本上进行关系理解的应用的基石,例如问答,知识库应用和生物医学知识发现。
利用输入句子的依存分析的模型,或者基于依赖的模型,在关系抽取中被证明是非常有效的,因为它们捕获了表面形式中比较模糊的远距离句法关系(例如,从句比较长或有着复杂的范围限定)。传统的基于特征的模型通过将依存树的特征转化为沿着树的重叠路径来表示依存信息。然而,这些模型面临着特征过于稀疏的挑战,并且对词汇的变化很敏感。最近的神经模型用分布式表示来解决这个问题,它们的计算图是沿着解析树形成的。利用依赖信息的一种常见方法是沿着实体的最低共同祖先(LCA)下的解析树或子树执行自下而上或自顶向下的计算。另一种由Bunescu和Mooney提出的流行方法是将解析树简化为实体之间最短的依赖路径。
然而,这些模型有几个缺点。直接在解析树上进行操作的神经模型通常很难并行化,因此计算效率很低,因为将树对齐并进行有效的批处理训练通常是非常重要的。基于主语和宾语之间最短依赖路径的模型计算效率更高,但这种简化的假设也有很大的局限性。图1显示了一个真实的示例,当模型仅考虑依赖路径时,一些关键信息(比如:否定关系)将被丢失。
在本文中,我们提出了一种为关系抽取量身定制的图卷积网络。该模型利用有效的图卷积运算对输入语句上的依存结构进行编码,提取以实体为中心的表示,从而使关系预测更加鲁棒。我们还应用了一种新的以路径为中心的剪枝技术,在最大限度地保留有关内容的同时,从树中删除无关信息,这进一步提高了包括我们的模型在内的几个依赖模型的性能。
我们在流行的SemEval 2010 Task 8数据集和更新、更大的TACRED数据集上测试了我们的模型。在这两个数据集上,我们的模型不仅在与新的剪枝技术相结合时显著优于现有的基于依赖性的神经模型,而且还比现有的基于树的模型计算效率提高了10-100倍。在TACRED上,我们的模型进一步实现了最优的性能,超越了参与对比的神经序列模型。该模型在TACRED上也显示了对序列模型的互补优势,并且通过简单的预测插值组合这两种模型,进一步提升了模型的表现。
总结一下,本文的主要贡献是:(1)提出了一种基于图卷积网络的关系抽取神经模型,使其能够在任意依赖结构上有效地融合信息;(2)提出了一种新的以路径为中心的剪枝技术,帮助基于依赖关系的模型在不破坏关键内容的情况下最大程度地去除无关信息,提高其鲁棒性;(3)对模型和剪枝技术进行了详细的分析,表明基于依赖关系的模型与序列模型具有互补的优势。
2 模型
在这一部分中,我们首先描述了依存树结构上的图卷积网络(GCNS),然后介绍了一种以GCNs为核心的关系抽取模型。
2.1 依存树上的图卷积网络
图卷积网络是卷积神经网络对图编码的适配版本。给定一个具有n个节点的图,则可以用一个n×n的邻接矩阵A来表示图结构,如果从节点i到节点j存在一条边,那么 。在一个L层的GCN中,如果我们将第l层第i个节点的输入向量表示为 ,输出向量表示为 ,则可以将图卷积操作写成
其中W(l)是一个线性变换,b(l)是一个偏置项,σ是一个非线性函数(例如Relu)。直观地,在每个图的卷积过程中,每个节点从图中的相邻节点收集和汇总信息。
我们通过将每棵树转换成相应的邻接矩阵A,将图卷积操作应用于建立依赖树的模型,其中,如果节点i和j之间存在依赖边,则 。然而,在等式(1)中片面地应用图卷积运算,可能会导致节点表示的结果大不相同,因为节点的度变化很大。这可能会使我们的句子表示偏向于高度节点,而不管节点中携带的信息是什么(参见2.2节中的详细信息)。此外, 中的信息从未传递到 ,因为依存树中的节点没有边连接到自己。
我们通过将数据传入非线性层之前进行归一化操作,和通过给图中的每个节点添加自循环的方式解决了这些问题:
其中Ã = A + I,I为n×n的单位矩阵。 是节点i在图中的度。
将这种操作叠加L层,我们会得到一个深层GCN网络,其中我们用 , … , 来表示输入的词向量,并使用 , … , 来表示输出的词向量。这个网络中的所有操作都可以通过矩阵乘法高效地实现,使其适合于示例中给出的批处理计算并在GPU上运行。此外,信息在节点之间的传播是并行的,并且运行时与依存树的深度无关。
请注意,上面介绍的GCN模型对图中的所有边都使用相同的参数。我们还试验了:(1)对自顶向下、自下而上和自循环的边使用不同的转移矩阵W;(2)添加特定的参数用于控制边的连通,类似于(Marcheggiani and Titov,2017)。我们发现,模型中加入有向边并没有使得模型的表现有所提升(我们因此将图看成是无向图,即∀i, j, Aij = Aji),并且增加了对于边的连通性的控制以后降低了模型的精度。我们猜想这是因为所提出的GCN模型通常已经能够捕捉到对关系进行分类所需的边的信息,而再次增加对边的方向和连通性的特征不会为模型提供更强的分类能力,反而会引起过拟合。例如,“A’s son, B” 和 “B’s son, A”,其中所包含的关系可以很容易地通过不同实体上的“ 's ”区分开来,即使在不考虑边的方向性的情况下也是如此。
2.2 使用GCN编码关系
我们现在来正式定义关系抽取的任务。令X = [x1 , … , xn]表示句子,其中xi是第i个单词。识别主语实体和宾语实体,并将其对应于句子中的两个区间:Xs = [xs1 , … xs2]和Xo = [xo1 , … , xo2]。 给定X,Xs和Xo,关系抽取的目标是预测实体之间的关系r∈R(R是预定义的关系集)或者为“无关系”。
在对单词向量应用了L层的GCN之后,我们获得每个单词的隐含表示,这些表示直接受其邻居的影响,在依存树中不超过L条边。 为了利用这些单词表示进行关系抽取,我们首先得到如下的句子表示(另见图2):
其中 表示GCN第1层的总体的隐含表示, 是从n个输出向量映射到句子向量的最大池化函数。
我们还观察到依存树中靠近实体单词的信息通常是关系抽取的核心。 因此,如下所示,我们还从 获得了主语实体的表示 以及类似的宾语实体的表示 。
受近期关于实体间关系学习的研究启发,我们通过连接句子和实体表示获得用于分类的最终表示,并将它们喂入一个前馈神经网络(FFNN):
然后将这个 的最后表示输入线性层,然后再进行Softmax运算,以获得关系上的概率分布。
2.3 结合了上下文的GCN
到目前为止,我们介绍的模型学习到了关系抽取的有效表示,但它也留下了一些未充分解决的问题。 首先,输入词向量不包含关于词序或消歧的上下文信息。 其次,GCN高度依赖于正确的解析树来从句子中提取关键信息(特别是在执行剪枝时),而现有的解析算法在许多情况下产生的是一颗并不完美的树。
为了解决这些问题,我们进一步应用了结合了上下文的GCN(C-GCN)模型,其中输入字向量首先被喂入到BiLSTM网络以生成带有上下文的表示,然后将其作为原始模型中的 。 该BiLSTM上下文层与网络的其余部分共同训练。 我们在第5节中凭经验证明,这种改进大大增强了原始模型的表现。
我们注意到这种关系抽取模型在概念上类似于图的基于核方法的模型,因为它旨在利用依存树的局部信息来进行关系分类。 我们的模型还包含关键的路径之外的信息,与基于最短依赖路径的方法相比,它的鲁棒性大大提高。 与树形结构模型(例如Tree-LSTM)相比,它不仅能够通过使用池化功能来捕获更多的全局信息,而且还不需要执行难以并行化的递归操作,从而显著的提升了速度。 例如,我们观察到在Titan Xp GPU上,在50个样本的mini batch上训练Tree-LSTM模型平均需要6.54秒,而训练原始GCN模型仅需0.07秒,而C-GCN模型需要0.08秒。
3 将路径信息与以路径为中心的剪枝结合起来
依存树提供了可以在关系抽取中利用的丰富结构,但是与关系相关的大多数信息通常包含在以两个实体的最近共同祖先(LCA)为根的子树内。之前的研究已经表明,通过消除句子中的无关信息,移除此范围之外的词有助于关系抽取。因此,我们希望将我们的GCN模型与树的剪枝策略结合起来,以进一步提高性能。然而,过于激进地剪枝(例如仅保留依赖路径)可能导致关键信息的丢失,反而会降低鲁棒性。例如,当模型仅限于查看实体之间的依赖路径时,会忽略掉图1中的否定关系。同样,在句子“她去年被诊断出患有癌症,并在今年6月死亡”中,依赖性路径“她←诊断→癌症”不足以证明癌症是主语实体“她”死亡的原因,除非将“死亡”的依赖也进入进来。
受这些观察的启发,我们提出了以路径为中心的剪枝技术,一种将信息从依赖路径中合并起来的新技术。这是通过在LCA子树中保留到依赖路径距离为K的词的方式来实现的。K = 0,表示对应于将树剪枝到依赖路径即可,K = 1,表示保留直接连接到依赖路径的所有节点,K =∞ 表示保留整个LCA子树。我们将这种修剪策略与我们的GCN模型相结合,将修剪过的树直接送入图卷积层(对于我们的C-GCN模型,无论剪枝结果如何,LSTM层仍然在完整的句子上进行操作)。我们证明了,用K = 1进行剪枝可以实现保留相关信息(例如否定和连接)和尽可能多地去除无关内容之间的最佳平衡。
4 相关工作
完全监督和远程监督的关系抽取方法的核心是统计分类器,其中许多句法信息被证明是有益的。 例如,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。
5 实验
5.1 基础模型
我们拿我们的模型与几种基于依赖的模型和神经序列模型进行了比较。
**基于依赖的模型。**在我们的主要实验中,我们将比较三种基于依赖的模型。(1)逻辑回归(LR)分类器,它将基于依赖的特征与其他词汇特征相结合。(2)最短依赖路径LSTM(SDP-LSTM),它在依存树中的主语和宾语之间的最短路径上应用了神经序列模型。(3)Tree-LSTM,它是一个递归模型,将LSTM推广到了任意的树结构。我们研究Tree-LSTM的child-sum变体,并将其应用于依存树(或其一部分)。在实践中,我们发现通过在遗忘门的输入上,连接依赖标签的向量表达来修改此模型,可以提高其在关系抽取方面的表现,因此在我们的实验中使用了此变体。早些时候,我们的团队将(1)和(2)与序列模型进行了比较,并发布了这些结果; 对于(3)我们用自己的实现来说明结果。
**神经序列模型。**我们的团队提出了一种竞争序列模型,该模型在LSTM的输出上加入了位置感知注意机制(PA-LSTM),并且表明它在很大程度上优于几个CNN和基于依赖的模型。我们与这个强大的模型进行比较,并在它的开源实现的基础上进行下一步的分析。
5.2 实验材料
我们在两个关系抽取的数据集上进行了实验:(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-<NER>标记替换每个主语(和宾语)实体。 对于所有模型,我们还通过将词向量与POS和NER向量连接起来的方式采用了“多通道”策略。
传统上,对SemEval的评估是在没有将实体替换掉的情况下进行的。但是,正如我们将在第6.4节中讨论的那样,该方法鼓励模型倾向于过拟合,并且无法测试它们的实际泛化能力。因此,我们给出了两种评估方案的结果:(1)给出实体,保留实体以与之前的工作进行比较;(2)替换实体,实体会被替换掉,以测试我们的模型在更现实的环境下的泛化能力。
由于篇幅有限,我们在补充材料中给出了模型训练的细节。
5.3 在TACRED数据集上的结果
表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模型的输出概率和来自任何关系r的序列模型的,我们将插值概率计算为
其中在训练集上选择α∈[0,1],并将α设置为0.6。GCN和PA-LSTM之间的这种简单插值获得了67.1的F1得分,比每个独立的模型高出了至少2.0。C-GCN和PA-LSTM之间的插值进一步将结果改善为68.2。
5.4 SemEval数据集上的结果
表2:在SemEval上的结果。†表示原文章中给出的结果;‡表示使用开源实现得到的结果。后两栏分别显示了实体评估和替换实体评估的结果。∗表示PA-LSTM在p<0.05时,使用bootstrap测试取得了显著的提升。
为了研究我们提出的模型的泛化能力,我们还在SemEval测试集上训练和评估了我们最好的C-GCN模型(表2)。我们发现在传统的实体评估中,我们的C-GCN模型在SemEval数据集上优于所有现有的基于依赖的神经模型。值得注意的是,通过正确地合并off-path信息,我们的模型优于先前基于最短依赖路径的模型(SDP-LSTM)。在替换掉实体的评估中,我们的C-GCN模型也大幅优于PA-LSTM,这表明即使没有看到实体,我们的模型也具有泛化能力。