图神经网络(GNN):原理、挑战与应用
图神经网络(GNN):原理、挑战与应用
图神经网络(Graph Neural Networks,简称GNN)是一种专门用于处理图结构数据的神经网络模型。与传统的神经网络不同,GNN能够有效地捕捉和利用数据之间的复杂关系,因此在自然语言处理(NLP)、社交网络分析、推荐系统等多个领域都有广泛的应用。
图神经网络(GNN)介绍
图不但包含数据,也包含数据之间的依赖关系,因而图神经网络(GNN)在自然语言处理(NLP)方面的表现有着非常大的潜力。图神经网络(GNN)最擅长处理和建模图结构数据。
GNN的工作原理简单概况就是,聚合节点的邻居节点/边的信息,来更新节点的向量表征。
GNN面临的挑战
GNN4NLP面临诸多挑战:
- 如何自动地把文本数据转换成有效的图结构数据,并保留对下游任务有帮助的重要信息;
- 如何针对不同类型的图结构数据,开发出有效的GNN模型;
- 如何端到端地学习复杂类型数据之间的映射关系(例如Graph2Seq, Graph2Tree, Graph2Graph)。
自动化图构建
目前已知的所有图构建方式分为两类:静态构图方式和动态构图方式。
静态构图方式
静态图构建有两大特点:
- 引入先验的领域知识来扩充文本信息;
- 在预处理阶段完成。
动态图构建
动态图构建最大的特点:
- 针对下游NLP任务,对图结构和图表征进行端到端联合学习;
- 可以动态进行。
动态图构建的常见流程:
- 图相似度量学习模块计算节点之间的相似关系,返回一个全连通加权图;
- 图稀疏化模块对全连通图进行稀疏化处理,得到稀疏图;
- 如果已知初始的图结构信息,那么也可以将初始的图结构和学习到的隐图结构结合起来,获得更有效的图结构信息。
图表示学习
当从非结构化的文本中获取到了想要的图后,将进行图表示学习。首先,根据图的节点和边的属性是否唯一,将图归类为:
- 具有单一节点和边属性的同构图(homogeneous graph);
- 具有单一节点属性,但边属性不唯一的关系图(multi-relational graph);
- 节点属性不唯一的异构图(heterogeneous graph)。
其次,这些图之间是存在互相转化的可能的,不同的图可能存在的转化模式,比如说如何从一个异构图转化成多关系图等等。
最后,清楚图的结构和转化后,该如何选择合适的图神经网络进行学习?
- 对于同构图,总结了一类成为homogeneous GNN的图神经网络类型。最常见的比如GCN,GAT等等。
- 对于多关系图,由于针对边的属性如何被应用,总结了不同的multi-relational GNN。最常见的有R-GCN, R-GGNN等等。
- 对于异构图,由于图的节点和边的属性都不限,因此这方面的工作自由度很高,统称为heterogeneous graph。常见的有基于元路径的(meta-path based),关系神经网络延伸的(R-GNN based)等等。
编码器-解码器模型
Encoder-decoder架构可以说是近年来NLP领域中应用最为广泛的框架之一。在不同任务场景中,如何因地制宜地设计encoder,decoder。三个类别:
- Graph2Seq(图到序列)
- Graph2Tree(图到树)
- Graph2Graph(图到图)
NLP应用任务
自然语言生成(NLG):
- 机器翻译(Neural Machine Translation)
- 摘要生成(Summarization)
- 结构化数据到文本的生成(Structural-data to text)
- 文本问题生成(Neural Question Generation)
机器阅读理解与问题回答(MRC and QA):
- 机器阅读理解(Machine Reading Comprehension)
- 基于知识库的问题回答(Knowledge Base Question Answering)
- 开放领域的问题回答(Open-domain Question Answering)
- 基于社区的问题回答(Community Question Answering)
对话系统(Dialog Systems):
- 对话状态跟踪(Dialog State Tracking)
- 对话回应生成(Dialog Response Generation)
- 下一个话语选择(Next Utterance Selection)
文本分类(Text Classification):
- 文本分类(Text Classification)
文本匹配(Text Matching):
- 文本匹配(Text Matching)
主题模型(Topic Modeling):
- 主题模型(Topic Modeling)
情感分类(Sentiment Classification):
- 情感分类(Sentiment Classification)
知识图谱(Knowledge Graph):
- 知识图谱补全(Knowledge Graph Completion)
- 知识图谱对齐(Knowledge Graph Alignment)
知识抽取(Information Extraction):
- 命名实体识别(Named Entity Recognition)
- 关系抽取(Relation Extraction)
- 联合学习模型(Joint Learning Models)
句法解析和语义分析(Parsing):
- 句法解析(syntactic parsing)
- 语义分析(semantic parsing)
推理(Reasoning):
- 解决数学应用题(Math Word Problem Solving)
- 自然语言推理(Natural Language Inference)
- 常识推理(Commonsense Reasoning)
语义角色标注(Semantic Role Labelling):
- 语义角色标注(Semantic Role Labelling)
参考:新智元《自然语言处理中图神经网络从入门到精通》