当前位置:   article > 正文

基于图神经网络的NLP研究综述_图神经网络 nlp 数据集

图神经网络 nlp 数据集

参考文章:万字综述《图神经网络自然语言处理》论文,建议收藏慢慢看 (qq.com)

论文:Graph Neural Networks for Natural Language Processing: A Survey - 专知论文 (zhuanzhi.ai)

 

摘要自然语言处理中,深度学习已经成为处理各种任务的主要方法。虽然输入文本通常被表示为序列化的tokens,但图结构的形式可以对许多NLP问题进行更好的表达。因此,探索了许多应用于NLP任务的图深度学习技术。在本综述中,将对图神经网络在自然语言处理中的应用进行全面的综述,并沿着三个方面系统地梳理现有研究,包括:图的构建、图表示学习和基于图的编码器-码器模型。最后还简要介绍了使用GNN的NLP应用,并讨论了在NLP中使用GNNs的挑战。

关键词神经网络,自然语言处理,图的深度学习

1. 引言

在传统的NLP任务中,文本序列被认为是一个由tokens组成的袋子。随着词嵌入技术的出现(Mikolov et al., 2013; Pennington et al., 2014),句子被表示为一个由tokens组成的序列。大量的NLP问题可以用图结构进行最佳表达,图结构的数据可以编码实体tokens之间复杂的成对关系,以此学习更多信息的表示。图深度学习和NLP的交叉研究影响了各种NLP任务。不同的GNNs变体在许多NLP任务中取得了相当大的成功,如分类任务:句子分类(Henaff et al., 2015; Huang and Carley, 2019),关系提取(Qu et al., 2020; Sahu et al.,2019);生成任务:机器翻译(Bastings et al., 2017; Beck et al., 2018),问题生成(Pan et al., 2020; Sachan et al., 2020)。尽管现有研究已取得了成功,但对于NLP的图深度学习仍然面临许多挑战,即:

        (1)将原始文本序列数据自动转化为图结构的数据。大多数NLP任务使用文本序列作为原始输入,利用文本序列的底层结构信息自动构建图数据是使用图神经网络解决NLP问题的关键步骤。

        (2)适宜的图表示学习技术。需要专门设计的GNN来学习不同图结构数据的独特特征。

        (3)有效地建模复杂数据。许多NLP任务涉及学习基于图的输入数据和高度结构化的输出数据之间的映射。

本文将从三个维度来梳理用于NLP任务的GNNs:图的构建;图表示学习;编码器-解码器模型。对基于领域知识和语义空间的各种图构建方法、各种图结构数据的图表示学习方法、基于GNNs的编码器-解码器模型提供的描述。总结了将GNNs充分用于NLP任务的各种突出挑战,并对未来的研究方向进行了讨论。

2. 基于图的自然语言处理算法

本章将从图的视角回顾NLP问题,然后简要介绍一些传统的用于解决NLP问题的图算法。

2.1 自然语言处理:图视角

自然语言的表示方式反映了我们对自然语言的看法,并对处理和理解自然语言的方式产生根本性的影响。通常,自然语言有三种不同的表示方式。最简单的方式是将自然语言表示为一袋tokens,这种方式忽略了文本中tokens出现的具体位置,只考虑其在文本中出现的次数。采取这种观点的最具代表性的NLP技术是话题模型(Blei et al., 2003)。

另一种更自然的方式是将自然语言表示为tokens序列。这种观点能够捕捉到更丰富的文本信息。采取这种观点的最具代表性的NLP技术包括线性链CRF(Lafferty et al., 2002),它在预测中实现了顺序依赖,以及word2vec(Mikolov et al., 2013),它通过预测目标单词的上下文单词来学习单词嵌入。

第三种方式是用图表示自然语言。图在NLP中是无处不在,虽然将文本视为序列数据可能是最明显的,但在NLP中,将文本表示为图的做法由来已久。常见的文本或知识的图表示包括依赖图、成分图、知识图谱等。此外,还可以构建包含多个层次元素的文本图。与上述两种观点相比,这种自然语言观点能够捕捉文本元素之间更丰富的关系。

2.2 基于图的自然语言处理方法

本小节将介绍传统基于图的算法以及它们在NLP的应用,并进一步讨论它们与GNN的联系。

2.2.1 随机游走算法

随机游走是基于图的算法,在图中产生随机路径。可以从图中的任意节点开始,根据一定的转移概率,每次重复选择访问随机的邻近节点。随机游走中所有被访问的节点就形成随机路径。随机游走收敛之后,可以获得一个图,其所有节点静态分布。该分布可通过对概率得分进行排名,选择图中结构重要性高的最突出的节点,或者通过计算两个随机游走分布的相似性来衡量图的关联性。随机游走算法已被应用于各种NLP任务中,包括文本的语义相似性度量(Ramage et al., 2009)和语义网络上的语义距离(Hughes and Ramage, 2007)、词义消歧(Mihalcea, 2005)等。

2.2.2 图聚类算法

常见的图聚类算法包括谱聚类、随机游走聚类和min-cut聚类。谱聚类算法利用图的拉普拉斯矩阵的频谱进行降维,再使用K-means等算法进行聚类。随机漫步聚类算法通过在图上进行t步随机漫步进行操作,每个节点都表示为一个概率向量,表示图中所有其它节点的t步生成概率。min-cut算法也可用于将图划分为多个簇。图聚类算法已成功应用于解决文本聚类任务。如,Erkan(2006)提出使用从有向生成图上的t步随机游走得到的n-dim概率分布作为语料库中每个文档的向量表示。然后图聚类算法可以使用这些文档表示来生成文档簇。

2.2.3 图匹配算法

图匹配算法的目的是计算两个图之间的相似度。Graph Edit Distance 是衡量两个图之间差异最常用的方法。它根据将一个图转换为另一个图所需的变化(即添加、删除、替换)数量来计算距离。图匹配算法在文本推断任务中有所应用,该任务旨在决定给定的句子是否可以从文本中推断出来。

2.2.4 局限性以及与GNN的联系

传统的基于图的算法虽已成功应用于NLP任务中,但仍存在局限性。它们的表达能力有限,其主要关注图的结构信息,且不考虑节点和边特征,而这些特征对NLP的应用也非常重要。其次,传统的基于图的算法没有统一的学习框架。不同的基于图的算法有不同的属性和设置,并只适用于某些特定的用例。

传统的基于图的算法的上述局限性要求建立一个统一的基于图的学习框架,该框架对图结构和节点/边属性的建模具有强大的表达能力。GNN作为一种特殊的神经网络,可以为任意的图结构数据建模。大多数GNN的变体可以被视为一个基于消息传递的学习框架。与传统的基于消息传递的算法不同的是,GNN通常是通过几个神经层对节点/边特征进行转换、传播和聚合,从而学习更好的图表示。作为一种通用的基于图的学习框架,GNNs可以应用于各种与图相关的任务。

3. 图神经网络

上一章中阐述了基于图的传统方法在NLP任务中的应用。本章将阐述图神经网络的基础理论与方法。

3.1 基础

图神经网络本质上是图表示学习模型,可以应用于节点级别的任务和图级别的任务。图神经网络学习图中的每个节点的嵌入,并聚合节点嵌入以生成图嵌入。通常,节点嵌入的学习过程利用了输入的节点嵌入和图结构,可以概括为:hi(l)=ffliter(A,H(l-1)),即输入邻居矩阵Al-1 层的节点状态,可以更新得到下一层的节点嵌入hi(l) ,具体模型的不同之处在于图滤波器ffilter(·,·) 的选择和参数化。

由于图过滤不能改变图的结构,因此在聚合节点嵌入中引入池化操作。在GNN模型中,图池化将图及其节点嵌入作为输入,然后生成具有较少节点的较小的图及其相应的新节点嵌入。

3.2 方法

3.2.1 图滤波器

图滤波器存在多种实现方式,可分为基于谱域的图滤波器、基于空间域的图滤波器、基于注意力的图滤波器和基于递归的图滤波器。从概念上讲,基于谱域的图滤波器是基于谱图理论的,而基于空域的方法则是利用图空间上的邻居节点来计算节点嵌入。基于注意力的图滤波器(Vaswani et al., 2017)为不同的邻居节点分配不同的注意力权重。基于递归的图滤波器引入了门控机制,并且模型参数在不同的GNN层之间共享。

3.2.2 图池化

图池化层用于生成以图为重点的下游任务的图级表示。对于图级别的任务来说,需要整个图的表示。为此需要总结节点嵌入信息和图结构信息。图池化层可以分为两类:flat图池化和分层图池化。flat图池化在单个步骤中直接从节点嵌入生成图级别表示。而分层图池化包含多个图池化层,每个池化层遵循图过滤堆栈。

4. 自然语言处理的图构造方法

上一章讨论了给定图输入后,GNN的基本基础与方法。但对于大多数NLP任务,典型的输入是文本序列而不是图。为了利用GNN的功能,如何从文本序列构建一个图输入成为一项艰难的步骤。在本章将介绍两种图构建方法,即静态图构建和动态图构建。

4.1 静态图构建

静态图构建方法旨在利用现有的关系解析工具或手动定义的规则,在预处理期间构建图结构。从概念上讲,静态图包含了隐藏在原始文本序列中的不同领域/外部知识,用结构化信息丰富了原始文本的内容。在本小节将简要概述了用于NLP文献的GNN中部分静态图构建方法。

4.1.1依赖图构建

依赖图被广泛用于捕捉给定句子中不同对象之间的依赖关系。形式看,给定一个段落,可以通过使用NLP解析工具获得依存分析树。然后从依存分析树中提取依赖关系,并将其转换为依赖性图(Xu et al., 2018b; Song et al., 2018c)。由于给定段落具有顺序信息,而图节点是无序的,可以在图结构中引入顺序链接来保留此类重要信息(Sahu et al., 2019; Qian et al., 2019; Xu et al., 2018c)。给定输入段及其提取的分析树的典型依存图构建方法步骤:构建依赖关系、构建顺序关系、最终的图转换。

4.1.2知识图谱构建

许多自然语言处理应用中,知识图谱捕捉实体和关系可以极大地促进学习与推理。KG可以表示为G(V,E) ,通常由知识库中的元素构建。形式上,定义三元组作为知识库的基本元素,包括是源实体,目标实体和关系类型。然后,在知识库中添加源节点和目标节点,并从节点v1 到节点v2 添加一条边类型为rel  的有向边。

可注意的是,KG在应用中扮演不同的角色。在一些应用中,KG总是被视为输入的一部分。在这种情况下(Ye et al., 2019; Zhang et al., 2020g; Li et al., 2019),研究人员通常使用整个KG图作为学习对象。对于其他应用,KG可被视为是数据增强方法。在这种情况下,对于某些特定领域的应用程序来说,整个KG通常太大,且噪声过大。因此不适合使用整个图作为输入。相反,通常会从给定的查询构建子图(Teru et al., 2019; Kapanipathi et al., 2019)。

文献中,构建方法可能有很大不同,这里仅提出一种有代表性的方法。构建KG首先要获取给定查询中的术语实例。通过匹配算法将术语实例与KG中的概念联系起来。然后获取初始节点在KG中的1跳邻居。此外,可以通过应用某些图节点相关性模型(如个性化的PageRank算法(Page et al., 1999))计算邻居与初始节点的相关性。然后根据结果进一步舍去相关性分数低于置信度阈值的边,并删除孤立的邻居。剩余的最终子图随后被用来给任何图表示学习模块提供信息。

4.1.3应用驱动图构建

应用驱动图时指专门为特定的NLP任务专门设计的图(Luo and Zhao, 2020)。在一些NLP任务中,通常使用特定应用的结构化形式表示非结构化数据。例如,SQL语言可以自然地通过SQL解析树来表示。因此,它可以被转换为SQL图(Xu et al., 2018a)。由于这些图在领域知识的基础上过于专业化,所以没有统一的模式来总结如何建立一个应用驱动的图。

4.2 动态图构建

虽然静态图的构建具有将数据的先验知识编码到图结构中的优点,但它有几个局限性:(1)需要大量的人力和领域知识来构建一个性能合理的图的拓扑结构;(2)人工构建的图结构容易出错;(3)图构建阶段和图表示学习阶段是不相干的,在图构建阶段引入的错误不能被纠正,这会导致性能下降;(4)图的构建过程仅由从业者的见解来决定,对于下游的预测任务来说可能不是最优的。

为了应对上述挑战,最近在GNN上对NLP的尝试(Chen et al., 2020e,f;)已经探索了无需人工或领域专业知识的动态图构建。大多数动态图构建方法目的是动态地学习图结构,图构建模块可以与后续的图表示学习模块以端到端方式进行共同优化。动态图构建方法通常包括一个图相似性度量学习组件和一个图稀疏化组件。将固有的图结构和学习到的隐含图结构结合起来,有利于提高学习性能(Chen et al., 2020e)。此外,为了有效地进行图结构和表征的联合学习,人们提出了各种学习范式。下文将简述有效的动态图构造技术。

4.2.1 图相似度度量技术

基于节点属性包含学习隐式图结构的有用信息的假设,有研究将图结构学习问题归结为定义在节点嵌入空间的相似度量学习问题。学习到的相似性度量函数可以应用于未见过的节点嵌入集来推断图结构,从而实现归纳式图结构学习。对于部署在非欧几里得领域的数据,欧几里得距离不一定是衡量节点相似性的最佳指标。各种相似性度量函数已用于GNN的图结构学习。可将度量函数分为:基于节点嵌入的相似性度量学习和基于结构感知的相似性度量学习。

基于节点嵌入的相似度度量学习:基于节点嵌入的相似性度量函数,通过计算嵌入空间中的成对节点相似性来学习加权邻接矩阵。常见的度量函数包括基于注意力的度量函数和基于余弦的度量函数。基于注意力机制的相似度度量函数:目前提出的大多数相似性度量函数都是基于注意力机制(Vaswani et al., 2017)。为了提高基于点积的注意力机制的学习能力,Chen et al. (2019d)通过引入可学习的参数,提出了一个改良的点积。同样,Chen et al. (2020f)通过引入一个可学习的权重矩阵,设计了一个更有表达能力的点积方式;基于余弦相似度的度量函数:Chen et al. (2020e)将vanilla余弦相似性扩展为多头加权余弦相似性,从多个角度捕捉成对节点的相似度。

基于结构感知的相似度学习:受结构感知transformers的启发(Zhu et al., 2019c),最近的方法采用了结构感知的相似性度量函数,在节点信息之外还考虑了内在图的现有边信息。例如,Liu et al. (2019c)提出了一个学习成对节点相似性的结构感知注意机制。同样,Liu et al. (2021b)提出了结构感知的全局注意力机制。

4.2.2 图稀疏化技术

现实中,大多数图都是稀疏图。相似性度量函数考虑任意一对节点之间的关系,并返回一个完全连接图,这不仅计算成本高,而且还可能引入噪音。因此,对所学的图结构明确地强制执行稀疏性是有益的。除了在相似度量函数中应用ReLU函数(Chen et al., 2020f; Liu et al., 2021b),还可以采用各种图稀疏化技术来提高所学图形结构的稀疏性。如Chen et al. (2020f,d)应用kNN式的稀疏化操作,从相似度学习函数计算的节点相似度矩阵中获得稀疏的邻接矩阵。

4.2.3 学习范式

大多数现有的GNN动态图构建方法包括两个关键的学习组件:图结构学习和图表示学习,最终目标是学习与某些下游预测任务相关的优化图结构和表示。如何优化学习组件以达到相同的最终目标成为一个重要问题。这里简述几个有代表性的学习范式。(1)最直接的策略以端到端的方式联合优化整个学习系统,以实现下游(半)监督预测任务;(2)另一个常见的策略(Yang et al., 2018b; Liu et al., 2019c; Huang et al., 2020a)是自适应学习每个堆叠GNN层的输入图结构,以反映中间图表示的变化;(3)与上述两种范式不同,Chen et al. (2020e)提出了一个迭代式的图学习框架,即在更好的图表示的基础上学习更好的图结构,同时以迭代的方式学习更好的图表示。因此,这种迭代学习范式反复地完善图结构和图表示,以达到最佳的下游性能。

5. 面向NLP的图表示学习

本章将讨论图表示学习技术,这些技术针对NLP任务在构建的图上进行操作。图表示学习的目标是找到一种方法,通过机器学习模型将图结构与属性信息合并到低维嵌入中(Hamilton et al., 2017b)。为了从数学上形式化这个问题,给出任意图的数学符号G(V,E,T,R) ,其中V 是节点集合,E 是边集合,T={T1,T1,…,TP} 是节点类型集合,R={R1,R2,…,Rq} 是边类型集合。|·| 是任意元素的个数,τ(·)∈T 是节点类型的指示函数,ϕ(·)∈R 是边类型的指示函数。

5.1 同质图的图神经网络

根据定义,图G(V,E,T,R) ,当满足T=1,|R|=1 时,称为同质图。大多数图神经网络都是为同质图设计的,但在很多NLP任务中不能很好地适应。因此,本节将讨论将任意图转换为同质图的方法。

5.1.1 静态图

处理静态图的GNN通常包括两个阶段,即边信息转换和节点表示学习,如下所述。

将边信息转换为相邻矩阵:边被视作节点之间的连接信息,通常会丢弃边类型信息,保留连接信息,以此将异质图(Yang et al., 2019)转换成同质图。得到图后,可以将图的拓扑结构表示为统一的邻接矩阵A。静态图又可以分为有向图和无向图,有向图可以通过平均两个方向的边权重转化为无向图(Yasunaga et al., 2017)。边权重被重新调整,在馈送到GNN之前,最大边缘权重为1。

节点表示学习:给定初始节点嵌入和邻接矩阵,基于经典的GNNs技术提取节点表示。对于无向图,大多数工作(Wang et al., 2018)采用图表示学习算法,并将其堆叠起来,探索图中的深层语义关联。当涉及有向图时,只有少数GNN方法仍然有效(Qiu et al., 2019)。对于不能直接应用于有向图的GNN,简单的方法是忽略方向(Wang et al., 2018)。然而,这些方法允许信息不受约束地双向传播。为了解决这个问题,人们做了很多努力来使GNN适应有向图。对于GCN,一些基于空间的GCN算法被设计用于有向图,如DCNN(Atwood and Towsley, 2016)。通过指定边方向并分别聚合它们,修改聚合函数,GraphSage可以很容易地扩展到有向图上。

5.1.2 动态图

图表示学习中广泛采用动态图,其目的是将图结构与下游任务一起学习。早期的工作主要采用递归网络,将图节点嵌入作为RNN的状态编码(Hashimoto and Tsuruoka, 2017)。然后利用经典的GNN来有效地学习图嵌入。最近的研究者采用基于注意力或基于度量学习的机制,从非结构化文本中学习隐含的图结构。图结构的学习过程是通过端到端的方式与下游任务共同进行的。

5.2 多关系图的图神经网络

现实中图具有各种边类型,对于图G,当T=1,R>1 时,被定义为多关系图。本节将介绍表示和学习多关系图的技术。

5.2.1 多关系图的形成

由于异质图在NLP领域中常见,大多数研究者提出将其转换为多关系图,并通过关系GNN进行学习。多关系图表示为G(V,E,T,R) ,并且T=1,R>1 。为了获得多关系图,可以忽略节点类型,设置初始边的类型为"default",为每一个边添加一个类型为"reverse"的逆向边,并为每个节点添加类型为"self'的自环。因此就获得了多关系图:E=3V=1

5.2.2 多关系GNNs

多关系GNN是经典GNN对多关系图的扩展,其节点类型相同,但边类型不同,它们最初用于编码特定关系图。通常,大多数多关系GNN都使用特定类型的参数对关系进行单独建模。经典的方法有:R-GCN(Schlichtkrull et al., 2018)、R-GGNN(Beck et al., 2018)和R-GAT(Wang et al., 2020b,h)。R-GCN是消息传递GCN框架(Gilmer et al., 2017)的延伸,该框架在局部图邻域运行。其根据标签类型对传入的节点进行分组,然后分别应用消息传递;R-GGNN能够捕捉长距离的关系,与R-GCN类似,其使用特定关系的权重能更好地捕捉节点之间特定关系的相关性;R-GAT是将经典GAT拓展到适合多关系图上,直观地说不同关系的邻居节点具有不同的影响力。

5.2.3 GRAPH TRANSFORMER

Transformer 架构在NLP领域取得了巨大成功,transformer的自注意力机制是全连接隐式图学习的一个特殊程序,因此GNN和transformer 的概念产生了连接。然而,传统的transformer未能充分利用结构信息。受GAT的启发,许多文献通过开发结构感知的自注意力机制,将结构信息纳入transformer。对于结合结构知识的关系图的图transformer,根据自注意力的功能可以分为两类。一类是基于R-GAT的方法,它采用类似关系GAT的特征聚合方式。另一类是保留全连接图,同时将结构感知的关系信息纳入到自注意功能中。基于GAT的图transformer(Yao et al., 2020)采用了类似GAT的特征聚合,利用了图连接性的归纳偏置。在技术上,其首先通过特定类型的聚合步骤聚合邻居,然后通过前馈层进行融合;基于结构感知的自注意的图transformer保留了原有的自注意架构,允许非邻接节点的通信。

5.3 异质图的图神经网络

现实中,有多种节点和边类型的图称为异质图。正式的说,对于一个图G ,若满足T>1 或者R>1 ,则称其为异质图。除了将异质图转化为关系图外,有时还需充分利用节点和边的类别信息(Fan et al., 2019; Linmei et al., 2019)。因此,下文将介绍异质图的预处理技术与对异质图的图表示学习方法。

5.3.1 LEVI 图转换技术

因为现有大多数的GNN方法只针对同质条件而设计,且在处理大量边类型时会产生巨大的计算负担(Beck et al., 2018)。因此,在异质图中有效的做法是将边视为节点(Beck et al., 2018; Xu et al., 2018c; Sun et al., 2019a; Guo et al., 2019c)。其中最重要的图转换技术是Levi Graph Transformation,对于每个具有特定标签的边,生成一个新的节点,并得到一个简化的异质levi图。它具有单一的边类型,但节点类型不受限制,然后可以由异质GNN进行学习。

5.3.2 基于元路径的异质 GNN

元路径是连接两个对象的复合关系,是一种广泛使用的捕捉语义的结构。异质图中节点之间的不同关系可以很容易地通过元路径展示出来。

首先提供异质图的meta-level 描述,以便更好地理解。遵循异质信息网络的设定(Sun et al., 2011),给出网络模式的概念。异质网络模式是一个元模板图的节点类型的映射V→T 以及边类型的映射E→R ,将其表示为MG(T,R) ,网络模式上的元路径表示为:Φ=T1R1T2R2RlTl+1Ti∈T 是模式的节点,Ri∈R 是对应的关系节点。元路径集合表示为Φ1,Φ2,…,Φp ,元路径上的每个节点Φj ,表示为TiΦj ,然后将网络模式与异质图结合起来。对于异质图的每个节点vi 以及一个元路径Φj ,定义基于元路径的邻居为NΦj(vi) ,其中包含所有节点,包括由元路径链接的自身。

大多数基于元路径的GNN方法采用基于注意力的聚合策略(Wang et al., 2020a; Fan et al., 2019)。其通常可以分为两个阶段:沿着每条元路径聚合邻居,然后节点通过不同的元路径接收邻居的信息;第二阶段是应用元路径级别的注意力机制来学习不同元路径的语义影响。

5.3.3 基于R-GNN的异质GNN

虽然元路径是组织异质图的有效工具,但它需要额外的领域专家知识。为此,大多数研究人员采用了类似R-GNN的想法,使用了特定类型的聚合。下文将简要介绍几个基于R-GNN的异质GNN。

HGAT(Linmei et al., 2019)被提出用于编码包含各种节点类型但单一边类型的异质图。对于特定的节点,不同类型的邻居可能有不同的相关性。为了充分利用多样化的结构信息,HGAT首先专注于全局类型的相关性学习,然后学习具体节点的表示。MHGRN(Feng et al., 2020b)是R-GCN的扩展,它可以直接在异质图上利用多跳信息。通常它借助关系路径的思想来建模两个不具有k-hop连接节点的关系,并将现有的R-GNN扩展到基于路径的异构图表示学习范式。HGT(Hu et al., 2020c)是异质图的图transformer,它在网络模式之上建立节点之间的元关系,并提出了一个相对的时间编码策略来学习时间依赖性。

6. 基于GNN 的编码器-解码器模型

编码器-解码器架构是NLP领域广泛使用的机器学习框架之一。鉴于GNN在建模图结构数据方面的强大功能,许多研究致力于开发基于GNN的编码器-解码器框架,如Graph-to-Graph(Guo et al., 2019a; Shi et al., 2020)模型。本节将介绍典型的Seq2Seq模型,然后讨论用于各种NLP任务的基于图的编码器-解码器模型。

6.1 Sequence-to-Sequence Models

序列到序列模型最初是由Sutskever et al. (2014)和Cho et al. (2014)开发的,用于解决一般的序列到序列问题。Seq2Seq模型是一个端到端的编码器-解码器框架,它学习将一个可变长度的输入序列映射到一个可变长度的输出序列。使用基于RNN的编码器来读取输入序列,建立一个固定维度的向量表示,然后使用基于RNN的解码器来生成基于编码器输出向量的输出序列。解码器本质上是一个RNN语言模型,只是它以输入序列为条件。最常见的Seq2Seq变体之一是应用双向LSTM编码器对输入序列进行编码,并应用LSTM解码器对输出序列进行解码(Sutskever et al., 2014)。在最初的Seq2Seq架构中,中间向量的表示成为信息瓶颈,因为它将输入序列的丰富信息总结为固定维度的嵌入,作为解码器生成高质量输出序列的唯一知识源。为了提高原始Seq2Seq模型的学习能力,人们提出了许多有效的技术。

Seq2Seq模型最初是为了解决序列到序列的问题而开发的,然而许多NLP应用接纳了图结构的输入数据。与序列数据相比,图结构的数据能够编码对象之间丰富的句法或语义关系。此外,即使原始输入最初是以序列形式表示的,它仍然可以从合并结构信息中受益。上述情况基本上需要一个编码器-解码器框架来学习图到X的映射,其中X可以代表序列、树或图。现有的Seq2Seq模型由于无法建模复杂的图结构数据,因此在学习从图到适当目标的精确映射方面面临着巨大的挑战。为了扩展Seq2Seq模型来处理输入为图结构数据的Graph-to-Sequence问题,人们进行了尝试。简单直接的方法是直将结构化图数据线性化为序列数据(Iyer et al., 2016; G´omez-Bombarelli et al., 2018; Liu et al., 2017),并将Seq2Seq模型应用于得到的序列中。但这种方法会造成信息损失,导致性能下降。RNN无法对复杂的结构化数据进行建模的根本原因在于它是一个线性链。因此,一些研究已经致力于扩展Seq2Seq模型。例如,Tree2Seq(Eriguchi et al., 2016)通过采用Tree-LSTM(Tai et al., 2015)扩展了Seq2Seq模型,该模型是链式结构LSTM对树式结构网络拓扑结构的一种推广。Set2Seq(Vinyals et al., 2016)是Seq2Seq模型的一个扩展,它超越了序列,使用注意力机制处理输入集。尽管这些扩展在某些类别的问题上取得了较好的结果,但它们都不能以一种原则性的方式建模任意图结构的数据。

6.2 Graph-to-Sequence Models

为了解决Seq2Seq模型在编码丰富复杂的数据结构上的局限性,最近提出了用于NLP任务的graph-to-sequence的编码器-解码器模型(Bastings et al., 2017; Beck et al., 2018; Song et al., 2018c; Xu et al., 2018b)。Graph2Seq模型通常采用基于GNN的编码器和基于RNN/Transformer的解码器。与Seq2Seq范式相比,Graph2Seq范式更善于捕捉输入文本的丰富结构信息,并可以应用于任意的图结构数据。Graph2Seq模型在广泛的NLP任务中显示出优越的性能,包括文本摘要(Fernandes et al., 2019; Xu et al., 2020a; Huang et al., 2020b; Zhang et al., 2020c)、问题生成(Chen et al., 2020f; Wang et al., 2020c)、code summarization(Liu et al., 2021b)等。大多数提出的Graph2Seq模型是为处理特定的NLG任务而设计的,下文将简要介绍Graph2Seq变体中采用的常用技术。

基于图的编码器:早期Graph2Seq方法及其后续工作(Bastings et al., 2017; Marcheggiani et al., 2018; Damonte and Cohen, 2019; Guo et al., 2019c; Xu et al., 2020a,c; Zhang et al., 2020c,d)主要使用一些典型的GNN变体作为图编码器,包括GCN、GGNN、GraphSAGE和GAT。由于在NLP图中,边缘向通常编码关于两个顶点之间的语义关系的关键信息,因此通常有助于捕获文本的双向信息(Devlin et al., 2019)。在Graph2Seq范式的文献中,已经做出了一些努力来扩展现有的GNN模型来处理有向图。最常见的策略是在进行邻居聚合时,为不同的边方向引入单独的模型参数(Marcheggiani et al., 2018; Song et al., 2018c, 2019; Xu et al., 2020c; Yao et al., 2020; Wang et al., 2020g; Guo et al., 2019c)。

除了边方向信息,NLP应用中的许多图实际上是多关系图,其中边类型信息对下游任务非常重要。为了编码边类型信息,一些工作(Simonovsky and Komodakis, 2017; Chen et al., 2018b; Ghosal et al., 2020; Wang et al., 2020b; Schlichtkrull et al., 2018; Teru et al., 2020)通过为不同的边类型设置单独的模型参数来扩展它们。然而,在许多NLP应用中,边类型的总数很大,因此上述策略会有严重的可扩展性问题。为此,一些工作(Beck et al., 2018; Koncel-Kedziorski et al., 2019; Yao et al., 2020; Ribeiro et al., 2019b; Guo et al., 2019c; Chen et al., 2020g)提出通过将多关系图转换为Levi图来绕过这个问题,然后利用现有为同质图设计的GNN作为编码器。另一个普遍采用的技术是将边嵌入明确地纳入消息传递机制(Marcheggiani et al., 2018; Song et al., 2018c, 2019; Zhu et al., 2019b; Wang et al., 2020f; Cai and Lam, 2020a; Wang et al., 2020g; Song et al., 2020; Liu et al., 2021b; Jin and Gildea, 2020)。

序列解码技术:由于Seq2Seq和Graph2Seq模型的主要区别在于编码器,Seq2Seq模型中使用的常见解码技术也可以在Graph2Seq模型中采用。为了使常见的解码技术适应Graph2Seq范式,人们做了许多努力。例如,Chen et al. (2020g)为了将包含多token序列的整个节点属性从输入图复制到输出序列,将token级复制机制扩展到节点级复制机制。为了结合序列编码器和图编码器的优点,Pan et al. (2020); Sachan et al. (2020)提出在将其输出送入解码器之前将其融合为一个单一的向量。Huang et al. (2020b)分别为序列编码器和图形编码器设计了独立的注意力模块。

6.3 Graph-to-Graph Models

通常用于解决图转换问题的graph-to-graph模型是图编码器-解码器模型。图编码器生成图中每个节点的潜在表示,或通过GNNs为整个图生成一个图级别表示。然后,图解码器基于编码器的节点级或图级潜在表示生成输出目标图。由于自然语言或信息知识图谱可以自然地形式化为具有一组节点及其关系的图,因此NLP领域的许多生成任务可以形式化为图转换问题,这可以进一步通过graph-to-graph模型来解决。这样可以充分利用和捕获输入和输出句子的语义结构信息。下文两个重要的NLP任务(即信息抽取和语义解析),它们可以形式化为graph-to-graph的问题。

信息提取是从文本中提取结构化信息,通常包括实体识别,关系提取和共同引用链接。信息提取问题可以形式化为图转换问题,其中输入是文本的依赖性或组成性图,输出是信息图。在输入依赖性或成分图中,每个节点表示一个词token,每条边表示两个节点之间的依赖关系。在输出信息图中,每个节点代表一个名称实体,每个边代表两个实体之间的共同引用链接的语义关系。以这种方式,信息提取就是在给定输入依赖性或成分图的情况下生成输出信息图;

语义解析的任务是将自然语言映射到机器可解释的意义表示,这些表示又可以用许多不同的形式表达,包括lambda微积分、抽象意义表示等。无论显式或隐式,这些形式中的任一表示都可以表示为有向无环图。因此,语义解析也可以形式化为图转换问题,其中输入是依赖图或成分图,输出是用于语义的有向无环图。例如,AMR的语义形式主义可以编码为有根,有向,无环图,其中节点表示概念,标记的有向边表示它们之间的关系(Flanigan et al., 2014)。

7. 应用

本章将简要讨论使用GNN的NLP应用,包括自然语言生成、机器阅读理解、问题回答等。

7.1 自然语言生成

自然语言生成的目标是通过文本、语音等形式的输入,生成高质量、连贯和可理解的自然语言,而我们只关注语言形式。现代自然语言生成方法通常采取编码器-解码器的形式,将输入序列编码到潜在空间,并根据潜在表征预测出一个词的集合。大多数现代NLG方法可以分为两个步骤:编码和解码,它们由两个模块处理:编码器和解码器。本节将对基于auto-regressive graph-based的方法进行概述,这些方法在领域中利用了编码器中的图结构,包括:神经机器翻译、摘要、问题生成、结构化数据到文本。

7.1.1 神经机器翻译

经典的神经机器翻译系统的目的是在不改变语义的情况下将源语言的句子映射到目标语言中。大多数先前的工作(Bahdanau et al., 2015; Luong et al., 2015)采用了基于注意力的序列对序列学习图。然而这些方法存在着长依赖性的问题。随着注意力机制的发展,通过自注意力捕捉隐性关联取得了突破性进展。虽然这些工作取得了巨大的成功,但它们很少考虑到结构信息。近年来,在GNN的帮助下,许多研究者通过挖掘非结构化文本中包含的结构性知识进一步提升了性能。大多数基于GNN的NMT方法将传统的seq2seq图转换成Graph2Seq架构。它们首先将输入文本转换为图结构的数据,然后采用基于GNN的编码器来利用结构信息进行挖掘。下面将简要介绍NMT方法在图构造和表示学习方面所采用的具有代表性的GNN相关技术。

为了应对相应的挑战,在NMT任务中引入了各种静态图。Bastings et al. (2017); Beck et al. (2018); Cai and Lam (2020c); Guo et al. (2019c)首先将给定的文本转换为句法依赖图,但这种结构没有考虑到单词的语义关系。为此Marcheggiani et al. (2018)为给定文本构建了基于语义角色标注的依赖图。Beck et al. (2018); Song et al. (2019)还构建了包含更多语义关联的句子的AMR图,并提出了一些专门设计的图来解决这些挑战。Yin et al. (2020)构建了多模态图,将视觉知识引入NMT,将输入句子和对应的图像呈现在一个统一的图中,以更好地捕捉语义相关性。 尽管是单一类型的静态图,Xu et al. (2020c)为文档级NMT构建了考虑多重关系的混合图,以解决严重的长期依赖问题。

关于图表示学习,大多构造的图是异构图,它们包含多种节点或边类型,典型的GNN无法直接利用。 因此,研究人员采用了各种异构图表示技术。Bastings et al. (2017); Marcheggiani et al. (2018)将依赖图视为多关系图,并应用有向GCN来学习图表示。Xu et al. (2020c)将边视为连通性,将边方向视为边类型,然后应用关系GCN对文档图进行编码。Song et al. (2019)提出了一种特殊的类型感知异构GGNN来共同学习节点嵌入和边表示。具体来说,他们通过融合源节点和边类型的嵌入来学习边表示。 然后对于每个节点,聚合来自其输入和输出邻居的表示,并利用基于RNN的模块来更新表示。

7.1.2 摘要生成

自动摘要生成是在保留关键信息内容和整体含义的同时生成简明流畅的摘要的任务(Allahyari et al., 2017)。这个任务有两个主要的经典设置:抽取式与生成式。摘要任务的重点是从给定的文本中选择子句减少冗余,它被表述为一个分类问题。而抽象摘要遵循神经语言生成任务。传统的方法(Gehrmann et al., 2018; Zhou et al., 2018b; Liu, 2019)是将输入视为序列,并应用LSTM、Transformer等编码器来学习潜在的表征,这些方法未能利用自然输入中隐含的丰富结构信息。许多研究人员发现,结构知识有利于解决一些挑战,如长距离依赖性问题,因此提出了基于GNN的技术(Wang et al., 2020a; Fernandes et al., 2019),明确利用结构信息来提高性能。大多数基于GNN的摘要方法首先是构建图来表示给定的文本。然后,采用基于GNN的编码器来学习图表示。之后,对于抽取式摘要模型,采用分类器来选择候选子句来组成最终的摘要。对于生成式摘要,大多采用语言解码器,以最大化输出的可能性来生成摘要。

7.1.3 结构化数据到文本

尽管有自然的文本,但许多NLP应用都是以明确的图结构来表示数据。结构化数据的任务是从结构化数据输入中生成自然语言。传统的工作(Pourdamghani et al., 2016, 2014)采用线性化机制,将结构数据映射为序列数据,并采用Seq2Seq架构来生成文本。为了充分捕捉丰富的结构信息,最近的研究集中在基于GNN的技术来处理这一任务。大多数基于GNN的AMR-to-text和SQL-to-text方法通常构建特定领域的图。之后,应用由GNN编码器和序列解码器组成的Graph2Seq来生成神经语言输出。下文将介绍开发信息图所使用的技术。

Ribeiro et al. (2019b)将得到的levi图视为有向同质图,并通过双向GNN学习表示。 他们提出了一个双向嵌入学习框架,该框架在原始方向和反方向上遍历有向图。 有些方法直接使用多关系GNN对得到的多关系图进行编码。 例如,Damonte和Cohen (2019)采用有向GCN来利用AMR图来考虑异质性和参数开销。Zhao et al. (2020b)提出了一种异构GAT来利用AMR图。他们首先将GAT应用于每个子图,分别学习双向表示。 然后应用交叉注意来探索两个子图之间的依赖关系。Transformer体系结构还用于编码AMR或SQL图。Yao et al. (2018)首先在每个同构子图中应用基于GAT的图Transformer,然后连接子图表示以馈送前馈层。

7.2 机器阅读理解和问题回答

7.2.1 机器阅读理解

机器阅读理解的任务是利用给定的段落回答一个自然语言问题。由于各种注意力机制的发展,MRC任务已经取得了重大进展,这些机制可以捕捉到问题和上下文之间的相互联系(Hermann et al., 2015; Cui et al., 2017; Seo et al., 2017; Xiong et al., 2017a)。传统的MRC设置主要集中在相对简单的单跳推理上,最近更多的研究致力于解决更具挑战性的MRC设置。例如,多跳MRC任务是使用多个段落或文档来回答一个自然语言问题,这需要多跳推理能力。会话式MRC的任务是在给定的一段对话和之前的问题和答案中回答当前的自然语言问题,这需要建模会话历史的能力。数值型MRC任务要求有对段落进行数字推理的能力。这些具有挑战性的MRC任务要求具有建模对象之间的复杂关系的学习能力。最近,GNN已经成功应用于各种类型的MRC任务,包括多跳MRC(Song et al., 2018b; Cao et al., 2019a; Qiu et al., 2019; Cao et al., 2019b; Fang et al., 2020a; Tang et al., 2020b; Zheng and Kordjamshidi, 2020; Tu et al., 2019a; Ding et al., 2019a),对话式MRC(Chen et al., 2020d),以及数值型MRC(Ran et al., 2019)。基于GNN的MRC方法通常是先构建一个实体图或层次图来捕捉图中节点之间的关系,然后应用基于GNN的推理模块对图进行复杂推理。假设GNN的输出已经编码了节点本身及其邻居结构的语义,最后将应用一个预测模块来预测答案。

7.2.2 知识库问题回答

在过去的几年里,知识库问题回答已经成为一个重要的研究课题。KBQA的目标是在给定自然语言问题时自动从KG中找到答案。最近,由于其对对象之间关系建模的性质能力,GNN已经成功地应用于执行多跳KBQA任务,这需要在KG的多条边进行推理以得出正确的答案。一个相关的任务是开放领域的QA(Sun et al., 2018a, 2019b),其目的是通过利用包括语料库和KG的混合知识源来回答开放领域的问题。下文简要介绍最近KBQA研究中采用的一些有代表性的GNN相关技术。

基于语义解析的KBQA方法(Yih et al., 2015)旨在将自然语言问题转换为语义图,该语义图可以进一步对KG执行,以找到正确的答案。 为了更好地建模语义图的结构,Sorokin and Gurevych (2018a)提出使用GNN对候选语义图进行编码,他们使用了类似Yih et al.(2015)的程序,在给定问题的情况下构建多个候选语义图,并在嵌入空间中选择与问题匹配度最高的一个。为了更好地对构建的多关系图或异构图进行建模,需要对基本的gnn进行扩展以处理边类型或节点类型。 为此,Sorokin和Gurevych (2018a)扩展了GGNN (Zhang et al., 2020e),将边嵌入纳入信息传递中。在学习了问题和每个候选语义图的向量表示之后,他们使用简单的奖励函数来为问题选择最佳语义图。提取问题变量节点在每个语义图中的最终嵌入节点,并进行非线性变换,得到图级表示。Yasunaga et al. (2021)通过引入节点类型和边类型感知消息传递来处理多关系图,扩展了GAT。 此外他们在初始阶段和最终答案选择阶段采用了预训练的语言模型进行KG节点相关性评分。

 8. 总结

本文对各种图神经网络演化出的各种NLP问题进行了概述。具体来说,首先提供了典型的GNN模型的初步知识,包括图过滤器和图池化方法。然后沿着三个维度系统地梳理GNNs for NLP方法,即图的构造、图表示学习和编码器-解码器模型。鉴于这些在NLP应用每个阶段的技术,我们从图构建等角度讨论了部分NLP应用。

许多NLP问题都可以从图的角度来解决,GNN适用于处理图结构的数据。 因此,图的构建过程在整个模型的性能中起着重要的作用。 然而,构建高质量和特定于任务的图需要大量的领域专业知识和人力。 尽管研究人员已经探索了动态图构建,但大多数GNN应用仍然严重依赖于静态图构造的领域专业知识。 对于NLP的动态图构建的探索还处于早期阶段,面临着一些挑战:首先,大多数关于动态图构造的工作只专注于同质图构造(Chen et al.,2020f,d,e; Liu et al.,2021b, 2019c),关于异质图的动态图构造(Yun et al., 2019; Zhao et al.,2021)的研究较少。异构图能够承载更丰富的节点类型和边缘类型信息,其动态图构建也应该更具挑战性,因为需要从数据中学习更多类型的信息。

由于自然语言或信息知识可以形式化为具有一组节点及其关系的图,因此许多生成任务可以形式化为图转换问题,这可以通过图到图模型进一步解决。在将图到图模型应用于自然语言处理任务的过程中,有几个普遍存在的问题值得探索和解决:(1)难以建立一个能够联合集成多个子任务的端到端图转换框架;(2)输入输出图的不同概念。 在NLP任务中,通常将依赖树形式化为输入图,而输出图通常与输入图有不同的概念。 因此,输入图和输出图的节点集和拓扑都是不同的; (3)难于解决NLP任务中的图稀疏性问题;

多关系图采用统一的节点和特定的边,在许多NLP任务中得到了广泛的探索。 大多数能够利用多关系图的多关系GNN都是从传统同质GNN扩展而来。其中的大多数在邻居聚合过程中应用特定的关系参数,或将异构图拆分为同构子图(Schlichtkrull et al., 2018; Beck et al., 2018)。但由于图中存在不同的关系,在处理超参数化问题方面仍然存在挑战。 虽然参数共享和矩阵分解等技巧被广泛用于提高模型的泛化能力来解决这一问题,但仍然有局限性,在过度参数化和强大的模型表达能力之间存在一个艰难的权衡。 ​​​​

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/721128
推荐阅读
  

闽ICP备14008679号