这是一篇2018年发表在IEEE知识与数据工程汇刊上的图嵌入的综述,论文题目为A Comprehensive Survey of Graph Embedding:Problems, Techniques, and Applications。如题目所示,主要对图嵌入问题中存在的挑战、现有的一些技术和应用场景进行了总结。
图是一种重要的数据表示形式,它出现在各种现实场景中。有效的图分析可以让用户更深入地了解数据背后的内容,从而受益于许多有用的应用,如节点分类、节点推荐、链接预测等。然而,大多数图分析方法都有很高的计算和空间成本。图嵌入是解决图分析问题的一种有效而高效的方法。它将图形数据转换成一个能最大限度地保留图形结构信息和图形属性的低维空间。在这项调查中,我们对图嵌入的文献进行了全面的回顾。
图嵌入:Graph embedding
图分析: graph analytics
图嵌入调查:graph embedding survey
网络嵌入: network embedding
同构图:homogeneous graph
异构图:heterogeneous graph
带有辅助信息的图:graph with auxiliary information
由非关系数据构造的图:graph constructed from non-relational data
知识图:knowledge graph
同构图(homogeneous graph):节点和边都只有一个类型。
异构图(heterogeneous graph):节点和边都有两种及以上的类型。
知识图(knowledge graph):一个有向图,节点是实体,边是一个三元组。每条边的形式为头实体、关系、尾实体,记为< h,r,t >,指从实体h到实体t中有关系r。
知识图中的实体和关系通常是不同类型的。因此,知识图可以看作是异构图的一个实例。
如何量化嵌入空间中要保留的图属性
图嵌入问题的形式化定义:
给定一个图的输入G = (V,E),并预先定义了嵌入的维度d (d << |V|)。图嵌入问题是将G转换成一个d维空间,在这个空间中尽可能保留图的属性。图属性可以使用邻近度量,如一阶和高阶邻近度来量化。每个图可以表示为一个d维向量(对于整个图)或一组d维向量,每个向量表示图的一部分(如节点、边、子结构)的嵌入。
图嵌入的挑战取决于问题设置,问题设置包括嵌入输入和嵌入输出。本文基于问题设置将图嵌入分成两类,并总结了在两类问题中所面临的挑战。
图嵌入的输入是一个图。
在本研究中,我们将图嵌入输入分为四类:同构图、异构图、带辅助信息的图和构造图。不同类型的嵌入输入需要在嵌入空间中保留不同的信息,从而对图嵌入问题提出了不同的挑战。接下来,我们将介绍这四种类型的输入图,并总结在每种输入设置中面临的挑战。
第一类输入图是同构图(Homogeneous Graph),其中节点和边都只有一个类型。同构图可以进一步分为有权(或有向)图和无权(或无向)图。
无向无权同构图是最基本的图嵌入输入设置。很多研究都是在这种背景下进行的。它们平等地对待所有节点和边,因为只有输入图的基本结构信息是可用的。
从直观上看,边的权值和方向提供了更多关于图形的信息,可以帮助在嵌入空间中更准确地表示图形。这些信息丢失在无权无向图中。图嵌入群体注意到利用图边的权值和方向特性的优点,开始探索权值图和/或有向图。
有些只关注一个图属性,即边权值或边方向。一方面考虑图,由权重较高的边连接的节点嵌入得更近。然而,他们的工作仍然局限于无向图。另一方面,有些作品在嵌入过程中获取边缘的方向,并在嵌入空间中保留方向信息。
最近,提出了一种更通用的图嵌入算法,该算法同时考虑了权值和方向属性。换句话说,这些算法既可以处理有向图,也可以处理无向图,也可以处理加权图和未加权图。
挑战:如何捕捉图中观察到的连接模式的多样性?由于同构图中只有结构信息可用,同构图嵌入的挑战在于如何保留嵌入过程中在输入图中观察到的连通性模式。
第二类输入是异构图(Heterogeneous Graph),它主要存在于以下三个场景中。
第三类输入图除了包含节点的结构关系(即E)外,还包含节点/边/全图的辅助信息。一般有五种不同类型的辅助信息。
最后一类输入图是通过不同的策略从非关系的输入数据中构造而成。这通常发生在假设输入数据位于低维流形中时。
图嵌入的输出是表示一个图的(部分)低维向量的(集合)。
根据输出粒度,我们将图嵌入输出分为节点嵌入、边缘嵌入、混合嵌入和全图嵌入四种类型。不同类型的嵌入方便不同的应用。与固定给定的嵌入输入不同,嵌入输出是任务驱动的。例如,节点嵌入可以使各种与节点相关的图分析任务受益。然而,图分析任务并不总是在在某些场景中,任务可能与图的更高粒度相关,例如节点对、子图,甚至整个图。因此,在嵌入输出方面的第一个挑战是如何找到一种适合的嵌入输出类型,以满足特定的应用任务的需要。
作为最常见的嵌入输出设置,节点嵌入将每个节点表示为低维空间中的向量。图中“接近”的节点被嵌入以具有类似的向量表示。不同的图嵌入方法的区别在于它们如何定义两个节点之间的“紧密性”。一阶邻近度和二阶邻近度是两种常用的节点相似性计算指标。在一些工作中,也在一定程度上探讨了高阶邻近性。
挑战。如何在各种类型的输入图中定义成对的节点邻近度,以及如何在学习的嵌入中编码邻近度?节点嵌入的挑战主要来自于定义输入图中的节点邻近度。
与节点嵌入不同,边嵌入的目的是将边表示为一个低维向量。边嵌入在以下两个场景中很有用。
综上所述,边缘嵌入有利于边(/节点对)相关图分析,如链接预测、知识图实体/关系预测等。
挑战。如何定义边级相似度,如何对边的非对称属性建模,如果有的话?边缘接近不同于节点接近,因为一条边包含一对节点,通常表示成对的节点关系。此外,与节点不同的是,边可以是有向的。这种不对称性质应该被编码在学习到的边缘表示中。
混合嵌入是将不同类型的图组件组合在一起进行嵌入,如节点+边(即子结构),节点+社区。
大量的工作对子结构的嵌入进行了研究。例如,将图结构嵌入到两个可能相距较远的节点之间,以支持语义接近搜索。
与子结构嵌入相比,社区嵌入只引起了有限的关注。ComE共同解决了节点嵌入、社区检测和社区嵌入的问题。它不是用向量表示一个社区,而是将每个社区嵌入为一个多元高斯分布,以表征其成员节点是如何分布的。
子结构或社区的嵌入也可以通过聚合单个节点和嵌入其中的边来得到。然而,这种“间接”的方法并没有优化地表现结构。此外,节点嵌入和社区嵌入可以相互增强。通过融合社区感知的高阶邻近度,可以学习到更好的节点嵌入,而当生成更准确的节点嵌入时,可以检测到更好的社区。
挑战:如何生成目标子结构和如何嵌入不同类型的图形组件在一个公共空间?与其他类型的嵌入输出不同,混合嵌入(如子图、社区)中没有给出要嵌入的目标。因此,第一个挑战是如何生成这种嵌入的目标结构。此外,不同类型的目标(如社区、节点)可能同时嵌入一个公共空间。如何解决嵌入目标类型的异构性是一个问题。
最后一种输出是嵌入整个图,通常用于小图,如蛋白质、分子等。在这种情况下,一个图表示为一个向量,并嵌入两个相似的图以使其更接近。全图嵌入为计算图相似度提供了一种简单有效的解决方案,从而有利于图分类任务。为了在嵌入时间(效率)和信息保存能力(表达能力)之间建立折衷,有文献设计了一个层次图嵌入框架。认为要准确地理解全局图信息,需要对不同尺度的子结构进行处理。图金字塔形成的每个层次是一个总结图在不同的尺度。图被嵌入到所有层次,然后连接到一个向量中。Li等学习整个级联图的嵌入,然后训练一个多层感知器来预测未来级联图大小的增量。
挑战:如何捕获整个图的属性,以及如何在表达性和效率之间做出权衡?嵌入一个完整的图需要捕获一个完整的图的属性,因此更多的时间消耗。与其他类型的嵌入相比,全图嵌入的关键问题是如何在学习后的嵌入表达能力和嵌入算法的效率之间做出选择。
根据所使用的技术对图嵌入方法进行分类。一般来说,图嵌入的目的是在尽可能多地保留图属性信息的低维空间中表示一个图。
不同的图嵌入算法的区别在于它们如何定义要保留的图属性。不同的算法对节点(/边/子结构/全图)相似性以及如何在嵌入空间中保存这些相似性有不同的见解。
接下来,我们将介绍每种图嵌入技术,以及它们是如何量化图属性和解决图嵌入问题的。
总结和比较表10中介绍的所有五类图嵌入技术的优缺点
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210208153310499.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQxMzAxMw==,size_16,color_FFFFFF,t_70
图嵌入有利于各种各样的图分析应用,因为向量表示可以在时间和空间上进行有效处理。在本节中,我们将支持图嵌入的应用程序分类为与节点相关、与边相关和与图相关。
节点分类是根据从标记节点学习到的规则,为图中的每个节点分配一个类别标签。直观地说,“相似的”节点具有相同的标签。它是图嵌入文献中讨论最多的应用之一。每个节点被嵌入为一个低维向量。节点分类是通过将一个分类器应用到标记节点的集合上进行训练。然后给出一个未标记的嵌入节点时,训练的分类器可以预测其类标签。与上述先嵌入节点再分类的顺序处理不同,另外一些工作设计了一个统一的框架来联合优化图嵌入和节点分类,它学习每个节点的分类特定表示。
节点聚类的目的是将相似的节点聚集在一起,使同一组中的节点比其他组中的节点更加相似。作为一种无监督算法,适用于节点标签不可用的情况。传统的聚类算法将节点表示为向量后,可以应用于节点嵌入。现有的研究大多采用k-means作为聚类算法。相比之下,[4]和[77]联合优化聚类和图嵌入在一个目标,以学习聚类特定的节点表示。
节点推荐的任务是根据相似度等标准向给定节点推荐最感兴趣的K个节点。
在问答系统中,给出一个问题,他们预测用户或答案的相对排名。
在接近搜索中,他们对给定的查询节点(如“Bob”)和接近类(如“同学”)的特定类型的节点(如“用户”)进行排序。
在跨模态检索中,基于关键字的图像/视频搜索。
在实践中,图表往往是不完整的;例如,在社交网络中,两个真正认识的用户之间的友谊链接可能会丢失。在图嵌入中,期望低维向量保持不同的网络接近顺序,以及不同的结构相似度尺度。因此,这些向量编码可以用来预测不完全图中的缺失链。大多数尝试图嵌入驱动的链接预测都是在同构图上,相对较少的图嵌入工作处理异构图链接预测。
是知识图的一个具体应用。它的目的是分类一个看不见的三元组是否正确,即h和t之间的关系是否为r。
图分类将一个类标签分配给整个图。当图形是数据单位时,这一点很重要。例如,每个图都是一个化合物,一个有机分子或一个蛋白质结构。在大多数情况下,采用全图嵌入计算图级相似度。最近,一些工作开始对图相似度的节点嵌入进行匹配,每个图都表示为一组节点嵌入向量,基于两组节点嵌入对图进行了比较。
图可视化是指在低维空间上对一个图形进行可视化处理。通常,为了可视化的目的,将所有节点作为二维向量嵌入到二维空间中,然后用不同的颜色表示节点的类别。它生动地演示了属于同一类别的节点是否嵌入得更近。
根据输入图中携带的信息,可能存在更具体的应用场景。
从大规模纯文本中提取关系事实。Yang等[62]从文本中提取医疗实体。Xiong等人[69]将自然语言文本与知识图中的实体连接起来。Bordes等人[92]专注于去复制知识图中等价的实体。Ren等人[84]联合嵌入实体提及、文本和实体类型,从其噪声候选类型集中估计每个提及的真实类型路径。
嵌入地理标记的社交媒体(GTSM)记录<时间、位置、消息>,使他们能够从GTSM三元组中恢复给定的其他两个组件。它还可以对GTSM记录进行分类,例如,登记记录是与“食品”或“商店”相关的。Yan等[85]使用图形嵌入来降低数据维数进行人脸识别。Lin等人[88]将图像映射为语义集合,该集合忠实地把握用户的偏好,以促进基于内容的图像检索。
预测给定时间间隔后级联大小的增量。
通过嵌入社会互动图来预测传播用户,识别领域专家。
通过学习节点嵌入来对齐不同社交网络中的用户,即预测两个不同社交网络中的两个用户账户是否为同一用户所有。
一些工作将由图像构造的图形嵌入,然后利用嵌入进行图像分类、图像聚类、图像分割、模式识别等。
总结了图嵌入领域的四个未来发展方向,包括计算效率、问题设置、技术和应用场景。
采用几何输入(如图)的深层架构存在效率低下的问题。传统的深度学习模型(为欧几里德域设计)利用现代GPU来优化其效率,假设输入数据是在一维或二维网格上。然而,图并没有这样的网格结构,为图嵌入而设计的深度架构需要寻求替代解决方案来提高模型效率。Bronstein等人[117]提出,可以采用为大规模图处理开发的计算范式来促进深度学习模型用于图嵌入的效率提高。
动态图是一种很有前途的图嵌入方法。图表并不总是静态的,在图形结构或节点/边缘信息方面,图形可以是动态的。现有的图嵌入主要集中在静态图的嵌入上,忽略了动态图嵌入的设置。与静态图嵌入不同的是,动态图的嵌入技术需要可伸缩,并且最好是增量的,以便有效地处理动态变化。这使得现有的图嵌入方法大多存在效率低的问题,不再适用。如何在动态域中设计有效的图嵌入方法是一个有待解决的问题。
在基于图嵌入的边缘重建中,结构感知是非常重要的。
目前边重构的图嵌入方法主要只基于边,但单边只提供局部邻域信息来计算一阶和二阶邻近度。图的全局结构(例如路径、树、子图模式)被省略。一些工作试图探索知识图嵌入中的路径信息。然而,它们大多使用深度学习模型,如前所述,这些模型存在效率低下的问题。
如何设计基于非深度学习的方法来利用图结构的表达能力是一个问题。需要一种结合子结构采样策略的、高效的结构感知图嵌入优化方案。
图嵌入已经在许多不同的应用中得到了应用。
考虑到数据之间的关系,这是学习数据表示的有效方法。
它可以将来自不同来源/平台/视图的数据实例转换为一个公共空间,以便它们可以直接进行比较。例如,使用图形嵌入进行跨模式检索,例如基于内容的图像检索,基于关键字的图像/视频搜索。使用图嵌入进行表示学习的优点是将训练数据实例的图形保留在表示中,从而有利于后续的应用。因此,图嵌入对假定输入数据实例与特定关系(即由特定链接连接)相关的任务是有益的。探讨基于图嵌入的应用场景具有重要意义,因为它从一个不同的角度为传统问题提供了有效的解决方案。