DLG4NLP

一、DLG4NLP背景与发展

1.为什么需要图来处理NLP任务

在NLP领域里,我们也会发现很多很多可以表示为图结构的数据,比如针对一个句子,如果我们想表示这个句子里的句法信息的话,可以建立一个dependency graph或constituency graph;如果我们想捕捉句子的语义信息的话,可以建立一个AMR graph或者IE graph;如果我们把程序语言也看作一种自然语言的话,我们可以构建出捕捉程序逻辑关系的SQL graph。

2.传统图方法在NLP任务的应用

传统NLP领域的表征方法一般分为3种:

第一种采用词袋来表征文本,该方法依靠统计每个词在句子或文档里的频率,但是这种方式无法捕捉词语之间顺序或者无法捕捉词语之间的语音信息。

第二种把文本表示成序列,相对于词袋会捕捉更多的序列信息,并且会包含词对之间的前后关系,典型方法有Word2vec和Glove。

第三种把文本表示成图,比较常见的有dependency graph和constituency graph等。当我们把一个文本表示成图后,就不再局限于前后位置的序列关系,我们可以捕捉到任意两个位置之间的关系,除了位置关系,我们还可以捕捉语义关系。所以当我们对句子的文本表示越彻底越全面时,对表征学习任务帮助越大。

3.图深度学习基础理论

图神经网络的核心思想是依靠邻居节点的表征向量对目标节点的影响,不断地更新和学习每个节点的隐式特征。不同的图神经网络之间的差异在于所定义的邻居节点对目标节点的影响方式和信息传递的方式不同。图神经网络既可以计算节点的表征向量node embedding,也可以计算整个图的表征向量graph-level embedding。通过图卷积方式计算节点的表征向量的不同,图卷积有四个比较典型的代表:Spectral-based,Spatial-based,Attention-based,Recurrent-based。该四个类型并不相互排斥,一种图卷积方法既可以是Spatial-based也可以是Attention-based。

根据不同的图卷积方式和pooling(池化)层,我们可以得到不同的图神经网络,比如GCN,GAT等。

二、DLG4NLP方法和模型

1.如何构造NLP的图结构

自然语言里对文本的图构造可以分为两类:

静态图构造;

动态图构造。

静态图构造的输入可以为原始的句子、段落或者文档,输出是我们针对输入所构造出的图结构。静态图可以在预处理阶段完成,但是它需要有一些对句子或文档文本的领域信息,比如一些语法信息、语义信息、逻辑信息和主题信息,根据领域信息对句子或者文本构造一个图。

根据不同的信息或者文本,静态图可以进一步细分。

首先是Dependency Graph,该图结构依赖于dependency parsing,可以用来捕捉句子的句法信息,它更注重两个词之间的句法关系,所以该图结构是一个比较简洁的构图表示。如果我们想用图表示整个文档的话,我们可以结合连续边的信息来表示文档中句子之间的前后关系。

Constituency Graph展现的是句子的句法信息,更注重整个句子的结构,而不是局限于句子中两个词之间的句法关系。所以它更全面地展示了整个句子的结构性。

相对Dependency Graph,Constituency Graph展现的是句子的句法信息,更注重整个句子的结构,而不是局限于句子中两个词之间的句法关系。所以它更全面地展示了整个句子的结构性。

静态图构建是需要额外的领域信息来增强句子本身的信息组成的图结构。常用的信息有句法信息、语义信息、主题逻辑信息、co-occurrence信息,甚至基于应用的信息。所以根据不同的领域信息,可以构造出不同的静态图结构。

动态图构造不需要有额外的领域知识去知道如何构图,该方法直接把文本丢给机器,让机器自己去学习图结构。

动态图构建中最重要的一个步骤是相似矩阵学习,其核心是计算任意两个节点特征向量相似度。首先需要设置一个相似的kernel去定义这两个embedding的相似度。两种典型的做法:一个是Node Embedding Based方法,第二个是Structure-aware方法。

静态图的优点可以依靠人为构造去捕捉一些先验目标指示,其缺点是人为构造会产生噪声。同时无法确定构建的图结构对下游任务是否有帮助。当我们确定所掌握的领域知识是跟下游任务是匹配时,可以应用静态图结构。

动态图的优点是比较简便,不需要额外的领域知识直接让机器去学习最优的图结构,其图结构和图表征的学习过程可以相互促进。缺点是图结构的可解释性几乎为零,不太能解释两个节点之间的关系和代表的含义,第二个缺点是由于是全连接的图导致稳定性很差。当缺少一些领域知识或者不确定用什么图去解决下游任务时,可以选择动态图构建来帮助我们去学最优的图结构。

2.如何做NLP的图表征学习

图表征学习分为三种,为Homogeneous Graph、Multi-relational Graph和Heterogenous graph。Homogeneous Graph只有一种节点类型以及一种边类型。Multi-relational Graph是一种节点类型以及多种边类型。Heterogenousgraph则是多种节点类型和多种边类型。

你可能感兴趣的:(#,文章阅读,自然语言处理,人工智能)