作者:吴、李编辑:我好困。
【新智元简介】图不仅包含数据,还包含数据之间的依赖关系,因此图神经网络(GNN)在自然语言处理(NLP)方面具有巨大的潜力。最近,一组中国医生发表了这些研究的非常详细的总结。
图是一种通用语言,可以用来描述和建模复杂系统。
图在自然语言处理世界中无处不在,例如用于描述句法信息的依赖树和选区树,以及用于描述语义信息的AMR图。
与简单地将自然语言建模为一个包或序列相比,图可以捕捉到更丰富、更详细的自然语言信息。
因此,对于许多自然语言处理任务来说,图是一种非常合理的表示。
例如,对于跨文本阅读理解的任务,如果我们能够提取文本中的实体信息,并以图表的形式建立它们之间的各种关系,将有效地帮助文本理解。
图形神经网络(GNN)正是处理和建模图形结构数据的最佳选择。
GNN原则
GNN工作原理的一个简单概述是聚合节点的相邻节点/边的信息来更新节点的向量表示。
近年来,深度学习已经成为自然语言处理领域的主要技术手段。
在GNN被引入并广泛使用之前,深度学习领域缺乏一种神经网络架构,能够像CNN处理网格数据一样处理任意图结构数据。
随着GNN研究的不断高涨,越来越多的研究开始尝试与GNN一起解决各种自然语言处理问题。
近日,硅谷研发中心首席科学家吴博士;d中心和他的团队发表了第一份针对NLP的GNNs的详细概述。
论文:https://arxiv.org/pdf/2106.06090.pdf
https://github.com/graph4ai/graph4nlp/
本文从“非线性规划图的构造”、“非线性规划图的表示学习”、“基于GNN的编码器”
解码器模型和GNN在自然语言处理任务中的应用对现有的研究进展进行了详细的回顾和解读。
整个总结总共127页,包括87页的文字,12种图的构建方法,12个涉及NLP各个方面的应用场景。
此外,还覆盖了500篇顶级AI/ML/NLP文章,最后对当前面临的挑战和未来的研究方向做了独特的总结。
自然语言处理图构造、自然语言处理图表示学习、基于GNN的编解码模型以及GNN在自然语言处理任务中的应用
不管你是想了解这个方向的最新研究进展,对面向NLP应用管道的GNNs的概述,还是对其中一个子模块感兴趣,本文都会给你一些启发。
作者的团队还为这篇文章配备了graph4nlp库,该库已在github上发布,为想要从事实际工作的研究人员提供了一个非常好的机会。
# GNN4NLP研究面临的挑战
尽管GNN在各种自然语言处理任务中取得了巨大成功,但自然语言处理仍然是一个相对年轻且发展迅速的研究领域,面临许多挑战:
1.如何将文本数据自动转换为有效的图结构数据,并保留对下游任务有帮助的重要信息;
2.如何为不同类型的图结构数据开发有效的GNN模型;
3.如何从头到尾学习复杂类型数据之间的映射关系(如graph2seq、graph2tree、graph2graph)。
#自动构建图表
不同类型的自然语言处理任务通常需要不同层次的文本信息。例如,诸如词性和句法的信息对于命名实体识别的任务是有帮助的。对于阅读理解任务,实体关系等语义信息可能非常有帮助。
另一方面,不同类型的图形通常包含不同类型的信息。因此,如何选择合适的图构造方法对GNN在下游任务中的表现至关重要。
本文将所有已知的图构造方法分为两类:静态组合方法和动态组合方法。
#静态图形构造
静态图形构造有两个特点:
1.引入先验领域知识扩展文本信息;
2. 在预处理阶段完成。
dependency graph和constituency graph两种静态图构建方式
本文从以往发表的文献中,总结出10余种有代表性的静态图构建方式,并将其归类为句法信息、语义信息、主题信息等多个维度。
动态图构建
动态图构建是近两年来新兴出现的一种自动构图方式,其最大的特点是:
1. 针对下游NLP任务,对图结构和图表征进行端到端联合学习;
2. 可以动态进行。
动态图构建的常见流程:
1. 图相似度量学习模块计算节点之间的相似关系,返回一个全连通加权图;
2. 图稀疏化模块对全连通图进行稀疏化处理,得到稀疏图;
3. 如果已知初始的图结构信息,那么也可以将初始的图结构和学习到的隐图结构结合起来,获得更有效的图结构信息。
同时,本文总结了各类目前已知有效的动态图构建方式,并归纳出如下4个技术维度和相应的代表性技术。
# 图表示学习
当从非结构化的文本中获取到了想要的图,又该如何进行图表示学习?
不要慌,本文从几百篇文献中,系统性的总结了实际研究中碰到的图的类型,以及怎么转化,最终怎么用、用什么GNN进行编码学习的流程。
首先,根据图的节点和边的属性是否唯一,将图归类为:
1. 具有单一节点和边属性的同构图(homogeneous graph);
2. 具有单一节点属性,但边属性不唯一的关系图(multi-relational graph);
3. 节点属性不唯一的异构图(heterogeneous graph)。
其次,这些图之间是存在互相转化的可能的,因此本文总结了这些不同的图可能存在的转化模式,比如说如何从一个异构图转化成多关系图等等。
这些转化为图神经网络的应用提供了更多的可能与选择。
最后,当搞清楚图的结构和转化后,该如何选择合适的图神经网络进行学习?
本文总结了针对每一种图目前已有的经典的图神经网络,让使用起来不再感到无从下手!
1. 对于同构图,我们总结了一类成为homogeneous GNN的图神经网络类型。最常见的比如GCN,GAT等等。特别的,我们注意到很多GNN比如GCN是针对无向图而实际中很多同构图是有向的,因此我们针对有向图和无向图进行了详尽的讨论。
2. 对于多关系图,由于针对边的属性如何被应用,总结了不同的multi-relational GNN。最常见的有R-GCN, R-GGNN等等。值得一提的是,我们发现火爆全网的Transformer也被研究者用来学习多关系图使用。我们将它视为一种特殊的多关系图,进行了系统的分析。
3. 对于异构图,由于图的节点和边的属性都不限,因此这方面的工作自由度很高,我们统称为heterogeneous graph。常见的有基于元路径的(meta-path based),关系神经网络延伸的(R-GNN based)等等。
流程图
# 编码器-解码器模型
Encoder-decoder架构可以说是近年来NLP领域中应用最为广泛的框架之一。
但在不同任务场景中,如何因地制宜地设计encoder,decoder,也是极为重要的问题。
结合GNN对图结构数据的强大建模能力,许多研究者开始关注如何在Encoder-decoder架构中用好GNN。
本文对这个方向的研究进展作了系统地梳理和回顾,并将相关文献分为以下三个类别:
* Graph2Seq(图到序列)
* Graph2Tree(图到树)
* Graph2Graph(图到图)
Graph2Seq&Graph2Tree;示意图
对于这三个角度,本文详细介绍了Graph based encoder-decoder模型的发展脉络。
其中不仅包括GNN的使用,也有各种各样相关的decoding techniques。
同时,对于最近备受关注的基于graph 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 Classication):1. 文本分类(Text Classication)
* 文本匹配(Text Matching):1. 文本匹配(Text Matching)
* 主题模型(Topic Modeling):1. 主题模型(Topic Modeling)
* 情感分类(Sentiment Classication):1. 情感分类(Sentiment Classication)
* 知识图谱(Knowledge Graph):1. 知识图谱补全(Knowledge Graph Completion),2. 知识图谱对齐(Knowledge Graph Alignment)
* 知识抽取(Information Extraction):1. 命名实体识别(Named Entity Recognition),2. 关系抽取(Relation Extraction),3. 联合学习模型(Joint Learning Models)
* 句法解析和语义分析(Parsing):1.句法解析(syntactic parsing) 2. 语义分析(semantic parsing)
* 推理(Reasoning):1. 解决数学应用题(Math Word Problem Solving),2. 自然语言推理(Natural Language Inference),3. 常识推理(Commonsense Reasoning)
* 语义角色标注(Semantic Role Labelling):1. 语义角色标注(Semantic Role Labelling)
对于每一个任务,按照以下三点进行剖析:
1. 该任务的研究背景(background)和使用图神经网络的动机(motivation);
2. 使用图神经网络的方法(methodology);
3. 该任务已有的数据集(benchmark)和评测指标(evaluation)。
针对最关心的方法部分,本文做了如下总结:
1. 构图技巧;
2. 图表示学习方法;
3. 一些特殊方法的层次进行详细的说明。
总结
# 团队介绍
本文的作者是:
京东硅谷研发中心(JD.COM Silicon Valley Research
Center)的首席科学家吴凌飞博士;西蒙弗雷泽大学的裴健教授;京东零售集团搜索和推荐平台部副总裁龙波博士等研究者。
Graph4NLP 相关软件包,综述,讲座和文献:
Survey: http://arxiv.org/abs/2106.06090
Library: https://github.com/graph4ai/graph4nlp
Demo: https://github.com/graph4ai/graph4nlp_demo
Tutorials: Graph4NLP-NAACL'21(Slides: google drive, baidu netdisk(drs1))
Literature Review: https://github.com/graph4ai/graph4nlp_literature
论文地址:
https://arxiv.org/pdf/2106.06090.pdf
―完―
欢迎点赞~ 关注 新智元 及时了解人工智能新动态~