AiPaper
论文状态:已完成

Knowledge Graph Convolutional Networks for Recommender Systems

发表:2019/03/19
原文链接PDF 下载
价格:0.10
价格:0.10
已有 1 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出知识图卷积网络(KGCN),通过邻居采样构建多跳感受野,有效捕获知识图谱中实体间高阶结构与语义信息,缓解推荐系统的稀疏性和冷启动问题。KGCN在电影、图书和音乐推荐中表现优异,支持大规模数据处理。

摘要

To alleviate sparsity and cold start problem of collaborative filtering based recommender systems, researchers and engineers usually collect attributes of users and items, and design delicate algorithms to exploit these additional information. In general, the attributes are not isolated but connected with each other, which forms a knowledge graph (KG). In this paper, we propose Knowledge Graph Convolutional Networks (KGCN), an end-to-end framework that captures inter-item relatedness effectively by mining their associated attributes on the KG. To automatically discover both high-order structure information and semantic information of the KG, we sample from the neighbors for each entity in the KG as their receptive field, then combine neighborhood information with bias when calculating the representation of a given entity. The receptive field can be extended to multiple hops away to model high-order proximity information and capture users' potential long-distance interests. Moreover, we implement the proposed KGCN in a minibatch fashion, which enables our model to operate on large datasets and KGs. We apply the proposed model to three datasets about movie, book, and music recommendation, and experiment results demonstrate that our approach outperforms strong recommender baselines.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

知识图卷积网络用于推荐系统 (Knowledge Graph Convolutional Networks for Recommender Systems)

1.2. 作者

论文的作者团队来自多个机构,主要包括:

  • Hongwei Wang:上海交通大学 (Shanghai Jiao Tong University),wanghongwei55@gmail.com
  • Miao Zhao:香港理工大学 (The Hong Kong Polytechnic University),csmiaozhao@comp.polyu.edu.hk
  • Xing Xie:微软亚洲研究院 (Microsoft Research Asia),xingx@microsoft.com
  • Wenjie Li:香港理工大学 (The Hong Kong Polytechnic University),cswjli@comp.polyu.edu.hk
  • Minyi Guo:上海交通大学 (Shanghai Jiao Tong University),guo-my@cs.sjtu.edu.cn

1.3. 发表期刊/会议

本文发表于 2019 年万维网大会 (2019 World Wide Web Conference, WWW '19),这是一个在万维网研究领域具有高声誉和影响力的顶级国际学术会议。

1.4. 发表年份

2019 年。

1.5. 摘要

为缓解基于协同过滤 (Collaborative Filtering, CF) 的推荐系统 (Recommender Systems, RS) 面临的数据稀疏性 (sparsity) 和冷启动 (cold start) 问题,研究人员和工程师通常会收集用户和物品的属性 (attributes),并设计精巧的算法来利用这些额外信息。通常,这些属性并非孤立存在,而是相互关联,共同构成一个知识图谱 (Knowledge Graph, KG)。本文提出了一种端到端 (end-to-end) 框架——知识图卷积网络 (Knowledge Graph Convolutional Networks, KGCN),通过挖掘物品在知识图谱中关联的属性,有效捕获物品间的相关性。为了自动发现知识图谱中的高阶结构信息 (high-order structure information) 和语义信息 (semantic information),KGCN 为知识图谱中的每个实体 (entity) 从其邻居 (neighbors) 中进行采样,构建其感受野 (receptive field),然后在计算给定实体的表示 (representation) 时,结合带偏置 (bias) 的邻域信息。感受野可以扩展到多跳 (multiple hops) 以外,以建模高阶邻近信息 (high-order proximity information) 并捕获用户潜在的远距离兴趣 (long-distance interests)。此外,KGCN 以小批量 (minibatch) 方式实现,使其能够在大规模数据集和知识图谱上运行。作者将所提出的模型应用于电影、图书和音乐推荐的三个数据集,实验结果表明 KGCN 优于强推荐基线模型 (baselines)。

1.6. 原文链接

2. 整体概括

2.1. 研究背景与动机

随着互联网技术的发展,用户面临着海量的在线内容,如新闻、电影和商品,导致信息过载 (information overloading) 问题。推荐系统旨在帮助用户从海量物品中发现符合其个性化兴趣的一小部分物品。

传统的推荐技术,如协同过滤 (CF),通过为用户和物品分配基于 ID 的表示向量,然后通过内积 (inner product) 或神经网络 (neural networks) 等操作建模他们的交互。然而,CF 方法通常受限于用户-物品交互的稀疏性 (sparsity) 和冷启动 (cold start) 问题。当新用户或新物品加入系统时,由于缺乏足够的交互数据,CF 模型难以进行准确推荐。

为了解决这些限制,研究人员通常转向特征丰富的场景,利用用户和物品的属性信息来弥补稀疏性并提高推荐性能。进一步地,一些研究指出这些属性并非孤立的,而是相互连接,形成了一个知识图谱 (Knowledge Graph, KG)。将 KG 融入推荐系统具有多重优势:

  1. 丰富语义相关性 (Rich semantic relatedness): KG 中物品间的丰富语义关联可以帮助探索其潜在连接,提高推荐精度。

  2. 多样化推荐 (Diverse recommendations): KG 中不同类型的关系有助于合理扩展用户兴趣,增加推荐物品的多样性。

  3. 可解释性 (Explainability): KG 连接了用户历史偏好和推荐物品,为推荐系统提供了可解释性。

    尽管有这些优势,但利用 KG 进行推荐仍面临挑战:

  • 高维度和异构性 (High dimensionality and heterogeneity): KG 通常包含大量实体和多种关系类型,结构复杂,难以直接利用。
  • 现有 KG-aware 方法的局限性:
    • 知识图谱嵌入 (Knowledge Graph Embedding, KGE) 方法: 许多 KGE 方法(如 TransE, TransR)侧重于建模严格的语义关系,更适用于图内任务(如 KG 补全、链接预测),而非推荐。将 KGE 直接用于推荐可能效果不佳。

    • 基于元路径/元图 (meta-path/meta-graph) 的方法: 如 PER 和 FMG,需要手动设计元路径来捕捉用户-物品间的连接。这种方式依赖于专家经验,很难找到最优的元路径,并且缺乏灵活性。

    • RippleNet: 记忆网络 (memory network) 类似的模型,通过在 KG 中传播用户潜在偏好。但其关系的重要性表征较弱,且涟漪集 (ripple set) 的大小可能随 KG 增大而不可预测地增长,导致计算和存储开销大。

      本文的动机是设计一个能够自动捕获 KG 中的高阶结构信息和语义信息,并能有效处理其异构性和规模的推荐框架,以克服现有方法的局限性。

2.2. 核心贡献/主要发现

本文提出了知识图卷积网络 (KGCN),一个端到端框架,其核心贡献和主要发现总结如下:

  • 提出了 KGCN 框架: 这是一个利用知识图谱进行推荐的端到端框架,它能够通过聚合邻域信息来有效地捕获物品间的相关性。
  • 自动发现高阶结构和语义信息: KGCN 通过对实体邻居进行采样作为感受野,并结合带偏置的邻域信息来计算实体表示。这种机制使得模型能够自动学习 KG 中的高阶结构信息和实体间丰富的语义信息。
  • 个性化和多跳兴趣建模: 通过用户与关系的分数 (user-relation scores) 作为个性化过滤器来聚合邻居信息,KGCN 能够捕获用户对不同关系类型的个性化偏好。通过将感受野扩展到多跳,模型能够建模高阶实体依赖,并捕捉用户潜在的远距离兴趣。
  • 可扩展性: KGCN 以小批量 (minibatch) 方式实现,使其能够在大规模数据集和知识图谱上高效运行,解决了传统方法在大图上效率低下的问题。
  • 在真实世界数据集上的优越性能: 在电影 (MovieLens-20M)、图书 (Book-Crossing) 和音乐 (Last.FM) 三个真实世界推荐数据集上的实验结果表明,KGCN 在点击率预测 (CTR prediction) 方面,相比最先进的基线模型取得了显著的性能提升,AUC 值平均提升了 4.4%4.4\%8.1%8.1\%6.2%6.2\%
  • 开源代码和数据: 作者公开了 KGCN 的代码和实验数据集,方便研究人员验证结果并进行进一步研究。

3. 预备知识与相关工作

3.1. 基础概念

  • 推荐系统 (Recommender Systems, RS): 旨在帮助用户从海量物品中发现其可能感兴趣的物品的服务或算法。
  • 协同过滤 (Collaborative Filtering, CF): 一种流行的推荐技术,通过分析用户-物品交互数据(如评分、点击记录)来发现相似用户或相似物品,并据此进行推荐。
    • 数据稀疏性 (Sparsity): 在 CF 中,由于用户通常只与极少数物品发生交互,导致用户-物品交互矩阵中大部分是缺失值,即数据稀疏。这使得模型难以从有限数据中学习准确的模式。
    • 冷启动 (Cold Start): 当新用户或新物品进入系统时,由于缺乏历史交互数据,CF 模型无法为其提供有效的推荐。
  • 知识图谱 (Knowledge Graph, KG): 一种结构化的知识表示形式,由大量的实体 (entities) 和它们之间的关系 (relations) 组成,通常以三元组 (head, relation, tail) 的形式表示。例如 (A Song of Ice and Fire, book.book.author, George Martin)。在推荐系统中,物品或其属性可以作为 KG 中的实体。
  • 知识图谱嵌入 (Knowledge Graph Embedding, KGE): 将 KG 中的实体和关系映射到低维连续向量空间的技术。目标是使嵌入向量能够捕捉 KG 的结构和语义信息。常见的 KGE 方法包括 TransE、TransR 等。
  • 图卷积网络 (Graph Convolutional Networks, GCN): 深度学习领域的一种技术,旨在将卷积操作推广到非欧几里得结构数据(如图)上。GCN 通过聚合节点邻居的特征来学习节点的表示,从而捕获图的结构信息。
    • 谱域方法 (Spectral Methods): 将图数据转换到谱域(通过图拉普拉斯矩阵的特征分解),然后在此域上定义卷积操作。例如 Bruna et al. [2]、Defferrard et al. [4]、Kipf et al. [10]。
    • 非谱域方法 (Non-spectral Methods): 直接在图的原始结构上定义卷积操作,通过聚合邻居信息来更新节点表示。这些方法需要解决邻居数量可变的问题,并保持类似 CNN 的权重共享特性。例如 Hamilton et al. [7]、Niepert et al. [13]。本文的 KGCN 属于非谱域方法。
  • 感受野 (Receptive Field): 在 GCN 中,一个节点的感受野是指其在图结构中,通过多层聚合可以接收到信息的源节点集合。例如,一层 GCN 聚合其直接邻居,其感受野是一跳邻居;两层 GCN 聚合二跳邻居,其感受野包括了一跳和二跳邻居。
  • 小批量 (Minibatch): 一种在训练神经网络时常用的优化策略,每次更新模型参数时,不是使用所有训练数据,而是使用一小批(一个子集)数据。这可以减少内存消耗,提高训练效率和收敛稳定性。
  • 端到端 (End-to-end): 指一个系统或模型可以直接从原始输入数据学习到最终输出,而无需手动进行复杂的中间特征工程或分阶段处理。

3.2. 前人工作

论文提及了多种与 KG-aware 推荐系统和 GCN 相关的先前研究:

1. KG-free 推荐系统基线:

  • SVD [11]: 一种经典的基于协同过滤 (CF) 的模型,通过矩阵分解 (Matrix Factorization) 学习用户和物品的隐式因子,并使用内积来预测用户-物品交互。
  • LibFM [14]: 因子分解机 (Factorization Machines) 的一种实现,是一种特征工程模型,适用于 CTR (Click-Through Rate) 预测等场景,可以处理高维稀疏特征。

2. KG-aware 推荐系统:

  • 基于 KGE 的方法 [9, 19, 23]:

    • TransE [1] / TransR [12]: 经典的知识图谱嵌入 (KGE) 方法,将实体和关系嵌入到低维向量空间。TransE 假设 h+rth+r \approx t,TransR 则引入了关系特定的投影矩阵。这些方法主要用于图谱补全等图内任务。
    • LibFM + TransE: 一种将 KGE 引入 LibFM 的方式,通过将 TransE 学习到的实体表示作为额外特征附加到用户-物品对上。
    • CKE [23]: (Collaborative Knowledge Embedding) 结合了 CF 与结构、文本和视觉知识的统一框架。论文中实现的是 CF 结合结构知识模块的版本。
    • 局限性: KGE 方法侧重于建模严格的语义关系,可能不完全适用于推荐任务;它们通常是预处理步骤,与推荐模型分离。
  • 基于元路径/元图的方法 [18, 22, 24]:

    • PER [22]: (Personalized Entity Recommendation) 将 KG 视为异构信息网络 (heterogeneous information network),通过提取基于元路径 (meta-path) 的特征来表示用户和物品之间的连接。
    • FMG [24]: (Factorization Machines for Graph) 类似 PER,利用元图 (meta-graph) 来捕捉异构信息网络中的复杂连接。
    • 局限性: 严重依赖手动设计的元路径或元图,这些路径很难在现实中达到最优,且缺乏通用性。
  • RippleNet [18]: 一种类似记忆网络 (memory network) 的模型,通过在知识图谱中传播用户偏好来探索其层次化兴趣。

    • 局限性: 关系的重要性表征较弱 (二次型 vRh\mathbf{v}^\top \mathbf{Rh} 难以有效训练关系重要性),且涟漪集 (ripple set) 的大小可能随 KG 规模增大而不可预测地增长,导致计算和存储开销大。

3. 图卷积网络 (GCN) 相关:

  • 谱域 GCN [2, 4, 10]:
    • Bruna et al. [2]: 在傅里叶域定义卷积,计算图拉普拉斯矩阵的特征分解。
    • Defferrard et al. [4]: 通过切比雪夫多项式逼近图拉普拉斯矩阵的卷积核。
    • Kipf et al. [10]: 提出了通过谱图卷积的一阶局部近似的卷积架构,极大地简化了 GCN 模型。
  • 非谱域 GCN [6, 7, 13]: 直接在图结构上操作。
    • Hamilton et al. (GraphSAGE) [7]: 提出了一种归纳式 (inductive) 的图表示学习方法,通过采样固定大小的邻居集合进行聚合。本文的 KGCN 在采样邻居这一点上受其启发。
    • PinSage [21]: Pinterest 大规模推荐系统中使用的一种 GCN 变体,为同构图设计。
    • GAT [15]: (Graph Attention Networks) 引入了注意力机制来为不同邻居分配不同的权重,也是为同构图设计的。
    • 局限性: 大多数现有 GCN 模型(包括 PinSage 和 GAT)主要为同构图 (homogeneous graphs) 设计,难以直接应用于异构的知识图谱。

3.3. 技术演进

推荐系统从早期的基于内容 (content-based) 和协同过滤 (CF) 方法,发展到结合辅助信息(如用户/物品属性)的混合模型。为了更有效地利用结构化辅助信息,知识图谱被引入推荐领域。最初,人们尝试将知识图谱嵌入 (KGE) 方法学习到的实体表示作为特征输入到推荐模型中。随后,一些研究试图直接在知识图谱上设计算法,例如基于元路径的方法,但这些方法依赖于人工特征工程。RippleNet 则尝试通过记忆网络在 KG 上传播用户偏好,但仍存在效率和关系权重建模的局限。

KGCN 的出现,可以看作是将图神经网络 (Graph Neural Networks, GNNs) 的强大能力引入知识图谱辅助推荐的自然演进。GCNs 在处理图结构数据方面展现出优越性,但它们最初多为同构图设计。KGCN 的创新在于将非谱域 GCN 思想推广到异构知识图谱,并通过用户-关系偏好引入了个性化聚合机制,同时解决了大规模图的可扩展性问题(通过邻居采样和小批量训练),以及通过多跳感受野捕捉高阶兴趣。这代表了 KG-aware 推荐系统从静态特征嵌入、人工路径定义向动态、个性化、端到端图结构学习的一次重要飞跃。

3.4. 差异化分析

KGCN 与相关工作的主要区别和创新点在于:

  1. 端到端学习与个性化聚合:

    • 与 KGE-based 方法 (如 LibFM+TransE, CKE) 的区别: KGE 方法通常是两阶段的:先独立学习实体和关系嵌入,再将这些嵌入作为特征输入推荐模型。KGCN 是一个端到端框架,将知识图谱结构信息和推荐任务的目标函数统一起来学习。更重要的是,KGCN 引入了用户-关系分数 (πru\pi_r^u) 作为个性化权重,使得邻居聚合过程是用户特定的,从而更好地捕获用户的个性化兴趣。而 KGE 学习的嵌入通常是静态的,不直接反映用户偏好。
    • 与 RippleNet 的区别: RippleNet 也尝试在 KG 上传播用户偏好,但其关系重要性的建模相对较弱。KGCN 通过显式地计算用户对不同关系的偏好分数来指导邻居聚合,这使得关系的重要性得以更精细、个性化地刻画。此外,KGCN 的邻居采样机制确保了计算成本的可控性,而 RippleNet 的涟漪集可能导致不可预测的开销。
  2. 自动发现结构和语义信息:

    • 与基于元路径/元图的方法 (如 PER, FMG) 的区别: PER 和 FMG 严重依赖于专家知识来手动设计元路径或元图,这限制了模型的灵活性和最优路径的发现。KGCN 通过图卷积的机制,能够自动地从 KG 中聚合邻居信息,从而发现高阶结构和语义信息,无需人工干预。这种自动化的特征学习能力是其显著优势。
  3. 异构知识图谱的适应性:

    • 与通用 GCN (如 PinSage, GAT) 的区别: 大多数 GCN 模型(包括 PinSage 和 GAT)主要设计用于同构图,其中所有节点和边都是同一类型。知识图谱本质上是异构的,包含多种实体类型和关系类型。KGCN 通过引入用户-关系分数来处理关系的异构性,使得聚合过程能够区分不同关系的重要性,从而更好地适应知识图谱的特性。
  4. 可扩展性:

    • KGCN 采用固定大小的邻居采样和 minibtach 训练,这使得模型能够在大规模知识图谱和数据集上高效运行,克服了某些图神经网络在处理大规模图时的计算瓶颈。

      总结来说,KGCN 的核心创新在于将图卷积网络的局部聚合思想与知识图谱的异构性以及推荐任务的个性化需求相结合,通过用户-关系注意力机制实现个性化聚合,并利用多跳感受野捕捉高阶兴趣,同时通过采样和 minibatch 机制保证了在大规模数据上的可扩展性。

4. 方法论

本节将详细介绍 KGCN (Knowledge Graph Convolutional Networks) 模型的方法论,包括问题定义、KGCN 层设计以及完整的学习算法。

4.1. 问题定义 (Problem Formulation)

知识图谱感知推荐 (knowledge-graph-aware recommendation) 问题定义如下: 我们有一个包含 MM 个用户的集合 U={u1,u2,...,uM}\mathcal { U } = \{ u _ { 1 } , u _ { 2 } , . . . , u _ { M } \}NN 个物品的集合 V={v1,v2,...,vN}\mathrm { \mathcal { V } } = \{ v _ { 1 } , v _ { 2 } , . . . , v _ { N } \}。用户-物品交互矩阵 YRM×N\mathbf { Y } \in \mathbb { R } ^ { M \times N } 是根据用户的隐式反馈 (implicit feedback) 定义的。其中,yuv=1y _ { u v } = 1 表示用户 uu 与物品 vv 发生了交互(例如点击、浏览或购买),否则 yuv=0y _ { u v } = 0

此外,我们还有一个知识图谱 G\mathcal { G },它由实体-关系-实体三元组 ( h , r , t ) 组成。这里 hEh \in { \mathcal { E } }rRr \in \mathcal { R }tEt \in { \mathcal { E } } 分别表示知识三元组的头实体 (head entity)、关系 (relation) 和尾实体 (tail entity)。E\mathcal{E}R\mathcal{R} 分别是知识图谱中实体和关系的集合。例如,三元组 (A Song of Ice and Fire, book.book.author, George Martin) 表示“冰与火之歌”这本书的作者是“乔治·马丁”。在许多推荐场景中,一个物品 vVv \in \mathcal { V } 对应于一个实体 eEe \in { \mathcal { E } }。例如,在图书推荐中,物品“冰与火之歌”也以同名实体出现在知识图谱中。

目标: 给定用户-物品交互矩阵 Y\mathbf { Y } 和知识图谱 G\mathcal { G },我们的目标是预测用户 uu 是否对物品 vv 存在潜在兴趣,即使他们之前没有交互。这需要学习一个预测函数 y^uv=F(u,vΘ,Υ,G)\hat { y } _ { u v } = \mathcal { F } ( u , v | \Theta , \Upsilon , \mathcal { G } ),其中 y^uv\hat { y } _ { u v } 表示用户 uu 将与物品 vv 发生交互的概率,Θ\Theta 表示函数 F\mathcal { F } 的模型参数。

4.2. KGCN 层 (KGCN Layer)

KGCN 的核心思想是通过聚合和融入带有偏置的邻域信息来计算给定实体在知识图谱中的表示。一个 KGCN 层的主要步骤包括:用户-关系分数计算、邻域表示计算(包含采样和个性化权重)、以及聚合器 (aggregator) 对实体自身表示和邻域表示的组合。

4.2.1. 用户-关系分数 (User-Relation Score)

对于一个候选的用户 uu 和物品(实体)vv 对,我们首先需要量化用户 uu 对连接物品 vv 及其邻居实体 ee 的关系 rv,er_{v,e} 的兴趣程度。这通过一个用户-关系分数 (user-relation score) 函数 gg 来实现。

πru=g(u,r)(1) \pi _ { r } ^ { u } = g ( \mathbf { u } , \mathbf { r } ) \qquad (1) 其中:

  • πru\pi _ { r } ^ { u }:表示用户 uu 对关系 rr 的重要性或偏好分数。
  • g:Rd×RdRg : \mathbb { R } ^ { d } \times \mathbb { R } ^ { d } \to \mathbb { R }:一个函数,用于计算用户表示 u\mathbf{u} 和关系表示 r\mathbf{r} 之间的分数。在本文中,可以是一个简单的内积。
  • uRd\mathbf { u } \in \mathbb { R } ^ { d }:用户 uudd 维表示向量。
  • rRd\mathbf { r } \in \mathbb { R } ^ { d }:关系 rrdd 维表示向量。 这个分数 πru\pi _ { r } ^ { u } 捕获了用户 uu 对关系 rr 的个性化偏好。例如,一个用户可能更关注电影的“明星”关系,而另一个用户可能更关注“类型”关系。

4.2.2. 邻域表示计算 (Neighborhood Representation Calculation)

为了表征物品 vv 的拓扑邻近结构,我们需要计算其邻居的线性组合。首先,用 N(v) 表示直接连接到实体 vv 的实体集合。

vN(v)u=eN(v)π~rv,eue(2) \mathbf { v } _ { N ( v ) } ^ { u } = \sum _ { e \in N ( v ) } \tilde { \pi } _ { r _ { v , e } } ^ { u } \mathbf { e } \qquad (2) 其中:

  • vN(v)u\mathbf { v } _ { N ( v ) } ^ { u }:表示用户 uu 感知下的物品 vv 的邻域表示向量。

  • e\mathbf { e }:实体 ee 的表示向量。

  • π~rv,eu\tilde { \pi } _ { r _ { v , e } } ^ { u }:是经过归一化 (normalized) 的用户-关系分数,它作为权重,指示了邻居实体 ee 通过关系 rv,er_{v,e}vv 的重要性,且是用户 uu 特定的。

    这个归一化分数 π~rv,eu\tilde { \pi } _ { r _ { v , e } } ^ { u } 的计算方式如下(Softmax 函数):

π~rv,eu=exp(πrv,eu)eN(v)exp(πrv,eu)(3) \tilde { \pi } _ { r _ { v , e } } ^ { u } = \frac { \exp { ( \pi _ { r _ { v , e } } ^ { u } ) } } { \sum _ { e ^ { \prime } \in N ( v ) } { \exp { ( \pi _ { r _ { v , e ^ { \prime } } } ^ { u } ) } } } \qquad (3) 这里,分母是对所有与 vv 相连的邻居实体 ee' 及其连接关系 rv,er_{v,e'} 计算的用户-关系分数进行指数化求和,以确保所有权重之和为 1。这些用户-关系分数作为个性化过滤器,在计算实体的邻域表示时对邻居进行加权聚合。

在实际的知识图谱中,一个实体的邻居集合 N(e) 的大小可能差异很大,并且在最坏情况下可能非常大,导致计算效率低下。为了保持批处理 (batch) 计算模式的固定和高效,KGCN 采用了一种邻居采样 (neighbor sampling) 策略:对于每个实体,我们统一采样一个固定大小的邻居集合 S(v),而不是使用其所有邻居。

  • S(v)=Δ{eeN(v)}S ( v ) \stackrel { \Delta } { = } \{ e \mid e \sim N ( v ) \}:表示从 N(v) 中采样的邻居集合。
  • S(v)=K| S ( v ) | = KKK 是一个可配置的常数,代表采样邻居的数量。 在 KGCN 中,S(v) 也被称为实体的(单层)感受野 (receptive field)。这意味着最终的实体表示对这些采样位置敏感。

图 1a 形象地展示了一个实体的两层感受野示例,其中 KK 设置为 2。

Figure 1: (a) A two-layer receptive field (green entities) of the blue entity in a KG. (b) The framework of KGCN. 该图像是论文中的示意图,包括(a)一个知识图谱中蓝色实体的两层感受野示意(绿色节点)和(b) KGCN框架中实体表示计算与预测概率的流程示意。

Figure 1: (a) A two-layer receptive field (green entities) of the blue entity in a KG. (b) The framework of KGCN.

4.2.3. 聚合器 (Aggregators)

KGCN 层中的最后一步是将实体自身的表示 v\mathbf{v} 和其邻域表示 vS(v)u\mathbf { v } _ { S ( v ) } ^ { u } 聚合成一个单一的向量。论文中实现了三种类型的聚合器 agg:Rd×RdRdagg : \mathbb { R } ^ { d } \times \mathbb { R } ^ { d } \to \mathbb { R } ^ { d }

  1. 求和聚合器 (Sum Aggregator): 求和聚合器将两个表示向量求和,然后进行非线性变换。 aggsum=σ(W(v+vS(v)u)+b)(4) a g g _ { s u m } = \sigma \left( \mathbf { W } \cdot ( \mathbf { v } + \mathbf { v } _ { S ( v ) } ^ { u } ) + \mathbf { b } \right) \qquad (4) 其中:

    • WRd×d\mathbf { W } \in \mathbb{R}^{d \times d}:可学习的权重矩阵。
    • bRd\mathbf { b } \in \mathbb{R}^{d}:可学习的偏置向量。
    • σ\sigma:非线性激活函数,如 ReLU。
    • v\mathbf{v}:实体 vv 自身的表示向量。
    • vS(v)u\mathbf { v } _ { S ( v ) } ^ { u }:实体 vv 在用户 uu 感知下的邻域表示向量。
  2. 拼接聚合器 (Concat Aggregator): 拼接聚合器首先将两个表示向量拼接起来,然后再进行非线性变换。 aggconcat=σ(Wconcat(v,vS(v)u)+b)(5) a g g _ { c o n c a t } = \sigma \left( { \bf W } \cdot { concat } ( { \bf v } , { \bf v } _ { S ( v ) } ^ { u } ) + { \bf b } \right) \qquad (5) 其中:

    • WRd×2d\mathbf { W } \in \mathbb{R}^{d \times 2d}:可学习的权重矩阵,因为输入向量维度加倍。
    • bRd\mathbf { b } \in \mathbb{R}^{d}:可学习的偏置向量。
    • concat(,)concat(\cdot, \cdot):表示向量拼接操作。
    • 其他符号同上。
  3. 邻居聚合器 (Neighbor Aggregator): 邻居聚合器直接将实体 vv 的邻域表示作为输出表示。 aggneighbor=σ(WvS(v)u+b)(6) a g g _ { n e i g h b o r } = \sigma \left( \mathbf { W } \cdot \mathbf { v } _ { S ( v ) } ^ { u } + \mathbf { b } \right) \qquad (6) 其中:

    • WRd×d\mathbf { W } \in \mathbb{R}^{d \times d}:可学习的权重矩阵。
    • bRd\mathbf { b } \in \mathbb{R}^{d}:可学习的偏置向量。
    • 其他符号同上。 聚合是 KGCN 中的关键步骤,因为它将物品的表示与其邻居紧密联系起来。作者将在实验中评估这三种聚合器的性能。

4.3. 学习算法 (Learning Algorithm)

通过单个 KGCN 层,一个实体的最终表示取决于其自身及其直接邻居,这被称为 1 阶实体表示 (1-order entity representation)。为了更广泛和深入地探索用户的潜在兴趣,KGCN 可以自然地从单层扩展到多层。其直观思想是:将每个实体的初始表示(0 阶表示)传播到其邻居,得到 1 阶实体表示;然后重复此过程,即进一步传播和聚合 1 阶表示以获得 2 阶表示,以此类推。通常,一个实体的 HH 阶表示是其自身以及最多 HH 跳距离的邻居的初始表示的混合。

算法 1 详细描述了 KGCN 的学习过程。

Algorithm 1: KGCN algorithm
Input: Interaction matrix Y; knowledge graph G(ε, R); neighborhood sampler S: e → 2^ε;
        initial embeddings {u}_u∈U, {e}_e∈ε, {r}_r∈R;
        trainable parameters {W_i, b_i}_{i=1}^H;
        hyper-parameters H, d, g(·), f(·), σ(·), agg(·)
Output: Prediction function F(u, v | Θ, Υ, G)

1 while KGCN not converge do
2  for (u, v) in Y do
3    {M[i]}_i=0^H ← Get-Receptive-Field(v);
4    e^u[0] ← e, ∀e ∈ M[0];  // Initialize 0-order entity representations
5    for h = 1, ..., H do
6      for e ∈ M[h] do
7        e_S(e)^u[h-1] ← ∑_{e' ∈ S(e)} (exp(g(u, r_{e,e'})) / ∑_{e'' ∈ S(e)} exp(g(u, r_{e,e''}))) * e'^u[h-1];
8        e^u[h] ← agg(e^u[h-1], e_S(e)^u[h-1]);
9    v^u ← e^u[H];  // Final H-order representation for item v for user u
10   Calculate predicted probability ŷ_uv = f(u, v^u).
11   Update parameters by gradient descent;
12 return F

13 Function Get-Receptive-Field(v)
14   M[H] ← {v};
15   for h = H-1, ..., 0 do
16     M[h] ← M[h+1];
17     for e ∈ M[h+1] do
18       M[h] ← M[h] ∪ S(e);
19   return {M[i]}_i=0^H;

算法流程解释:

  • 输入: 交互矩阵 Y\mathbf{Y}、知识图谱 G\mathcal{G}、邻居采样器 SS、初始的用户、实体和关系嵌入、可训练参数(权重矩阵 Wi\mathbf{W}_i 和偏置 bi\mathbf{b}_i)、超参数(最大感受野深度 HH、嵌入维度 dd、用户-关系分数函数 g()g(\cdot)、预测函数 f()f(\cdot)、激活函数 σ()\sigma(\cdot) 和聚合器 agg()agg(\cdot))。

  • 第 1-2 行: 算法在一个循环中迭代,直到收敛。在每次迭代中,遍历交互矩阵 Y\mathbf{Y} 中的每个用户-物品对 (u,v)

  • 第 3 行: 调用 Get-Receptive-Field(v) 函数为物品 vv 获取其 HH 阶感受野 M\mathcal{M}

    • Get-Receptive-Field(v) 函数 (第 13-19 行):
      • M[H] ← {v}:初始化最高层的感受野只包含物品 vv 自身。
      • h=H1h = H-1 逆向到 0 循环:
        • M[h]M[h+1]M[h] ← M[h+1]:将当前层的感受野初始化为下一层的感受野。
        • 对于 M[h+1]M[h+1] 中的每个实体 eeM[h] ← M[h] ∪ S(e):将 ee 的采样邻居 S(e) 加入到当前层 hh 的感受野中。
      • 这个过程从物品 vv 开始,逐层向外扩展,构建了从 0 阶到 HH 阶的所有相关实体集合。
  • 第 4 行: e^u[0] ← e, ∀e ∈ M[0]:初始化所有在 0 阶感受野 \mathcal{M}[0] 中的实体 ee 的 0 阶表示 \mathbf{e}^u[0] 为其初始嵌入 e\mathbf{e}

  • 第 5-8 行(多层聚合): 这是一个迭代循环,从 h=1h = 1HH 进行 HH 次聚合操作。

    • 在每次迭代 hh 中,对于 M[h]\mathcal{M}[h] 中的每个实体 ee
      • 第 7 行: eS(e)u[h1]e_S(e)^u[h-1]:计算实体 ee 在用户 uu 感知下的 (h-1) 阶邻域表示。这与公式 (2) 和 (3) 描述的计算过程相同,使用了用户-关系分数来加权聚合 ee 的采样邻居 S(e)(h-1) 阶表示。
      • 第 8 行: eu[h]agg(eu[h1],eS(e)u[h1])e^u[h] ← agg(e^u[h-1], e_S(e)^u[h-1]):使用所选的聚合器 agg (如 sum, concat, neighbor) 将实体 ee 自身的 (h-1) 阶表示 eu[h1]\mathbf{e}^u[h-1] 与其计算出的邻域表示 eS(e)u[h1]\mathbf{e}_{S(e)}^u[h-1] 聚合,得到实体 eehh 阶表示 eu[h]\mathbf{e}^u[h]
  • 第 9 行: vueu[H]v^u ← e^u[H]:经过 HH 层聚合后,物品 vv 的最终 HH 阶表示 vu\mathbf{v}^u 被确定。

  • 第 10 行: y^uv=f(u,vu)ŷ_uv = f(u, v^u):使用预测函数 ff(例如内积)和用户 uu 的表示 u\mathbf{u} 以及物品 vv 的最终表示 vu\mathbf{v}^u 来计算预测概率。 y^uv=f(u,vu)(7) \hat { y } _ { u v } = f ( \mathbf { u } , \mathbf { v } ^ { u } ) \qquad (7)

  • 第 11 行: Update parameters by gradient descent:通过梯度下降 (gradient descent) 算法更新模型的所有可训练参数。

    图 1b 展示了 KGCN 算法在一个迭代中的示意图,其中给定节点的实体表示 vu[h]\mathbf{v}^u[h] 和邻域表示(绿色节点)混合以形成其在下一次迭代中使用的表示(蓝色节点)。

4.3.1. 损失函数 (Loss Function)

算法 1 遍历所有可能的 user-item 对,这在实际中计算效率不高。为了提高效率,在训练过程中采用了负采样 (negative sampling) 策略。完整的损失函数 L\mathcal{L} 如下:

L=uU(v:yuv=1T(yuv,y^uv)i=1TuEviP(vi)T(yuvi,y^uvi))+λF22(8) \mathcal { L } = \sum _ { u \in \mathcal { U } } \bigg ( \sum _ { v : y _ { u v } = 1 } \mathcal { T } ( y _ { u v } , \hat { y } _ { u v } ) - \sum _ { i = 1 } ^ { T ^ { u } } \mathbb { E } _ { v _ { i } \sim P ( v _ { i } ) } \mathcal { T } ( y _ { u v _ { i } } , \hat { y } _ { u v _ { i } } ) \bigg ) + \lambda \| \mathcal { F } \| _ { 2 } ^ { 2 } \qquad (8) 其中:

  • L\mathcal { L }:总损失函数。
  • uU(v:yuv=1T(yuv,y^uv)i=1TuEviP(vi)T(yuvi,y^uvi))\sum _ { u \in \mathcal { U } } \bigg ( \sum _ { v : y _ { u v } = 1 } \mathcal { T } ( y _ { u v } , \hat { y } _ { u v } ) - \sum _ { i = 1 } ^ { T ^ { u } } \mathbb { E } _ { v _ { i } \sim P ( v _ { i } ) } \mathcal { T } ( y _ { u v _ { i } } , \hat { y } _ { u v _ { i } } ) \bigg ):这是基于负采样的损失项。
    • T\mathcal { T }:交叉熵损失 (cross-entropy loss),用于衡量预测概率 y^uv\hat{y}_{uv} 与真实标签 yuvy_{uv} 之间的差异。
    • v:yuv=1T(yuv,y^uv)\sum _ { v : y _ { u v } = 1 } \mathcal { T } ( y _ { u v } , \hat { y } _ { u v } ):对用户 uu 所有正向交互的物品 vv (即 yuv=1y_{uv}=1) 计算损失。
    • i=1TuEviP(vi)T(yuvi,y^uvi)\sum _ { i = 1 } ^ { T ^ { u } } \mathbb { E } _ { v _ { i } \sim P ( v _ { i } ) } \mathcal { T } ( y _ { u v _ { i } } , \hat { y } _ { u v _ { i } } ):对用户 uu 采样的 TuT^u 个负样本(未交互物品 viv_i,即 yuvi=0y_{uv_i}=0)计算损失。负样本 viv_i 从负采样分布 P(vi)P(v_i) 中抽取。在本文中,Tu={v:yuv=1}T^u = | \{ v : y _ { u v } = 1 \} |,即每个用户负采样数量等于其正样本数量,且 PP 遵循均匀分布 (uniform distribution)。
  • λF22\lambda \| \mathcal { F } \| _ { 2 } ^ { 2 }:L2 正则化项 (L2-regularizer),用于防止模型过拟合 (overfitting)。
    • λ\lambda:L2 正则化权重。

    • F22\| \mathcal { F } \| _ { 2 } ^ { 2 }:模型所有可训练参数的 L2 范数平方。

      这个损失函数旨在最大化正样本的预测概率,同时最小化负样本的预测概率,并通过正则化控制模型复杂度。

5. 实验设置

本节详细介绍 KGCN 模型在电影、图书和音乐推荐场景下的实验设置,包括数据集、评估指标、对比基线以及超参数配置。

5.1. 数据集

实验使用了以下三个真实世界数据集,涵盖电影、图书和音乐推荐场景:

  1. MovieLens-20M: 电影推荐领域广泛使用的基准数据集,包含约 2000 万条显式评分(范围从 1 到 5)数据。
  2. Book-Crossing: 包含 Book-Crossing 社区中约 100 万条图书评分(范围从 0 到 10)数据。
  3. Last.FM 包含来自 Last.fm 在线音乐系统约 2 千名用户的音乐收听信息,记录了艺术家收听数据。

数据预处理:

  • 隐式反馈转换: 由于这三个数据集都是显式反馈(带有具体评分),作者将其转换为隐式反馈 (implicit feedback) 形式。
    • 对于 MovieLens-20M,评分大于等于 4 被视为正向交互,标记为 1。
    • 对于 Book-Crossing 和 Last.FM,由于数据稀疏性更高,未设置评分阈值,所有评分都被视为正向交互,标记为 1。
    • 对于每个用户,从未交互过的物品中随机采样一部分作为负样本,标记为 0。
  • 知识图谱构建:
    • 使用 Microsoft Satori 知识图谱来构建每个数据集对应的 KG。

    • 首先从 Satori 知识图谱中选择置信度 (confidence level) 大于 0.9 的三元组子集。

    • 通过匹配物品名称(例如电影名称、图书标题、音乐家名称)与三元组的尾实体(如 film.film.namebook.book.titletype.object.name)来收集所有有效物品的 Satori ID。

    • 排除了名称匹配到多个实体或未匹配到任何实体的物品。

    • 然后,将物品 ID 与所有三元组的头实体进行匹配,并从子知识图谱中选择所有匹配良好的三元组。

    • 最终构建的知识图谱用于模型训练。

      以下是原文 Table 1 的结果,展示了三个数据集的基本统计信息和超参数设置:

      MovieLens-20M Book-Crossing Last.FM
      # users 138,159 19,676 1,872
      # items 16,954 20,003 3,846
      # interactions 13,501,622 172,576 42,346
      # entities 102,569 25,787 9,366
      # relations 32 18 60
      # KG triples 499,474 60,787 15,518
      K 4 8 8
      d 32 64 16
      H 2 1 1
      λ 10-7 2 × 10-5 10-4
      η 2 × 10-2 2 × 10-4 5 × 10-4
      batch size 65,536 256 128

5.2. 评估指标

作者在两种实验场景下评估模型性能:点击率预测 (CTR prediction) 和 Top-K 推荐 (Top-K recommendation)。

5.2.1. 点击率预测 (CTR Prediction)

在 CTR 预测任务中,模型预测测试集中每次交互的概率。使用的评估指标是 AUC 和 F1。

  1. AUC (Area Under the Receiver Operating Characteristic Curve)

    • 概念定义: AUC 是 ROC (Receiver Operating Characteristic) 曲线下的面积。ROC 曲线以假正率 (False Positive Rate, FPR) 为横轴,真正率 (True Positive Rate, TPR) 为纵轴。AUC 量化了模型将正样本排在负样本之前的能力,即模型区分正负样本的能力。AUC 值越高,模型性能越好,1 表示完美分类器,0.5 表示随机分类器。
    • 数学公式: AUC=iPositiverankiM(M+1)2M×N \text{AUC} = \frac{\sum_{i \in \text{Positive}} \text{rank}_i - \frac{M(M+1)}{2}}{M \times N}
    • 符号解释:
      • MM: 正样本的数量。
      • NN: 负样本的数量。
      • ranki\text{rank}_i: 第 ii 个正样本的预测分数在所有样本中的排名(从小到大)。
      • 另一种理解:随机选择一个正样本和一个负样本,模型将正样本预测为更高的概率的概率。 AUC=P(Spositive>Snegative) \text{AUC} = P(S_{\text{positive}} > S_{\text{negative}}) 其中 SpositiveS_{\text{positive}}SnegativeS_{\text{negative}} 分别代表随机选择的正样本和负样本的预测分数。
  2. F1 分数 (F1 Score)

    • 概念定义: F1 分数是精确率 (Precision) 和召回率 (Recall) 的调和平均值。它是一种综合评估分类器性能的指标,特别是在类别不平衡的数据集上。F1 分数越高,模型性能越好。
    • 数学公式: F1=2×Precision×RecallPrecision+Recall \text{F1} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} 其中:
      • 精确率 (Precision): 模型预测为正样本中实际为正样本的比例。 Precision=TPTP+FP \text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}
      • 召回率 (Recall): 实际为正样本中被模型成功预测为正样本的比例。 Recall=TPTP+FN \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}
    • 符号解释:
      • TP\text{TP} (True Positives):真阳性,实际为正且预测为正的样本数。
      • FP\text{FP} (False Positives):假阳性,实际为负但预测为正的样本数。
      • FN\text{FN} (False Negatives):假阴性,实际为正但预测为负的样本数。

5.2.2. Top-K 推荐 (Top-K Recommendation)

在 Top-K 推荐任务中,模型为测试集中的每个用户选择 KK 个预测点击概率最高的物品。使用的评估指标是 Recall@K。

  1. Recall@K
    • 概念定义: Recall@K 衡量的是在为每个用户推荐的 Top-K 物品列表中,实际用户感兴趣的物品所占的比例。它关注的是模型在有限的推荐列表中能够“找回”多少用户真正感兴趣的物品。
    • 数学公式: Recall@K=1UuURecommendedu(K)RelevantuRelevantu \text{Recall@K} = \frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \frac{|\text{Recommended}_u(K) \cap \text{Relevant}_u|}{|\text{Relevant}_u|}
    • 符号解释:
      • U|\mathcal{U}|: 测试集中用户的总数。
      • Recommendedu(K)\text{Recommended}_u(K): 为用户 uu 推荐的 Top-K 物品集合。
      • Relevantu\text{Relevant}_u: 用户 uu 在测试集中实际感兴趣的物品集合。
      • Recommendedu(K)Relevantu|\text{Recommended}_u(K) \cap \text{Relevant}_u|: 用户 uu 的推荐列表与实际感兴趣物品列表的交集大小,即成功推荐的物品数量。
      • Relevantu|\text{Relevant}_u|: 用户 uu 实际感兴趣的物品总数。

5.3. 对比基线

论文将 KGCN 与以下基线模型进行比较:

1. KG-free 基线:

  • SVD [11]: 经典的协同过滤模型,使用内积建模用户-物品交互。在实验中,作者使用了无偏 (unbiased) 版本,即预测评分建模为 rpq=pqr_{pq} = \mathbf{p}^\top \mathbf{q}
  • LibFM [14]: 一种基于特征的因子分解模型,常用于 CTR 场景。输入是拼接的用户 ID 和物品 ID。

2. KG-aware 基线:

  • LibFM + TransE: 在 LibFM 的基础上扩展,将通过 TransE [1] 学习到的实体表示作为附加特征,结合到每个用户-物品对的输入中。
  • PER [22]: (Personalized Entity Recommendation) 将知识图谱视为异构信息网络,通过提取基于元路径 (meta-path) 的特征来表示用户和物品之间的连接。作者手动设计了不同数据集的元路径(例如,MovieLens-20M 的“用户-电影-导演-电影”)。
  • CKE [23]: (Collaborative Knowledge Embedding) 将协同过滤与结构化知识(本文实现为 CF 加上结构知识模块)相结合。
  • RippleNet [18]: 一种类似记忆网络的方法,通过在知识图谱中传播用户偏好来进行推荐。

5.4. 实验参数

KGCN 超参数:

  • gg 函数: 设为内积 (inner product)。
  • ff 函数: 设为内积 (inner product)。
  • σ\sigma 函数: 非最后一层聚合器使用 ReLU,最后一层聚合器使用 tanh。
  • 其他超参数: 如表 1 所示,根据验证集上的 AUC 优化结果确定。
    • KK (邻居采样大小):MovieLens-20M 为 4,Book-Crossing 和 Last.FM 为 8。
    • dd (嵌入维度):MovieLens-20M 为 32,Book-Crossing 为 64,Last.FM 为 16。
    • HH (感受野深度):MovieLens-20M 为 2,Book-Crossing 和 Last.FM 为 1。
    • λ\lambda (L2 正则化权重):MovieLens-20M 为 10710^{-7},Book-Crossing 为 2×1052 \times 10^{-5}Last.FM10410^{-4}
    • η\eta (学习率):MovieLens-20M 为 2×1022 \times 10^{-2},Book-Crossing 为 2×1042 \times 10^{-4}Last.FM5×1045 \times 10^{-4}
    • 批处理大小 (batch size):MovieLens-20M 为 65,536,Book-Crossing 为 256,Last.FM 为 128。

基线模型超参数:

  • SVD: 维度 d=8d=8,学习率 η=0.5\eta=0.5(MovieLens-20M, Book-Crossing);d=8d=8η=0.1\eta=0.1Last.FM)。
  • LibFM: 维度 {1,1,8}\{1, 1, 8\},训练 epoch 数为 50。
  • TransE: 嵌入维度为 32。
  • PER: 使用手动设计的用户-物品-属性-物品路径作为特征,路径设计因数据集而异。
  • CKE: 维度:64(MovieLens-20M),128(Book-Crossing),64(Last.FM)。KG 部分训练权重为 0.1。学习率与 SVD 相同。
  • RippleNet: d=8,H=2,λ1=106,λ2=0.01,η=0.01d=8, H=2, \lambda_1=10^{-6}, \lambda_2=0.01, \eta=0.01 (MovieLens-20M);d=16,H=3,λ1=105,λ2=0.02,η=0.005d=16, H=3, \lambda_1=10^{-5}, \lambda_2=0.02, \eta=0.005 (Last.FM)。其他超参数与原论文或默认代码保持一致。

通用设置:

  • 每个数据集的训练集、验证集和测试集比例为 6:2:2。
  • 每个实验重复 3 次,报告平均性能。
  • 所有可训练参数通过 Adam 优化算法进行优化。
  • 代码实现基于 Python 3.6, TensorFlow 1.12.0 和 NumPy 1.14.3。

6. 实验结果与分析

本节将详细分析 KGCN 在点击率预测和 Top-K 推荐任务上的实验结果,并探讨关键超参数的影响。

6.1. 核心结果分析

6.1.1. 点击率预测 (CTR Prediction) 结果

以下是原文 Table 2 的结果,展示了不同模型在三个数据集上的 AUC 和 F1 表现:

Model MovieLens-20M Book-Crossing Last.FM
AUC F1 AUC F1
SVD 0.963 (-1.5%) 0.919 (-1.4%) 0.672 (-8.9%) 0.635 (-7.7%) 0.769 (-3.4%) 0.696 (-3.5%)
LibFM 0.959 (-1.9%) 0.906 (-2.8%) 0.691 (-6.4%) 0.618 (-10.2%) 0.778 (-2.3%) 0.710 (-1.5%)
LibFM + TransE 0.966 (-1.2%) 0.917 (-1.6%) 0.698 (-5.4%) 0.622 (-9.6%) 0.777 (-2.4%) 0.709 (-1.7%)
PER 0.832 (-14.9%) 0.788 (-15.5%) 0.617 (-16.4%) 0.562 (-18.3%) 0.633 (-20.5%) 0.596 (-17.3%)
CKE 0.924 (-5.5%) 0.871 (-6.5%) 0.677 (-8.3%) 0.611 (-11.2%) 0.744 (-6.5%) 0.673 (-6.7%)
RippleNet 0.968 (-1.0%) 0.912 (-2.1%) 0.715 (-3.1%) 0.650 (-5.5%) 0.780 (-2.0%) 0.702 (-2.6%)
KGCN-sum 0.978 0.932* 0.738 0.688* 0.794 (-0.3%) 0.719 (-0.3%)
KGCN-concat 0.977 (-0.1%) 0.931 (-0.1%) 0.734 (-0.5%) 0.681 (-1.0%) 0.796* 0.721*
KGCN-neighbor 0.977 (-0.1%) 0.932* 0.728 (-1.4%) 0.679 (-1.3%) 0.781 (-1.9%) 0.699 (-3.1%)
KGCN-avg 0.975 (-0.3%) 0.929 (-0.3%) 0.722 (-2.2%) 0.682 (-0.9%) 0.774 (-2.8%) 0.692 (-4.0%)

观察与分析:

  • KGCN 模型的优越性: 总体而言,KGCN 的所有变体(KGCN-sum, KGCN-concat, KGCN-neighbor)在三个数据集上均显著优于所有基线模型。其中,KGCN-sum 在 MovieLens-20M 和 Book-Crossing 上表现最佳,而 KGCN-concatLast.FM 上略微领先。这验证了 KGCN 能够有效利用知识图谱信息来提升推荐性能。
  • 稀疏数据集上的显著提升: KGCN 在 Book-Crossing 和 Last.FM 这两个相对稀疏的数据集上取得了比 MovieLens-20M 更大的性能提升。例如,在 Book-Crossing 上,KGCN-sum 的 AUC 比最好的基线 RippleNet 高出约 3.1% (0.738 vs 0.715),比 SVD 高出 8.9%。这表明 KGCN 能够很好地解决数据稀疏和冷启动问题。
  • KG-aware 与 KG-free 基线:
    • SVDLibFM 这两个 KG-free 基线,在某些情况下甚至优于 PERCKE 这两个 KG-aware 基线。这说明 PERCKE 未能充分利用知识图谱的优势,可能因为它们依赖于手动设计的元路径(PER)或简单的 KGE 正则化(CKE)。
    • LibFM + TransE 通常比 LibFM 表现更好,表明引入 KGE 确实对推荐任务有帮助,但其提升有限。
  • PER 表现最差: PER 在所有基线中表现最差,这印证了论文的观点:手动设计最优元路径在实际中非常困难。
  • RippleNet 的竞争力: RippleNet 在所有基线中表现出较强的竞争力,尤其是在 MovieLens-20M 上,与 KGCN 的差距相对较小。这可能是因为它也利用了多跳邻域结构,暗示了捕获 KG 中邻近信息对推荐的重要性。
  • 聚合器类型的影响:
    • KGCN-sum 通常表现最好,尤其是在稀疏数据集上。
    • KGCN-neighbor 在 Book-Crossing 和 Last.FM 上与 KGCN-sum 存在明显差距。这可能是因为它只使用邻域表示,而忽略了实体自身的原始表示,导致有用信息的丢失。
  • 个性化偏好和注意力机制的有效性:
    • KGCN-avgKGCN-sum 的简化版,它在聚合邻居表示时直接平均,不使用用户-关系分数(即没有注意力机制)。结果显示 KGCN-avg 的性能明显差于 KGCN-sum,特别是在稀疏的 Book-Crossing 和 Last.FM 数据集上。这有力地证明了捕获用户个性化偏好和知识图谱语义信息(通过用户-关系分数实现的注意力机制)对于推荐的有效性。

6.1.2. Top-K 推荐 (Top-K Recommendation) 结果

以下是原文 Figure 2 的结果,展示了不同模型在 Top-K 推荐中 Recall@K 的表现:

Figure 2: The results of Recall@K in top-K recommendation. 该图像是图表,展示了三个数据集(MovieLens-20M、Book-Crossing 和 Last.FM)上不同方法在 Recall@K 评价指标下的表现对比,横轴为 K,纵轴为 Recall@K,图中包括 LibFM+TransE、PER、CKE、RippleNet 和 KGCN-sum 五种方法的曲线。

Figure 2: The results of Recall@K in top-K recommendation.

观察与分析:

  • KGCN-sum 表现最佳: 在三个数据集上,KGCN-sum 在不同 KK 值下均表现出最好的 Recall@K 性能,进一步验证了其在 Top-K 推荐任务上的有效性。
  • 与 CTR 预测结果一致: Top-K 推荐的趋势与 CTR 预测结果高度一致,即 KGCN 模型显著优于所有基线,尤其是在稀疏数据集 Book-Crossing 和 Last.FM 上。
  • RippleNet 仍是强基线: RippleNet 在 Top-K 推荐中依然是表现最好的基线模型,但 KGCN-sum 始终能超越它。

6.2. 消融实验/参数分析

6.2.1. 邻居采样大小 KK 的影响 (Impact of neighbor sampling size KK)

以下是原文 Table 3 的结果,展示了不同邻居采样大小 KK 下 KGCN 的 AUC 结果:

K 2 4 8 16 32 64
MovieLens-20M 0.978 0.979 0.978 0.978 0.977 0.978
Book-Crossing 0.680 0.727 0.736 0.725 0.711 0.723
Last.FM 0.791 0.794 0.795 0.793 0.794 0.792

观察与分析:

  • KGCN 在 K=4K=4K=8K=8 时通常能达到最佳性能。
  • KK 过小:KK 太小时(如 K=2K=2),模型无法捕获足够的邻域信息,导致性能下降(尤其在 Book-Crossing 上)。
  • KK 过大:KK 过大时(如 K=32,64K=32, 64),模型性能也可能略微下降。这可能是因为过多的邻居引入了噪声或无关信息,稀释了有用的信号,导致模型容易被误导。
  • 最佳 KK 值: 存在一个最佳的邻居采样大小,它平衡了信息量和噪声。

6.2.2. 感受野深度 HH 的影响 (Impact of depth of receptive field HH)

以下是原文 Table 4 的结果,展示了不同感受野深度 HH 下 KGCN 的 AUC 结果:

H 1 2 3 4
MovieLens-20M 0.972 0.976 0.974 0.514
Book-Crossing 0.738 0.731 0.684 0.547
Last.FM 0.794 0.723 0.545 0.534

观察与分析:

  • KGCN 对感受野深度 HH 比对 KK 更敏感。
  • H=1H=1H=2H=2 通常最佳: 在 MovieLens-20M 上 H=2H=2 表现最好,而在 Book-Crossing 和 Last.FMH=1H=1 表现最好。这表明对于大多数推荐场景,一跳或两跳的邻居信息足以捕捉关键的用户兴趣,甚至有时两跳可能引入一些不必要的复杂性或噪音。
  • HH 过大导致模型崩溃:H=3H=3H=4H=4 时,模型性能急剧下降,甚至出现“模型崩溃”现象(AUC 接近 0.5,接近随机猜测)。这符合直觉,因为过长的关系链通常包含大量无关信息或噪音,反而会误导模型,使其难以学习到有效的表示。这说明在知识图谱中,太远的实体对物品相似性或用户兴趣的推断意义不大。

6.2.3. 嵌入维度 dd 的影响 (Impact of dimension of embedding dd)

以下是原文 Table 5 的结果,展示了不同嵌入维度 dd 下 KGCN 的 AUC 结果:

d 4 8 16 32 64 128
MovieLens-20M 0.968 0.970 0.975 0.977 0.973 0.972
Book-Crossing 0.709 0.732 0.733 0.735 0.739 0.736
Last.FM 0.789 0.793 0.797 0.793 0.790 0.789

观察与分析:

  • 适中维度效果最佳: 增加嵌入维度 dd 最初可以提升性能,因为更大的维度能够编码更多的用户和实体信息。例如,MovieLens-20M 在 d=32d=32 达到峰值,Book-Crossing 在 d=64d=64 达到峰值,Last.FMd=16d=16 达到峰值。
  • 维度过大导致过拟合: 然而,当 dd 过大时,性能可能会略有下降。这通常是因为高维嵌入增加了模型复杂度,使得模型更容易过拟合 (overfitting) 训练数据,而泛化能力下降。这表明需要找到一个合适的嵌入维度,以平衡模型的表达能力和泛化能力。

7. 总结与思考

7.1. 结论总结

本文提出了知识图卷积网络 (KGCN),一个用于推荐系统的端到端框架。KGCN 将非谱域的图卷积网络方法扩展到知识图谱领域,通过有选择地、带偏置地聚合邻域信息,从而能够学习知识图谱的结构信息和语义信息,并捕捉用户个性化的、潜在的兴趣。其核心创新在于:

  1. 个性化邻域聚合: 通过用户-关系分数作为注意力权重,KGCN 能够根据用户对不同关系的偏好来个性化地聚合邻居信息,从而更精确地建模用户兴趣。

  2. 多跳感受野: 引入多层聚合机制,允许模型捕捉高阶的实体依赖关系和用户潜在的远距离兴趣。

  3. 可扩展性: 采用小批量训练和固定大小的邻居采样策略,使得模型能够在大规模数据集和知识图谱上高效运行。

    在 MovieLens-20M(电影)、Book-Crossing(图书)和 Last.FM(音乐)三个真实世界数据集上的广泛实验表明,KGCN 在点击率预测和 Top-K 推荐任务上始终优于多个最先进的基线模型,尤其是在数据稀疏的场景下表现出更显著的优势。消融实验也验证了模型中个性化聚合机制、邻居采样大小和感受野深度等关键组件的有效性。

7.2. 局限性与未来工作

论文作者指出了以下未来研究方向:

  1. 非均匀邻居采样: 目前的工作中,KGCN 采用均匀采样 (uniformly sample) 的方式来构建实体的感受野。未来的工作可以探索非均匀采样器 (non-uniform sampler),例如重要性采样 (importance sampling),以更有效地选择有价值的邻居,减少噪声并提高模型效率和性能。
  2. 用户端知识图谱 (User-end KGs): 本文(以及现有文献)主要关注建模物品端知识图谱 (item-end KGs)。一个有趣的方向是研究利用用户端知识图谱(例如,描述用户属性、社交关系等)是否能进一步提高推荐性能。
  3. 结合两端知识图谱: 设计一种算法来有效结合物品端 KG 和用户端 KG,以实现更全面、更精准的推荐,也是一个有前景的研究方向。

7.3. 个人启发与批判

个人启发:

  • GCN在异构图上的潜力: KGCN 成功地将 GCN 的强大能力扩展到异构知识图谱,通过引入用户-关系注意力机制来处理异构性并实现个性化,这为在更复杂的图结构上应用 GCN 提供了宝贵的思路。
  • 注意力机制的精细化: 用户-关系分数 πru\pi_r^u 的设计非常精妙,它不仅实现了邻域聚合的注意力机制,更重要的是,它将注意力与用户个性化偏好结合起来,让聚合过程变得“智能”和“用户感知”。这种个性化的注意力机制是其优于传统 GCN 的关键。
  • 工程与理论的结合: 论文在提出新颖模型的同时,也充分考虑了实际应用中的可扩展性问题(小批量训练、固定大小邻居采样),这对于将学术研究落地到大规模工业系统至关重要。

批判与思考:

  • 感受野深度 (HH) 的敏感性: 实验结果显示 KGCN 对感受野深度 HH 极其敏感,当 HH 增加到 3 或 4 时,性能急剧下降甚至崩溃。这可能意味着模型在聚合多跳信息时存在“过平滑” (oversmoothing) 问题,或者远距离信息中的噪声被放大。未来可以探索更复杂的聚合策略或门控机制,以更好地筛选和融合多跳信息,或者在更高层使用更稀疏的连接或不同的注意力机制。

  • 用户-关系函数 gg 的局限性: 论文中 gg 函数简单地采用内积。内积虽然计算高效,但其表达能力有限。探索更复杂的函数(例如多层感知机 MLP)来建模用户与关系之间的复杂非线性交互,可能会进一步提升性能。

  • 采样策略的优化: 目前采用均匀采样邻居的策略。正如作者在未来工作中提及的,非均匀采样(例如基于节点重要性、关系类型或用户偏好的重要性采样)可能会更有效地选择信息丰富的邻居,从而提高模型效率和准确性。

  • 冷启动用户和关系: 论文主要关注物品冷启动和数据稀疏性。对于全新的用户或关系,其初始嵌入如何有效获取,以及如何在新信息出现时进行快速适应,仍是一个值得探讨的问题。

  • 可解释性的进一步探究: 尽管 KGCN 利用知识图谱带来了潜在的可解释性,但论文并未深入探讨如何将模型学到的用户-关系权重或聚合路径显式地呈现给用户,以增强推荐的可信度。这在实际应用中非常重要。

  • 负采样的影响: 论文中使用均匀分布进行负采样,且负样本数量与正样本数量相同。不同的负采样策略(例如,基于流行度采样、困难负样本采样等)可能会对模型性能产生显著影响。

    总的来说,KGCN 是一项重要的工作,它成功地将 GCNs 的力量带入了知识图谱辅助推荐的领域,并通过个性化聚合机制解决了关键挑战。其提出的方法和实验分析为该领域的后续研究奠定了坚实基础。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。