Motivation:
现有的异构图学习中一些图的结构是不好的,不利于下游任务,比如在user-item的异构图中,用户可能会点击一些无用的item,从而给异构图表示学习带来一些噪声。
现有有的一些图结构表示学习的方法,通过把邻接矩阵参数化,学习更好的邻接矩阵用于下游任务。但是他们都是用于同构图的方法。
本文提出了GSL框架,通过考虑三种不同的图结构:特征相似图,特征传播图,和语义图来学习更好的图结构用于下游任务。
Approach:
特征相似图:
通过在节点之间的特征上用度量学习的方法,学习节点之间的相似度,构成相似度矩阵。
特征传播图:
特征转播图通过特征与拓扑之间的交互来生成图结构,特征之间的相似度是可以传播的。我们通过一个例子来更好的理解。例如,考虑生成用户和电影之间的潜在图结构,存在这样一种图结构生成方式:如果用户U1 看过电影M1,且M1和M2相似,那么用户U1可能对M2感兴趣即和节点存在潜在边。上述潜在的图结构可以分两步构建:得到特征相似的节点对(找到相似的电影M1和M2),随后用拓扑结构传播(通过U1的观影历史得到可能感兴趣的电影M2)。HGSL 也通过上述两步过程来得到特征传播图。
对于每个关系r,首先根据关系的头尾节点集合,根据特征相似矩阵的计算方法,生成相似度矩阵。
然后再和原始的关系r邻接矩阵相乘,进行相似度传播,得到头相似度矩阵和尾相似度矩阵。
特征邻接矩阵
然后对矩阵进行attention聚合,得到特征邻接矩阵。
语义图:
传统的metapath构成邻接矩阵忽视了中间节点,导致了信息丢失。于是本文先通过Metapath2vec学习不同metapath下节点的特征表示,然后根据不同的特征表示来生成不同metapath下的语义邻接矩阵。
对于多个metapath,进行一个加权聚合得到语义邻接矩阵。
学习到的异构图邻接矩阵
把特征邻接矩阵和语义邻接矩阵还有原始的不同关系的邻居矩阵进行attention聚合。
优化过程
把学习到的不同关系的邻接矩阵,进行合并,忽视节点的类型,转换成一个大的邻接矩阵。然后进行两层的信息传播并进行预测。
实验
在 DBLP、ACM 及 Yelp 数据集上行了丰富的实验来验证HGSL 的有效性。