今天为大家解读的是由京东硅谷研发中心首席科学家吴凌飞博士等研究者最新发表的GNN for NLP综述,几乎覆盖了围绕NLP任务的所有GNN相关技术,是迄今为止GNN for NLP领域最全面最新的综述性文献。

  • 论文标题:Graph Neural Networks for Natural Language Processing: A Survey

  • 作者:Lingfei Wu;Yu Chen;Kai Shen;Xiaojie Guo;Hanning Gao;Shucheng Li;Jian Pei;Bo Long

  • 单位:京东硅谷研发中心

  • 论文地址:https://arxiv.org/abs/2106.06090

本文阅读指南:) 论文原文内容有127页之多,小编解读时已经尽力覆盖每一小节的知识点,由于知识量大,建议先马住,已生成目录供大家轻松查阅,可以先通过每章开头的粗体字快速掌握整体内容,具体的技术细节和参考文献还请参照原论文~

论文总体思路:) 前面几章针对整个NLP领域,介绍现有的图构建方法,包括了NLP领域所有涉及到的graph类型;用于NLP领域的图表示学习技术;各种基于图的编码器-解码器模型;第七章针对现阶段NLP领域的具体任务细致的介绍:1)介绍该NLP任务的背景以及主流的研究方法,2)介绍基于GNN的方法之于该NLP任务的优势,3)针对该NLP任务而言,详细介绍现有的多种GNN相关技术,包括适配该任务的图构建技术和图表示学习技术。

目录

image-20210620174739474

深度学习已经成为应对各种NLP任务的主导方法,尽管输入文本通常被表示为序列化的tokens,但图结构的形式往往可以对许多NLP问题进行更好的表达。因此,有必要针对NLP任务来开发新的图上的深度学习技术。在这项综述中,作者对用于NLP任务的GNNs进行了全面的概述,并提出了一个新的GNNs for NLP的分类体系,它沿着三个方面系统地组织了现有研究,包括:图的构建、图表示学习和基于图的编码器-解码器模型。论文还进一步介绍了大量正在应用GNNs驱动NLP的应用,并总结了相应的基准数据集、评估指标和开源代码。最后,论文讨论了在NLP中充分利用GNNs的挑战以及未来的研究方向。这是第一份针对自然语言处理任务的图神经网络的全面综述。

1. 介绍

传统的文本数据建模方式

传统的NLP任务中,文本序列被认为是一个由tokens组成的袋子,如BoW(词袋模型)和TF-IDF(词频-逆文档频率)。随着词嵌入技术的成功,句子通常被表示为一个由tokens组成的序列。一些流行的深度学习技术,如RNN和CNN被广泛用于建模文本序列。

文本数据的图结构表达

有大量的NLP问题可以用图结构进行最佳表达。例如,文本序列中的句子结构信息(即句法解析树)可以用于增强原始序列数据的表示。同样,序列数据中的语义信息(即语义解析图)也可以被利用来增强原始序列数据。因此,这些图结构的数据可以编码实体tokens之间复杂的成对关系,以学习更由信息量的表示。

基于GNN的NLP任务

图上深度学习和NLP的交叉点上的研究浪潮影响了各种NLP任务。不同的GNNs变体在许多NLP任务中取得了相当大的成功,如分类任务:句子分类,语义角色标注,关系提取;生成任务:机器翻译,问题生成和摘要生成等。

GNN应用于NLP的挑战

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

  • 恰当的图表示学习技术。需要使用专门设计的GNN来学习不同图结构数据的独特特征,如无向、有向、多关系和异质图。

  • 有效地建模复杂数据。因为许多NLP任务涉及学习基于图的输入高度结构化的输出数据之间的映射,如序列、树,以及具有多种类型节点和边的图数据。

本文提出的分类体系

从三个维度来组织用于NLP任务的GNNs:图的构建;图表示学习;编码器-解码器模型;以及对应的NLP应用。

  • 针对用于NLP任务的GNNs,提出了一个新的分类体系。沿着三个轴线系统地组织了现有的用于NLP的GNN的研究:图的构建、图表示学习和基于图的编码器-解码器模型。

  • 对各种NLP任务中最先进的GNNs技术进行了最全面的概述。对基于领域知识和语义空间的各种图构建方法、各种图结构数据的图表示学习方法、基于GNNs的编码器-解码器模型提供了详细的描述和比较。

  • 总结了将GNNs充分用于NLP任务的各种突出挑战,并对未来的研究方向进行了讨论和建议。

fig1

2. 用于NLP任务的图算法

这一章中,首先从图的视角回顾了NLP问题,简要介绍了NLP领域存在的多种多样的图结构以及不同层次的图结构;然后,简要介绍了一些传统的用于解决NLP问题的图算法,包括:Random walk,graph clustering,graph matching,label propagation 等;最后总结了传统图算法的局限性以及与最新GNN算法之间的联系。

2.1 从图视角看NLP

自然语言的表示方式反映了我们对自然语言的特殊看法,并对处理和理解自然语言的方式有根本性的影响。一般来说,有三种不同的表示自然语言的方式。

bag of tokens:最简单的方式是将自然语言表示为一袋tokens,这种方式完全忽略了文本中tokens出现的具体位置,而只考虑其在文本中出现的次数。采取这种观点的最具代表性的NLP技术是话题模型。

sequence of tokens:更自然的方式是将自然语言表示为一个tokens序列,这就是人类通常说和写自然语言的方式。与上述词袋方式相比,这种观点能够捕捉到更丰富的文本信息,例如,哪两个tokens是连续的,以及一个词对局部语境中共出现了多少次。采取这种观点的最具代表性的NLP技术包括线性链CRF,它在预测中实现了顺序依赖,以及word2vec,它通过预测目标单词的上下文单词来学习单词嵌入。

represent natural language as a graph:第三种方式是将自然语言表现为图。图在NLP中是无处不在的。虽然将文本视为序列数据可能是最明显的,但在NLP界,将文本表示为各种图的做法由来已久。常见的文本或知识的图表示包括依赖图、成分图、AMR图、IE图、词汇网络和知识图谱。此外,还可以构建一个包含多个层次元素的文本图,如文档、段落、句子和单词。与上述两种观点相比,这种自然语言的观点能够捕捉到文本元素之间更丰富的关系。许多传统的基于图的方法(如随机游走、标签传播)已经成功地应用于具有挑战性的NLP问题,包括词义消歧、命名消歧、共指解决、情感分析和文本聚类。

2.2 用于NLP任务的图方法

在本小节中,将介绍各种传统的基于图的算法,这些算法已经成功应用于NLP的应用。首先简要说明一些有代表性的基于图的算法和它们在NLP领域的应用。然后,进一步讨论它们与GNN的联系。

2.2.1 随机游走算法(RANDOM WALK ALGORITHMS )

随机游走

是一类基于图的算法,在图中产生随机路径。可以从图中的任何一个节点开始,根据一定的转移概率反复选择在每个时间访问一个随机的邻近节点。然后,随机游走中所有被访问的节点就形成了一条随机路径。在随机游走收敛后,人们可以得到一个图中所有节点的静态分布,该分布可以用来通过对概率得分进行排名,选择图中结构重要性高的最突出的节点,或者通过计算两个随机游走分布的相似性来衡量两个图的关联性。

应用

随机游走算法已被应用于各种NLP任务中,包括文本的语义相似性度量和语义网络上的语义距离、词义消歧、名称消歧、查询扩展、关键词提取、名称消歧、扩展查询、关键词提取,以及跨语言信息检索等。

2.2.2 图聚类算法(GRAPH CLUSTERING ALGORITHMS )

图聚类算法

常见的图聚类算法包括谱聚类、随机游走聚类和min-cut聚类。谱聚类算法利用图的拉普拉斯矩阵的频谱(特征值),在使用K-means等现有算法进行聚类前进行降维。随机漫步聚类算法通过在图上进行t步随机漫步来操作,因此,每个节点被表示为一个概率向量,表示图中所有其它节点的t步生成概率。基于图聚类的目的,小的t值是更可取的,因为想捕捉局部结构信息而不是全局结构信息。min-cut算法也可用于将图划分为多个簇。

应用

图聚类算法已被成功应用于解决文本聚类任务。例如,Erkan提出使用从有向生成图(包含n个文档节点)上的t步随机游走得出的n-dim概率分布作为语料库中每个文档的向量表示。然后,图聚类算法作用于文档表示,以生成文档簇。

2.2.3 图匹配算法(GRAPH MATCHING ALGORITHMS)

图匹配算法

图匹配算法的目的是计算两个图之间的相似度。Graph Edit Distance 是最常用的测量两个图的不相似性的方法。它将距离计算为将一个图转化为另一个图所需的变化(即添加、删除、替换)的数量。

应用

图匹配算法在文本推断任务中有所应用,该任务旨在决定一个给定的句子是否可以从文本中推断出来。

2.2.4 标签传播算法(LABEL PROPAGATION ALGORITHMS)

标签传播算法

标签传播算法(LPAs)是一类基于图的半监督算法,它将标签从有标签的数据点传播到之前没有标签的数据点。LPA是通过在图上迭代传播和聚集标签来操作的。在每次迭代中,每个节点都会根据其邻居节点拥有的标签改变其标签。因此,标签信息会在图中扩散。

应用

LPA在网络科学文献中被广泛用于发现复杂网络中的社区结构。在NLP的文献中,LPA已经成功地应用于词义消歧和情感分析。这些应用通常集中在标记数据稀少的半监督学习环境中,并利用LPA算法将标签从有限的标记例子传播到大量类似的未标记的例子,并假设类似的例子应该有类似的标签。

2.2.5 局限性以及与GNN的联系

局限性

首先,它们的表达能力有限,主要侧重于捕捉图的结构信息,但不考虑节点和边特征,而这些特征对许多NLP的应用也非常重要。其次,对于传统的基于图的算法,没有统一的学习框架。不同的基于图的算法有非常不同的属性和设置,并且只适用于一些特定的用例。

与GNN的联系

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

3. 图神经网络

在上一章中,已经说明了各种基于图的传统方法在不同的NLP任务中的应用。本章中,将阐述GNNs的基础理论和方法,能够直接在图结构的数据上操作。并详细介绍了图滤波器(Spectral-based Graph Filters,Spatial-based Graph Filters,Attention-based Graph Filters,Recurrent-based Graph Filters)和图池化方法(Flat Graph Pooling,Hierarchical Graph Pooling)。

3.1 Foundations

图神经网络本质上是图表示学习模型,可以应用于节点级别的任务和图级别的任务。图神经网络为图中的每个节点学习嵌入,并将节点嵌入聚集起来产生图的嵌入。一般来说,节点嵌入的学习过程利用了输入的节点嵌入和图结构,可以总结为:











































即输入邻居节矩阵和






层的节点状态,可以更新得到下一层的节点嵌入,不同的模型在于图滤波器














的选择和参数。

池化操作来聚合节点嵌入,以生成图级别的嵌入。在GNN模型中,图池化将一个图及其节点嵌入作为输入,然后生成一个具有较少节点的较小的图及其相应的新节点嵌入。图池化操作可以总结为:


































3.2 方法

3.2.1 图滤波器

图滤波器存在多种实现方式,大致可分为基于谱域的图滤波器、基于空间域的图滤波器、基于注意力的图滤波器和基于递归的图滤波器。从概念上讲,基于谱域的图滤波器是基于谱图理论的,而基于空域的方法则是利用图空间上的邻居节点来计算节点嵌入。一些基于谱域的图滤波器可以被转换为基于空间的图滤波。基于注意力的图滤波器受到自注意力机制的启发,对不同的邻居节点分配不同的注意力权重。基于递归的图滤波器引入了门控机制,模型参数在不同的GNN层之间共享。

3.2.2 图池化

图池化层用于以图为重点的下游任务生成图级表示,如基于学习到的节点嵌入进行图分类和预测。图级别的任务来说,需要整个图的表示。为此,需要对节点嵌入信息和图结构信息进行总结。图池化层可以分为两类:flat图池化和分层图池化。flat图池化在单个步骤中直接从节点嵌入中生成图级别表示。相比之下,分层图池化包含几个图池化层。

4. 用于NLP任务的图构建方法

上一章讨论了给定图输入时,GNN的基本基础和方法。不幸的是,对于大多数NLP任务来说,典型的输入是文本序列而不是图。为了利用GNN的力量,如何从文本序列中构建一个图输入成为一个艰难的步骤。在本章重点介绍两种主要的图构建方法,即静态图构建(Dependency Graph Construction,Constituency Graph Construction,AMR Graph Construction,Discourse Graph Construction,information extraction graph,Discourse Graph Construction,Knowledge Graph Construction,Knowledge Graph Construction,Similarity Graph Construction,Co-occurrence Graph Construction。Topic Graph Construction,App-driven Graph Construction)和动态图构建,此外介绍了多种图相似度度量准则,用于构建各种NLP任务中的图结构输入。

4.1 静态图构建

静态图构建方法的目的是在预处理期间构建图结构,通常是利用现有的关系解析工具(如依存分析)或手动定义的规则。从概念上讲,静态图包含了隐藏在原始文本序列中的不同领域/外部知识,它用丰富的结构化信息丰富了原始文本的内容。

4.1.1 静态图构建方法

fig2

图2  Dependency Graph and Constituency Graph Construction

依赖图构建(Dependency Graph Construction)

依赖图被广泛用于捕捉给定句子中不同对象之间的依赖关系。从形式上看,给定一个段落,可以通过使用各种NLP解析工具(例如Stanford CoreNLP)获得依存分析树(例如句法依存树或语义依存关系树)。然后,从依存分析树中提取依赖关系,并将其转换为依赖性图。由于给定段落有顺序信息,而图的节点是无序的,可以引入顺序的 link,在图结构中保留这种重要信息。有代表性的依存图构建方法,给定输入段和其提取的分析树,包括三个关键步骤。1)构建依赖关系,2)构建顺序关系,3)最终的图转换。

成分图构建(Constituency Graph Construction)

成分图是另一个广泛使用的静态图,能够捕捉一个或多个句子中基于短语的句法关系。与依存分析不同的是,依存分析只关注单个词之间一对一的对应关系(即词级),而构成分析则对一个或几个对应词的组合进行建模(即短语级)。首先解释成分关系的基本概念,然后说明成分图的构建过程。构成图的例子如图2所示。

在语言学中,成分关系是指遵循短语结构语法的关系,而不是依存关系和依存语法。一般来说,成分关系是由主语(名词短语NP)— 谓语(动词短语VP)关系衍生出来的。与依存关系解析树不同的是,所有的节点都有相同的类型,成分分析树区分了终端节点和非终端节点,非终端类别标记分析树的内部节点,叶子节点标记为终端类别。节点集可以表示为:1)非终端节点集2) 终端节点集。构成关系集合与树的边相关。成分图由非终端节点和终端节点组成,以及成分边和序列边。对于原文中相邻的每个单词节点对,在它们之间添加一条具有特定序列类型的无向边,用来保留顺序信息。

抽象语义表示图构建(AMR Graph Construction)

fig3

图3 AMR Graph

AMR图是有根、有标注、有向、无环的图,它被广泛用于表示非结构化的具体自然文本的抽象概念之间的高级语义关系。与句法上的特异性不同,AMR是高层次的语义抽象。更具体地说,在语义上相似的不同句子可能共享相同的AMR解析结果,例如,"保罗描述自己是一个战士 "和 "保罗对自己的描述:一个战士",如图3所示。与之前介绍的依赖树和成分树类似,AMR图是由AMR解析树衍生出来的。

信息抽取图构建(Information Extraction Graph Construction)

fig31

图4 Information Extraction Graph

信息抽取图(IE Graph)旨在提取结构信息来表示自然句子之间的高级信息,例如基于文本的文档。这些提取出来的关系,捕捉到远距离句子之间的关系,在许多NLP任务中很有帮助。在下文中,为给定段落构建IE图的过程分为三个基本步骤。1)指代消解,2)构建IE关系,3)图的构建

话语图构建(Discourse Graph Construction)

当候选文档太长时,许多NLP任务会受到长距离依赖性的挑战。话语图描述了两个句子之间的逻辑联系,可以有效地解决这种挑战。

知识图谱构建(Knowledge Graph Construction)

fig4

图5 knowledge graph

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

构建KG的第一件事是获取给定查询中的术语实例。然后,通过一些匹配算法(如最大子串匹配)将术语实例与KG中的概念联系起来。这些概念被看作是提取的子图中的初始节点。下一步是获取初始节点在KG中的1跳邻居。此外,人们可以通过应用一些图节点相关性模型,如个性化的PageRank(PPR)算法,来计算邻居与初始节点的相关性。然后根据结果,进一步修剪出相关性分数低于置信度阈值的边,并删除孤立的邻居。剩余的最终子图随后被用来给任何图表示学习模块提供信息。

共指图构建(Coreference Graph Construction)

在语言学中,当某个段落中的两个或多个术语指代同一个对象时,就会出现共指。许多工作表明,这种现象有助于更好地理解语料库的复杂结构和逻辑,解决歧义。为了有效地利用共指信息,共指图用来显式的建模隐性共指关系。给定一组短语,共指图可以连接文本语料库中指代同一实体的节点(短语)。

相似图构建(Similarity Graph Construction)

fig5

图6 similarity graph

相似性图旨在量化节点之间的相似性,在许多NLP任务中被广泛使用。由于相似性图通常是面向应用的,因此我们重点关注构建实体、句子和文档等各种类型元素的相似性图的基本程序,而忽略了具体的应用细节。相似性图的构建是在预处理过程中进行的,而不是以端到端的方式与其余学习系统共同训练。图6中显示了一个相似性图的例子。

共现图构建(Co-occurrence Graph Construction)

fig6

图7 co-occurrence graph

共现图旨在捕捉文本中词与词之间的共现关系,这在许多NLP任务中被广泛使用,共现关系描述了在固定大小的上下文窗口内共同出现的两个词的频率,是捕捉语料库中词之间语义关系的一个重要特征。共现图的例子见图7。

话题图构建(Topic Graph Construction)

fig7

图8 topic graph

话题图是建立在几个文档上的,其目的是对不同话题之间的高层次语义关系进行建模。给定一组文档,首先用一些话题建模算法,如LDA,学习潜在的话题。然后构建话题图,只有当文档具有该话题时,那么在文档节点和话题节点之间构建一条无向边。

应用驱动图构建(App-driven Graph Construction)

fig8

图9 application-driven graph

应用驱动图指的是为特定的NLP任务专门设计的图。在一些NLP任务中,用特定应用的方法通过结构化的形成来表示非结构化的数据是很常见的。例如,SQL语言可以自然地通过SQL解析树来表示。因此,它可以被转换为SQL图。由于这些图在领域知识的基础上过于专业化,所以没有统一的模式来总结如何建立一个应用驱动的图。图9是这种应用驱动图的一个例子,如SQL图。

4.1.2 混合图构建和讨论

以前的大多数静态图构建方法只考虑节点之间的一种特定关系。尽管得到的图在某种程度上很好地捕捉了结构信息,但它们在利用不同类型的图关系方面也是有限的。为了解决这一局限性,人们越来越关注通过将几个图组合在一起构建混合图,以丰富图中的语义信息

4.2 动态图构建

尽管静态图的构建具有将数据的先验知识编码到图结构中的优势,但它有几个局限性:1)为了构建一个性能合理的图的拓扑结构,需要大量的人力和领域知识;2)人工构建的图结构可能容易出错(例如,有噪音或不完整);3)由于图构建阶段和图表示学习阶段是不相干的,在图构建阶段引入的错误不能被纠正,可能会累积到后面的阶段,这可能导致性能下降。4)图的构建过程往往只由机器学习从业者的见解来决定,对于下游的预测任务来说可能是次优的。

为了应对上述挑战,最近关于NLP的GNN的尝试(Chen等人,2020e,f;Liu等人,2021b,2019c)开始探索动态图的构建,而不需要借助人工或领域专业知识。大多数动态图构建方法旨在动态学习图结构(即加权邻接矩阵),图构建模块可以与后续的图表示学习模块共同优化,以端到端的方式面向下游任务。如图10所示,这些动态图构建方法通常包括一个图相似性度量学习组件,用于通过考虑嵌入空间中的成对节点相似性来学习邻接矩阵,以及一个图稀疏化组件,用于从学到的全连接图中提取稀疏图。将固有的图结构和学习到的隐含图结构结合起来,有利于提高学习性能。此外,为了有效地进行图结构和表征的联合学习,人们提出了各种学习范式。GNN的图结构学习本身就是机器学习领域的一个趋势性研究问题,并且已经在NLP之外被广泛研究然而,在本综述将重点介绍其在NLP领域的最新进展,将动态图构建和图结构学习交替使用。

fig9

图10 dynamic graph construction

4.2.1 图相似度度量技术

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

基于节点嵌入的相似度度量学习

基于节点嵌入的相似性度量函数被设计为通过计算嵌入空间中的成对节点相似性来学习加权邻接矩阵。常见的度量函数包括基于注意力的度量函数和基于余弦的度量函数。

基于注意力机制的相似度度量函数

迄今为止提出的大多数相似性度量函数都是基于注意力机制的。为了提高基于点积的注意力机制的学习能力,Chen等人通过引入可学习的参数,提出了一个改良的点积,表述如下:






























































是一个非负的权重向量,提升节点嵌入不同维度的影响力。

Chen et al. 通过引入一个可学习的权重矩阵设计了一个更具有表达能力的点积方式:

Chen等人(2020e)将vanilla余弦相似度扩展为多头加权余弦相似度,以从多个角度捕捉成对的节点相似度,如下:

基于Cosine相似度的度量函数

Chen等人(2020e)将香vanilla余弦相似性扩展为多头加权余弦相似性,以从多个角度捕捉成对节点的相似性:

结构感知的相似度学习

受结构感知 transformers 的启发,最近的方法采用了结构感知的相似性度量函数,在节点信息之外还额外考虑了内在图的现有边信息。例如,Liu等人(2019c)提出了一个学习成对节点相似性的结构感知注意机制,如下:


















是边的嵌入表示。Liu et al. (2021b) 提出了结构感知的全局注意力机制:

4.2.2 图稀疏化技术

现实世界中的大多数图都是稀疏的图。相似性度量函数考虑任何一对节点之间的关系,并返回一个完全连接的图,这不仅计算成本高,而且还可能引入噪音,如不重要的边。因此,对所学的图结构明确地强制执行稀疏性是有益的。除了在相似度量函数中应用ReLU函数,还采用了各种图稀疏化技术来提高所学图形结构的稀疏性。

Chen等人(2020f,d)应用kNN式的稀疏化操作,从相似度学习函数计算的节点相似度矩阵中获得稀疏的邻接矩阵:





































其中,对于每个节点,只保留K个最近的邻居(包括它自己)和相关的相似度分数,其余的相似度分数被屏蔽掉。Chen等人(2020e)通过只考虑每个节点的ε-邻居来执行稀疏的邻接矩阵:

其中,S中小于非负阈值ε的元素全部被屏蔽掉(即设置为零)。

4.2.3 结合INTRINSIC图结构和隐式图结构

最近的研究表明,如果在进行动态图构建时完全丢弃内在图结构,可能会损害下游任务的性能。这可能是因为 intrinsic 图通常仍然带有关于下游任务的最佳图结构的丰富和有用的信息。因此,他们提出将学习到的隐式图结构与intrinsic图结构结合起来,基于这样的假设:学习到的隐式图有可能是intrinsic图结构的 "转变"(例如,子结构),是对intrinsic图结构的补充。另一个潜在的好处是纳入intrinsic图结构可能有助于加速训练过程,提高训练的稳定性。

4.2.4 学习范式

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

5. 用于NLP的图表示学习

上一章介绍了各种图构建方法,包括静态图构建和动态图构建。本章将讨论各种图表示学习技术,这些技术直接在构建的图上操作,用于各种NLP任务。图表示学习的目标是找到一种方法,通过机器学习模型将图的结构和属性信息纳入低维嵌入。一般来说,从原始文本数据构建的图可能是同质图或异质图。因此,在第5.1节中,将讨论同质图的各种图表示学习方法,包括原始同质图和一些从异质图转换过来的方案。在第5.2节,将讨论基于GNN的作用于多关系图的方法,在第5.3节,讨论处理异质图的GNN。

数学上表示任意图






























是节点集合,






是边集合,

































是节点类型结合,


























是边的类型集合,






是任意元素的个数,











是节点类型的指示函数(


















表示节点









的类型),











是边类型的指示函数。

5.1 GNNs for Homogeneous Graphs

根据定义,对于图























,当满足


















被称为同质图。大多数图神经网络,如GCN、GAT和GraphSage,都是为同质图设计的,然而,这并不能很好地适配许多NLP任务。例如,给定一个自然语言文本,构建的依赖图是包含多种关系的任意图,传统的GNN方法无法直接利用。因此,在本小节中,将首先讨论将任意图转换为同质图的各种策略,包括静态图和动态图。然后,讨论考虑双向编码的图神经网络。

5.1.1 静态图

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

将边信息转换为相邻矩阵

边被看作是节点之间的连接信息。在这种情况下,丢弃边类型信息,保留连接信息,将异质图转换成同质图。得到这样的图后,可以将图的拓扑结构表示为统一的邻接矩阵A。有向图可以通过平均两个方向的边权重转化为无向图。边权重被重新缩放,其最大边缘权重为1,然后再送入GNN。

节点表示学习

给定初始节点嵌入X和邻接矩阵A,基于经典的GNNs技术提取节点表示。对于无向图,大多数工作主要采用图表示学习算法,如GCN、GGNN、GAT、GraphSage等,并将它们堆叠起来,探索图中的深层语义关联。当涉及到有向图时,少数GNN方法如GGNN、GAT仍然有效。而对于其他不能直接应用于有向图的GNN,简单的策略是忽略方向(即把有向图转换为无向图)。然而,这种方法允许信息在没有约束的情况下双向传播。为了解决这个问题,人们做了很多努力来使GNN适应于有向图。对于GCN,一些基于空间的GCN算法是为有向图设计的,如DCNN。GraphSage通过修改聚合函数,通过指定边方向并分别聚合,可以很容易地扩展到有向图上。

5.1.2 动态图

动态图旨在与下游任务共同学习图结构。早期的工作主要采用递归网络,将图节点嵌入作为RNN的状态编码,这可以看作是GGNN的雏形。然后,经典的GNN如GCN、GAT、GGNN 被用来有效地学习图嵌入。最近的研究者采用基于注意力或基于度量学习的机制,从非结构化文本中学习隐含的图结构。图结构的学习过程是通过端到端的方式与下游任务共同进行的。

5.1.3 双向图嵌入

前面介绍了从静态同质图中构建和学习节点嵌入的典型技术。在本小节中,详细讨论了如何处理边方向。在现实中,许多图都是有向无环图(DAG),其信息是沿着特定的边方向传播的。一些研究者允许信息在两个方向上平等传播,另一些研究者则抛弃了包含在出边中的信息,这两种情况对于最终的表示学习会损失一些重要结构信息。为了解决这个问题,提出了双向图神经网络(bidirectional GNN),以交错的方式从传入和传出的边上学习节点表示。

5.2 用于多关系图的GNN

现实中许多图都有各种边类型,如知识图、AMR图等,代表和学习多关系图,当|R|>1并且|T|=1时,被定义为多关系图。在本节中将介绍不同的技术,这些技术可以表示和学习多关系图。

5.2.1 多关系图的形成

由于异质图在NLP领域普遍存在,如知识图谱、AMR图等,大多数研究者提出将其转换为多关系图,可以通过5.2.2小节和5.2.3小节的关系GNN学习,多关系图表示为


































并且










. 为了获得多关系图,技术上我们忽略了节点类型,设置初始边的类型为"default",对于每一个边,为其添加一个逆向边,类型为"reverse",并为每个节点添加自环"self',因此就获得了多关系图:

















.

5.2.2 多关系GNNs

多关系GNN是经典GNN对多关系图的扩展,其节点类型相同,但边类型不同。它们最初是用来编码特定关系图的,如知识图谱和解析图,这些图在相同类型的节点之间有复杂的关系。一般来说,大多数多关系GNN采用特定类型的参数对关系进行单独建模。经典的方法有:R-GCN、R-GGNN 和 R-GAT。

R-GCN

R-GCN是消息传递GCN框架的自然延伸,该框架在局部图邻域运行,根据标签类型对传入的节点进行分组,然后对每一组分别应用消息传递。因此,节点vi的邻居节点的聚合过程被定义为:

R-GGNN

关系型GGNN最初是用于graph-to-sequence问题,它能够捕捉到长距离的关系。与R-GCN类似,R-GGNN使用特定关系的权重来更好地捕捉节点之间特定关系的相关性。R-GGNN的传播过程可以概括为:

R-GAT

Wang等人提出扩展经典的GAT以适应多关系图。直观地说,具有不同关系的邻居节点应该具有不同的影响力。Wang等人(2020b)提出用额外的关系头来扩展同质GAT。从技术上讲,他们提出的关系结点表示为:

Gating Mechanism

多关系图神经网络在堆叠若干层以利用远处邻居之间的隐性关联时也面临过平滑问题。为了解决这个问题,在多关系图神经网络中引入了门控机制,即通过门控将节点的输入特征和聚合特征结合起来。直观地说,门控机制可以被看作是原始信号和学习到的信息之间的权衡。它调节了多少更新信息被传播到下一步,从而防止模型彻底覆盖过去的信息。这里以经典的R-GCN为例来介绍门控机制,它实际上可以扩展到任意的变体。激活之前的表示为:














































其中




表示聚合函数。最终,节点




的最终表示是先前嵌入














和GNN输出表示



















的门控组合:


















为门向量。

5.2.3 GRAPH TRANSFORMER

Transformer 架构在NLP领域取得了巨大成功,transformer的自注意力机制是全连接隐式图学习的一个特殊程序,因此GNN和transformer 的概念产生了连接。然而,传统的 transformer 未能利用结构信息。在GAT的启发下,许多文献通过开发结构感知的自注意力机制,将结构信息纳入transformer。

self-attention

在本节中,将讨论多关系图的结构感知自注意力技术。对自注意力机制作一个简单的回顾,省略了多头机制,只介绍自注意的功能,自注意力的输入为:



















































,输出表示











为:

对于图 transformer 来说,查询、键和值都是指节点的嵌入:即






































。有各种结合了结构知识的关系图的图 transformer,根据自注意力的功能可以分为两类。一类是基于R-GAT的方法,它采用类似关系GAT的特征聚合方式。另一类是保留全连接图,同时将结构感知的关系信息纳入到自注意功能中。

R-GAT Based Graph Transformer

基于GAT的图 transformer采用了类似GAT的特征聚合,它利用了图连接性的归纳偏置。在技术上,首先用特定类型的聚合步骤聚合邻居,然后通过前馈层进行融合,具体如下:

Structure-aware Self-attention Based Graph Transformer

与基于R-GAT的图transformer纯粹依靠给定的图结构不同,基于结构感知的自注意的图transformer保留了原有的自注意架构,允许非邻接节点的通信。首先讨论结构感知的自我注意机制,然后介绍其独特的边嵌入表示法。

Shaw等人尝试对神经机器翻译任务中词(节点)之间的相对关系进行建模。在技术上,他们在计算节点相似度时考虑了关系嵌入:

受Shaw等人(2018)的启发,Xiao等提出扩展传统的自注意力架构,将隐空间中节点对之间的关系嵌入显式编码为:

为了采用双向关系,Cai和Lam(2020c)对传统的自注意力进行了如下扩展:

给定每种关系上学习到的注意力,边的嵌入表示是纳入结构信息的下一个关键步骤。Shaw等人(2018)简单地学习了相对位置编码,即节点的绝对位置。从技术上讲,他们采用了







个潜在标签











,并映射对节点对




















,将  






到一个特定的标签嵌入,从而得到边的嵌入。

Zhu等人(2019b);Cai和Lam(2020c)通过从节点









到节点









的路径来学习边的表示













。Zhu等人(2019b)将路径视为一个字符串,将其添加到词汇表中,使其向量化。还进一步提出了其他方法来学习标签沿路径的嵌入,例如:1)取平均值,2)求和,3)用自注意力来编码,4)用CNN滤波器来编码。Cai和Lam(2020c)提出了基于最短路径的关系编码器。具体来说,他们首先沿着路径获取标签的嵌入序列。然后,他们采用双向的GRU进行序列编码。前向和后向GRU网络的最后一个隐藏状态最终被连接起来以表示关系嵌入













5.3 Graph Neural Networks for Heterogeneous Graph

现实中的大多数图有多种节点和边的类型,如知识图谱,AMR图,它们被称为异质图。从形式上看,对于一个图G,满足  










或者









1,那么称其为异质图。除了将异质图转化为关系图外,如上一小节所介绍的,有时还需要充分利用节点和边的类别信息。因此,在第5.3.1小节中,首先介绍了异质图的预处理技术。然后,在第5.3.2和5.3.3小节中,将介绍两种专门针对异质图的典型图表示学习方法。

5.3.1 LEVI 图转换技术

由于大多数现有的GNN方法只针对同质条件而设计,在处理大量的边类型时,会有大量的计算负担(例如,一个AMR图可能包含100多种边类型),因此,在异质图中有效的做法是将边视为节点。最重要的图转换技术是Levi Graph Transformation,对于每一个具有特定标签的边,生成一个新的节点。得到的图是一个简化的异质levi图,它具有单一的边类型,但节点类型不受限制,然后可以由第5.3小节中描述的异质GNN进行学习。

5.3.2 基于元路径的异质 GNN

Meta-path

元路径是连接两个对象的复合关系,是一种广泛使用的捕捉语义的结构。以电影数据IMDB为例,有三种类型的节点,包括电影、演员和导演。元路径Movie → Actor →Movie,涵盖了两部电影和一个演员,描述了co-actor的关系。因此,异质图中节点之间的不同关系可以很容易地通过元路径展示出来。首先提供了异质图的meta-level 描述,以便更好地理解。

遵循异质信息网络(HIN)的设定,给出了网络模式的概念。网络模式是异质图的元模板:节点类型的映射










以及边类型的映射










,将其表示为






















,网络模式上的元路径表示为:













是模式的节点,













是对应的关系节点。元路径集合为  





























,将其表示为






















。元路径是网络模式上的一条路径,表示为异质图G(V, E)的节点类型映射。V→T和边类型映射。对于每一个元路径









上的节点









,表示为

















。然后将网络模式与异质如图结合起来,对于每一个异质图的节点









以及一个元路径









,定义基于元路径的邻居为
























,其中包含所有节点,包括由元路径









链接的自己。在概念上,邻居集可以有多跳节点,这取决于元路径的长度。

大多数基于元路径的GNN方法采用基于注意力的聚合策略。从技术上讲,它们一般可以分为两个阶段。1)沿着每条元路径聚合邻居,这可以被称为 "节点级聚集"。在这之后,节点通过不同的元路径接收邻居的信息;2)接下来,应用元路径级别的注意力机制来学习不同元路径的语义影响。通过这种方式,他们可以学习由多条元路径连接的邻居的最佳组合。

HAN

由于图中节点的异质性,不同的节点具有不同的特征空间,这给GNN处理各种初始节点嵌入带来了很大挑战。为解决这一问题,采用特定类型的变换,将各种节点投射到统一的特征空间











































  • Node-level Aggregation:对于在元路径









    上,节点









    的邻居节点集合
























    ,节点特征的聚合过程可以表示为:

  • Meta-path Level Aggregation:一般来说,不同的元路径传达了不同的语义信息。为此,旨在学习每个元路径的重要性:

    从技术上讲,对于每条元路径,首先学习每个节点的语义级重要性。然后对它们进行平均,得到元路径级别的重要性:最终获得节点表示:



















































5.3.3 基于R-GNN的异质GNN

尽管元路径是组织异质图的有效工具,但它需要额外的领域专家知识。为此,大多数研究人员通过使用特定类型的聚合,采用了R-GNN的类似想法。为了清楚起见,本文将这些方法命名为基于R-GNN的异质GNN,并在下文中介绍这一类的几个典型变体。

HGAT

HGAT(Linmei等人,2019)被提出用于编码包含各种节点类型但单一边类型的异质图。换句话说,边只代表连接性。对于一个特定的节点,不同类型的邻居可能有不同的相关性。为了充分利用多样化的结构信息,HGAT首先专注于全局类型的相关性学习,然后学习具体节点的表示。

MHGRN

MHGRN(Feng等人,2020b)是R-GCN的一个扩展,它可以直接在异质图上利用多跳信息。一般来说,它借助关系路径(如元路径)的思想来建模两个不具有k-hop连接节点的关系,并将现有的R-GNN扩展到基于路径的异构图表示学习范式。

HGT

HGT(Hu等人,2020c)是异质图的图transformer,它在网络模式之上建立节点之间的元关系,正如在基于元路径的异质GNN段落中讨论的那样。与之前大多数假设图结构是静态的(即与时间无关)的工作不同,他们提出了一个相对的时间编码策略来学习时间依赖性。

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

编码器-解码器架构是NLP领域最广泛使用的机器学习框架之一,如Seq2Seq模型。鉴于GNN在建模图结构数据方面的巨大力量,最近,许多研究开发了基于GNN的编码器-解码器框架,包括Graph-to-Tree和Graph-to-Graph模型。在本节中,首先介绍典型的Seq2Seq模型,然后讨论各种基于图的编码器-解码器模型,用于各种NLP任务。

fig10

图11 基于图的编码器解码器模型总体架构

6.1 Sequence-to-Sequence Models

序列到序列学习是NLP领域中最广泛使用的机器学习范式之一。在这一节中,首先对Seq2Seq学习进行了简要的概述,并介绍了一些典型的Seq2Seq技术。然后,指出Seq2Seq学习的一些已知的局限性以及它的解决方案,即纳入更多结构化的编码器-解码器模型作为原始Seq2Seq模型的替代,以编码更复杂的数据结构

6.1.1 介绍

Seq2Seq模型用于解决一般的序列到序列问题(如机器翻译)。Seq2Seq模型是一个端到端的编码器-解码器框架,它学习将一个可变长度的输入序列到一个可变长度的输出序列之间的映射。通常这个想法是使用一个基于RNN的编码器来读取输入序列,建立一个固定维度的向量表示,然后使用一个基于RNN的解码器来生成以编码器输出向量为条件的输出序列。解码器本质上是一个RNN语言模型,只不过它是以输入序列为条件的。最常见的Seq2Seq变体之一是应用双向LSTM编码器对输入序列进行编码,并应用LSTM解码器对输出序列进行解码。其他Seq2Seq变体用门控递归单元(GRU)、卷积神经网络(CNN)或 Transformer模型代替LSTM。

在最初的Seq2Seq架构中,中间向量的表示成为信息瓶颈,因为它将输入序列的丰富信息总结为固定维度的嵌入,作为解码器生成高质量输出序列的唯一知识源。为了提高原始Seq2Seq模型的学习能力,人们提出了许多有效的技术。

6.1.2 讨论

许多NLP应用自然地接纳了图结构的输入数据,如依赖图、构成图,AMR图,IE图和知识图谱。与序列数据相比,图结构的数据能够编码对象之间丰富的句法或语义关系。此外,即使原始输入最初是以序列形式表示的,它仍然可以从显式地合并结构信息中受益。上述情况基本上需要一个编码器-解码器框架来学习图到X的映射,其中X可以代表序列、树或甚至图。现有的Seq2Seq模型在学习从图到适当目标的精确映射方面面临着巨大的挑战,因为它没有能力对复杂的图结构数据进行建模。

为了扩展Seq2Seq模型以处理输入为图结构数据的Graph-to-Sequence问题,人们进行了各种尝试。一个简单直接的方法是直接将结构化图数据线性化为序列数据,并将Seq2Seq模型应用于所得到的序列。然而,这种方法遭受了巨大的信息损失,导致了性能的下降。RNN没有能力对复杂的结构化数据进行建模的根本原因在于它是一个线性链。鉴于此,一些研究工作已经致力于扩展Seq2Seq模型。例如,Tree2Seq(Eriguchi等人,2016)通过采用Tree-LSTM扩展了Seq2Seq模型,该模型是链式结构LSTM对树式结构网络拓扑结构的一种概括。Set2Seq是Seq2Seq模型的一个扩展,它超越了序列,使用注意力机制处理输入集。尽管这些Seq2Seq扩展在某些类别的问题上取得了有希望的结果,但它们都不能以一种原则性的方式对任意图结构的数据进行建模

6.2 Graph-to-Sequence Models

为了解决上述Seq2Seq模型在编码丰富复杂的数据结构上的局限性,最近提出了一些用于NLP任务的graph-to-sequence的编码器-解码器模型。Graph2Seq模型通常采用一个基于GNN的编码器和一个基于RNN/Transformer的解码器。与Seq2Seq范式相比,Graph2Seq范式更善于捕捉输入文本的丰富结构信息,可以应用于任意的图结构数据。与Seq2Seq模型相比,Graph2Seq模型在广泛的NLP任务中显示出优越的性能,包括神经机器翻译,AMR-to-text、文本摘要、问题生成、KG-to-text、SQL-to-text 、code summarization和语义解析。

基于图的编码器

早期的Graph2Seq方法及其后续工作主要使用一些典型的GNN变体作为图编码器,包括GCN、GGNN、GraphSAGE和GAT。由于NLP图中的边缘向经常编码关于两个顶点之间的语义关系的关键信息,因此捕获文本的双向信息往往是非常有帮助的。在Graph2Seq范式的文献中,人们做了一些努力来扩展现有的GNN模型以处理有向图。最常见的策略是在进行邻居聚合时,为不同的边方向(即传入/传出/自环边)引入单独的模型参数。

除了边方向信息,NLP应用中的许多图实际上是多关系图,其中边类型信息对下游任务非常重要。为了编码边类型信息,一些工作通过为不同的边类型设置单独的模型参数来扩展它们。然而,在许多NLP应用中(如KG相关任务),边类型的总数很大,因此上述策略会有严重的可扩展性问题。为此,一些工作提出通过将多关系图转换为Levi图来绕过这个问题,然后利用现有为同质图设计的GNN作为编码器。另一个普遍采用的技术是将边嵌入明确纳入消息传递机制。

节点/边嵌入初始化

对于基于GNN的方法,节点和边的初始化是非常关键的。虽然CNNs和RNNs都擅长捕捉文本中连续词之间的局部依赖关系,但GNNs在捕捉图中相邻节点之间的局部依赖关系方面表现良好。许多关于Graph2Seq的工作表明,应用CNN或双向RNNs应用基于GNN的编码器之前,对词嵌入序列进行处理。还有研究探索了用BERT嵌入+BiRNNs或RoBERTa+BiRNNs初始化节点/边缘嵌入。

序列解码技术

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

6.3 Graph-to-Tree Models

与Graph2Seq模型考虑输入端的结构信息相比,许多NLP任务还包含以复杂结构表示的输出,如树,在输出端也有丰富的结构信息,如句法解析,语义解析,math word 问题解决,考虑输出的结构信息是一个自然的选择。为此,一些Graph2Tree模型被提出来,在输入和输出端都加入了结构信息,使编码-解码过程中的信息流更加完整。

6.4 Graph-to-Graph Models

graph-to-graph模型通常用于解决图转换问题,是图编码器-解码器模型。图编码器生成图中每个节点的潜在表示,或通过GNNs为整个图生成一个图级别表示。然后,图解码器根据来自编码器的节点级或图级潜在表示生成输出目标图

Graph-to-Graph for NLP

由于自然语言或信息知识图谱可以自然地被形式化为具有一组节点及其关系的图,NLP领域的许多生成任务可以被形式化为一个图的转换问题,这可以进一步通过graph-to-graph模型来解决。这样一来,输入和输出句子的语义结构信息就可以得到充分的利用和把握。两个重要的NLP任务(即信息抽取和语义解析)可以被形式化为graph-to-graph的问题。

7. 应用

在本章中,将讨论大量使用GNN的典型NLP应用,包括自然语言生成、机器阅读理解、问题回答、对话系统、文本分类、文本匹配、话题建模、情感分类、知识图谱、信息提取、语义和句法解析、推理和语义角色标注。表3中提供了所有应用的摘要及其子任务和评价指标。

fig11

7.1 自然语言生成

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

7.1.1 神经机器翻译

经典的神经机器翻译(NMT)系统旨在将源语言的句子映射到目标语言,而不改变其语义。大多数先前的工作采用了基于注意力的序列对序列学习图,特别是基于RNN的语言模型。与传统的机器翻译模型相比,这些方法可以在没有特定语言知识的情况下产生更好的性能。然而,这些方法存在着长依赖性的问题。随着注意力机制的发展,完全基于注意力的模型,如Transformer,通过自注意力捕捉隐性关联,取得了突破性进展,达到了新的水平。虽然这些取得了巨大的成功,但它们很少考虑到结构信息,如句法结构。最近,在强大的GNN的帮助下,许多研究者通过挖掘非结构化文本中包含的结构性知识进一步提升了性能

大多数基于GNN的NMT方法将传统的seq2seq图转换成Graph2Seq架构。它们首先将输入文本转换为图结构的数据,然后采用基于GNN的编码器来利用结构信息。

7.1.2 摘要生成

自动摘要生成是在保留关键信息内容和整体意义的情况下产生一个简明流畅的摘要的任务。这个任务有两个主要的经典设置:1)抽取式 2)生成式。传统的方法只是将输入视为序列,并应用LSTM、Transformer等编码器来学习潜在的表征,这些方法未能利用自然输入中隐含的丰富结构信息。许多研究人员发现,结构知识有利于解决一些挑战,例如长距离依赖性问题,因此提出了基于GNN的技术,明确利用结构信息来提高性能

大多数基于GNN的摘要方法首先是构建图来表示给定的文本。然后,采用基于GNN的编码器来学习图的表示。之后,对于抽取式摘要模型,采用分类器来选择候选子句来组成最终的总结。对于生成式摘要,大多采用语言解码器,以最大化输出的可能性来生成摘要。

7.1.3 结构化数据到文本

尽管是自然文本,但许多NLP应用都是以明确的图结构来表示数据,如SQL查询、知识图、AMR等。结构化数据的任务就是要从结构化数据输入中生成自然语言。传统的工作应用线性化机制,将结构数据映射为序列数据,并采用Seq2Seq架构来生成文本。为了充分捕捉丰富的结构信息,最近的研究集中在基于GNN的技术来处理这一任务。

大多数基于GNN的AMR-to-text和SQL-to-text方法通常构建特定领域的图,如AMR图和基于SQL解析的图来组织输入。之后,应用由GNN编码器和序列解码器组成的Graph2Seq来生成神经语言输出

7.1.4 自然问题生成

自然问题生成(QG)任务旨在从某种形式的数据中生成自然语言问题,如KG、表格、文本或图像,其中生成的问题需要从输入数据中得到答案。大多数先前的工作采用了Seq2Seq架构,将输入数据视为序列数据,而不考虑其丰富的结构信息。例如,在对输入文本进行编码时,以前的大多数方法通常会忽略与单词序列相关的隐藏结构信息,如依赖性解析树。即使对于来自KG的QG的设置,大多数方法通常将KB子图线性化为一个序列,并应用一个序列编码器。未能利用输入数据的图结构可能会限制QG模型的有效性。对于在多个段落或文档上进行推理的来自文本的多跳QG,捕捉多个段落或文档中不同实体提及的关系是有益的。总之,**对输入数据的丰富结构进行建模对许多QG任务来说是很重要的。**最近,GNN已经成功应用于QG任务(Liu et al., 2019b; Chen et al., 2020f; Wang et al., 2020c)。

大多数基于GNN的QG方法采用Graph2Seq架构,其中基于GNN的编码器用来对图结构的输入数据进行建模,序列解码器被用来生成自然语言问题。

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

7.2.1 机器阅读理解

机器阅读理解(MRC)的任务旨在利用给定的段落回答一个自然语言问题。由于各种注意力机制的发展,MRC任务已经取得了重大进展,这些机制可以捕捉到问题和上下文之间的相互联系。考虑到传统的MRC设置主要集中在相对简单的一跳推理上,最近,更多的研究工作被用于解决更具挑战性的MRC设置。例如,多跳MRC任务是使用多个段落或文档来回答一个自然语言问题,这需要多跳推理能力。Con- versational MRC任务是在对话中回答当前的自然语言问题,并给出一段话和之前的问题和答案,这需要对对话历史进行建模的能力。数字性的MRC任务要求有对段落进行数字推理的能力。这些具有挑战性的MRC任务需要对对象之间的复杂关系进行建模的学习能力。例如,在多跳MRC任务中,对多个文档之间的关系以及文档中提到的实体进行建模是非常有益的。最近,GNN已经成功应用于各种类型的MRC任务,包括多跳MRC,对话式MRC,以及numerical MRC。

基于GNN的MRC方法通常是通过首先构建一个实体图或层次图来捕捉图中节点之间的丰富关系,然后应用基于GNN的推理模块对图进行复杂推理。假设GNN的输出已经编码了节点本身及其邻居结构的语义,最后将应用一个预测模块来预测答案。为解决MRC任务而开发的图构建技术和图表示技术在不同的方法中有所不同。

7.2.2 知识库问题回答

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

7.2.3 开放域的问题回答

开放域问题回答的任务旨在给定一个大规模的开放域知识(如文档、知识库等),以确定自然问题的答案。基于知识的方法得益于通过图结构轻松获得外部知识。然而,这些方法在知识库和固定模式的信息缺失方面受到限制。为了回答来自海量和非结构化文档的问题,与基于知识库的方法相比,这些方法可以获取更多的信息,但在从冗余的外部文档中检索相关和关键信息方面存在困难。本文介绍并总结了最近开放域问题回答研究中一些有代表性的GNN相关技术。

7.2.4 社区问题回答

社区问题回答的任务旨在从QA论坛(如Stack Overflow或Quora)中检索出相关答案。与传统的MRC(QA)任务不同,CQA系统能够利用隐性知识(嵌入在不同的社区中)或显性知识(嵌入在所有解决的问题中)来回答每天发布的大量新问题。然而,越来越多的新问题可能会使没有适当协作支持的CQA系统因用户的要求而变得超负荷。本文介绍并总结了最近CQA研究中采用的一些有代表性的GNN相关技术。

7.3 对话系统

对话系统是一个可以连续与人对话的计算机系统。为了建立一个成功的对话系统,对对话中不同对话者或话语之间的依赖关系进行建模很重要。由于能够对对象之间的复杂关系进行建模,最近,GNN已经成功地应用于各种对话系统相关的任务,包括对话状态跟踪,旨在估计给定对话历史的当前对话状态;对话响应生成,旨在给定对话历史生成对话响应;以及下一个话语选择,旨在给定对话历史从候选列表中选择下一个话语。本文介绍并总结了近期对话系统研究中采用的一些有代表性的GNN相关技术。

7.4 文本分类

传统的文本分类方法严重依赖特征工程(如BOW、TF-IDF或更高级的基于图形路径的特征)进行文本表示。为了从数据中自动学习 "好的 "文本表征,人们提出了各种无监督的方法来学习单词或文档表征,包括word2vec、GloVe、话题模型、自动编码器和doc2vec。这些预训练的单词或文档嵌入可以进一步被MLP、CNN或LSTM模块所消耗,用于训练监督下的文本分类器。为了更好地捕捉文本或语料库中文件之间的关系,人们提出了各种基于图的方法进行文本分类。例如,Peng等人(2018)提出首先构建一个词的图,然后将CNN应用于规范化的子图。Tang等人提出了一种基于网络嵌入的方法,通过将部分标记的文本语料转换为异质文本网络,以半监督的方式进行文本表示学习。最近,考虑到强大的表达能力,GNN已经成功应用于半监督和监督文本分类中。

基于GNN的文本分类方法通常是,首先构建一个文档图或语料库图来捕捉图中节点之间的丰富关系,然后应用GNN来学习良好的文档嵌入,这些嵌入随后将被送入softmax层以产生一类标签的概率分布。为解决文本分类任务而开发的图构建技术和图表示技术在不同的方法中有所不同。本文介绍并总结了最近的文本分类方法中采用的一些代表性的GNN相关技术。

7.5 文本匹配

现有的大多数文本匹配方法是通过一些神经网络,如CNN或RNN,将每个文本映射到一个潜在的嵌入空间,然后根据文本表征之间的相似性计算匹配分数。为了在不同的颗粒度水平上对两个文本之间的丰富互动进行建模,通常会精心设计复杂的注意力或匹配组件。最近,有一些工作成功地探索了GNNs在文本匹配中对文本元素之间复杂的交互作用进行建模的问题。本文介绍并总结了近期文本匹配方法中采用的一些有代表性的GNN相关技术。

7.6 话题建模

话题建模的任务旨在发现语料库中出现的抽象的 "话题"。通常情况下,话题模型学习将一段文本表示为一个话题的混合物,而话题本身则表示为词汇的混合物。经典的话题模型包括基于图模型的方法,基于自回归模型的方法,以及基于自动编码器的方法。最近的工作通过明确地对文档和词之间的关系进行建模,探索了基于GNN的方法进行话题建模。本文介绍并总结了近期话题建模方法中采用的一些有代表性的GNN相关技术。

7.7 情感分析

情感分析任务旨在检测一段文本的情感(即积极、消极或中立)。方面级的情感分类旨在识别文本在特定方面的情感极性,并受到更多关注。虽然大多数工作都集中在句子层面和单一领域的情感分类上,但在文档层面和跨领域的情感分类上也有一些尝试。早期的情感分类工作主要依赖于特征工程。最近的尝试利用了各种神经网络模型的表达能力,如LSTM、CNN或记忆网络。最近,人们尝试利用GNN来更好地模拟文本的句法和语义,以完成情感分类任务。

基于GNN的情感分类方法通常是通过首先构建文本的图表示(如依赖树),然后应用GNN来学习良好的文本嵌入,这些嵌入将被用于预测情感的极性。为解决情感分类任务而开发的图构建技术和图表示技术在不同的方法中有所不同。本文将介绍并总结最近的情感分类方法中采用的一些有代表性的GNN相关技术。

7.8 知识图谱

知识图谱(KG)以结构化的形式表示现实世界的知识,在学术界和工业界引起了很大的关注。KG可以表示为一组三元组集合。在KG方面有三个主要任务,即知识图谱嵌入(KGE),知识图谱对齐(KGA),知识图谱补全(KGC)。本文将对基于图的KGC和KGA方法进行概述。

7.9 信息抽取

信息抽取(IE)的目的是提取给定句子或文档的实体对及其关系。IE是一项重要的任务,因为它有助于从非结构化文本中自动构建知识图谱。随着深度神经网络的成功,基于神经网络的方法已被应用于信息提取。然而,这些方法往往忽略了输入文本的非局部和非序列化的上下文信息。此外,重叠关系的预测,即共享相同实体的一对实体的关系预测,也不能得到妥善解决。为了这些目的,GNN已经被广泛用于建立文本中实体和关系之间的交互模型。信息提取由两个子任务组成:命名实体识别(NER)和关系提取(RE)。NER为句子中的每个词预测一个标签,这通常被认为是一个序列标注任务。RE为文本中的每一对实体预测一个关系类型。当输入文本中的实体被注释后,IE任务就退化为RE任务。基于GNN的IE方法通常通过pipeline的方式运作。首先,构建一个文本图。然后,实体被识别,实体对之间的关系被预测。本文是对基于GNN的不同技术的介绍。

7.10 语义语法解析

在本节中主要讨论GNN在解析方面的应用,包括与语法相关的解析和与语义相关的解析。对于语法相关的解析,GNN已经被用于依赖性解析和成分解析的任务。对于语义相关的解析,本文简要介绍语义解析和AMR解析。

7.11 推理

推理是NLP的一个重要研究方向。近年来,GNN开始在NLP推理任务中发挥重要作用,如数学单词问题解决,自然语言推理,常识推理等。本文将对这三个任务以及图神经网络在这些方法中的应用做一个简要介绍。

7.12 语义角色标注

语义角色标注(SRL)问题旨在恢复一个句子的predicate-argument结构,即基本上确定 "谁对谁做了什么"、"何时 "和 "何地"。对于每个谓词,SRL模型必须识别所有的argument跨度,并为它们标注语义角色。这样的高层结构可以作为语义信息,用于支持各种下游任务,包括对话系统、机器阅读和翻译。最近的SRL工作大多可以分为两类,即根据是否纳入句法知识,分为句法感知型和句法诊断型方法。大多数syntax-agnostic的工作采用深度BiLSTM或自注意编码器来编码自然句子的上下文信息,用各种评分器来预测基于BIO的语义角色的概率或predicate-argument-role元组。在句法和语义之间强烈的相互作用的激励下,研究人员探索了各种方法,将句法知识整合到句法无关的模型中,考虑到语义表示与句法表示密切相关。例如,我们可以观察到,句法依赖图中的许多弧在语义依赖图中都有反映。鉴于这些相似性以及许多语言都有精确的句法分析器,在预测语义时利用句法信息似乎是很自然的。

采用神经序列模型,即LSTM,存在以下挑战:(1)由于句法关系的复杂树状结构,很难有效地将句法信息纳入神经SRL模型;(2)由于错误的句法输入的风险,句法分析器是不可靠的,这可能导致错误传播和不理想的SRL性能。鉴于这种情况,GNN正在成为捕捉和纳入基于深度神经网络的SRL模型中的语法模式的有力工具。在捕捉结构化数据中的复杂关系模式方面,GNN的性质使其很适合于为句子的句法依赖和成分结构建模。

从形式上看,SRL可以被投射为一个序列标注问题,即给定一个输入句子,以及谓词在句子中的位置,目标是预测句子中的词的语义角色的BIO序列;另一个是关于端到端的语义角色三元组提取,目的是一次性检测所有可能的谓词和它们相应的arguments。从技术上讲,给定一个句子,SRL模型会预测一组标记的谓语-参数-角色三元组,而每个三元组包含一个可能的谓语标记和两个候选标记。上述两个问题都可以基于基于GNN的SRL模型来解决,它由两部分组成,即图的构建和图的表示学习。

8. 结论

在这篇文章中,我们对各种图神经网络演化出的各种NLP问题进行了全面的概述。具体来说,我们首先提供了典型的GNN模型的初步知识,包括图过滤器和图池化方法。然后,提出了一个新的分类法,沿着三个维度系统地组织GNNs for NLP方法,即图的构造、图表示学习和编码器-解码器模型。鉴于这些在NLP应用每个阶段的具体技术,我们从图构建、图表示学习和具体技术的角度讨论了大量的NLP应用。最后,为进一步释放GNN在NLP领域的巨大潜力,本文提供了这一思路的大体挑战和未来方向。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定要备注信息才能通过)

END -

啥?!BM25 比语义向量检索效果好?

2021-06-22

CANE:上下文相关动态图网络表示

2021-06-21

Keras正式从TensorFlow分离:结束API混乱与耗时编译

2021-06-18

2021最新 上海互联网公司排名

2021-06-20

万字综述,GNN在NLP中的应用,建议收藏慢慢看相关推荐

  1. [万字综述] 21年最新最全Graph Learning算法,建议收藏慢慢看

    今天小编给大家带来了一篇极全的2021最新图学习算法综述.该综述不仅囊括了目前热门的基于深度学习的图学习方法,还全面介绍了其它三个大类:基于图信号处理的方法.基于矩阵分解的方法.基于随机游走的方法.因 ...

  2. 【肝帝一周总结:全网最全最细】十万字python教程,学不会找我!教到你会为止!!内容超多,建议收藏慢慢看!

    文章目录 推荐:个人推荐学习系列,推荐的一定是好的! 0.源码下载地址 一.内容过多,前言一定要看 二. python入门 三.python缩进 四.Python注释 1.单行注释 2.多行注释 五. ...

  3. 艾灸排病反应及解决方案(中),建议收藏!

    艾灸排病反应及解决方案(中),建议收藏! 参考文章: (1)艾灸排病反应及解决方案(中),建议收藏! (2)https://www.cnblogs.com/steadfast/p/10565807.h ...

  4. Mysql窗口函数 (知识点梳理+题目解析+面试实战)(四万字长文,一文读懂,建议收藏后食用)

    前言: 本文章是原创50篇时开启的纪念作,之前的文章基本5000字,而本篇约4.5万字,真一篇顶九篇. 窗口函数作为Mysql 8的新特性以及面试笔试的重点,掌握并且进行来练习是非常有必要的.本文章详 ...

  5. 奉劝那些刚参加工作的学弟学妹们:这些计算机与操作系统基础知识越早知道越好!万字长文太顶了!!(建议收藏)

    大家好,我是冰河~~ 最近发现很多小伙伴工作很久了,大部分工作都是在重复的进行CRUD,对于一些基础性的知识,比如:计算机基础知识,操作系统,数据结构和算法等,却了解的少之又少.其实,很多时候,这些基 ...

  6. Linux疑难杂症解决方案100篇(二十)-万字长文带你读懂正则表达式(建议收藏)

    前言 在学编程的过程中,我们可能听过正则表达式,但是不知道它是什么,我一开始听到正则表达式时,我在想正则表达式是啥?它用来干嘛的?学起来难不难的?. 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自 ...

  7. Python数据可视化实战应用万字长文从入门到高端(建议收藏)

    前言 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) tableau可视化数据 ...

  8. Linux——万字总结用户与组相关知识!建议收藏!

    目录 用户和组 用户账户 用户的家目录 组账号 创建用户背后发生了什么? ​ 小练习:# 截取第七字段并查找出几种 useradd命令 userdel -r 用户名 -->家目录和本地邮件目录全 ...

  9. 重回童年的经典系列☀️|【贪吃蛇小游戏】近两万字完整制作过程+解析+源码 【建议收藏学习】

最新文章

  1. 论坛报名 | 与联合国、世卫组织等专家共话人工智能伦理与可持续发展
  2. 推荐抓虾在线RSS阅读
  3. CS229 6.6 Neurons Networks PCA主成分分析
  4. 10.STM32中用I2C接口发送数据到EEPROM寄存器在从此寄存器读数据
  5. php 跨域web访问权限,php:跨域 Web程序 - 贪吃蛇学院-专业IT技术平台
  6. Java多线程复习_Java多线程复习
  7. capture 部分元器件编号_十大电子元器件及其相关基础知识
  8. 红橙Darren视频笔记 view的绘制流程(下)基于API27
  9. 深入理解SVM之对偶问题
  10. Golang map 三板斧第二式:注意事项
  11. 第十章:XAML标记扩展(三)
  12. 这篇文章是我用AI生成出来的
  13. 表单式工作流功能模块设计方案
  14. PASCAL VOC 2012 dataset、 云盘分享
  15. 服务器空间对SEO的影响有多大
  16. NBA不可能被破的十个记录
  17. 快手、抖音等短视频营销模式
  18. Python3新特性 类型注解 以及 点点点
  19. C语言使用fgetc()函数
  20. series not exists. Legend data should be same with series name or data name. 问题VUE ECHARTS

热门文章

  1. SAP License:对煤化工行业的几点思考
  2. SAP License:BASIS 事务代码速记
  3. 实操长文|评估风控策略效果(全)
  4. 特征做得好,模型没烦恼
  5. mysql 去除重复 Select中DISTINCT关键字的用法(查询两列,只去掉重复的一列)
  6. windows7上启动jmeter报错,寻求解决办法?
  7. 【LOJ】 #2521. 「FJOI2018」领导集团问题
  8. android sdkversion
  9. 软件开发高手须掌握的4大SQL精髓语句(综合篇)
  10. 分布式消息中间件之kafka设计思想及基本介绍(一)