1. 引言
图结构数据(Graph)通常被用来表示复杂信息系统中数据间的关联关系,例如社交图、电商图、分子图等。机器学习通过分析图数据挖掘数据的隐含信息以及数据间的关系,从而提升实际应用的表现。例如,在推荐系统中,通过用户与物品之间的交互图,电子商务平台可以准确地了解用户的偏好,进而向其推荐符合个性化需求的产品,从而实现更高的用户满意度和销售量。
图神经网络(Graph Neural Network,GNN)是一种用于处理图数据的机器学习模型。它旨在对图中结点和边进行建模,从而实现各种任务,如结点分类、图分类、链接预测等。GNN的基本思想是利用结点之间的局部邻域信息来更新每个结点的表示,然后通过多层信息传递来整合全局结构信息[1]。GNN的核心结构通常包括结点更新和消息传递机制。结点更新用于更新每个结点的表示,而消息传递机制则负责在结点之间传递信息和更新结点的表示。
近年来,GNN在不同领域取得了不错的成绩,受到广泛关注。本文围绕近年来的图神经网络研究对现有GNN进行简要描述,并给出一个通用的设计流程。同时探讨了GNN模型在自然语言处理(NLP)领域中的应用。
2. GNN的设计流程
通常,GNN包含四个模块:(1)图结构;(2)图类型和规模;(3)损失函数;(4)图模型。
(1)图结构
图结构的应用有两种场景:结构化场景和非结构化场景。在结构化场景中图结构是显式的,例如知识图谱。而在非结构化场景中,图结构是隐含的,需要从任务中构建图结构。例如,为文本数据构建一个全连接的“词”图。
(2)图类型及规模
图的类型可以分为:
① 有向图和无向图:有向图的边是从一个结点指向另一个结点;无向图的每条边可以看作是两条无向边的组合。
② 同质图和异质图:同质图的结点和边都属于同一类型,而异质图的结点和边有不同的类型。
③ 静态图和动态图:输入特征或拓扑时图不随时间的变化而变化的图称为静态图;反之,称为动态图。
图的规模取决于计算设备的发展,如计算机的速度和内存,以及GPU的使用。在本文中,当邻接矩阵或图的拉普拉斯矩阵无法存储和处理图时(即空间复杂度过高),这种图被视为大规模图,此时需要考虑抽样方法。
(3)损失函数
损失函数的设计依赖于图的学习任务和学习策略。图的学习任务通常包括三种类型:
① 结点级任务,关注单个结点,包括结点分类、结点回归、结点聚类等。结点分类将结点划分为不同类别,结点回归则预测每个结点的连续值。结点聚类的目的是将结点分为不相交的组,其中相似的结点聚类于同一组。
② 边级任务,包括边的分类和连接的预测。边的分类要求模型对边的类型进行分类,而连接预测则预测是否存在两个给定结点之间连接它们的边。
③ 图级任务,该任务包括图分类、图回归和图匹配等,这些任务需要模型学习整个图的表示。
图的学习模式可分为三种类型:
① 监督学习,提供标记数据进行训练。
② 半监督学习,提供少量标记结点和大量未标记结点进行训练。在测试阶段,半监督学习要求模型预测未标记结点的标签。
③ 无监督学习,仅提供未标记数据进行训练。典型的无监督学习任务是结点聚类。
大多数结点分类和边分类任务是半监督的。对于结点级的半监督分类任务,可以设计交叉熵损失函数来进行训练。
(4)图模型
图神经网络本质上是图表示学习模型。图表示学习旨在将结点的拓扑结构和特征信息映射至低维向量表示。图神经网络作为深度学习在图数据上的推广,能够捕捉到结点之间的非线性结构和语义信息,从而实现对图的分析和预测。
基于图结构的神经网络模型通常包含若干个计算模块。常用的计算模块包括:
① 传播模块:用于结点间的信息传播,使得聚合的信息能够捕获特征和拓扑信息。传播模块包含卷积或循环算子和跳转连接。卷积算子和循环算子通常用于聚合来自邻居结点的信息。而跳转连接利用结点的历史表示聚合信息,进而缓解过度平滑问题。
② 采样模块:当图的规模较大时,通常需要对图进行采样才能进行传播操作。
③ 池化模块:当需要获取高阶子图或整个图的表示时,池化模块被用来汇总结点的信息。
④ GNN层:GNN层的堆叠使模型能够捕获图中更高级别的抽象表示和依赖关系。
一个典型的GNN模型如图1所示。卷积算子、循环算子、采样模块和池化模块在每一层传播信息,并且通常会堆叠多层以获得更好的表示。
图1 一个典型的GNN模型的示意图
3. 图神经网络在自然语言处理中的应用
在自然语言处理领域,句子的语义和句法关系往往是非线性的。这种关系恰可用图结构表示,而GNN擅长处理这种复杂的图数据。GNN能够捕获结点与其相邻结点之间的复杂关系,这对于各种NLP任务非常重要。此外,GNN支持端到端学习,这意味着模型可以直接从输入(如文本)到输出(如分类标签)进行优化,无需手动提取特征。
(1)在机器翻译中的应用。大多数基于GNN的神经机器翻译将传统的seq2seq图转换为Graph2Seq。首先将输入文本转换为图数据,然后采用基于GNN的编码器挖掘结构信息。例如,Xu等人[2]考虑文档级NMT的多个关系,构造了混合图,以解决严重的长依赖问题。
(2)在文本分类中的应用。基于GNN的文本分类方法首先构造图结点之间关系的文档图或语料库图,然后使用GNN来学习文档嵌入,再将其输入到softmax层用于生成标签。在文本分类任务中学者们提出了各不相同的图构造和图表示方法,例如基于图的半监督学习方法[3]、GGNN[4]等。
(3)在关系抽取和知识图谱构建方面的应用。例如,关系图卷积网络(Relational Graph Convolutional Network,RGCN)是用于处理有向图和多种关系的GNN。与传统的GCN相比,RGCN引入了特定的关系权重矩阵,用于捕捉图中不同类型的关系或边。通过多层图卷积层对结点的特征进行更新。RGCN可以有效地捕获知识图谱和多关系图中实体之间的复杂关系[5]。
(4)在情感分析中的应用。情感分析任务旨在检测文本的情感倾向性(即积极、消极、中性)。基于GNN的情感分析方法通常首先构建文本的图表示(例如依赖树),然后将GNN应用于学习好的文本嵌入,从而预测情感极性[6]。
(5)在对话系统中的应用。对对话过程中的不同对话者或话语之间的依赖关系进行建模是非常重要的。由于GNN能够对对象之间的复杂关系进行建模,已经成功应用于各种对话系统任务,包括对话响应生成[7]、对话状态跟踪[8]以及下一个话语选择[9]等。
4. 结论
图神经网络作为一种重要的图数据分析和挖掘工具,在许多应用领域取得了巨大的成功,引起了学术界和工业界的广泛关注。本文围绕图神经网络从机器学习角度探讨图神经网络模型的通用框架以及图神经网络在NLP领域中的应用。
参考文献
[1] K Bharti, P Shruti, K Ketan, T Sudeep. A review of graph neural networks: concepts, architectures, techniques, challenges, datasets, applications, and future directions. J. Big Data 11(1): 18 (2024)
[2] Mingzhou Xu, Liangyou Li, Derek. F. Wai, Qun Liu, and Lidia S. Chao. 2020b. Document Graph for Neural Machine Translation. ArXiv abs/2012.03477.
[3] Xien Liu, Xinxin You, Xiao Zhang, Ji Wu, and Ping Lv. 2020. Tensor Graph Convolutional Networks for Text Classification. In The Thirty-Fourth AAAI Conference on Artificial Intelligence, AAAI 2020, 8409–8416.
[4] Yufeng Zhang, Xueli Yu, Zeyu Cui, Shu Wu, Zhongzhen Wen, and Liang Wang. 2020e. Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, 334–339.
Lingfei Wu, Peng Cui, Jian Pei, and Liang Zhao. 2022. Graph Neural Networks: Foundations, Frontiers, and Applications. Springer Singapore, 725 pages.
[5] Michael Sejr Schlichtkrull, Thomas N. Kipf, Peter Bloem, Rianne van den Berg, Ivan Titov, Max Welling: Modeling Relational Data with Graph Convolutional Networks. ESWC 2018: 593-607
[6] Amir Pouran Ben Veyseh, Nasim Nouri, Franck Dernoncourt, Quan Hung Tran, Dejing Dou, Thien Huu Nguyen. Improving Aspect-based Sentiment Analysis with Gated Graph Convolutional Networks and Syntax-based Regulation. EMNLP (Findings) 2020: 4543-4548
[7] Wenpeng Hu, Zhangming Chan, Bing Liu, Dongyan Zhao, Jinwen Ma, and Rui Yan. 2019a. GSN: A Graph-Structured Network for Multi-Party Dialogues. In Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence, 5010–5016.
[8] Lu Chen, Boer Lv, Chi Wang, Su Zhu, Bowen Tan, and Kai Yu. 2020a. Schema-Guided Multi-Domain Dialogue State Tracking with Graph Attention Neural Networks. In The Thirty-Fourth AAAI Conference on Artificial Intelligence, 7521–7528.
[9] Yongkang Liu, Shi Feng, Daling Wang, Kaisong Song, Feiliang Ren, and Yifei Zhang. 2021b. A Graph Reasoning Network for Multi-turn Response Selection via Customized Pre-training. In The Thirty-Fifth AAAI Conference on Artificial Intelligence, 2021.