[Paper] || KGCN详解 Knowledge Grap

2020-11-18  本文已影响0人  葵sunshine

一句话总结:用GCN对Knowledge Graph做Model

Motivation

推荐系统中存在的问题

  1. 用户-物品的交互数据非常稀疏
  2. 冷启动问题(有新的item加入时,无法根据用户和这个item的历史记录做推荐)


    传统推荐系统方法遇到的问题.png

解决思路:引入其它信息(Side information)

Knowledge Graph

KG的数学表示

问题定义.png
数学表示.png

Method

Relation Scoring Function

因为KG中的边是关系型的(relation type),没有显式的权值,而GCN中的边是有权值的,所以需要先做一个转换 =>对KG中的关系打分
为用户u identity他所关注的关系,s_u(r)刻画了用户u对不同关系的偏好程度
e.g. s_u(r) = \mathbf{u}^T\mathbf{r}
比如计算user embedding 和 relation embedding的内积

Relation Scoring Function.png
对每个user,转换后的Adjacency matrix A_u都是不一样的
Layer-wise forward propagation
前向传播.png

上图显示的是标准GCN公式,只不过把原来GCN中同构图的邻接矩阵转换为了每个用户独有的A_u
A_u: Adjacency matrix of the KG for particular user u;
D_u: Diagonal degree matrix of A_u (把A_u中每个node的度数写在对角线上,其它地方都是零,作用,对A_u做normalization)
W_l: Trainable transformation matrix
H_l: Entity embedding matrix

两层感受域.png
这个式子本质上是说在KG中做了一个多跳的Message-passing,最后中间这层学到的表征是融合了它多跳领域的一个表征
Predicting Engagement Probability
接触概率预测.png

从GCN的最后一层得到entity embedding后,就可以和user embedding计算预测概率,比如用内积,MLP等。

KGCN 算法流程
KGCN algorithm.png
伪代码解释:
对一个给定的user-item对(line 2):
  计算item v的感受域(line 3, 13-19)
  用第0层(即感受域最外层)的实体表示做初始化(line 4)
   做H次聚合操作(line 5)
    在第h次,计算对每个h层的实体的邻居表示(line 7)
    和其自己第h-1层的表示\mathbf{e}^u[h-1]聚合得到\mathbf{e}^u[h](line 8)
  最终的结合H-hop邻居信息的实体表示为\mathbf{v}^u(line 9)
  和这个user的表示\mathbf{u}预测关系概率 (line 10)

原文Link: Knowledge Graph Convolutional Networks for Recommender Systems

应用

KGNN: Knowledge Graph Neural Network for Drug-Drug Interaction Prediction
这是一篇和KGCN很像的文章,用来预测药物和药物之间的相关性,不同之处在于这里的两个药物(对应user和item)都是知识图谱中的实体,所以需要得到两个药物聚合KG中各自感知域后的embedding,之后计算这两个embedding和原drug的分数,最后再用这两个分数计算药物间的相互作用概率。


KGNN和KGCN不同的地方.png
上一篇 下一篇

猜你喜欢

热点阅读