GNN for NLP纵览

62 篇文章 4 订阅

图片

paper:https://arxiv.org/abs/2106.06090.pdf

       近些年来,深度学习已经成为处理NLP各种任务的主要方法。尽管文本数据通常是由tokens的序列来表示,其实很多NLP任务使用图可以得到更好的表示。正因为如此,在图上使用深度学习技术(也就是GNN)解决NLP任务已经成为最近几年的热点。

       本论文把最近几年基于GNN的NLP论文做了收集整理,并提出了一种新的面向NLP的GNNs(图神经网络)分类体系,主要包括图的构造、图表示学习和基于图的编码器-解码器模型三个方面。论文还进一步介绍了大量GNNs助力的NLP应用场景,并总结了相应的基准数据集、评估指标和开源代码。最后,文章讨论了 GNNs for NLP所面临的各种挑战以及未来的研究方向。

一、背景

       时至今日,深度学习已经成为处理NLP各种任务的主要方法,尤其是在大规模文本语料库中。传统的做法是把文本序列当做词袋,例如BoW和TF-IDF,然而词袋模型不考虑token之间的顺序,会丢失token之间的语义信息。而随着NNLM以及word2vec等词嵌入(Word Embeddings)技术的成功,在NLP任务中,句子通常可以表示为tokens的序列,每个token用一个低维的稠密向量来表示,这样RNN和CNN等流行的深度学习技术就可以广泛应用于文本序列建模。

       然而,其实文本序列本身是有结构的,比如句法解析树,这些信息词会给原始文本序列增加额外的知识,类似地,序列数据中的语义信息(即语义解析图,如抽象意义表示图和信息提取图)也可用于增强原始序列数据。因此,这些图结构的数据可以编码token pair的关系,以便学习更多的信息表示。

       不幸的是,由于图数据的复杂性,例如结构的不规则和相邻节点数量不一致,深度学习不能直接应用在欧氏数据(例如图像)或序列数据(例如文本)上。因此,这一差距推动了图深度学习研究的浪潮,特别是图神经网络(GNNs)的发展。

       最近GNNs在许多NLP任务中取得了相当大的成功,其中包括分类任务:句子分类等分类任务、语义角色标注、关系提取以及生成任务:机器翻译、问题生成以及摘要等。尽管已经取得了一些成功,但是对于NLP图深度学习仍然面临如下诸多挑战:

a)如何将原始文本序列数据自动化转换为高质量图结构数据;

b)如何正确地选择图表示学习技术;

c)如何高效地建模复杂数据。

图片

       本论文从如下几个方面总结GNN for NLP的相关技术,包括NLP自动化图构造、NLP图表示学习、各种基于GNNs的高级NLP编码器-解码器模型(如graph2seq、graph2tree和graph2graph),以及GNNs在各种NLP任务中的应用,如图Figure1所示。

二、图神经网络

论文中涉及到的数学公式以及符号,如下表table1

图片

图片

2.1、基础概念
       GNN可以视为学习“对图数据的表示”的过程,而将图数据表示时一般有两种侧重点:关注于点的信息本身的(Node-focused Tasks,对于每个点都学“好的”特征,局部)和关注图整体信息的(Graph-focused Tasks,学习能“很好”表示整个图的特征,整体)。学习图中每个node的embedding向量,然后聚合node embedding成为图的embedding,通常会利用node embedding和图结构进行学习。GNN可以分解为graph filter和graph pooling,graph filter形式如下:

图片

      graph filter不改变图的结构,只是提炼了node embedding,图过滤层会被stack到L层作为最后的node输出embedding。

      类似CNN,graph pooling通过pooling操作把node embedding聚合生成为graph embedding。在GNN中,graph pooling输入node embedding和graph结构,生成一个node更少的新的小graph。形式如下:

图片

2.2、Graph Filtering

     常用的Graph Filtering方法有:spectral-based graph filters, spatial-based graph filters, attention-based graph filters and recurrent-based graph filters。

       spectral-based graph filters其中心思想是调整图的信号(就是对图做傅里叶变换以后得到的那些特征向量,这里我们不妨设这些向量模长都为1)的频率(指前面特征向量对应的特征值。我们知道了这两个部分就可以完整还原出原图所有的信息,这是信号处理的本质),使有些信号得到扩大/保持/减小/消除等。粗略地讲,我们就是在图的傅里叶变换里面对所有特征值作用一个共同的函数(以达到某种目的,具体细节在书里面有),然后我们要想办法用已有的知识来得到/逼近那个函数。但一般来说原来整个图的信息量非常大,各种关系错综复杂,所以传统的方法(例如梯度下降)会涉及巨大量计算。改进方法是用多项式形式(因为多项式具有很多良好性质,比如参数少,使矩阵乘法可交换等等)来逼近该函数,我们甚至可以(由切比雪夫多项式完备性)不妨设这些多项式是正交的。代表算法是GCN。

       spatial-based graph filters与传统CNN的卷积运算类似,基于空间的图滤波器基于节点的空间关系来操作图卷积。基于空间的图过滤器通过将目标节点的表示与邻居的表示进行卷积,得到目标节点的更新表示。另一方面,基于空间的图过滤器具有信息传播的思想,即消息传递。基于空间的图演化操作本质上是将节点信息作为消息沿边传播。代表算法有MPNN、GraphSage等等。

      attention-based graph filters受到self-Attention的启发,实现对不同的邻居节点赋予不同的权重。

       recurrent-based graph filters引入门控机制,不同GNN层之间进行参数共享。

2.3、Graph Pooling

       Graph Pooling通常有两类:flat graph pooling and hierarchical graph pooling。

       flat pooling layer只生成一个新点,使用方法有max-pooling,average pooling,gated global pooling等。

        hierarchical graph pooling是逐步学习graph-level embedding的,主要分为两种:一种是对原图重要node进行下采样;另一种是对原图node进行合并为新的node。

       对于flat pooling layer一般有三个必要的成分:一是需要有衡量原图点重要性的measure,二是要能生成新的图结构,三是要能生成新的图的点特征; 对于hierarchical graph pooling其也有三个必要的成分:一是要能生成新图中合成的“新点”,二和三和之前相同。

三、NLP的图构建方法

       前面介绍了给定图结构作为输入的GNN的基础和方法,然而实际中,NLP任务输入的通常是文本序列,而不是图,那么首先就需要基于文本序列来构建图,本节主要介绍静态图构造和动态图构造方法。

3.1、静态图构造

       静态图构造的思路是在数据预处理阶段通过关系解析工具(比如依存分析)或者手工定义规则来构建图结构。

        本文把GNN for NLP构建静态图的相关论文总结为如下表Table2的11个类别:

图片

a)Dependency Graph Construction

       dependency graph广泛地用来捕捉给定句子中不同对象之间的依赖关系。给定一个段落,可以通过使用各种NLP解析工具(例如,Stanford CoreNLP)获得依赖解析树(例如,句法依赖树或语义依赖解析树),然后可以从依赖解析树中提取依赖关系并将其转换为依赖图。此外,由于给定的段落具有顺序信息,而图节点是无序的,因此可以引入顺序链接以在图结构中保留这些重要信息。

    接下来我们介绍一下给定输入段落和对应的解析树来构造 dependency graph,主要分为如下三个步骤:1) constructing dependency relation, 2) constructing sequential relation和3) final graph conversion,如下图Figure2左边所示:

图片

Step 1: Dependency Relations

       对于段落的每个句子都需要进行依存解析,两个词和其之间的关系表示为(wi,reli,j,wj)。所有词和对应关系表示为Rdep

Step 2: Sequential Relations

          对段落中相邻的两个词进行编码来获取顺序关系,这个可以理解为对bi-gram进行编码,所有相邻词的编码集合表示为Rseq

Step 3: Dependency Graph

dependency graph是由每个词作为图节点以及上述两种关系(Rdep和Rseq)组成。

b)Constituency Graph Construction

      dependency graph只关注与单个词之间的依赖关系,属于word level;而constituency graph关注词或者短语之间的依赖关系,属于phrase level,这样可以获取到句子的语法结构。下面介绍一下constituency graph的实现步骤:

Step 1: Constituency Relations

        constituency relation抽取的是短语结构语法,不是依存关系,也不是依存句法,通常是从名词NP到动词VP的关系。constituency relation和依存解析树不同,依存解析树每个节点都是相同的类型,即都是终止节点;而constituency relation分为终止节点和非终止节点,终止节点就是句子的每个词,非终止节点就是constituency语法的label(比如,NP、VP等等),如图Figure2右边所示。

Step 2: Constituency Graph

同dependency graph的step3.

c)AMR Graph Construction

图片

        AMR图是有根的、有标记的、有向的、非循环的图,广泛用于表示非结构化文本和具体自然文本中抽象概念之间的高层语义关系。与句法特质不同,AMR是高级语义抽象。更具体地说,语义相似的不同句子可能共享相同的AMR解析结果,例如,“Paul将自己描述为一个斗士”和“Paul's description of highter:一个斗士”,如图Figure3所示。接下来,重点介绍了基于AMR解析树构造AMR图的一般过程:

Step 1: AMR Relations

        AMR解析树中有两种类型的节点:1)名称(例如“Paul”)是节点实例的特定值;2)概念可以是英语单词(例如“boy”)、PropBank框架集(例如“want-01”)或特殊关键字。名称节点是唯一的标识,而概念节点由不同的实例共享。连接节点的边称为关系(例如:ARG0和:name)

Step 2: AMR Graph

类似dependency and constituency graphs构造方法。

d)Information Extraction Graph Construction

图片

       此方法主要是抽取句子结构信息来获取high-level信息,很多NLP任务都需要获取跨句子的语义关系,IE图的构建通常分为如下三个步骤:1) coreference resolution, 2) constructing IE relations, and 3) graph construction

Step 1: Coreference Resolution

        共指消解是信息抽取任务的基本任务,主要是为了识别文本中相同实体的不同表达,比如Figure4中的the name ”Pual”, the noun-term ”He” 和 ”a renowned computer scientist”都是指Pual这个人。

Step 2: IE Relations

       从文本中获取三元组(比如使用OpenIE工具),如果两个三元组只有一个参数不同,那么只保留较长参数的三元组。

Step 3: IE Graph Construction

具体做法和上面两种类似,这里共指的多个短语会聚类到一个node上。

e)Discourse Graph Construction

此方法主要解决长文本依赖的问题

Step 1: Discourse Relation

       给定一个文档,首先划分为句子,然后再判断句子之间的先后关系。这种语篇关系已经探索了很多年了,比如Rhetorical Structure Theory (RST) 和G-Flow

Step 2: Discourse Graph

实现原理同上,区别在于IE图的node是句子,而不是word

f)Knowledge Graph Construction

Knowledge Graph从文本中抽取实体和关系,有利于NLP任务学习和推理。

图片

g)Similarity Graph Construction

图片

        similarity graph主要是计算node的相似性,通常和预处理阶段进行end-to-end的联合训练,如图Figure6所示。

Step 1: Similarity Graph

        从语料中抽取不同粒度的知识,比如实体、句子、文档本身;然后再通过其他机制来计算node的特征,比如TF-IDF、实体的embedding信息。在node pairs之间我们可以计算某种相似度sorce,比如余弦相似度,然后把相似度得分当做node pairs边的权重。

Step 2: Sparse mechanism

       step1得到的graph,边的权重有时候会比较小甚至还是负数,这些被认为是噪音,在similarity graph中作用通常不大,因此需要去掉,这里介绍两种做法:一是使用KNN来保留当前节点相邻的权重最大的k个节点;二是设定一个阈值,删除小于这个阈值的权重。

h)Co-occurrence Graph Construction

       co-occurrence graph共现图是计算固定窗口大小中两个词出现的频率,如图Figure7所示。

图片

Step 1: Co-occurrence Relation

       计算共现矩阵,这里介绍两种方法:一是计算固定窗口大小内两个词的共现频率;二是计算他们的互信息point-wise mutual information(PMI)

Step 2: Co-occurrence Graph

       节点是words,边就是上述计算的共现关系

i)Topic Graph Construction

       基于多个文档来学习主题模型,比如使用LDA,把文档和主题作为node,文档与对应的主题进行连接作为edge,如图Figure8所示。

图片

j)App-driven Graph Construction

        在一些NLP任务中,由于领域的特殊性,不能被转化为以上的静态图,比如下图Figure9的SQL graph

图片

3.2、动态图构造

       静态图可以很好的把数据中的先验知识编码到图结构中,但是也有一些不足,比如:首先,为了构造一个性能合理的图拓扑,需要大量的人力和领域专业知识。其次,人工构造的图形结构可能容易出错(例如,有噪声或不完整)。第三,由于图的构造阶段和图的表示学习阶段是不相交的,在图的构造阶段引入的错误不能被纠正,可能会累积到以后的阶段,从而导致性能下降。最后,图的构造过程通常仅由机器学习实践者的见解来决定,并且对于下游预测任务来说可能是次优的。

       为了解决上述静态图的问题,最近人们开始探索动态图的构建,而不需要依靠人力或领域专业知识。大多数动态图构造方法的目的是动态地学习图的结构(即加权邻接矩阵),并且图构造模型可以与后续的图表示学习模块以端到端的方式联合优化,以面向下游任务。如图10所示:

图片

       这些动态图构造方法通常包括用于通过考虑嵌入空间中的成对节点相似性来学习邻接矩阵的图相似性度量学习组件和用于从所学习的完全连通图中提取稀疏图的图稀疏化组件。

a)动态图相似性度量技术

       图结构问题可以看做是node embedding空间上的相似度度量问题,通常有Node Embedding Based Similarity Metric Learning and Structure-aware Similarity Metric Learning两种。

1)Node Embedding Based Similarity Metric Learning

      在embedding空间计算邻接矩阵任意两个节点的相似度,包括attention-based metric functions and cosine-based metric functions。

2)Attention-based Similarity Metric Functions

        大部分相似度评价函数都是基于注意力的,为了提高注意力的点乘能力,下面有两种对应的改进策略:

图片

图片

3)Cosine-based Similarity Metric Functions

Chen把经典的余弦相似度扩展为多头相似度,类似Transformer的多头注意力作用。

图片

4)Structure-aware Similarity Metric Learning

       受到structure-aware Transformer的启发,提出了structure-aware相似度评价函数

图片

图片

b)动态图学习范式

       GNN的动态图构造方法主要包括图结构学习和图表示学习,最终的目标是学习满足下游任务的图结构和图表示。动态图的学习范式主要有以下三种:一基于end-to-end的方式联合学习下游监督或者半监督任务的整个系统;二是自适应的学习GNN每层的结构,类似Transformer的多层结构;三是一种迭代的学习框架,基于图表示学习图结构,同时基于图结构来优化图表示。

四、NLP图表示学习

        上述介绍了NLP图构造方法,主要包括静态图和动态图。NLP图表示是基于已经构建好的图的,使用机器学习算法把图结构和属性信息表示成低维度向量来解决NLP问题的。通常从原始文本构建的图要么是同质的,要么是异质的。

4.1、GNN同质图

       node类型个数为1、edge类型个数为1的图称为同质图,比如GCN、GAT、GraphSage等等,然而这些算法在很多NLP任务上不能直接使用,例如,给定一个自然语言文本,所构造的依赖图是包含多个关系的任意图,传统的GNN方法无法直接利用。因此,在本小节中,我们将首先讨论将任意图转换为同质图的各种策略,包括静态图和动态图。然后,我们将讨论考虑双向编码的图神经网络。

4.1.1、静态图

静态图处理GNN问题分为两个阶段:转换edge信息和node表示学习。

a)转换edge信息到邻接矩阵

       转换edge信息到邻接矩阵的时候,忽略edge类型的信息,只保留连接信息。邻接矩阵中的元素Ai,j表示edge的权重,Ai,j=1表示均等连接,Ai,j=0是其他情况。静态图分为有向图和无向图,对于无向图,邻接矩阵是对称的,其他情况就未必了;有向图通过平均两个方向的edge权重(权重需要进行归一化后输入到GNN)可以转换为无向图。

b)Node Representation Learning

        有了node embedding矩阵X和邻接矩阵A,就可以使用GNN算法来得到node的表示了,对于无向图,常用的算法有GCN、GGNN,GAT、GraphSage等等;对于有向图,GGNN、GAT算法仍然适用,但是很多其他适用于无向图的算法并不能应用在有向图上,针对不同的算法会有一些相关的改进来应用于有向图,比如针对GCN,提出了spatial-based GCN算法DCNN;也可以通过修改聚合函数来匹配edge的方向,并且再分别进行聚合来修改算法GraphSage适用于有向图。

4.1.2、动态图

       动态图是图结构和下游任务一起学习的过程,早期是使用RNN的状态embedding来表示图node的embedding,最近更多的研究是基于注意力机制和度量学习来隐式的学习图结构。

4.1.3、GNN:双向图embedding

       为了充分对GNN进行编码,提出了BiGNN(类似BiLSTM)。首先来介绍一下数学符合便于理解下面的公式,vi ∈ V 是图G(V,E)的节点,它的临近节点是N(vi), 后项节点为N⊣(vi) ,前向节点为N⊢(vi) 。

     Xu首先提出使用双向扩展GraphSage算法(类似BiLSTM),公式如下:

图片

最后把这两个向量concatenate起来作为最后的表示。

Chen认为上述前向表示和后向表示是分开的,所以他提出了一种改进方案,每次迭代都把前向和后向的结果进行融合,公式如下:

图片

图片

最后使用GRU来更新node embedding,公式如下:

图片

上述都是一些特殊的GNN方法,Ribeiro进一步提出了一种通用的BiGNN方法,首先是双向进行编码,然后把双向的结果和前一层的结果进行concatenate,公式如下:

图片

图片

GNN可以是GNNs的任意一种变体。

4.2、GNN多关系图

        实际中,许多图edge的类型都比较多,比如知识图谱、AMR图等等。把node类型个数为1,edge类型个数大于1的图,称为多关系图。大部分多关系GNN都会为每个关系配置特殊的参数,经典的多关系图模型有:R-GCN、GGNN(R-GGNN)和GAT(R-GAT),甚至还可以应用注意力机制。

4.3、图Transformer

        Transformer在NLP领域取得了非常大的成就,然而传统的Transformer不能抽取图结构信息,受到GAT模型的启发,可以实现structure-aware 自注意力的多关系抽取。

        根据self-Attention实现方式不同,分为类似GAT特征聚合一样的R-GAT和引入结构化信息到self-Attention中。
a)R-GAT Based Graph Transformer

首先回顾一下Vanilla Transformer的注意力计算逻辑:

图片

下面介绍R-GAT 图Transformer,与Vanilla Transformer符合相同,则含义相同,

首先聚合邻节点,然后使用FFN进行整合,公式如下:

图片

同样也可以进行双向编码,公式如下:

图片

图片

引入门控机制来同时对双向编码进行融合:

图片

图片

node表示的最终输出是

图片

b)Structure-aware Self-attention Based Graph Transformer

Shaw在机器翻译任务对词之间的相对关系进行建模

图片

Xiao和Zhu扩展了传统的self-Attention架构,在隐空间对node pair进行关系编码,公式如下:

图片

Cai和Lam采用双向关系扩展了传统的self-Attention,公式如下:

图片

4.4、GNN异类图

node类型个数大于1,并且edge类型个数大于1,这类图称为异类图。

4.4.1、Levi Graph

       同类图对于处理edge类型很多的时候,往往计算代价比较大;而异类图可以对图做一些变换,把edge当做node来处理,从而提高效率,典型的就是Levi Graph。

       Levi Graph的具体做法是把每个edge转换成node,并且切断两个node(词)的edge,再在中间插入这两个node关联的edge生成的新node

4.4.2、基于Meta-path的异类图

       元路径是连接两个对象的复合关系,是一种广泛应用的语义捕获结构。以电影数据IMDB为例,有三种类型的节点,包括Movie、actor和director。元路径Movie→ actor→ Movie涵盖两组电影和一个演员,描述了男女关系。这样,异构图中节点之间的不同关系可以很容易地被元路径所揭示。

       大多数基于元路径的GNN方法都采用基于注意的聚合策略。从技术上讲,它们一般分为两个阶段。首先,它们沿着每个元路径聚集邻域,称为“节点级aggregation”。然后,节点通过不同的元路径接收邻居信息。其次,运用元路径层次的注意来学习不同元路径的语义影响。这样,他们就可以学习多个元路径连接的邻域的最优组合。在下面,我们将讨论两个典型的异构GNN模型。

a)HAN

       由于图结构的异类性,不同的node有不同的特征空间,这给GNN初始化node embedding带来了比较大的挑战,因此需要对不同的node隐射到同一个特征空间中,公式如下:

图片

• Node-level Aggregation

对于meta-pathΦk上node vi聚合特征表示如下:

图片图片

{ZΦ1,...,ZΦp}是所有node的表示

• Meta-path Level Aggregation

不同的meta-path传达不同的语义信息,对于每一个meta-path的重要性计算如下:

图片

Meta_Attn()表示注意力计分器。

每个meta-path学习每个node的语义重要性,然后平均每个node来获得mate-path的得分,公式如下:

图片

最终计算公式如下:

图片

b)MEIRec

MEIRec是基于GNN的异类推荐系统

4.4.3、基于R-GNN的异类图

常见的算法有HGAT、MHGRN、HGT

五、基于Encoder-Decoder框架的GNN模型

       Encoder-Decoder框架在NLP领域是广泛应用的,比如Seq2Seq、Transformer等。最近很多研究者使用GNN对图结构数据进行建模,比如Graph-to-Sequence、Graph-to-Tree、Graph-to-Graph。

5.1、Graph-to-Sequence模型

      在NLG一、seq2seq详解以及相应trick介绍文中,我们详细探讨了seq2seq模型的基本结构以及分析不足的改进措施。

        本次将介绍seq2seq的扩展,即Graph2Seq。它的编码器是GNN,解码器可以是RNN、Transformer等等,目前在多个领域的表现已经超过seq2seq了,比如机器翻译、AMR2Text、文本摘要、问答生成、KG2Text、SQL2Text以及语义解析。

        Graph2Seq的编码器就是上面介绍的模型包括他的改进,比如GCN、GGNN、GraphSage、GAT等等。node和edge的初始化非常关键,通常使用CNN、BiRNNs进行初始化,当然BERT等预训练模型也可以。Graph2Seq的解码器可以参考seq2seq,比如copy机制、coverage机制、scheduled sampling等。同样的道理,也可以做一些改进,比如为了copy包括多个token作为属性的node,扩展了token-level copy到node-level copy;也可以把seq2seq Encoder输出和Graph2Seq Encoder输出同时使用,公式如下:

图片

       为了解决训练和测试的暴露偏差(交叉熵训练),Chen提出了使用交叉熵损失和强化学习损失两部分的混合。

不足之处:

尽管Graph2Seq模型在某些任务上表现比较好,但是仍然有一些不足

a)如何对多关系或者异类图进行建模;

b)如何扩展到大规模图,比如知识图谱;

c)如何把图结构和表示学习进行融合;

d)如何处理over-smoothing问题

5.2、Graph-to-Tree模型

        Graph-to-Sequence模型只是在输入端考虑了结构化信息,然而很多NLP任务在输出侧也带有结构信息,比如语法解析树、语义解析树,还包括一些数学符号问题(在线教育智能解数学题就需要),下面介绍一下Graph2Tree的过程。

a)graph construction

       图构建和具体任务相关,主要分为两类:需要辅助信息和不需要辅助信息。对于需要辅助新的任务,比如语言解析和数学符号问题,他们使用了原始的语句和语法解析树。对于不需要辅助信息的任务,比如Zhang使用不同的数字建立数学符号问题。

b)graph encoder

可以使用基本的GCN、GGNN、GraphSage等等。

c)attention机制

       注意模块是编解码框架中的一个关键组件,它承载着连接输入输出语义的重要信息。在graph2tree模型中,输入图通常包含不同类型的节点,而传统的注意模块无法区分这些节点。在Li论文中,作者使用独立注意模块来计算输入图中不同节点的注意向量,其中一些节点来自原始句子,而另一些节点则由外部解析器生成的解析树中的节点组成。实验证明,区分这两种类型的节点比原来的注意模块有利于更好的学习过程。这个想法类似于Tree2Seq注意模块在机器翻译中的应用。

图片

        解码器通过将一些分支节点表示为非终端节点(Figure12中的节点S1)来生成树结构。一旦这些节点生成,解码器将开始新的顺序解码过程。在时间步t处的解码器隐藏状态st被计算

图片

spar , ssib表示父节点和sibling节点的隐藏状态,当隐藏状态生成后,包括注意力模块的输出模块计算如下:

图片

zv是node v的embedding向量,V1是原始句子所有的词,每一步最终的注意力隐藏向量是:

图片

d)tree decoder

       树解码器可以分为两个主要部分,如图Figure12所示,即基于dfs(深度优先搜索)的树解码器和基于bfs(广度优先搜索)的树解码器。

       对于基于bfs的解码器,其主要思想是将树中的所有子树表示为非终端节点,然后使用序列解码生成中间结果。如果结果包含非终端,那么我们开始分支(开始新的解码过程),将此节点作为新的根节点,直到整个树展开。

       对于基于dfs的解码器,他们将整个树生成过程视为一系列动作。例如,在Zhang论文中生成二叉树(数学方程)时,在每一步优先生成根节点,随后生成左子节点。在生成所有左子节点后,采用自下而上的方式开始生成右子节点。

5.3、Graph-to-Graph模型

5.3.1、Graph-to-Graph转换

       Graph-to-Graph转换是使用深度学习把源域输入图转换到目标域输出图中,通过有三种方式:只转换node、只转换edge和两者都转换。
a)信息抽取任务的转换

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

b)语义解析的转换

       语义解析的任务是将自然语言映射到机器可解释的意义表示,而机器可解释的意义表示又可以用许多不同的形式表示,包括lambda演算、基于依赖关系的组合语义、框架语义、抽象意义表示(AMR)、最小递归语义,话语表征理论。显式或隐式地,任何形式的表示都可以表示为有向无环图(DAG)。因此,语义划分也可以形式化为一个图转换问题,其中输入是依赖图或构成图,输出是语义的有向无环图。例如,AMR的语义形式主义可以编码为有根、有向、无环图,其中节点表示概念,标记的有向边表示它们之间的关系。

六、GNN for NLP的应用场景

图片

七、GNN for NLP开源库介绍

       Graph4NLP库提供了一下NLP应用的SOTA实现,比如文本分类、语义解析、机器翻译、NLG等等。它提供了灵活的客户化接口,提供了完整的开发pipeline支持,总共有四个不同的layer:1) Data Layer, 2) Module Layer, 3) Model Layer, and 4) Application Layer。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wshzd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值