论文阅读笔记:A Survey on Knowledge Graph-Based Recommender Systems
论文阅读笔记: TKDE 2020 - A Survey on Knowledge Graph-Based Recommender Systems
-
一、Abstract
-
二、Introduction
-
- 2.1. Collaborative Filtering:
- 2.2. Content-based Filtering:
- 2.3. Hybrid Method:
-
三、知识图谱推荐系统的3种方法:
-
-
3.1 Embedding-based Methods
-
- 第一种-item graph
- 第二种-user-item graph
-
3.2 Path-based Methods
-
3.3 Unified Methods
-
TKDE 2020 - A Survey on Knowledge Graph-Based Recommender Systems)
原文: A Survey on Knowledge Graph-Based Recommender Systems.
28 Feb 2020
中科院计算所百度微软等学者
一、Abstract
为了解决各种在线应用中的信息爆炸问题,提高用户体验,推荐系统被提出来进行用户偏好建模。尽管人们已经做出了许多努力来实现更加个性化的推荐,但是推荐系统仍然面临着一些挑战,比如数据稀疏性和冷启动。近年来,以知识图谱作为边信息生成推荐 引起了人们的极大兴趣。这种方法不仅可以缓解上述问题,提供更准确的推荐,而且可以对推荐的项目进行解释。 本文对基于知识图谱的推荐系统进行了系统的研究。我们收集了这一领域最近发表的论文,并从两个角度进行了总结。一方面,我们通过研究论文如何利用知识图谱进行准确和可解释的推荐来研究所提出的算法。另一方面,我们介绍了这些工作中使用的数据集。最后,我们提出了几个可能的研究方向。
二、Introduction
推荐算法是推荐系统的核心部分,主要分为
- 基于协同过滤(CF)的推荐系统 :基于用户或项目在交互数据中的相似性来建模用户偏好。
- 基于内容的推荐系统 :利用项目的内容特征。
- 混合推荐系统 。
基于CF的推荐系统由于能够有效地捕捉用户的偏好并易于实现而得到了广泛的应用。在多个场景下,不需要在基于内容的推荐系统中提取特征[5],[6]。然而,基于CF的推荐存在数据稀疏 和冷启动 问题[6]。为了统一推荐系统的相似性和交互性,提出了混合的内容推荐系统。
KG是一个异构图,其中节点作为实体,边表示实体之间的关系。
将知识图谱应用在推荐系统的好处:
1. 提高推荐系统的精度;
2. 推荐的结果具有可解释性。
常见知识库:

推荐任务是向给定的用户推荐一个或一系列未被观察到的项目,它可以被描述为以下步骤:
- 首先,系统学习给定用户和项目的向量表示。
- 然后,它学习了一个评分函数:f : ui × vj → yˆi,j,它建模ui对vj的偏好。
- 最后,通过对项目的偏好得分排序来生成推荐。
要学习用户/项目的向量表示和评分函数,有三种主要方法:
2.1. Collaborative Filtering:
•CF假设用户可能对与他们共享相似交互记录的人选择的项目感兴趣。交互可以是显式交互,比如评级,也可以是隐式交互,比如点击查看。为了实现基于CF的推荐,需要来自多个用户和项目的交互数据,从而形成用户-项目交互矩阵。基于CF的方法包含两种主要技术,基于内存的CF和基于模型的CF。
具体地说,基于内存的CF 首先从用户项交互数据中学习用户-用户相似性。然后,根据与特定用户相似的人的交互记录,将未观察到的项目推荐给给定的用户。
或者,一些模型学习项目之间的相似性,并根据用户的购买历史向用户推荐类似的项目。基于模型的CF 方法试图通过建立一个推理模型来缓解稀疏性问题。一种常见的实现方法是潜因子模型[55],[56],它从高维的用户-项目交互矩阵中提取用户和项目的潜在表示,然后用内积或其他方法计算用户和项目之间的相似性。
2.2. Content-based Filtering:
•与基于CF的模型(从全局用户-项目交互数据中学习用户和项目的表示)相比,基于内容的方法从项目的内容描述用户和项目。基于内容过滤的假设是,用户可能对与他们过去交互的项目相似的项目感兴趣。项目表示是从项目的辅助信息中提取属性,包括文本、图像等,而用户表示是基于个人交互项目的特征。将候选项与用户配置文件进行比较的过程实际上是将它们与用户以前的记录进行匹配。因此,这种方法倾向于推荐与用户过去喜欢的项目相似的项目[57]。
2.3. Hybrid Method:
•混合方法是利用多种推荐技术,以克服仅使用一种方法的局限性。基于CF的推荐算法的一个主要问题是用户项交互数据的稀疏性,使得从交互角度寻找相似的条目或用户变得困难。这个问题的一个特例是冷启动问题,这意味着对于新用户或项目的推荐是困难的,因为没有任何交互记录就无法确定用户和项目项的相似性。通过将用户和项目的内容信息(也称为用户侧信息和项目侧信息)整合到基于CF的框架中,可以获得更好的推荐性能。一些常用的项目信息包括项目属性,如品牌、类别;项目多媒体信息,如文本描述、图像特征、音频信号、视频特征;以及项目评论。用户侧信息的常见选项包括用户的人口统计信息,包括职业、性别和爱好;以及用户网络。在这篇论文中,基于KG的推荐系统利用KG作为辅助信息,结合基于CF的技术来获得更准确的推荐。
三、知识图谱推荐系统的3种方法:
基于嵌入的方法、基于路径的方法和统一的方法

3.1 Embedding-based Methods
KGE算法可分为两类[98]:
1. 翻译距离模型 (如TransE[99]、TransH[100]、TransR[101]、TransD[102]等);
2. 语义匹配模型 (如DistMult[103])。
根据用户是否包含在KG中,基于嵌入的方法可以分为两类。
第一种-item graph
使用从数据集或外部知识库抽取出item和item相关的属性,来构成知识图谱。(叫做item graph)。
注意:item graph不包含user。
遵循此策略的论文利用知识图嵌入(KGE)算法对图进行编码,以更全面地表示项目,然后将项目信息整合到推荐框架中。
总的想法可以说明如下:每个item的潜在向量是通过聚合来自多个来源的信息而得到的,如KG、用户-项目交互矩阵(user-item interaction matrix)、项目内容、项目属性。
每个user的潜在向量既可以从用户项交互矩阵(user-item interaction matrix)中提取,也可以从交互项的嵌入组合中提取。

其中,f函数将user和item的嵌入影响到偏好得分,可能是内积、DNN等。在推荐步骤,对偏好得分进行降序排列。
For instance, Zhang et al. [2] proposed CKE.

- 偏移向量 η j 从user-item interaction matrix抽取到。
- X j 表示从item graph抽取的向量。
- Zt,j 表示文本特征。 extracted with the autoencoder architecture.
- Zv,j 表示视觉特征。 extracted with the autoencoder architecture.
偏好得分用内积 u iTvj1 来表示。
最后,预测步骤对偏好得分进行降序排列。
Wang et al. [48] proposed DKN for news recommendation.
模型:使用CNN的句子的文本嵌入 & 使用 TransD 对新闻内容中的实体知识级别的嵌入。
由于KG的加入,最终的新闻嵌入向量 v i包含了新闻之间的更高层级的语义联系。
为了动态捕捉用户的动态兴趣,u由用户历史点击新闻来聚合表示。(使用注意力机制)

g() 表示DNN层,vj 表示候选新闻,最终的用户向量:

最终,用户对 vj 的偏好得分有DNN层得出:f()表示DNN层。

Huang et al. [44] proposed the KSR framework for sequential recommendation.
第二种-user-item graph
另一种基于嵌入的方法直接构建 user-item graph。user, item, attributes 都作为节点。从构建出的图谱可以得出embedding,然后根据偏好得分函数得到结果。
进一步,考虑到图中的关系r,得分函数变化为下式:

Zhang et al. [13] proposed CFKG, which constructs a user-item KG.
Wang et al. [68] proposed SHINE, which takes the celebrity recommendation task as the sentiment link prediction task between entities in the graph.
Dadoun et al. [71] proposed DKFM for POI recommendation.
以往的工作一般直接利用KGE技术所学结构知识的原始潜在向量进行推荐。近年来,一些论文试图通过改进学习实体/关系表示来提高推荐性能。
Yang et al. [69] introduced a GAN-based model, KTGAN, for movie recommendation.
Later, Ye et al. [74] proposed BEM, which uses two types of graphs for items, the knowledge-related graph(containing item attributes information, like brand, category,etc.) and behavior graph (containing item interaction-related information, including co-buy, co-rate, co-add to cart) for recommendation.
另一个趋势是采用多任务学习策略,在KG相关任务的指导下共同学习推荐任务。从user-item interaction matrix学习到 f(u,v) ,从知识图谱学到另一个函数 g(h,r,t) 表示,最终总的loss:

Cao et al. [70] proposed KTUP to jointly learn the task of recommendation and knowledge graph completion.


Meanwhile, Wang et al. [45] proposed MKR, which consists of a recommendation module and a KGE module.
MKR,它由推荐模块和KGE模块组成。前者学习用户和项目的潜在表示,后者利用语义匹配KGE模型学习项目关联实体的表示。这两个部分通过一个交叉压缩单元来传递知识,共享推荐模块中的项目和KG中的实体的正则化。
Xin et al. [73] proposed RCF, which introduces a hierarchical description of items, including both the relation type embedding and relation value embedding.
