近年来,网络型数据受到广泛关注。典型的网络比如社交网络,构建了人与人之间的关系。以微博为例,每一个用户可以看做网络中的一个节点,如果一个用户关注了另一个用户,那么两者之间就存在一条连边。这就是一个典型的网络型数据。随着技术的发展,仅仅关注于一类节点(如微博网络中,节点都是用户)与一类边(如微博网络中,边都代表关注关系)构成的网络只能分析现实生活中一部分的网络型数据。在更多情况下,我们可能需要考虑更复杂的网络。例如,在一个典型的学术网络中,我们要考虑的节点就有三类:作者、文章与杂志,由此产生的关系也就多种多样。例如作者与文章之间会有“写作/被写作”关系,文章与杂志间会有“发表/被发表”关系,文章之间也会有“引用/被引用”的关系。像这样由多种节点与多种边构成的网络,我们常常称为异质信息网络(Heterogeneous Information Network)或者异质图(Heterogeneous Graph)。今天我们将基于以下两篇综述性文章,介绍异质图建模的相关概念与经典方法:
Shi, Chuan, et al. “A Survey of Heterogeneous Information Network Analysis.” IEEE Transactions on Knowledge and Data Engineering, vol. 29, no. 1, 2017, pp. 17–37.
Wang, Xiao, et al. “A Survey on Heterogeneous Graph Embedding: Methods, Techniques, Applications and Sources.” ArXiv Preprint ArXiv:2011.14867, 2020.
除了一类对象为网络核心,一些网络可能由多个中枢(Hub)组成,这就构成了所谓的Multiple-hub Network。图2(d)展示了生物信息学中的一个例子。在这一网络中存在两个中枢:基因与化合物。除了上述类型的网络,现实生活中可以构建出更多复杂的异质图,这些网络甚至难以用一个简单的范式进行描述。例如,广为研究的知识图谱也可以被认为是异质图的一种,但其成千上万种节点与边几乎不可能用异质图的研究框架来分析。网络数据挖掘已经在多种任务中应用,例如排序、聚类、链路预测、影响力分析等。然而,异质图仍存在其特殊性,如果直接应用同质图的方法将带来信息损失。Shi, et al.(2017)从以下三个方面总结了进行异质图分析的意义。
异质图分析的意义
网络数据挖掘已经在多种任务中应用,例如排序、聚类、链路预测、影响力分析等。然而,异质图仍存在其特殊性,如果直接应用同质图的方法将带来信息损失。Shi, et al.(2017)从以下三个方面总结了进行异质图分析的意义。
然而,基于link的方式仅仅保留了节点间的一阶关系(first-order relation),节点的高阶信息同样重要。例如,我们在学术网络中,不仅仅保留A(作者)和P(文章)的连接,更需要保留路径APA进行连接的A(作者1)与A(作者2)之间的关系。因此,就有学者提出了基于meta-path的embedding。早期的一些方法借鉴了文本embedding的思路,在网络中进行随机游走(Random Walk),从而产生meta-path的实例。例如,我们从一个作者出发,随机选择其邻居,得到文章,再继续随机选,从而得到一条路径。每一条meta-path就可以看作一句话,其中的每一个节点就是一个词,然后我们就可以借鉴Word2Vec的方法进行学习。一个典型的例子就是Metapath2Vec(Dong, et al. 2017)。当然,在具体的操作上,我们需要对随机游走的方式进行一定的限制,从而对应到异质图中的各种元路径。上述基于结构保留的embedding的方法都较为简单,使用的主要是浅层模型,可以很好的并行实现。但也存在一定的问题。例如,如果有一个新的节点加入网络中,我们必须重新训练整个网络才可以获得其embedding。
2.Attribute-assisted HG Embedding
在异质图中,不仅仅有着复杂的节点与边类型,每一个节点对应的属性(Attributes or Features)也是多种多样的。例如,在豆瓣影评网络中,一部电影P可能有数值属性(如评分)、文本属性(如电影简介)和图片属性(如电影封面)等。而同一个网络中的其他节点可能由不同的属性构成,如一个用户可能只有数值属性(如年龄)和文本属性(如个人签名)等。每个节点蕴涵的丰富信息可以进一步提升网络效果,但也对建模提出了新挑战。Attribute-assisted embedding就是为了更好地融合节点属性而提出的。
图 3 HetGNN模型结构
一个典型的方法是HetGNN(Zhang, et al. 2019)。其通过三个层次来融合各种信息,图3(a)展示了整体结构。考虑一个目标节点a,我们想建模其embedding。首先,我们需要对每个节点的内部属性进行一个建模(Encoding Heterogeneous Contents)。对于每一个节点的各种属性,我们分别使用合适的神经网络模型进行建模。例如,数值属性使用MLP,图像使用CNN。然后通过一个双向LSTM融合一个节点的各种属性信息,得到每个节点的一个embedding,对应图3(b)。然后,我们再来融合节点的邻居信息(Aggregating Heterogeneous Neighbors)。这又分为两步。一是同一类型邻居节点聚合,文章中也是采用了一个双向LSTM进行建模,这样我们就得到了a节点各个类型邻居节点的embedding,即图3(c)。二是不同类型邻居聚合,使用一个self-attention机制将不同类型的节点进行一个聚合,最终得到融合了邻居信息的节点a的embedding,即图3(d)。通过这样的层次模型,HetGNN同时建模了节点属性与图结构。
本文介绍了异质图分析的基本概念与embedding方法研究现状。近年来,相关的研究十分火热,有不少典型的应用场景与常用数据集。例如本文多次提到的学术网络、电影评论网络、社交网络等等。Wang, et al.(2020)也总结了目前研究中常用的异质图数据集及其应用任务(图4)。同时也应注意到,目前的异质图分析仍然比较简单,处理的节点类型与边类型并不太多,因此仍有很多研究空间可以被探索。
图 4 常用异质图数据集
参考文献
[1] Shi, Chuan, et al. “A Survey of Heterogeneous Information Network Analysis.” IEEE Transactions on Knowledge and Data Engineering, vol. 29, no. 1, 2017, pp. 17–37.
[2] Wang, Xiao, et al. “A Survey on Heterogeneous Graph Embedding: Methods, Techniques, Applications and Sources.” ArXiv Preprint ArXiv:2011.14867, 2020.
[3] Chen, Hongxu, et al. “PME: Projected Metric Embedding on Heterogeneous Networks for Link Prediction.” Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2018, pp. 1177–1186.
[4] Dong, Yuxiao, et al. “Metapath2vec: Scalable Representation Learning for Heterogeneous Networks.” Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2017, pp. 135–144.
[5] Zhang, Chuxu, et al. “Heterogeneous Graph Neural Network.” Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2019, pp. 793–803.