MKR推荐算法是一种基于知识图谱的推荐算法。它利用推荐模型和知识图谱嵌入模型交替学习来提升推荐质量。如下图a是MKR的模型结构。左半部分是推荐模型部分,其结合了传统的矩阵分解和深度神经网络多层感知机,来输出一个推荐值。右半部分是知识图谱嵌入模型部分,通过知识图谱三元组关系的头实体和关系来预测尾实体。
左右两个模型是通过中间的交叉压缩单元(cross&compress units)连到一起。其结构如下图b所示。通过交叉压缩单元,将知识图谱领域的实体嵌入和推荐系统领域的物品嵌入连接起来,相互作用相互影响,互相促进训练过程,这也是一种迁移学习(transfer learning)的思想。
tensorflow2代码实现:https://github.com/SSSxCCC/Recommender-System