Graph Embedding
Date: 2019/11/19 Categories: 工作 Tags: recsys
MetaPath
PathSim: Meta Path-Based Top-K Similarity Search in Heterogeneous Information Networks
Are Meta-Paths Necessary?: Revisiting Heterogeneous Graph Embeddings
Personalized entity recommendation: a heterogeneous information network approach
BHIN2vec: Balancing the Type of Relation in Heterogeneous Information Network
Personalized entity recommendation: a Heterogeneous information network
approach
收录于WSDM2014, 分为三部分
第一部分介绍了基础概念,
比如用异构网络建模用户和电影以及演员之间的关系,利用metapath特别是user->item->*->item
这种metapath来建模用户和实体时间的交互。最终利用矩阵分解将metapath得到的交互矩阵(每个用户和每部电影)
分解为用户低维向量和电影低维向量,使用得到的低维向量计算top-k相似来做推荐.
第二部分着重介绍了如何使用metapath定义用户和电影间的交互
metapah定义:\( P = A_0 \xrightarrow[]{R_1} A_1 \xrightarrow[]{R_2} \ldots \xrightarrow[]{R_k} A_k\), 那么 \(R_1,R_2,R_3,\ldots R_k\) 就定义了一条\(A_0\) 到 \(A_k\) 的metapath, 可以看到一条metapath是一系列的映射, 其中第一个映射从\(A_0 \xrightarrow[]{R_1} A_1\),最后一个映射 \(A_{k-1} \xrightarrow[]{R_k} A_k\), \(A_0\)和\(A_k\)分别是metapath \(P\)的定义域(\(dom(P)\))和值域(\(range(P)\))
metapath的扩散(diffusion)表示如何利用一个图中一种metpath来定义一个用户和电影间的交互矩阵, 给定一条metapath \(P = R_1 R_2 \ldots R_k\), 其中\( dom(P) = \mathbf{user}\), 且\(range(P) = \mathbf{movie}\)
计算\(u_i\) 和 \(e_j\)之间的相似度, \(s(u_i, e_j|P)\)
\[ s = \sum_{e \in E} \frac{2 \times R_{u_i, e} \times |\{ p_{e \rightarrow e_j} \}| }{ |\{ p_{e \rightarrow e} \}| + |\{ p_{e_j \rightarrow e_j} \}| }\]
其中\(e \in E\)代表foreach电影, \(u_i\)表示某个用户,\(e_j\)表示某部电影\(, 分子代表只考虑这样的metapath, 一头连着用户\)u_i\(, 一头关联中间节点\)e\(和目标节点\)e_j\(, 考虑可能二者之间可能有多条metapath关联(多个共同出演关系),所以乘上了这个系数。为了避免某些电影边过多, 对分子进行归一化, 分母考虑了中间节点\)e\(和目标节点\)e_j$$各自包含于多少条metapath中。