Gemini: A Novel and Universal Heterogeneous Graph Information Fusing Framework for Online Recommendations
下载链接:https://dl.acm.org/doi/10.1145/3394486.340338
目录
1. 概念
1.1 异质图网络
异质图(Heterogeneous Graphs,HetG):包括多种类型的图结构,相应的同质图中只有一种类型的节点和边。异质图说白了就是将不同属性的数据合到一起,加入更多的语义信息数据。下图给出了一个异质图的示例
https://zhuanlan.zhihu.com/p/368566985
论文链接:A Survey on Heterogeneous Graph Embedding: Methods, Techniques, Applications and Sources
1.2 1-hop & 2-hop
1-hop 简单来说是当前node 直接连接的 node ,Gemini -U 和 Gemini-I 能够得到 2- hop 的信息,并且 1- hop 的信息以 edge embedding 的形式展示。
2-hop 中,对于一个user, 它的2-layer embedding 的更新 需要获得了该 node 1-layer embedding 和 attribute node 。
1.3 Edge embedding
为什么会引进 edge embedding , 有两个原因:
- 第一个 edge embedding 是直接描述了原始的 neighbor 关系, 并且能够计算node之间的相关性强度。
- 第二个原因是 在分享 node embedding时,edge 能够提供 异质图 网络的node的关联信息。
1.4 Semi homogeneous Graph
给出了 G = (X,E,Att)X 表示这 node, 其中 E 表示 所有 node 可能连接到的 edges,
Att 表示 E中 attributes node , 并且Att rij 表示这 node xi 与 node xj 关联的 attributes node.
1.5 Edge CONV
其中,huk 表示 node u 在 k 层 卷积层 的 embedding 向量表示,这里node u 在第k 层结合了 u 周围的结点进行 concat。
2 公式
he 表示 edge embedding ,而 hf 表示 e 中 attribute nodes 的 embedding vectors。
为了同时考虑 edge 属性的数量和质量,我们结合了 Sum Pooling(即
数量)和 TF-IDF(即质量)来提议 TF-IDF Pooling 操作为:
3 Gimini 的 不同之处
整个算法分成两个部分,第一个部分是sampling stage 阶段,在这个阶段中,u∈U 中 需要计算 (更新)K 次 得到表征 node。
第二个部分是关于 user node 和 item node 的合并阶段,在给出了一个用户u后,我们通过 (respective aggregation)和(convolution)能够得到该用户的最终的表示形式:
最后 需要得到的是 分类结果,通过最后层,判断 user 点击 item 的概率:
(1)原本的node 更新的过程是使用了neighbors 的node 进行更新,并没有使用edge 的相关信息。
这也是传统的同质图进行图卷积的操作,node 节点的更新 只关注了周围的node ,进行node 更新并没有考虑两个node 公共点击的商品。但是在Gimini 中考虑到了 node 之间关联的items 的信息,
对于更新每一个中心点 u, 不仅需要考虑它的邻接节点 d ,还会考虑到节点与节点之间关联的信息,例如这些节点都会点击到的items ; 也就是会学习 在同质图中 node 与node 之间关联的边权重,he。
(2)节点输入的嵌入
节点u周围的所有的d 都会与 (attribute node)进行融合。
总结:
(1)Gimini 算法 提出了将 heterogeneous 图 转化成两个 semi homogeneous 图,不会错过关键信息。
(2)第二点,Gimini 框架在聚合来自邻居节点的信息的同时添加 edge 信息可以在 Gemini-U 和 Gemini-I 之间交换异构拓扑信息。这部分信息在两个异质图的信息是相互依赖的。
(3)Gimini-U 和 Gimini-I 除了得到一阶的信息,而且可以得到二阶的信息。
(4)提出了 Gemini-Collaboration 的算法框架,主要是它能够处理大规模的数据。