图是一种用于描述和建模复杂系统的通用语言。
在自然语言处理(NLP)领域,图的应用非常广泛,例如用于表示句法信息的依存树和成分树,以及用于表达语义信息的AMR图。
与将自然语言简单地建模为词袋或序列的方法相比,图能够更全面地捕捉自然语言中的丰富和细致的信息。
因此,对于许多NLP任务而言,图是一种合适的表示方式。
例如,在跨文本阅读理解任务中,如果能够提取文本中的实体信息并以图的形式建立它们之间的各种联系,将极大地促进文本理解。
图神经网络(GNN)正是专门设计用来处理和建模图结构数据的。

GNN的基本原理
GNN的工作机制可以概括为,通过聚合节点的邻居节点或边的信息来更新节点的向量表示。
近年来,深度学习已成为NLP领域的主流技术。在GNN被引入并广泛应用之前,深度学习领域缺乏一种适合处理任意图结构数据的神经网络架构,类似于CNN处理网格数据的方式。
随着GNN研究的持续推进,越来越多的研究开始探索利用GNN解决各种NLP问题。
最近,京东硅谷研发中心的首席科学家吴凌飞博士及其团队发表了首篇关于GNN在NLP应用中的综合性综述。

论文链接:
https://aRxiv.oRg/pdf/2106.06090.pdf
GitHub链接:https://Github.coM/gRaph4AI/gRaph4nlp/
该文从四个方面,即「NLP图构建」、「NLP图表示学习」、「基于GNN的编码器-解码器模型」以及「GNN在NLP任务中的应用」,对现有研究进展进行了详细回顾和解读。
整篇综述共127页,其中87页为正文,涵盖了12种图构建方法和12个应用场景,涉及NLP的各个方面。
此外,文中还参考了500篇顶级AI/ML/NLP文献,并对当前面临的挑战及未来研究方向做出了独到的总结。

NLP图构建、NLP图表示学习、基于GNN的编码器-解码器模型及GNN在NLP任务中的应用
无论是希望了解最新研究进展,概览GNN在NLP应用中的工作流程,还是对某个具体子模块感兴趣,本文都能为您提供帮助。
作者团队还为本文提供了gRaph4nlp库,已在GitHub上发布,为希望进行实践操作的研究者提供了良好机会。
GNN在NLP研究中的挑战
尽管GNN在多种NLP任务中取得了显著成功,但GNN在NLP中的应用仍是一个相对年轻且快速发展的领域,面临多种挑战:
如何将文本数据自动转换为有效的图结构数据,并保留对下游任务有帮助的重要信息;针对不同类型的图结构数据,开发有效的GNN模型;如何端到端学习复杂类型数据之间的映射关系(如图到序列、图到树、图到图)。自动化图构建
不同类型的NLP任务通常需要不同层面的文本信息。例如,词性和句法信息对于命名实体识别任务有帮助,而实体关系等语义信息则对阅读理解任务至关重要。
另一方面,不同类型的图通常包含不同类型的信息。因此,选择合适的图构建方式对于GNN在下游任务中的表现至关重要。
本文将现有的所有图构建方式分为两类:静态构图和动态构图。

静态图构建
静态图构建具有两个主要特点:
引入先验领域知识以扩充文本信息;在预处理阶段完成。

依存图和成分图是两种静态图构建方式
本文从以往的文献中总结出十余种有代表性的静态图构建方式,并将其归类为句法信息、语义信息、主题信息等多个维度。

动态图构建
动态图构建是近年来新兴的自动构图方式,其最大特点是:
针对下游NLP任务,对图结构和图表示进行端到端的联合学习;可以动态进行。
动态图构建的常见流程包括:
图相似度量学习模块计算节点之间的相似关系,并返回一个全连通加权图;图稀疏化模块对全连通图进行稀疏处理,得到稀疏图;如果已知初始的图结构信息,则可以将其与学习到的隐图结构结合,获得更有效的图结构信息。

同时,本文总结了各种已知有效的动态图构建方式,并归纳出四个技术维度及相应的代表性技术。

图表示学习
当从非结构化文本中获得所需图时,如何进行图表示学习呢?
别担心,本文从数百篇文献中系统总结了实际研究中遇到的图类型,以及如何转化,最终如何使用和选择GNN进行编码学习的流程。
首先,根据图的节点和边的属性是否唯一,将图分类为:
具有单一节点和边属性的同构图;具有单一节点属性但边属性不唯一的关系图;节点和边属性均不唯一的异构图。
其次,这些图之间可以互相转化,因此本文总结了不同图的转化模式,例如如何从异构图转化为多关系图等。
这些转化为图神经网络的应用提供了更多可能性与选择。
最后,在明确图的结构和转化后,如何选择合适的图神经网络进行学习?
本文总结了已有的经典图神经网络,帮助用户不再感到无从下手!
对于同构图,我们总结了一类名为同构GNN的图神经网络类型,常见的如GCN和GAT等。特别值得注意的是,许多GNN(如GCN)是针对无向图的,而实际中许多同构图是有向的,因此我们对有向图和无向图进行了详细讨论。对于多关系图,由于边属性的不同应用,总结了不同的多关系GNN,如R-GCN和R-GGNN等。值得一提的是,广受欢迎的Transformer也被研究者用于学习多关系图,我们将其视为一种特殊的多关系图,进行了系统分析。对于异构图,由于节点和边属性不受限制,这方面的研究自由度较高,我们统称为异构图,包括基于元路径和关系神经网络延伸的等多种方法。
流程图
编码器-解码器模型
编码器-解码器架构是近年来NLP领域中应用最广泛的框架之一。
然而,在不同任务场景中,如何因地制宜地设计编码器和解码器也是一个重要问题。
结合GNN在图结构数据建模方面的强大能力,许多研究者开始关注如何在编码器-解码器架构中有效利用GNN。
本文系统梳理了这一方向的研究进展,并将相关文献分为以下三类:
图到序列(Graph2Seq)、图到树(Graph2Tree)、图到图(Graph2Graph)。

图到序列与图到树示意图
本文详细介绍了基于图的编码器-解码器模型的发展脉络。
其中不仅涵盖了GNN的应用,还有各种相关的解码技术。
同时,对近期广受关注的基于图Transformer的生成模型,本文也进行了分析和比较,并总结了一些当前面临的关键挑战。
NLP应用任务
那么,图神经网络究竟在哪些领域得到了应用呢?
本文总结了来自12个不同方向、26个任务的百余篇文献,提供了最详细的实际应用解读:
自然语言生成(NLG):1. 机器翻译(Neural Machine Translation),2. 摘要生成(Summarization),3. 结构化数据到文本生成(Structural-data to text),4. 文本问题生成(Neural Question generation)。
机器阅读理解与问题回答(MRC and QA):1. 机器阅读理解(Machine Reading Comprehension),2. 基于知识库的问题回答(Knowledge Base Question Answering),3. 开放领域问题回答(Open-domain Question Answering),4. 基于社区的问题回答(Community Question Answering)。
对话系统(Dialog systems):1. 对话状态跟踪(Dialog State Tracking),2. 对话回应生成(Dialog Response generation),3. 下一个话语选择(Next Utterance Selection)。
文本分类(Text Classification):1. 文本分类(Text Classification)。
文本匹配(Text Matching):1. 文本匹配(Text Matching)。
主题模型(Topic Modeling):1. 主题模型(Topic Modeling)。
情感分类(Sentiment Classification):1. 情感分类(Sentiment Classification)。
