标题:基于知识图谱的推荐系统研究综述 作者:秦川, 祝恒书等 发表:中国科学:信息科学
推荐系统是一种有效解决信息泛滥的方法。其核心目标是通过分析用户行为、兴趣、需求等信息, 在海量的数据中挖掘用户感兴趣的信息, 如商品、新闻、POI (point of interest) 和试题等。主要可以分为基于内容的推荐算法、基于协同过滤的推荐算法和混合推荐算法。知识图谱作为混合推荐系统中国一类有效的辅助信息,蕴含了推荐系统中对于物品的大量背景信息,以及物品之间的关系,补充了用户与物品交互数据,可以更进一步提升推荐效果。另外,基于知识图谱的推荐方法为构建可解释推荐系统提供了一些新的思路。
推荐系统
推荐系统的形式化定义如下:给定用户集合 \(U\),物品集合 \(V\),并用 \(R_{i,j}\) 表示用户 \(U_i\) 对 \(V_j\) 的喜好程度,\(R \in \mathbb{R}^{|U| \times|V|}\)。随后定义一个效用函数 \(f: U \times V \rightarrow R\),则推荐系统所研究的问题是给定任意一个用户 \(U_i\),希望找到其喜好程度最大的物品 \(V_k\),即 \[\forall U_{i} \in U, \quad V_{k}=\underset{V_{j} \in V}{\arg \max } f\left(U_{i}, V_{j}\right)\] 在真实的推荐场景中 \(|U|\) 和 \(|V|\) 的量级往往是非常大的,如淘宝网的日活跃用户上千万, 每天在线商品上亿, 但是我们可以观测的 \(R\) 却极其稀疏, 因此给研究推荐系统带来了极大的挑战。
推荐系统中的推荐算法可分为基于内容的推荐算法、基于协同过滤的推荐算法和混合推荐算法3类。
基于内容的推荐算法 基于“用户可能会喜欢与他曾经喜欢过的物品相似的物品”的假设,建模物品集合特征与相似度,将相似的物品推荐给用户。此外还可以使用基于统计和机器学习方法从用户反馈数据中建模学习用户的喜好,替代传统计算相似度的方法。基于内容的推荐算法的主要优点在于可以解决新物品冷启动的问题, 不受 R 的稀疏性所影响; 推荐结果有不错的可解释性。其缺点在于需要复杂的特征工程构造物品属性的特征, 否则会严重影响推荐结果; 缺乏多样性, 推荐结果会与用户曾有过显示和隐式反馈的物品高度相似; 新用户的冷启动问题。
基于协同过滤的推荐算法 基于协同过滤的推荐算法是目前应用最成功的推荐方法, 其利用用户和物品历史的反馈数据, 挖掘用户和物品本身的相关联性, 并基于此进行推荐. 具体地, 这类方法可以被分为 3 类: 基于用户的推荐、基于物品的推荐和基于模型的推荐。基于用户的协同过滤方法是基于假设 “用户可能喜欢与他相似用户喜欢的物品”, 通过用户历史反馈记录计算用户间的相似度, 利用其相似的用户对物品的反馈, 来预测对应用户的反馈情况, 并进行推荐. 这类方法的主要优点在于避开了对物品自身属性的特征挖掘, 缺点在于在用户数量变化很大的情况下, 算法效率较低, 并且面临新用户的冷启动问题. 基于物品的协同过滤方法与基于内容的推荐算法假设类似, 不同在于其使用物品历史被反馈的数据来判断物品之间相似性. 其优点在于计算简单, 因为物品反馈结果变化比用户要低很多, 相较于基于用户的协同过滤算法, 更可以通过离线计算, 定时更新来完成, 其缺点则是无法在不离线更新物品相似性时推荐新的物品给用户. 基于模型的协同过滤方法是为了解决基于用户、物品的协同过滤方法所面临的数据稀疏、难以在大数据量级上返回即时结果的问题. 其通过历史数据利用机器学习方法训练得到一个预训练模型 f, 从而可以实时预测任意用户对某一物品的喜好。
混合推荐算法 混合推荐算法是指将多种推荐技术混合, 从而互相弥补缺点. 其中混合方法包括简单的推荐结果加权融合、切换、混合, 不同数据源的特征组合, 复杂的多模型级联、特征递增和元层次混合. 其中, 最常见的混合推荐系统就是将协同过滤推荐方法与其他推荐方法结合, 从而解决冷启动和稀疏性等问题. 此外, 混合推荐系统的优势在于可以针对特定的推荐场景定制化建模, 从而合理有效地利用额外的数据信息.
知识图谱的应用
现有推荐系统技术, 尤其是基于协同过滤的推荐方法一直面临着一些严峻的问题, 包括用户物品的交互数据稀疏问题和冷启动问题, 会导致推荐结果不准确. 在知识图谱中蕴含着大量实体以及实体之间关系的信息, 这可以作为一种有效的辅助信息丰富用户和物品的描述、提升推荐算法的准确程度以及缓解、解决上面两个问题。
具体地, 一些研究通过对知识图谱中的实体和关系进行表征, 进而将知识图谱中蕴含的语义信息带入到推荐系统的用户和物品上, 从而提升推荐系统的效果. 另外, 一些研究者通过将知识图谱和原有的用户 – 物品的交互数据构成一个异质信息网络图, 利用挖掘图上用户到物品之间不同的路径, 提升推荐效果。
知识图谱作为非常容易理解的外部知识库可以帮助我们将用户、物品之间构建合理的关联, 从而可以帮助我们构建可解释的推荐系统,在给用户合适地推荐物品的同时, 给出推荐的原因。
基于知识图谱的推荐算法
现有的基于知识图谱的推荐方法可以被分为两类, 包括: 基于嵌入的方法 (embedding-based methods) 和基于路径的方法 (path-based methods)。
基于嵌入的方法
基于嵌入的方法主要是通过图嵌入的方法对实体和关系进行表征,进而扩充原有物品和用户表征的语义信息。其中包括基于 Trans 系列的图谱嵌入方法和基于异质信息网络的图嵌入方法。
基于 Trans 系列的图谱嵌入方法 Trans 系列的嵌入方法是比较典型的一类对知识图谱中的实体、关系进行表征的方法. 这类方法目的是将实体和关系映射到连续的向量空间中, 获得低维稠密表示. 主要包括 TransE, TransH, TransR 和 TransD。其中第一篇 TransE 想法是头实体的向量 \(h\) 与关系向量 \(r\) 之和与尾实体向量 \(t\) 越接近越好 (\(h + r ≈ t\)),
基于异质信息网络的图嵌入方法 知识图谱因其节点和边具有不同的类别, 又可以被称作一种异质信息网络图, 因此可以使用一些异质信息网络图的嵌入的方法对图上的实体和关系进行表征。比如 Metapath2Vec。
基于路径的方法
基于路径的应用知识图谱在推荐系统的方法主要是挖掘基于图谱用户、物品之间多种连接关系. 进而基于挖掘路径的信息构造推荐算法. 可以引入传统的对异质信息网络进行挖掘的元路径 (Meta-path) 的方法,具有很好的推荐效果和可解释性,但是需要构造大量的Meta-path或Meta-Graph,当推荐场景或者图谱发生变化时需要重新构造。