图1:分类法,它沿着四个轴系统地组织NLP的GNN:图构建、图表示学习、编码器-解码器模型和applications。
深度学习已经成为处理自然语言处理(NLP)中各种任务的主要方法。尽管文本输入通常表示为一系列标记,但有大量的NLP问题可以用图结构最好地表达。因此,为大量NLP任务开发新的图深度学习技术的兴趣激增。在这项调查中,我们对用于NLP的图神经网络(GNN)进行了全面综述。我们提出了一种新的NLP GNN分类法,它沿着三个轴系统地组织了NLP GNNs的现有研究:图构建、图表示学习和基于图的编码器-解码器模型。我们进一步介绍了大量利用GNN功能的NLP应用程序,并总结了相应的基准数据集、评估指标和开源代码。最后,我们讨论了在NLP中充分使用GNN的各种突出挑战以及未来的研究方向。据我们所知,这是用于NLP的GNN的第一个全面概述。
深度学习已成为当今NLP中处理各种任务的主要方法,尤其是在大规模文本语料库上操作时。传统上,在NLP任务中,文本序列被视为a bag of token,例如BoW和TF-IDF。随着最近单词嵌入技术的成功(Mikolov, 2013;Pennington, 2014),在NLP任务中,句子通常被表示为a sequence of token。因此深度学习技术,如递归神经网络(Schuster和Paliwal, 1997)和卷积神经网络(Krizhevsky, 2012)已广泛应用于文本序列建模。
然而,有大量的NLP问题可以用图结构来表达。例如:
因此,这些图结构数据可以编码实体token之间的复杂成对关系,以学习更多信息表示。
图深度学习领域的发展,和NLP交叉点的研究影响了多种NLP任务(Liu和Wu, 2022)。人们对应用和开发不同的GNN变体的兴趣激增,并在许多NLP任务中取得了相当大的成功。包括:
尽管这些现有研究已经取得了成功,但NLP图的深度学习仍然面临许多挑战
在此综述中,我们将首次全面概述用于NLP的GNN。此综述对机器学习和NLP社区都是及时的,涵盖了相关和有趣的主题,包括NLP的自动图构建、NLP的图表示学习、NLP中基于GNN的各种高级encoder-decoder模型(即graph2seq、graph2tree和graph2graph),以及GNN在各种NLP任务中的应用。我们的主要贡献如下:
图的角度回顾了NLP问题,然后简要介绍了解决NLP问题的一些有代表性的传统基于图的方法。
常见的图聚类算法包括谱聚类、随机游走聚类和最小截聚类。
图匹配算法旨在计算两个图之间的相似度。
标签传播算法(Label propagation algorithms LPAs)是一类基于半监督图的算法,它将标签从标记的数据点传播到先前未标记的数据。
传统的基于图的算法有几个局限性。
GNN可以对任意的图结构数据进行建模。大多数GNN变体可以被视为基于消息传递的学习框架。与传统的基于消息传递的算法(如LPA)不同,GNN通过在图上传播标签来操作,GNN通常通过几个神经层来转换、传播和聚集节点/边特征,以便学习更好的图表示。作为一个通用的基于图的学习框架,GNN可以应用于各种与图相关的任务,如节点分类、链接预测和图分类。
本章阐述GNN的基本基础和方法,这是一类直接对图结构化数据进行操作的现代NN(Wu, 2022)
GNN本质上是图表示学习模型,可以应用于节点级别的任务和图级别的任务。GNN为图中的每个节点学习嵌入,并将节点嵌入聚集起来产生图的嵌入。一般来说,节点嵌入的学习过程利用了输入的节点嵌入和图结构,可以总结为:
h i ( l ) = f f i l t e r ( A , H ( l − 1 ) ) \mathbf{h}^{(l)}_i = f_\mathrm{filter}(\mathbf{A}, \mathbf{H}^{(l−1)}) hi(l)=ffilter(A,H(l−1))
即输入邻居节点矩阵 A ∈ R n × n \mathbf{A}\in \mathbb{R}^{n \times n} A∈Rn×n和上一层的节点表示 H l − 1 = { h 1 l − 1 , h 2 l − 1 , ⋯ , h n l − 1 } \mathbf{H}^{l-1}=\{ \mathbf{h}_1^{l-1}, \mathbf{h}_2^{l-1}, \cdots, \mathbf{h}_n^{l-1} \} Hl−1={h1l−1,h2l−1,⋯,hnl−1},可以更新得到下一层的节点表示,不同的模型在于图滤波器的选择和参数。
由于图过滤不会改变图结构,因此在聚合节点嵌入时引入了池化操作,以生成图级别的嵌入。在GNN模型中,图池化将图及其节点嵌入作为输入,然后生成具有较少节点的较小图及其相应的新节点嵌入。图池化操作可总结如下:
A , H ′ = f p o o l ( A , H ) \mathbf{A}, \mathbf{H}' = f_\mathrm{pool}(\mathbf{A}, \mathbf{H}) A,H′=fpool(A,H)
图滤波器存在多种实现方式,大致可分为基于谱域的图滤波器、基于空间域的图滤波器、基于注意力的图滤波器和基于递归的图滤波器。从概念上讲,基于谱域的图滤波器是基于谱图理论的,而基于空域的方法则是利用图空间上的邻居节点来计算节点嵌入。一些基于谱域的图滤波器可以被转换为基于空间的图滤波。基于注意力的图滤波器受到自注意力机制的启发,对不同的邻居节点分配不同的注意力权重。基于递归的图滤波器引入了门控机制,模型参数在不同的GNN层之间共享。
f f i l t e r ∗ x i = U f ( Λ ) U T x i f_\mathrm{filter}*\mathbf{x}_i = \mathbf{U}f(\mathbf{\Lambda}) \mathbf{U}^{T}\mathbf{x}_i ffilter∗xi=Uf(Λ)UTxi
其中 U \mathbf{U} U是归一化图拉普拉斯 L = I n − D − 1 2 A D − 1 2 \mathbf{L}=\mathbf{I}_n-\mathbf{D}^{-\frac{1}{2}}\mathbf{A}\mathbf{D}^{-\frac{1}{2}} L=In−D−21AD−21的特征向量矩阵
α i j = exp ( LeakyReLU ( u ⃗ ( l ) T [ W ⃗ ( l ) h i ( l − 1 ) ∥ W ⃗ ( l ) h j ( l − 1 ) ] ) ) ∑ v k ∈ N ( v i ) exp ( LeakyReLU ( u ⃗ ( l ) T [ W ⃗ ( l ) h i ( l − 1 ) ∥ W ⃗ ( l ) h k ( l − 1 ) ] ) ) \alpha_{i j}=\frac{\exp \left(\operatorname{LeakyReLU}\left(\vec{u}^{(l) T}\left[\vec{W}^{(l)} \mathbf{h}_{i}^{(l-1)} \| \vec{W}^{(l)} \mathbf{h}_{j}^{(l-1)}\right]\right)\right)}{\sum_{v_{k} \in N\left(v_{i}\right)} \exp \left(\operatorname{LeakyReLU}\left(\vec{u}^{(l) T}\left[\vec{W}^{(l)} \mathbf{h}_{i}^{(l-1)} \| \vec{W}^{(l)} \mathbf{h}_{k}^{(l-1)}\right]\right)\right)} αij=∑vk∈N(vi)exp(LeakyReLU(u(l)T[W(l)hi(l−1)∥W(l)hk(l−1)]))exp(LeakyReLU(u(l)T[W(l)hi(l−1)∥W(l)hj(l−1)]))
h i ( 0 ) = [ x i T , 0 ] T a i ( l ) = A i : T [ h 1 ( l − 1 ) … h n ( l − 1 ) ] T h i ( l ) = GRU ( a i ( l ) , h i ( l − 1 ) ) \begin{aligned} \mathbf{h}_{i}^{(0)} &=\left[\mathbf{x}_{i}^{T}, \mathbf{0}\right]^{T} \\ \mathbf{a}_{i}^{(l)} &=A_{i:}^{T}\left[\mathbf{h}_{1}^{(l-1)} \ldots \mathbf{h}_{n}^{(l-1)}\right]^{T} \\ \mathbf{h}_{i}^{(l)} &=\operatorname{GRU}\left(\mathbf{a}_{i}^{(l)}, \mathbf{h}_{i}^{(l-1)}\right) \end{aligned} hi(0)ai(l)hi(l)=[xiT,0]T=Ai:T[h1(l−1)…hn(l−1)]T=GRU(ai(l),hi(l−1))
图池化层用于以图为重点的下游任务生成图级表示,如基于学习到的节点嵌入进行图分类和预测。图级别的任务来说,需要整个图的表示。为此,需要对节点嵌入信息和图结构信息进行总结。图池化层可以分为两类:flat图池化和分层图池化。
对于大多数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任务中的图结构输入。
静态图构建方法是在预处理期间构建图结构,通常是利用现有的关系解析工具(如依存分析)或手动定义的规则。从概念上讲,静态图包含了隐藏在原始文本序列中的不同领域/外部知识,从而用丰富的结构化信息来扩充原始文本。
1.依赖图构建(Dependency Graph Construction)
2.选区图构建(Constituency Graph Construction)
3.抽象语义表示图构建(AMR Graph Construction)
图3 AMR Graph
AMR图是有根节点、标签、有向、无环的图,它被广泛用于表示非结构化和具体自然文本的抽象概念之间的高级语义关系。与句法上的特异性不同,AMR是高级语义抽象。更具体地,语义上相似的不同句子可能共享相同的AMR解析结果。AMR图是由AMR解析树衍生出来的。
4.信息抽取图构建(Information Extraction Graph Construction)
图4 Information Extraction Graph
5.话语图构建(Discourse Graph Construction)
6.知识图构建(Knowledge Graph Construction)
图5 knowledge graph
7.共指图构建(Coreference Graph Construction)
8.相似图构建(Similarity Graph Construction)
图6 similarity graph
9.共现图构建(Co-occurrence Graph Construction)
图7 co-occurrence graph
10.话题图构建(Topic Graph Construction)
图8 topic graph
11.应用驱动图构建(App-driven Graph Construction)
图9 application-driven graph
以前的大多数静态图构建方法只考虑节点之间的一种特定关系。尽管所获得的图在某种程度上很好地捕捉了结构信息,但它们在利用不同类型的图关系方面也受到限制。为了解决这一限制,越来越关注通过将多个图组合在一起构建混合图,以丰富图中的语义信息。
尽管静态图的构建具有将数据的先验知识编码到图结构中的优势,但它有几个局限性:
为了应对上述挑战,最近关于NLP的GNN开始探索动态图的构建,而不需要借助人工或领域专业知识。大多数动态图构建方法旨在动态学习图结构(即加权邻接矩阵),图构建模块可以与后续的图表示学习模块共同优化,以端到端的方式面向下游任务。如图10所示,这些动态图构建方法通常包括一个图相似性度量学习组件,用于通过考虑嵌入空间中的成对节点相似性来学习邻接矩阵,以及一个图稀疏化组件,用于从学到的全连接图中提取稀疏图。将内在图结构和学习的隐含图结构结合起来,有利于提高学习性能。此外,为了有效地进行图结构和表征的联合学习,人们提出了各种学习范式。GNN的图结构学习本身就是机器学习领域的一个趋势性研究问题,并且已经在NLP之外被广泛研究然而,在本综述将重点介绍其在NLP领域的最新进展,将动态图构建和图结构学习交替使用。
图10 dynamic graph construction
基于节点属性包含学习隐式图结构的有用信息的假设,最近有工作将图结构学习问题转化为定义在节点嵌入空间的相似度量学习问题。学习到的相似性度量函数以后可以应用于未见过的节点嵌入集来推断图结构,从而实现归纳式图结构学习。对于部署在非欧几里得领域(如图)的数据,欧几里得距离不一定是衡量节点相似性的最佳指标。各种相似性度量函数已用于GNN的图结构学习。根据所利用的信息源的类型,将这些度量函数分为两类:基于节点嵌入的相似性度量学习和结构感知的相似性度量学习。
S i , j = ( v i ⊙ u ) T v j S_{i,j}=(\mathbf{v}_i \odot \mathbf{u})^T\mathbf{v}_j Si,j=(vi⊙u)Tvj
其中 u \mathbf{u} u是一个非负的权重向量,用于提升节点嵌入不同维度的影响力。
- Chen等人通过引入一个可学习的权重矩阵设计了一个更具有表达能力的点积方式:
S i , j = R e L U ( W v i ) T R e L U ( W v j ) S_{i,j}=ReLU(\mathbf{W}\mathbf{v}_i)^TReLU(\mathbf{W}\mathbf{v}_j) Si,j=ReLU(Wvi)TReLU(Wvj)
S i , j p = cos ( w ⃗ p ⊙ v ⃗ i , w ⃗ p ⊙ v ⃗ j ) S i , j = 1 m ∑ p = 1 m S i j p \begin{aligned} S_{i, j}^{p} &=\cos \left(\vec{w}_{p} \odot \vec{v}_{i}, \vec{w}_{p} \odot \vec{v}_{j}\right) \\ S_{i, j} &=\frac{1}{m} \sum_{p=1}^{m} S_{i j}^{p} \end{aligned} Si,jpSi,j=cos(wp⊙vi,wp⊙vj)=m1p=1∑mSijp
S i , j l = softmax ( u ⃗ T tanh ( W ⃗ [ h ⃗ i l , h ⃗ j l , v ⃗ i , v ⃗ j , e ⃗ i , j ] ) ) S_{i, j}^{l}=\operatorname{softmax}\left(\vec{u}^{T} \tanh \left(\vec{W}\left[\vec{h}_{i}^{l}, \vec{h}_{j}^{l}, \vec{v}_{i}, \vec{v}_{j}, \vec{e}_{i, j}\right]\right)\right) Si,jl=softmax(uTtanh(W[hil,hjl,vi,vj,ei,j]))
S i , j = ReLU ( W ⃗ Q v ⃗ i ) T ( ReLU ( W ⃗ K v ⃗ i ) + ReLU ( W ⃗ R e ⃗ i , j ) ) d S_{i, j}=\frac{\operatorname{ReLU}\left(\vec{W}^{Q} \vec{v}_{i}\right)^{T}\left(\operatorname{ReLU}\left(\vec{W}^{K} \vec{v}_{i}\right)+\operatorname{ReLU}\left(\vec{W}^{R} \vec{e}_{i, j}\right)\right)}{\sqrt{d}} Si,j=dReLU(WQvi)T(ReLU(WKvi)+ReLU(WRei,j))
现实场景中的大多数图都是稀疏的图。相似性度量函数考虑任何一对节点之间的关系,并返回一个完全连接的图,这不仅计算成本高,而且还可能引入噪音,如不重要的边。因此,对所学的图结构明确地强制执行稀疏性是有益的。除了在相似度量函数中应用ReLU函数,还采用了各种图稀疏化技术来提高所学图形结构的稀疏性。
最近的研究表明,如果在进行动态图构建时完全丢弃内在图结构,可能会损害下游任务的性能。这可能是因为intrinsic图通常仍然带有关于下游任务的最佳图结构的丰富和有用的信息。因此,他们提出将学习到的隐式图结构与intrinsic图结构结合起来,基于这样的假设:学习到的隐式图有可能是intrinsic图结构的 “转变”(例如,子结构),是对intrinsic图结构的补充。另一个潜在的好处是纳入intrinsic图结构可能有助于加速训练过程,提高训练的稳定性。
大多数现有的GNN动态图构建方法包括两个关键的学习组件:图结构学习(即相似性度量学习)和图表示学习(即GNN模块),最终目标是学习与某些下游预测任务相关的优化图结构和表示。如何优化这两个独立的学习组件以达到相同的最终目标成为一个重要问题。这里我们强调三个有代表性的学习范式。
图表示学习的目标是找到一种方法,通过机器学习模型将图的结构和属性信息结合到低维空间中。形式化这个问题:图表示为 G ( V , E , T , R ) \mathcal{G}(\mathcal{V},\mathcal{E},\mathcal{T},\mathcal{R}) G(V,E,T,R),其中 V \mathcal{V} V是节点集, E \mathcal{E} E是边集, T = { T 1 , T 2 , ⋯ , T p } \mathcal{T}=\{ T_1, T_2, \cdots, T_p\} T={T1,T2,⋯,Tp}是节点类型集合, R = { R 1 , R 2 , ⋯ , R q } \mathcal{R}=\{R_1, R_2, \cdots, R_q\} R={R1,R2,⋯,Rq}是边类型集合。 ∣ ⋅ ∣ |\cdot| ∣⋅∣是元素的数量。 τ ( v i ) ∈ T \tau(v_i) \in \mathcal{T} τ(vi)∈T表示节点 v i v_i vi的类型。 ϕ ( e i , j ) ∈ R \phi(e_{i,j}) \in \mathcal{R} ϕ(ei,j)∈R表示边 e i , j e_{i,j} ei,j的类型
一般来说,从原始文本数据构建的图可能是同质图或异质图。第5.1节将讨论同质图的各种图表示学习方法,包括原始同质图和一些从异质图转换过来的方案。第5.2节将讨论基于GNN的作用于多关系图的方法,第5.3节讨论处理异质图的GNN。
根据定义,对于图 G ( V , E , T , R ) \mathcal{G}(\mathcal{V},\mathcal{E},\mathcal{T},\mathcal{R}) G(V,E,T,R),当 ∣ T ∣ = 1 , ∣ R ∣ = 1 |\mathcal{T}|=1,|\mathcal{R}|=1 ∣T∣=1,∣R∣=1被称为同质图。大多数GNN,如GCN、GAT和GraphSage,都是为同质图设计的,然而这并不能很好地适配许多NLP任务。例如,给定一个自然语言文本,构建的依赖图是包含多种关系的任意图,传统的GNN方法无法直接利用。本小节将首先讨论将任意图转换为同质图的各种策略,包括静态图和动态图。然后讨论考虑双向编码的GNN。
处理静态图的GNN通常包括两个阶段,即转换边信息和节点表示学习。
边被看作是节点之间的连接信息。在这种情况下,丢弃边类型信息并保留连接信息,将异质图转换成同质图。得到这样的图后,可以将图的拓扑结构表示为统一的邻接矩阵 A \mathbf{A} A,对于边 A i , j A_{i,j} Ai,j表示加权静态图上的边权重,若 A i , j = 1 A_{i,j}=1 Ai,j=1表示无权重,若 A i , j = 0 A_{i,j}=0 Ai,j=0表示无连接。对于无向图邻接矩阵是对称矩阵,即 A i , j = A j , i A_{i,j}=A_{j,i} Ai,j=Aj,i。对于有向图邻接矩阵是非对称矩阵,有向图可以通过平均两个方向的边权重转化为无向图。
给定初始节点嵌入 x \mathbf{x} x和邻接矩阵 A \mathbf{A} A,基于经典的GNNs技术提取节点表示。
对于无向图,大多数工作主要采用图表示学习算法,如GCN、GGNN、GAT、GraphSage等,并将它们堆叠起来探索图中的深层语义关联。
当涉及到有向图时,少数GNN方法如GGNN、GAT仍然有效。而对于其他不能直接应用于有向图的GNN,简单的策略是忽略方向(即把有向图转换为无向图)。然而,这种方法允许消息在两个方向上传播而不受约束。为了解决这个问题,很多工作来使GNN适应于有向图。对于GCN,一些基于空间的GCN算法是为有向图设计的,如DCNN。GraphSage通过修改聚合函数,通过指定边方向并分别聚合扩展到有向图上。
动态图旨在与下游任务共同学习图结构。早期的工作主要采用递归网络,将图节点嵌入作为RNN的状态编码,这可以看作是GGNN的雏形。然后,经典的GNN如GCN、GAT、GGNN 被用来有效地学习图嵌入。最近的研究者采用基于注意力或基于度量学习的机制,从非结构化文本中学习隐含的图结构。图结构的学习过程是通过端到端的方式与下游任务相结合。
本小节讨论了如何处理边方向。在现实中许多图都是有向无环图(DAG),其信息是沿着特定的边方向传播的。一些研究者允许信息在两个方向上平等传播,另一些研究者则抛弃了包含在边中的信息,这两种情况对于最终的表示学习会损失一些重要结构信息。为了解决这个问题,提出了双向图神经网络(bidirectional GNN),以交错的方式从传入和传出的边上学习节点表示。
对于图 G ( V , E ) \mathcal{G}(\mathcal{V},\mathcal{E}) G(V,E)中节点 v i ∈ V v_i \in \mathcal{V} vi∈V及其邻居节点 N ( v i ) N(v_i) N(vi),将传入(向后)节点集定义为满足 e j , i ∈ E , v j ∈ N ⊣ ( v i ) e_{j, i} \in \mathcal{E}, v_{j} \in N_{\dashv}\left(v_{i}\right) ej,i∈E,vj∈N⊣(vi)的 N ⊣ ( v i ) N_{\dashv}\left(v_{i}\right) N⊣(vi),而传出(向前)节点集为满足 e i , j ∈ E , v j ∈ N ⊢ ( v i ) e_{i, j} \in \mathcal{E}, v_{j} \in N_{\vdash}\left(v_{i}\right) ei,j∈E,vj∈N⊢(vi)的 N ⊢ ( v i ) N_{\vdash}\left(v_{i}\right) N⊢(vi)。
Xu等人(2018b)首先将GraphSage扩展到双向版本,先分别计算每个方向的图嵌入,最后将其组合。在每个计算跳,对于图中的每个节点,它们分别聚合传入节点和传出节点,以获得向后和向前立即聚合表示,如下所示:
h i , ⊣ ( k ) = σ ( W ( k ) ⋅ f k ⊣ ( h i , ⊣ ( k − 1 ) , { h j , ⊣ ( k − 1 ) , ∀ v j ∈ N ⊣ ( v i ) } ) ) h i , ⊢ ( k ) = σ ( W ( k ) ⋅ f k ⊢ ( h i , ⊢ ( k − 1 ) , { h j , ⊢ ( k − 1 ) , ∀ v j ∈ N ⊢ ( v i ) } ) ) \begin{array}{l} \mathbf{h}_{i, \dashv}^{(k)}=\sigma\left(\mathbf{W}^{(k)} \cdot f_{k}^{\dashv}\left(\mathbf{h}_{i, \dashv}^{(k-1)},\left\{\mathbf{h}_{j, \dashv}^{(k-1)}, \forall v_{j} \in N_{\dashv}\left(v_{i}\right)\right\}\right)\right) \\ \mathbf{h}_{i, \vdash}^{(k)}=\sigma\left(\mathbf{W}^{(k)} \cdot f_{k}^{\vdash}\left(\mathbf{h}_{i, \vdash}^{(k-1)},\left\{\mathbf{h}_{j, \vdash}^{(k-1)}, \forall v_{j} \in N_{\vdash}\left(v_{i}\right)\right\}\right)\right) \end{array} hi,⊣(k)=σ(W(k)⋅fk⊣(hi,⊣(k−1),{hj,⊣(k−1),∀vj∈N⊣(vi)}))hi,⊢(k)=σ(W(k)⋅fk⊢(hi,⊢(k−1),{hj,⊢(k−1),∀vj∈N⊢(vi)}))
其中 k ∈ { 1 , 2 , ⋯ , K } k\in \{1,2,\cdots,K\} k∈{1,2,⋯,K}表示层号
现实中许多图都有各种边类型,如知识图、AMR图等,可以将其形式化为多关系图。形式上当 ∣ T ∣ = 1 , ∣ R ∣ > 1 |\mathcal{T}|=1,|\mathcal{R}|>1 ∣T∣=1,∣R∣>1时,被定义为多关系图。在本节中将介绍不同的技术表示和学习多关系图。
由于异质图在NLP领域普遍存在,如知识图、AMR图等,大多数研究者提出将其转换为多关系图,表示为图 G ( V , E , T , R ) \mathcal{G}(\mathcal{V},\mathcal{E},\mathcal{T},\mathcal{R}) G(V,E,T,R) ∣ T ∣ = 1 , ∣ R ∣ ≥ 1 |\mathcal{T}|=1,|\mathcal{R}| \ge 1 ∣T∣=1,∣R∣≥1。为了获得多关系图,技术上忽略了节点类型。至于边,设置初始边的类型为"default",对于每一个边 e i , j e_{i,j} ei,j,为其添加类型为"reverse"的逆向边 e j , i e_{j,i} ej,i,并为每个节点添加自环"self",因此就获得了 ∣ V ∣ = 1 , ∣ E ∣ = 3 |V|=1,|E|=3 ∣V∣=1,∣E∣=3的多关系图
多关系GNN是经典GNN对多关系图的扩展,其节点类型相同,但边类型不同。它们最初是用来编码特定关系图的,如知识图和解析图,这些图在相同类型的节点之间有复杂的关系。一般来说,大多数多关系GNN采用特定类型的参数对关系进行单独建模。经典的方法有:R-GCN、R-GGNN 和 R-GAT。
R-GCN是消息传递GCN框架的自然延伸,该框架在局部图邻域运行,根据标签类型对传入的节点进行分组,然后对每一组分别应用消息传递。因此,节点 v i v_i vi的邻居节点的聚合过程被定义为:
h i ( k ) = σ ( ∑ r ∈ E ∑ v j ∈ N r ( v i ) 1 c i , r W r ( k ) h j ( k − 1 ) + W 0 ( k ) h i ( k − 1 ) ) \mathbf{h}_{i}^{(k)}=\sigma\left(\sum_{r \in \mathcal{E}} \sum_{v_{j} \in N_{r}\left(v_{i}\right)} \frac{1}{c_{i, r}} \mathbf{W}_{r}^{(k)} \mathbf{h}_{j}^{(k-1)}+\mathbf{W}_{0}^{(k)} \mathbf{h}_{i}^{(k-1)}\right) hi(k)=σ(∑r∈E∑vj∈Nr(vi)ci,r1Wr(k)hj(k−1)+W0(k)hi(k−1))
关系型GGNN最初是用于graph-to-sequence问题开发的,它能够捕捉到长距离的关系。与R-GCN类似,R-GGNN使用特定关系的权重来更好地捕捉节点之间特定关系的相关性。R-GGNN的传播过程可以概括为:
r i ( k ) = σ ( ∑ v j ∈ N ( v i ) 1 c v i , r W ϕ ( e i , j ) r h j ( k − 1 ) + b ϕ ( e i , j ) r ) z i ( k ) = σ ( ∑ v j ∈ N ( v i ) 1 c v i , z W ϕ ( e i , j ) z h j ( k − 1 ) + b ϕ ( e i , j ) z ) h ~ i ( k ) = ρ ( ∑ v j ∈ N ( v i ) 1 c v i W ϕ ( e i , j ) ( r j ( k ) ⊙ h i ( k − 1 ) ) + b ϕ ( e i , j ) ) h i ( k ) = ( 1 − z i ( k ) ) ⊙ h i ( k − 1 ) + z i ( k ) ⊙ h ~ i ( k ) \begin{aligned} \mathbf{r}_{i}^{(k)} &=\sigma\left(\sum_{v_{j} \in N\left(v_{i}\right)} \frac{1}{c_{v_{i}, r}} \mathbf{W}_{\phi\left(e_{i, j}\right)}^{r} \mathbf{h}_{j}^{(k-1)}+\mathbf{b}_{\phi\left(e_{i, j}\right)}^{r}\right) \\ \mathbf{z}_{i}^{(k)} &=\sigma\left(\sum_{v_{j} \in N\left(v_{i}\right)} \frac{1}{c_{v_{i}, z}} \mathbf{W}_{\phi\left(e_{i, j}\right)}^{z} \mathbf{h}_{j}^{(k-1)}+\mathbf{b}_{\phi\left(e_{i, j}\right)}^{z}\right) \\ \tilde{h}_{i}^{(k)} &=\rho\left(\sum_{v_{j} \in N\left(v_{i}\right)} \frac{1}{c_{v_{i}}} \mathbf{W}_{\phi\left(e_{i, j}\right)}\left(\mathbf{r}_{j}^{(k)} \odot \mathbf{h}_{i}^{(k-1)}\right)+\mathbf{b}_{\phi\left(e_{i, j}\right)}\right) \\ \mathbf{h}_{i}^{(k)} &=\left(1-\mathbf{z}_{i}^{(k)}\right) \odot \mathbf{h}_{i}^{(k-1)}+\mathbf{z}_{i}^{(k)} \odot \tilde{h}_{i}^{(k)} \end{aligned} ri(k)zi(k)h~i(k)hi(k)=σ⎝⎛vj∈N(vi)∑cvi,r1Wϕ(ei,j)rhj(k−1)+bϕ(ei,j)r⎠⎞=σ⎝⎛vj∈N(vi)∑cvi,z1Wϕ(ei,j)zhj(k−1)+bϕ(ei,j)z⎠⎞=ρ⎝⎛vj∈N(vi)∑cvi1Wϕ(ei,j)(rj(k)⊙hi(k−1))+bϕ(ei,j)⎠⎞=(1−zi(k))⊙hi(k−1)+zi(k)⊙h~i(k)
Wang等人提出扩展经典的GAT以适应多关系图。直观地说,具有不同关系的邻居节点应该具有不同的影响力。Wang等人(2020b)提出用额外的关系头来扩展同质GAT。从技术上讲,他们提出的关系结点表示为:
h i , r e l ( k ) , m = ∑ v j ∈ N ( v i ) β i j ( k ) , m W ( k ) , m h j ( k − 1 ) \mathbf{h}_{i, r e l}^{(k), m}=\sum_{v_{j} \in N\left(v_{i}\right)} \beta_{i j}^{(k), m} \mathbf{W}^{(k), m} \mathbf{h}_{j}^{(k-1)} hi,rel(k),m=∑vj∈N(vi)βij(k),mW(k),mhj(k−1)
多关系GNN在堆叠若干层以利用远处邻居之间的隐性相关性时也面临过平滑问题。为了解决这个问题,在多关系GNN中引入了门控机制,即通过门控将节点的输入特征和聚合特征结合起来。直观地,门控机制可以被看作是原始信号和学习到的信息之间的权衡。它控制传播到下一步的更新消息的数量,从而防止模型彻底覆盖过去的信息。这里以经典的R-GCN为例来介绍门控机制,该机制实际上可以扩展到任意的变体。激活之前的表示为:
u i ( k ) = f ( k ) ( h i ( k − 1 ) ) \mathbf{u}_i^{(k)} = {f}^{(k)}(\mathbf{h}_i^{(k-1)}) ui(k)=f(k)(hi(k−1))
其中 f f f表示聚合函数。最终,节点的最终表示是先前嵌入 h i ( k ) \mathbf{h}_i^{(k)} hi(k)和GNN输出表示 σ ( u i ( k ) ) \sigma(\mathbf{u}_i^{(k)}) σ(ui(k))的门控组合:
h i ( k ) = σ ( u i ( k ) ) ⊙ g i ( k ) + h i ( k − 1 ) ⊙ ( 1 − g i ( k − 1 ) ) \mathbf{h}_{i}^{(k)}=\sigma\left(\mathbf{u}_{i}^{(k)}\right) \odot \mathbf{g}_{i}^{(k)}+\mathbf{h}_{i}^{(k-1)} \odot\left(1-\mathbf{g}_{i}^{(k-1)}\right) hi(k)=σ(ui(k))⊙gi(k)+hi(k−1)⊙(1−gi(k−1))
其中 g i ( k ) \mathbf{g}_{i}^{(k)} gi(k)是门控函数。计算如下:
g i ( k ) = σ ( f ( k ) ( [ u i ( k ) , h i ( k − 1 ) ] ) ) \mathbf{g} _{i}^{(k)}=\sigma\left(f^{(k)}\left(\left[\mathbf{u}_{i}^{(k)}, \mathbf{h}_{i}^{(k-1)}\right]\right)\right) gi(k)=σ(f(k)([ui(k),hi(k−1)]))
Transformer 架构在NLP领域取得了巨大成功,Transformer的自注意力机制是全连接隐式图学习的一个特殊过程,因此GNN和Transformer 的概念产生了连接。然而,传统的 Transformer未能利用结构信息。在GAT的启发下,许多文献通过设计结构感知的自注意力机制,将结构信息纳入Transformer。
z i = Attention ( q i , K , V ) = ∑ j = 1 n α i , j W v v j α i , j = softmax j ( u i , j ) u i , j = ( W q q i ) T ( W k k j ) d \begin{aligned} \mathbf{z}_{i} &=\operatorname{Attention}\left(\mathbf{q}_{i}, \mathbf{K}, \mathbf{V}\right)=\sum_{j=1}^{n} \alpha_{i, j} \mathbf{W}^{v} \mathbf{v}_{j} \\ \alpha_{i, j} &=\operatorname{softmax}_{j}\left(u_{i, j}\right) \\ u_{i, j} &=\frac{\left(\mathbf{W}^{q} \mathbf{q}_{i}\right)^{T}\left(\mathbf{W}^{k} \mathbf{k}_{j}\right)}{\sqrt{d}} \end{aligned} ziαi,jui,j=Attention(qi,K,V)=j=1∑nαi,jWvvj=softmaxj(ui,j)=d(Wqqi)T(Wkkj)
对于图 transformer 来说,query、key和value都是指节点的嵌入:即 q i = k i = v i = h i \mathbf{q}_i=\mathbf{k}_i=\mathbf{v}_i=\mathbf{h}_i qi=ki=vi=hi。
对于包含结构知识的关系图,有各种图transformer,根据自注意力的功能可以分为两类。
基于GAT的图transformer采用了类似GAT的特征聚合,它利用了图连接性的归纳偏置。在技术上,首先用特定类型的聚合步骤聚合邻居,然后通过前馈层进行融合,具体如下:
z i r , ( k ) = ∑ v j ∈ N r ( v i ) α i , j k W v , ( k ) h j ( k − 1 ) , r ∈ E h i ( k ) = FFN ( k ) ( W O , ( k ) [ z i R 1 , ( k ) , … , z i R q , ( k ) ] ) \begin{aligned} \mathbf{z}_{i}^{r,(k)} &=\sum_{v_{j} \in N_{r}\left(v_{i}\right)} \alpha_{i, j}^{k} \mathbf{W}^{v,(k)} \mathbf{h}_{j}^{(k-1)}, r \in \mathcal{E} \\ \mathbf{h}_{i}^{(k)} &=\operatorname{FFN}^{(k)}\left(\mathbf{W}^{O,(k)}\left[\mathbf{z}_{i}^{R_{1},(k)}, \ldots, \mathbf{z}_{i}^{R_{q},(k)}\right]\right) \end{aligned} zir,(k)hi(k)=vj∈Nr(vi)∑αi,jkWv,(k)hj(k−1),r∈E=FFN(k)(WO,(k)[ziR1,(k),…,ziRq,(k)])
其中 F F N ( k ) ( ⋅ ) \mathrm{FFN}^{(k)}(\cdot) FFN(k)(⋅)表示Transformer中的前馈层
基于结构感知的自注意的图transformer保留了原有的自注意架构,允许非邻接节点的通信。首先讨论结构感知的自我注意机制,然后介绍其独特的边嵌入表示法。
Shaw等人尝试对神经机器翻译(NMT)任务中单词(节点)之间的相对关系进行建模。在技术上,他们在计算节点相似度时考虑了关系嵌入:
u i , j ( k ) = ( W q , ( k ) h i ( k − 1 ) ) T ( W k , ( k ) h j ( k − 1 ) ) + ( W q , ( k ) h i ( k − 1 ) ) T e i , j d u_{i, j}^{(k)}=\frac{\left(\mathbf{W}^{q,(k)} \mathbf{h}_{i}^{(k-1)}\right)^{T}\left(\mathbf{W}^{k,(k)} \mathbf{h}_{j}^{(k-1)}\right)+\left(\mathbf{W}^{q,(k)} \mathbf{h}_{i}^{(k-1)}\right)^{T} \mathbf{e}_{i, j}}{\sqrt{d}} ui,j(k)=d(Wq,(k)hi(k−1))T(Wk,(k)hj(k−1))+(Wq,(k)hi(k−1))Tei,j
现实中的大多数图有多种节点和边的类型,如知识图谱,AMR图,它们被称为异质图。从形式上看,对于一个图 G ( V , E , T , R ) \mathcal{G}(\mathcal{V},\mathcal{E},\mathcal{T},\mathcal{R}) G(V,E,T,R) ∣ T ∣ > 1 |\mathcal{T}| >1 ∣T∣>1或者 ∣ R ∣ > 1 |\mathcal{R}| > 1 ∣R∣>1,那么称其为异质图。除了将异质图转化为关系图外,如上一小节所介绍的,有时还需要充分利用节点和边的类别信息。因此,在第5.3.1小节中,首先介绍了异质图的预处理技术。然后,在第5.3.2和5.3.3小节中,将介绍两种专门针对异质图的典型图表示学习方法。
大多数现有的GNN方法只针对同质条件而设计,在处理大量的边类型时,会有大量的计算负担(例如,一个AMR图可能包含100多种边类型),因此,在异质图中有效的做法是将边视为节点。最重要的图转换技术是Levi Graph Transformation,对于每一个具有特定标签 ϕ ( e i , j ) \phi(e_{i,j}) ϕ(ei,j)的边 e i , j e_{i,j} ei,j,创建一个新的节点 v e i , j v_{e_{i,j}} vei,j得到一个新图 G ′ ( V ′ , E ′ , T ′ , R ′ ) \mathcal{G}'(\mathcal{V}',\mathcal{E}',\mathcal{T}',\mathcal{R}') G′(V′,E′,T′,R′)其中节点集 V ′ = V ∪ { v e i , j } \mathcal{V}'= \mathcal{V} \cup\{ v_{e_{i,j}} \} V′=V∪{vei,j}节点标签集 T ′ = T ∪ { ϕ ( e i , j ) } \mathcal{T}'= \mathcal{T} \cup\{ \phi(e_{i,j}) \} T′=T∪{ϕ(ei,j)}。切断了 v i , v i v_i,v_i vi,vi之间的直接边,并添加两直接边:1) v i , v e i , j v_i, v_{e_{i,j}} vi,vei,j,和2) v e i , j , v j v_{e_{i,j}},v_j vei,j,vj。在转换 E \mathcal{E} E中的所有边之后,新的图 G ′ \mathcal{G}' G′是一个二分图,且 ∣ R ′ ∣ = 1 |\mathcal{R}'| = 1 ∣R′∣=1。图11给出了将AMR图转换为levi示例图,它具有单一的边类型,但节点类型不受限制,然后可以由第5.3小节中描述的异质GNN进行学习。
元路径是连接两个对象的复合关系,是一种广泛使用的捕捉语义的结构。以电影数据IMDB为例,有三种类型的节点,包括电影、演员和导演。元路径Movie → Actor →Movie,涵盖了两部电影和一个演员,描述了co-actor的关系。因此,异质图中节点之间的不同关系可以很容易地通过元路径展示出来。首先提供了异质图的meta-level 描述,以便更好地理解。
遵循异质信息网络(HIN)的设定,给出了网络模式的概念。网络模式是异质图 G ( V , E ) \mathcal{G}(\mathcal{V},\mathcal{E}) G(V,E)的元模板:节点类型映射 V → T \mathcal{V} \to \mathcal{T} V→T以及边类型映射 T → R \mathcal{T} \to \mathcal{R} T→R,网络模式上的元路径表示为 Φ = T 1 → R 1 T 2 → R 2 … → R l T l + 1 \Phi=T_{1} \stackrel{R_{1}}{\rightarrow} T_{2} \stackrel{R_{2}}{\rightarrow} \ldots \stackrel{R_{l}}{\rightarrow} T_{l+1} Φ=T1→R1T2→R2…→RlTl+1, T i ∈ T T_i \in \mathcal{T} Ti∈T是模式的节点, R i ∈ R R_i \in \mathcal{R} Ri∈R是对应的关系节点。元路径集合为 { Φ 1 , Φ 2 , ⋯ , Φ p } \{ \Phi_1,\Phi_2, \cdots, \Phi_p \} {Φ1,Φ2,⋯,Φp}。对于异质图的节点 v i v_i vi以及一个元路径 Φ j \Phi_j Φj ,定义基于元路径的邻居为 N ϕ j ( v i ) N_{\phi_j}(v_i) Nϕj(vi),基于元路径的异质图的示例如图12所示。根据元路径的长度邻居集可以有多跳节点。
大多数基于元路径的GNN方法采用基于注意力的聚合策略。它们一般可以分为两个阶段。
由于节点的异质性,不同的节点具有不同的特征空间,这给GNN处理各种初始节点嵌入带来了很大挑战。为解决这一问题,采用特定类型的变换将各种节点投射到统一的特征空间:
h i ′ = W τ ( v i ) h i \mathbf{h}_{i}^{\prime}=\mathbf{W}_{\tau\left(v_{i}\right)} \mathbf{h}_{i} hi′=Wτ(vi)hi
( β ϕ 1 , ⋯ , β ϕ p ) = M e t a _ A t t n ( Z ϕ 1 , ⋯ , Z ϕ p ) (\beta_{\phi_1},\cdots,\beta_{\phi_p})=\mathrm{Meta\_Attn}(\mathbf{Z_{\phi_1}},\cdots,\mathbf{Z_{\phi_p}}) (βϕ1,⋯,βϕp)=Meta_Attn(Zϕ1,⋯,Zϕp)
O Φ k = 1 ∣ V ∣ ∑ v i ∈ V q T f ( z i , Φ k ) β Φ k = softmax k ( o Φ k ) \begin{array}{l} O_{\Phi_{k}}=\frac{1}{|\mathcal{V}|} \sum_{v_{i} \in \mathcal{V}} \mathbf{q}^{T} f\left(\mathbf{z}_{i, \Phi_{k}}\right) \\ \beta_{\Phi_{k}}=\operatorname{softmax}{ }_{k}\left(o_{\Phi_{k}}\right) \end{array} OΦk=∣V∣1∑vi∈VqTf(zi,Φk)βΦk=softmaxk(oΦk)
z i = ∑ k = 1 p β Φ k z i , Φ k . \mathbf{z}_{i}=\sum_{k=1}^{p} \beta_{\Phi_{k}} \mathbf{z}_{i, \Phi_{k}} . zi=∑k=1pβΦkzi,Φk.
尽管元路径是组织异质图的有效工具,但它需要额外的领域专家知识。为此,大多数研究人员通过使用特定类型的聚合,采用了R-GNN的类似想法。为了清楚起见,本文将这些方法命名为基于R-GNN的异质GNN,下文介绍这一类的几个典型变体。
z t ( k ) = ∑ v j ∈ N t ( v i ) h j ( k − 1 ) , t ∈ T \mathbf{z}_{t}^{(k)}=\sum_{v_{j} \in N_{t}\left(v_{i}\right)} \mathbf{h}_{j}^{(k-1)}, t \in \mathcal{T} zt(k)=∑vj∈Nt(vi)hj(k−1),t∈T
- 重写具有节点类型$t$的邻居$N(v_i)$。然后为注意机制计算每个类型的相关性:
s t = σ ( q T [ h i ( k − 1 ) , z t ( k ) ] ) α t = exp ( s t ) ∑ t ′ ∈ T exp ( s t ′ ) \begin{aligned} s_{t} &=\sigma\left(\mathbf{q}^{T}\left[\mathbf{h}_{i}^{(k-1)}, \mathbf{z}_{t}^{(k)}\right]\right) \\ \alpha_{t} &=\frac{\exp \left(s_{t}\right)}{\sum_{t^{\prime} \in \mathcal{T}} \exp \left(s_{t^{\prime}}\right)} \end{aligned} stαt=σ(qT[hi(k−1),zt(k)])=∑t′∈Texp(st′)exp(st)
编码器-解码器架构是NLP领域最广泛使用的机器学习框架之一,如Seq2Seq模型。鉴于GNN在建模图结构数据方面的巨大力量,最近,许多研究设计了基于GNN的编码器-解码器框架,包括Graph-to-Tree和Graph-to-Graph。本节首先介绍典型的Seq2Seq模型,然后讨论用于各种NLP任务的各种基于图的编码器-解码器模型。
图11 基于图的编码器解码器模型总体架构
首先对Seq2Seq学习进行了简要的概述,并介绍一些典型的Seq2Seq技术。然后指出Seq2Seq学习的一些已知的局限性以及它的解决方案,即纳入更多结构化的编码器-解码器模型作为原始Seq2Seq模型的替代,以编码更复杂的数据结构。
Seq2Seq模型用于解决一般的序列到序列问题(如机器翻译)。Seq2Seq模型是一个端到端的编码器-解码器框架,它学习将一个可变长度的输入序列到一个可变长度的输出序列。通常其思想是使用基于RNN的编码器来读取输入序列,建立一个固定维度的向量表示,然后使用基于RNN的解码器来生成基于编码器输出向量的输出序列。解码器本质上是一个RNN语言模型,只不过它取决于输入序列。最常见的Seq2Seq变体之一是应用双向LSTM编码器对输入序列进行编码,并应用LSTM解码器对输出序列进行解码。其他Seq2Seq变体用门控递归单元(GRU)、卷积神经网络(CNN)或 Transformer模型代替LSTM。
在最初的Seq2Seq架构中,中间向量的表示成为信息瓶颈,因为它将输入序列的丰富信息总结为固定维度的嵌入,作为解码器生成高质量输出序列的唯一知识源。为了提高原始Seq2Seq模型的学习能力,人们提出了许多有效的技术。
注意力机制被设计用来学习输入序列和输出序列之间的软对齐。具体地,在每个解码步骤 t t t,指示源词上的概率分布的attention向量被计算为:
e i t = f ( h ⃗ i , s ⃗ t ) a ⃗ t = softmax ( e ⃗ t ) \begin{aligned} e_{i}^{t} &=\mathrm{f}\left(\vec{h}_{i}, \vec{s}_{t}\right) \\ \vec{a}^{t} &=\operatorname{softmax}\left(\vec{e}^{t}\right) \end{aligned} eitat=f(hi,st)=softmax(et)
其中 f f f可以是计算解码器状态 s ⃗ t \vec{s}_{t} st和编码器隐藏状态状态 h ⃗ i \vec{h}_{i} hi之间的相关性的任意神经网络。一种常见的选择是使用加法注意机制 f ( h ⃗ i , s ⃗ t ) = v ⃗ T tanh ( W ⃗ h h ⃗ i + W ⃗ s s ⃗ t + b ) \mathrm{f}\left(\vec{h}_{i}, \vec{s}_{t}\right)=\vec{v}^{T} \tanh \left(\vec{W}_{h} \vec{h}_{i}+\vec{W}_{s} \vec{s}_{t}+b\right) f(hi,st)=vTtanh(Whhi+Wsst+b)。给定第 t t t个解码步骤的attention向量 a ⃗ t \vec{a}^{t} at,可以将上下文向量计算为编码器隐藏状态的加权和,公式如下:
h ⃗ t ∗ = ∑ i a i t h ⃗ i \vec{h}_{t}^{*}=\sum_{i} a_{i}^{t} \vec{h}_{i} ht∗=∑iaithi
所计算的上下文向量将与解码器状态连接,并通过一些神经网络反馈,以产生词汇分布。
许多NLP应用自然地接纳了图结构的输入数据,如依赖图、构成图,AMR图,IE图和知识图。与序列数据相比,图结构的数据能够编码对象之间丰富的句法或语义关系。此外,即使原始输入最初是以序列形式表示的,它仍然可以从显式地将结构信息(例如特定领域知识)结合到序列中去。上述情况基本上需要一个编码器-解码器框架来学习图到X的映射,其中X可以代表序列、树或甚至图。现有的Seq2Seq模型在学习从图到适当目标的精确映射方面面临着巨大挑战,因为它无法建模复杂的图结构化数据。
为了扩展Seq2Seq模型以处理输入为图结构数据的Graph-to-Sequence问题,进行了各种尝试。一个简单直接的方法是直接将结构化图数据线性化为序列数据,并将Seq2Seq模型应用于所得序列。然而这遭受巨大的信息损失,导致了性能的下降。RNN没有能力对复杂的结构化数据进行建模的根本原因在于RNN是一个线性链。因此一些研究工作已经致力于扩展Seq2Seq模型。
例如,Tree2Seq(Eriguchi, 2016)通过采用Tree-LSTM扩展了Seq2Seq模型,Tree-LSTM是链结构LSTM到树结构网络拓扑的推广。Set2Seq是Seq2Seq模型的一个扩展,它超越了序列,使用注意力机制处理输入集。
尽管这些Seq2Seq扩展在某些类别的问题上取得了有希望的结果,但它们都不能以一种原则性的方式对任意图结构的数据进行建模。
为了解决上述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变体外,一些Graph2Seq工作还探索了其他GNN变体,如GRN和GIN。GRN能够通过在LSTM样式的消息传递机制中显式地包含边嵌入来处理多关系图。
对于基于GNN的方法,节点和边的初始化很重要。虽然CNNs和RNNs都擅长捕捉文本中连续词之间的局部依赖关系,但GNNs在捕捉图中相邻节点之间的局部依存性表现良好。许多关于Graph2Seq的工作表明,在应用基于GNN的编码器之前,将CNN或双向RNN对词嵌入序列初始化节点/边嵌入。还有研究探索用BERT嵌入+BiRNNs或RoBERTa+BiRNNs初始化节点/边嵌入。
由于Seq2Seq和Graph2Seq模型的主要区别在于编码器,Seq2Seq模型中使用的常见解码技术,如注意力机制、copying机制、coverage机制和scheduled sampling也可以在Graph2Seq模型中采用。常见的解码技术适应Graph2Seq范式如下:
Graph2Seq模型和基于Transformer的Seq2Seq模式之间存在一些联系和差异。然而最近有一种趋势是将这两种范式的优点结合起来,从而使它们变得不那么明显。许多工作设计了各种基于graph transformer的生成模型,这些模型采用了结合GNN和transformer优点的基于图的编码器,以及基于RNN/transformer的解码器。Graph2Seq仍存在一些挑战。
图14:等式:(1*2)+(4-3)*5。左:基于DFS的树解码器示例,数字代表解码操作的顺序。右:基于BFS的树解码器示例。像 S 1 S_1 S1、 S 2 S_2 S2这样的节点代表子树节点,一旦生成了子树节点,解码器将为新的后代解码过程启动新的分支。该数字表示不同分支解码过程的顺序。
与在输入端考虑结构信息的Graph2Seq模型相比,许多NLP任务还包含复杂结构表示的输出,如Tree在输出端也有丰富的结构信息,如句法解析,语义解析,数学单词问题解决。考虑输出的结构信息很有必要。一些Graph2Tree模型被提出来,在输入和输出端都加入了结构信息,使编码-解码过程中的信息流更加完整。
图构建模块通常与特定任务高度相关,可分为两类**:**
图编码器用于将输入图嵌入到潜在表示中。为了实现图编码器模块,几个Graph2Tree模型使用简单GNN模型,例如GCN、GGNN和GraphSAGE。
注意力模块是编码器-解码器框架中的一个关键组件,承载了桥接输入和输出语义的重要信息。在Graph2Tree模型中,输入图通常包含不同类型的节点,而传统的注意力模块无法区分这些节点。Li等人(2020b)使用单独的注意力模块来计算输入图中不同节点的注意力向量,其中一些节点来自原始句子,其他节点由外部解析器生成的解析树中的节点组成。区分这两种类型的节点可以比原始的注意力模块促进更好的学习过程。这种想法类似于Tree2Seq(Eriguchi等人,2016)注意模块在机器翻译中的应用。
特别是在(Li等人,2020b)中,解码器通过将一些分支节点表示为非终端节点来生成树结构,即图14中的节点 S 1 S_1 S1。一旦生成这些节点,解码器将开始新的序列解码过程。在时间 t t t处的解码器隐藏状态 s t s_t st被计算为:
s t = f decoder ( y t − 1 , s t − 1 ; s par ; s sib ) \mathbf{s}_{t}=f_{\text {decoder }}\left(y_{t-1}, \mathbf{s}_{t-1} ; \mathbf{s}_{\text {par }} ; \mathbf{s}_{\text {sib }}\right) st=fdecoder (yt−1,st−1;spar ;ssib )
如图14所示。在生成当前隐藏状态后,包括注意力层的输出模块计算如下
α t ( v ) = exp ( score ( z v , s t ) ) exp ( ∑ k = 1 V 1 score ( z k , s t ) ) , ∀ v ∈ V 1 β t ( v ) = exp ( score ( z v , s t ) ) exp ( ∑ k = 1 V 2 score ( z k , s t ) ) , ∀ v ∈ V 2 c v 1 = ∑ α t ( v ) z v , ∀ v ∈ V 1 c v 2 = ∑ β t ( v ) z v , ∀ v ∈ V 2 \begin{aligned} \alpha_{t(v)}=& \frac{\exp \left(\operatorname{score}\left(\mathbf{z}_{v}, \mathbf{s}_{t}\right)\right)}{\exp \left(\sum_{k=1}^{V_{1}} \operatorname{score}\left(\mathbf{z}_{k}, \mathbf{s}_{t}\right)\right)}, \forall v \in \mathcal{V}_{1} \\ \beta_{t(v)}=& \frac{\exp \left(\operatorname{score}\left(\mathbf{z}_{v}, \mathbf{s}_{t}\right)\right)}{\exp \left(\sum_{k=1}^{V_{2}} \operatorname{score}\left(\mathbf{z}_{k}, \mathbf{s}_{t}\right)\right)}, \forall v \in \mathcal{V}_{2} \\ \mathbf{c}_{v_{1}}=&\sum \alpha_{t(v)} \mathbf{z}_{v}, \forall v \in \mathcal{V}_{1} \\ \mathbf{c}_{v_{2}}=&\sum \beta_{t(v)} \mathbf{z}_{v}, \forall v \in \mathcal{V}_{2} \end{aligned} αt(v)=βt(v)=cv1=cv2=exp(∑k=1V1score(zk,st))exp(score(zv,st)),∀v∈V1exp(∑k=1V2score(zk,st))exp(score(zv,st)),∀v∈V2∑αt(v)zv,∀v∈V1∑βt(v)zv,∀v∈V2
一些应用程序(即语义解析、代码生成和数学单词问题)的输出包含结构信息,例如,数学单词问题中的输出是一个数学方程,可以通过树的数据结构自然地表达。为了生成这些类型的输出,树解码器被广泛用于这些任务。树解码器可以分为两个主要部分,如图14所示,即基于dfs(深度优先搜索)的树解码器和基于bfs(广度优先搜索)树解码器。
此外,树解码器不断发展,提出了一些技术来在解码过程中收集更多信息或利用来自输入或输出的信息,例如父馈送、兄弟馈送、子树复制、基于树的重新排序和其他技术。同时,变换器模型的广泛应用也带来了许多基于变换器的树解码器,这证明了树解码器和Graph2tree模型的广泛使用。
graph-to-graph模型通常用于解决graph transformation问题,是图编码器-解码器模型。图编码器生成图中每个节点的潜在表示,或通过GNNs为整个图生成一个图级别潜在表示。然后图解码器根据来自编码器的节点级或图级潜在表示生成输出目标图。
图到图模型旨在处理深度图转换问题。图转换的目标是通过深度学习将源域中的输入图转换为目标域中的相应输出图。作为一个新的重要问题,深度图转换在许多领域都有多种应用,例如网络安全中的分子优化和恶意软件限制。考虑到在转换过程中正在转换的实体,有三类子问题:
由于自然语言或信息知识图可以形式化为一组节点及其关系的图,因此NLP领域中的许多生成任务可以形式化为graph-to-graph问题,这可以通过图到图模型进一步解决。这样可以充分利用和捕获输入和输出句子的语义结构信息。两个重要的NLP任务(即信息提取和语义解析),可以形式化为图对图问题
信息提取是从文本中提取结构化信息,通常包括名称实体识别、关系提取和共同引用链接。信息提取问题可以形式化为一个图转换问题,输入是文本的依赖图或选区图,输出是信息图。在输入依赖关系或选区图中,每个节点表示一个单词token,每个边表示两个节点之间的依赖关系。在输出信息图中,每个节点表示一个名称实体,每个边表示两个实体之间的语义关系或共同引用链接。
以这种方式,信息提取是关于在给定输入相关性或选区图的情况下生成输出信息图。
语义分析的任务是将自然语言映射到机器可解释的意义表示,而这些意义表示又可以用许多不同的形式表示,包括lambda演算、基于依赖的组合语义、框架语义、抽象意义表示(AMR)、最小递归语义和话语表示理论。显式或隐式地,这些形式中的任何一种表示都可以表示为有向无环图(DAG)。
语义解析也可以形式化为一个图转换问题,其中输入是依赖关系图或选区图,输出是语义的有向无环图。例如,AMR的语义形式可以编码为根的、有向的、非循环图,其中节点表示概念,标记的有向边表示它们之间的关系。
序列到图的转换可以被视为图到图的特殊情况,其中输入序列是一个线图。序列到图模型通常用于AMR分析任务,其目标是学习从句子到AMR图的映射。为了生成具有索引节点的AMR树,解析方法被形式化为两个阶段:节点预测和边预测。整个过程由指针网络实现,其中编码器是多层双向RNN,目标图中的节点按顺序预测。之后,基于学习到的结束节点的嵌入来预测每对节点之间的边。
本章将讨论大量使用GNN的典型NLP应用,包括自然语言生成NLG、机器阅读理解、问题回答、对话系统、文本分类、文本匹配、话题建模、情感分类、知识图谱、信息提取IE、语义和句法解析、推理和语义角色标注。表3中提供了所有应用的摘要及其子任务和评价指标。
自然语言生成(NLG)旨在给定各种形式的输入,如文本、语音等,生成高质量、连贯和可理解的自然语言,而我们只关注语言形式。现代NLG方法通常采取编码器-解码器的形式,将输入序列编码到潜在空间,并根据潜在表征预测出一个词的集合。大多数NLG方法可以分为两个步骤:编码和解码,它们由两个模块处理:编码器和解码器。本节对基于auto-regressive图的方法进行了全面的概述,这些方法利用了编码器中的图结构,包括:1)神经机器翻译,2)摘要,3)问题生成,4)structural-data to text。
背景和动机 经典的神经机器翻译(NMT)系统旨在将源语言的句子映射到目标语言,而不改变其语义。大多数工作采用了基于注意力的seq2seq学习图,特别是基于RNN的语言模型。与传统的机器翻译模型相比,这些方法可以在没有特定语言知识的情况下产生更好的性能。然而这些方法存在着长依赖性的问题。随着注意力机制的发展,完全基于注意力的模型,如Transformer,通过自注意力捕捉隐性关联,达到了新的水平。虽然这些取得了巨大的成功,但它们很少考虑到结构信息,如句法结构。最近在GNN的帮助下,许多研究者通过挖掘非结构化文本中包含的结构性知识进一步提升了性能。
方法 大多数基于GNN的NMT方法将传统的seq2seq图转换成Graph2Seq架构。首先将输入文本转换为图结构的数据,然后采用基于GNN的编码器来利用结构信息。
NMT任务中引入各种静态图以应对相应的挑战。Bastings et al (2017); Beck et al (2018b); Cai and Lam (2020b); Guo et al (2019b)首先将给定文本转换为句法依存图。这种结构没有考虑单词的语义关系。直观上,通过高级语义结构抽象来表示冗余句子是有益的。为此Marcheggiani et al (2018)为给定文本构建了基于语义角色标记的依赖图。此外Beck et al (2018b); Song et al (2019)构建了可以涵盖更多语义相关性的句子AMR图。除了经典的图类型之外,还提出了一些专门设计的图(应用驱动图)来解决这些独特的挑战。
虽然NMT中的源句子是确定的,但单词级别或子单词级别分段有多种选择,可以用不同的单词段或不同的子单词词汇大小来分割源序列,这会影响NMT的性能。Xiao(2019)提出了格图,它结合了源句子的不同分割。Shaw et al (2018)构建相对位置图,以显式地建模相对位置特征。Yin et al (2020)构建了多模态图,将视觉知识引入NMT,NMT在统一的图中呈现输入句子和相应的图像,以更好地捕捉语义相关性。
尽管是单一类型的静态图,Xu et al (2020b)为文档级NMT构建了考虑多个关系的混合图,以解决严重的长依赖性问题。详细地,他们构建了同时考虑句内和句间关系的图。对于句内关系,它们将单词与顺序关系和依存关系联系起来。对于句子间关系,他们将不同句子中的单词与词汇(重复或相似)和共指关联联系起来。
大多数构造图都是异质图,包含多种节点/边类型,不能被典型的GNN直接利用。研究人员采用了各种异质图表示技术。
除了传统GNN的扩展,Transformer还被进一步探索以从NMT的结构输入中学习。与传统的Transformer不同,采用绝对正弦位置嵌入来确保自注意力学习特定位置的特征。
为了允许信息从两个方向流动,一些技术被设计用于合并方向信息。
**基准和评价 **NMT的常见基准包括用于训练的News Commentary v11, WMT14, WMT16, WMT19,用于评估和测试的newstest2013, newstest2015, newstest2016, newsdev2019, newstest2019。对于多模态NMT任务,先前的工作广泛使用了Multi30K数据集。BLEU是评价生成的文本和真实输出文本之间的相似性的典型指标。
背景和动机 自动摘要生成是在保留关键信息内容和整体意义的同时,生成简明流畅的摘要。这个任务有两个主要的经典设置
传统的方法将输入视为序列,并应用LSTM、Transformer等编码器学习潜在表示,这些方法未能利用自然输入中隐含的丰富结构信息。许多研究人员发现,结构知识有利于解决一些挑战,例如长距离依赖性问题,因此提出了基于GNN的技术显示利用结构信息来提高性能。
大多数基于GNN的摘要方法首先是构建图来表示给定的文本。然后,采用基于GNN的编码器来学习图的表示。之后,对于抽取式摘要模型,采用分类器来选择候选子句来组成最终的总结。对于生成式摘要,大多采用语言解码器,以最大化输出的可能性来生成摘要。
方法 首先构建图来表示给定的自然文本。然后使用基于GNN的编码器来学习图表示。之后对于抽取式摘要采用分类器来选择候选子内容以构成最终摘要。对于生成式摘要采用最大化输出可能性的语言解码器来生成摘要
尽管是自然文本,但许多NLP应用都是以明确的图结构来表示数据,如SQL查询、知识图、AMR等。结构化数据的任务就是要从结构化数据输入中生成自然语言。传统的工作应用线性化机制,将结构数据映射为序列数据,并采用Seq2Seq架构来生成文本。为了充分捕捉丰富的结构信息,最近的研究集中在基于GNN的技术来处理这一任务。
大多数基于GNN的AMR-to-text和SQL-to-text方法通常构建特定领域的图,如AMR图和基于SQL解析的图来组织输入。之后,应用由GNN编码器和序列解码器组成的Graph2Seq来生成神经语言输出。
自然问题生成(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的编码器用来对图结构的输入数据进行建模,序列解码器被用来生成自然语言问题。
机器阅读理解(MRC)的任务旨在利用给定的段落回答一个自然语言问题。由于各种注意力机制的发展,MRC任务已经取得了重大进展,这些机制可以捕捉到问题和上下文之间的相互联系。考虑到传统的MRC设置主要集中在相对简单的一跳推理上,最近,更多的研究工作被用于解决更具挑战性的MRC设置。例如,多跳MRC任务是使用多个段落或文档来回答一个自然语言问题,这需要多跳推理能力。Con- versational MRC任务是在对话中回答当前的自然语言问题,并给出一段话和之前的问题和答案,这需要对对话历史进行建模的能力。数字性的MRC任务要求有对段落进行数字推理的能力。这些具有挑战性的MRC任务需要对对象之间的复杂关系进行建模的学习能力。例如,在多跳MRC任务中,对多个文档之间的关系以及文档中提到的实体进行建模是非常有益的。最近,GNN已经成功应用于各种类型的MRC任务,包括多跳MRC,对话式MRC,以及numerical MRC。
基于GNN的MRC方法通常是通过首先构建一个实体图或层次图来捕捉图中节点之间的丰富关系,然后应用基于GNN的推理模块对图进行复杂推理。假设GNN的输出已经编码了节点本身及其邻居结构的语义,最后将应用一个预测模块来预测答案。为解决MRC任务而开发的图构建技术和图表示技术在不同的方法中有所不同。
在过去的几年里,知识库问题回答(KBQA)已经成为一个重要的研究课题。KBQA的目标是给定自然语言问题自动从KG中找到答案。最近,由于其对对象之间关系建模的性质能力,GNN已经成功地应用于执行多跳KBQA任务,这需要对KG的多条边进行推理以得出正确的答案。一个相关的任务是开放领域的QA,其目的是通过利用包括语料库和KG的混合知识源来回答开放领域的问题。本文介绍并总结了最近KBQA研究中采用的一些有代表性的GNN相关技术。
开放域问题回答的任务旨在给定一个大规模的开放域知识(如文档、知识库等),以确定自然问题的答案。基于知识的方法得益于通过图结构轻松获得外部知识。然而,这些方法在知识库和固定模式的信息缺失方面受到限制。为了回答来自海量和非结构化文档的问题,与基于知识库的方法相比,这些方法可以获取更多的信息,但在从冗余的外部文档中检索相关和关键信息方面存在困难。本文介绍并总结了最近开放域问题回答研究中一些有代表性的GNN相关技术。
社区问题回答的任务旨在从QA论坛(如Stack Overflow或Quora)中检索出相关答案。与传统的MRC(QA)任务不同,CQA系统能够利用隐性知识(嵌入在不同的社区中)或显性知识(嵌入在所有解决的问题中)来回答每天发布的大量新问题。然而,越来越多的新问题可能会使没有适当协作支持的CQA系统因用户的要求而变得超负荷。本文介绍并总结了最近CQA研究中采用的一些有代表性的GNN相关技术。
对话系统是一个可以连续与人对话的计算机系统。为了建立一个成功的对话系统,对对话中不同对话者或话语之间的依赖关系进行建模很重要。由于能够对对象之间的复杂关系进行建模,最近,GNN已经成功地应用于各种对话系统相关的任务,包括对话状态跟踪,旨在估计给定对话历史的当前对话状态;对话响应生成,旨在给定对话历史生成对话响应;以及下一个话语选择,旨在给定对话历史从候选列表中选择下一个话语。本文介绍并总结了近期对话系统研究中采用的一些有代表性的GNN相关技术。
传统的文本分类方法严重依赖特征工程(如BOW、TF-IDF或更高级的基于图形路径的特征)进行文本表示。为了从数据中自动学习 "好的 "文本表征,人们提出了各种无监督的方法来学习单词或文档表征,包括word2vec、GloVe、话题模型、自动编码器和doc2vec。这些预训练的单词或文档嵌入可以进一步被MLP、CNN或LSTM模块所消耗,用于训练监督下的文本分类器。为了更好地捕捉文本或语料库中文件之间的关系,人们提出了各种基于图的方法进行文本分类。例如,Peng等人(2018)提出首先构建一个词的图,然后将CNN应用于规范化的子图。Tang等人提出了一种基于网络嵌入的方法,通过将部分标记的文本语料转换为异质文本网络,以半监督的方式进行文本表示学习。最近,考虑到强大的表达能力,GNN已经成功应用于半监督和监督文本分类中。
基于GNN的文本分类方法通常是,首先构建一个文档图或语料库图来捕捉图中节点之间的丰富关系,然后应用GNN来学习良好的文档嵌入,这些嵌入随后将被送入softmax层以产生一类标签的概率分布。为解决文本分类任务而开发的图构建技术和图表示技术在不同的方法中有所不同。本文介绍并总结了最近的文本分类方法中采用的一些代表性的GNN相关技术。
现有的大多数文本匹配方法是通过一些神经网络,如CNN或RNN,将每个文本映射到一个潜在的嵌入空间,然后根据文本表征之间的相似性计算匹配分数。为了在不同的颗粒度水平上对两个文本之间的丰富互动进行建模,通常会精心设计复杂的注意力或匹配组件。最近,有一些工作成功地探索了GNNs在文本匹配中对文本元素之间复杂的交互作用进行建模的问题。本文介绍并总结了近期文本匹配方法中采用的一些有代表性的GNN相关技术。
话题建模的任务旨在发现语料库中出现的抽象的 “话题”。通常情况下,话题模型学习将一段文本表示为一个话题的混合物,而话题本身则表示为词汇的混合物。经典的话题模型包括基于图模型的方法,基于自回归模型的方法,以及基于自动编码器的方法。最近的工作通过明确地对文档和词之间的关系进行建模,探索了基于GNN的方法进行话题建模。本文介绍并总结了近期话题建模方法中采用的一些有代表性的GNN相关技术。
情感分析任务旨在检测一段文本的情感(即积极、消极或中立)。方面级的情感分类旨在识别文本在特定方面的情感极性,并受到更多关注。虽然大多数工作都集中在句子层面和单一领域的情感分类上,但在文档层面和跨领域的情感分类上也有一些尝试。早期的情感分类工作主要依赖于特征工程。最近的尝试利用了各种神经网络模型的表达能力,如LSTM、CNN或记忆网络。最近,人们尝试利用GNN来更好地模拟文本的句法和语义,以完成情感分类任务。
基于GNN的情感分类方法通常是通过首先构建文本的图表示(如依赖树),然后应用GNN来学习良好的文本嵌入,这些嵌入将被用于预测情感的极性。为解决情感分类任务而开发的图构建技术和图表示技术在不同的方法中有所不同。本文将介绍并总结最近的情感分类方法中采用的一些有代表性的GNN相关技术。
知识图谱(KG)以结构化的形式表示现实世界的知识,在学术界和工业界引起了很大的关注。KG可以表示为一组三元组集合。在KG方面有三个主要任务,即知识图谱嵌入(KGE),知识图谱对齐(KGA),知识图谱补全(KGC)。本文将对基于图的KGC和KGA方法进行概述。
信息抽取(IE)的目的是提取给定句子或文档的实体对及其关系。IE是一项重要的任务,因为它有助于从非结构化文本中自动构建知识图谱。随着深度神经网络的成功,基于神经网络的方法已被应用于信息提取。然而,这些方法往往忽略了输入文本的非局部和非序列化的上下文信息。此外,重叠关系的预测,即共享相同实体的一对实体的关系预测,也不能得到妥善解决。为了这些目的,GNN已经被广泛用于建立文本中实体和关系之间的交互模型。信息提取由两个子任务组成:命名实体识别(NER)和关系提取(RE)。NER为句子中的每个词预测一个标签,这通常被认为是一个序列标注任务。RE为文本中的每一对实体预测一个关系类型。当输入文本中的实体被注释后,IE任务就退化为RE任务。基于GNN的IE方法通常通过pipeline的方式运作。首先,构建一个文本图。然后,实体被识别,实体对之间的关系被预测。本文是对基于GNN的不同技术的介绍。
在本节中主要讨论GNN在解析方面的应用,包括与语法相关的解析和与语义相关的解析。对于语法相关的解析,GNN已经被用于依赖性解析和成分解析的任务。对于语义相关的解析,本文简要介绍语义解析和AMR解析。
推理是NLP的一个重要研究方向。近年来,GNN开始在NLP推理任务中发挥重要作用,如数学单词问题解决,自然语言推理,常识推理等。本文将对这三个任务以及GNN在这些方法中的应用做一个简要介绍。
语义角色标注(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模型来解决,它由两部分组成,即图的构建和图的表示学习。
本文对各种GNN演化出的各种NLP问题进行了全面的概述。具体来说,首先提供了典型的GNN模型的初步知识,包括图过滤器和图池化方法。然后提出了一个新的分类法,沿着三个维度系统地组织GNNs for NLP方法,即图的构造、图表示学习和编码器-解码器模型。鉴于这些在NLP应用每个阶段的具体技术,从图构建、图表示学习和具体技术的角度讨论了大量的NLP应用。最后为进一步释放GNN在NLP领域的巨大潜力,本文提供了这一思路的大体挑战和未来方向。