Graph Embedding

Date: 2019/11/19 Categories: 工作 Tags: recsys


MetaPath

  1. PathSim: Meta Path-Based Top-K Similarity Search in Heterogeneous Information Networks

  2. Are Meta-Paths Necessary?: Revisiting Heterogeneous Graph Embeddings

  3. Personalized entity recommendation: a heterogeneous information network approach

  4. BHIN2vec: Balancing the Type of Relation in Heterogeneous Information Network

  5. Triple2Vec

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中。