AI科技评论报道
作者 | 陈大鑫
近些年来,深度学习已经成为处理NLP各种任务的主要方法。由于用图(graph)来表征文本可以更好的获取文本的结构信息,且随着火热的图神经网络的兴起,各种各样的NLP问题开始用图结构的形式来表示和学习。因此,为大量的NLP任务开发新的图深度学习技术就成为了一个必要的需求。
今天AI科技评论为大家介绍一篇论文:《Graph Neural Networks for Natural Language Processing: A Survey》,在这篇论文中来自京东硅谷研发中心 (JD.COM Silicon Valley Research Center) 的首席科学家吴凌飞博士等研究者为NLP中的图神经网络技术提供了一个详尽的综述。
论文链接:https://arxiv.org/abs/2106.06090
本文提出了一种新的面向NLP的GNNs(图神经网络)分类与综述,该分类法从图的构造、图表示学习和基于图的编码器-解码器模型三个方面系统地组织了已有的GNNs for NLP的研究。本文还进一步介绍了大量GNNs助力的NLP应用场景,并总结了相应的基准数据集、评估指标和开源代码。最后,文章讨论了 GNNs for NLP所面临的各种挑战以及未来的研究方向.
1
介绍
在NLP中,深度学习已经成为处理各种任务的主要方法,尤其是在大规模文本语料库中。之前在NLP任务中,文本序列被认为是一个token包,例如BoW和TF-IDF。而随着最近词嵌入(Word Embeddings)技术的成功,在NLP任务中,句子通常可以表示为一系列tokens。因此,递归神经网络和卷积神经网络等流行的深度学习技术被广泛应用于文本序列建模。
然而,有各种各样的 NLP 问题其实可以用一个图结构来表示。例如,可以利用文本序列中的句子结构信息(即依赖树和选区分析树等句法分析树),通过合并特定于任务的知识来扩充原始序列数据。
类似地,序列数据中的语义信息(即语义解析图,如抽象意义表示图和信息提取图)也可用于增强原始序列数据。因此,这些图结构的数据可以编码实体 tokens 之间复杂的成对关系,以便学习更多的信息表示。
不幸的是,由于图数据的复杂性,例如不规则结构和节点邻居大小的变化,对欧氏数据(例如图像)或序列数据(例如文本)具有破坏性的深度学习技术不能立即适用于图结构化数据。因此,这一差距推动了图深度学习研究的浪潮,特别是图神经网络(GNNs)的发展。
这一波研究浪潮在深入学习图和 NLP 的交叉上影响了各种自然语言处理任务。人们对应用和开发不同的GNNs变体的兴趣激增,并在许多NLP任务中取得了相当大的成功,其中包括句子分类等分类任务、语义角色标注、关系提取,到机器翻译、问题生成以及总结等生成任务。尽管这些已有的研究已经取得了一些成功,但是对于NLP图深度学习仍然面临如下诸多挑战,例如:如何自动将原始文本序列数据转换为高度图结构化的数据;如何正确地确定图表示学习技术,以及如何高效地建模复杂数据。
图1. GNNs for NLP 综述结构树
在这篇综述中,作者将首次对用于NLP的图神经网络进行全面的概述,本综述对机器学习和NLP社区都是一个及时雨,它涵盖了很多有趣的主题,比如NLP自动图构造、NLP图表示学习、各种基于GNNs的高级NLP编码器-解码器模型(如graph2seq、graph2tree和graph2graph),以及GNNs在各种NLP任务中的应用。
2
NLP中基于图的算法
本节首先从图的角度回顾 NLP 问题,详细论述了为什么要从图的角度处理NLP问题以及带来的益处。然后简要介绍一些具有代表性的传统的基于图的解决 NLP 问题的方法。例如,基于随机游走的图算法, 图聚类方法,图匹配的方法,以及label propagation的方法在NLP上的应用。但这些传统的基于图的方法在NLP领域有其局限性,比如表征能力弱以及没有统一的学习架构。
3
图神经网络
在前一节中已经说明了用于不同 NLP 应用的各种传统的基于图的方法。作为一篇self-inclusive的文章,读者可以在本章节学习到GNN的基本基础和方法。本章节将GNNs分解成为graph filter和graph pooling两部分分别对图神经网络基础进行介绍。Graph filtering部分介绍了spatial-based, spectral-based, attention-based以及recurrent-based 图卷积模型。Graph pooling则分别介绍了flat pooling和hierarchical pooling.
4
NLP的图构建方法
在上一节中,本文讨论了给定图输入后 GNN 的基本基础和方法。不幸的是,对于大多数 NLP 任务,典型的输入是文本序列而不是图。因此,为了充分利用 GNN 的强大力量,如何从文本序列构建图输入就成为了一个要求很高的步骤。本节中重点介绍了两种主要的图构建方法,即静态图构建和动态图构建,用于在各种NLP任务中构建图结构化输入。
静态图部分介绍了dependency graph, constituency graph, AMR graph,knowledge graph, topic graph 等图构建方法, 如下图所示:
(a)Depedency and constituency graph
(b) AMR graph
(c) Knowledge graph
(d) Topic graph
动态图部分介绍了依据similarity metric learning 和graph sparsity来构造隐式图结构的过程, 如下图所示:
5
NLP图表示学习
在上一节中,本文介绍了各种图构建方法,本节则将讨论对已构建好的图利用各种图表示学习技术进行学习和特征提取,用于各种 NLP 任务。图表示学习的目标是找到一种方法可以通过机器学习模型将图结构和其属性的信息合并到低维嵌入中。一般来讲,从原始文本数据构建的图要么是同构图,要么是异构图。因此,在第 5.1 节中,本文将讨论同构图的各种图表示学习方法,包括原始同构图的场景和一些从异构图转换的场景。在第 5.2 节中将讨论用于多关系图的基于 GNN 的方法。在第 5.3 节中,则将讨论用于处理异构图的基于GNN的方法。
6
基于编码器-解码器模型的图神经网络
这一章节我们讨论GNNs for NLP模型中的经典架构:编码器-解码器。传统的NLP模型也多采用该架构,例如Seq2Seq模型。许多研究工作都在开发基于 GNN 的编码器-解码器框架,包括 Graph-to-Tree 和 Graph-to-Graph 模型。本节首先介绍了典型的 Seq2Seq 模型,然后讨论针对各种 NLP 任务的各种基于图的编码器-解码器模型。
下图就是基于图的编码器-解码器模型的整体架构示例,其中包含了Graph2Seq和Graph2Tree模型,输入和输出来自JOBS640数据集。下图展示了所有编码器-解码器结构的细节图。图中像S1,S2这样的节点代表子树节点,新的分支从这生成。
7
应用
本节讨论使用 GNN 的各种典型 NLP 应用,包括自然语言生成、机器阅读理解、问答、对话系统、文本分类、文本匹配、主题建模、情感分类、知识图谱、信息提取、语义和句法解析、推理和语义角色标记。对于每个应用场景,作者介绍了其背景,主要技术细节,及其子任务和评估指标。整个内容概括如下图所示。
8
总的挑战(General Challenges )和未来方向
尽管GNNs在NLP领域已经取得了很多瞩目的成就,但作为一个新兴领域,目前还有很多挑战和待解决的研究方向。在这一节,作者讨论了NLP中 GNNs 的各种挑战,并指出未来的研究方向。作者相信在这些方面加大研究力度将进一步发挥GNNs在NLP领域的巨大潜力,进而取得丰硕的研究成果。