随着知识图谱近几年越来越热门,用知识图谱进行推荐的想法也随之产生。知识图谱结构本质上是由(头实体,关系,尾实体)三元组组成的集合,并构成有向图。下图形象的表示了在电影领域用知识图谱做推荐的原理,左边是用户喜爱的电影,中间是这些电影在知识图谱中和右边几部电影的联系,我们可以看到左边的电影和右边的电影在知识图谱中呈现了很多种相似的关系。在知识图谱中发现这些相关物品对推荐系统具有十分重大的价值。RippleNet就这样诞生了。
RippleNet模型如下图所示。以用户感兴趣的物品作为起点,在知识图谱上经过多层扩散,相当于将用户的兴趣在知识图谱上传播,达到抽取用户的特征的目的,最后将用户的特征与物品的特征通过矩阵相乘得到推荐值。
tensorflow2代码实现:https://github.com/SSSxCCC/Recommender-System