Knowledge-Enhanced Recommendation with User-Centric Subgraph Network

Knowledge-Enhanced Recommendation with User-Centric Subgraph Network

在这里插入图片描述

论文:https://arxiv.org/abs/2403.14377
源码:https://github.com/leolouis14/KUCNet

摘要

推荐系统,目前在各种平台上广泛应用,根据用户的喜好向用户推荐相关项目。 依赖于用户-项目交互矩阵的经典方法有局限性,特别是在缺乏新项目交互数据的情况下。 基于知识图(KG)的推荐系统已成为一种有前途的解决方案。 然而,大多数基于知识图谱的方法采用节点嵌入,不能为不同用户提供个性化推荐,也不能很好地推广到新项目。 为了解决这些限制,我们提出了知识增强的以用户为中心的子图网络(KUCNet),这是一种使用图神经网络(GNN)进行有效推荐的子图学习方法。 KUCNet 为每个用户-项目对构建一个 U-I 子图,捕获用户-项目交互的历史信息和 KG 中提供的辅助信息。 基于注意力的 GNN 旨在对 U-I 子图进行编码以进行推荐。 考虑到效率,进一步引入了以用户为中心的剪枝计算图,使得可以同时计算多个U-I子图,并且可以通过个性化PageRank来剪枝大小。 我们提出的方法实现了准确、高效和可解释的推荐,尤其是对于新项目。

I. INTRODUCTION

在这里插入图片描述

这些基于协同过滤(CF)的方法很难从用户和项目的高维表示中进行解释。 近年来,基于知识图(KG)的推荐系统已成为解决传统推荐系统局限性的有前途的解决方案[12],[13]。 KG是一种有向多关系图,包含大量丰富的事实,可以提供充足的辅助信息来增强用户和项目之间的交互[14],[15]。 通过结合KG信息,推荐系统可以提高推荐的准确性、多样性和可解释性,并缓解数据稀疏和新实例的问题。 例如,在图 1 所示的 KG 中,新项目《大侦探福尔摩斯 2》和《复仇者联盟:终局之战》与用户没有给定的交互。 然而,知识图谱提供了这些项目的信息,提供了它们与给定用户项目图中的项目之间的连接。 因此,KG上丰富的语义信息和结构数据可以帮助克服传统推荐系统的局限性,为用户提供更加个性化和相关的推荐。

早期基于知识图谱的推荐方法,例如 CKE [12],使用知识图谱嵌入技术来测量知识图谱中嵌入的交互和三元组的合理性。 然而,这些方法很浅薄,因为它们仅适用于单个边缘。 最近,几种方法[16]-[19]利用图神经网络(GNN)[20]-[22]来构建推荐模型。 这些方法中的 GNN 聚合来自相邻节点的信息来更新用户和项目的表示,从而允许将 KG 中的辅助信息合并到表示中。 然而,大多数基于GNN的方法采用节点嵌入,不随用户变化,并且还采用全局聚合,无法捕获用户和候选项目之间复杂的关系结构,因此不能为不同用户提供个性化推荐。 并且节点嵌入限制了它们在有新项目的场景中的性能,因为缺乏监督信号使得很难准确地学习新项目的表示。 此外,执行全局聚合可能会在知识图谱中引入与推荐不相关的噪声信息[15]、[16],这会对推荐系统的准确性和有效性产生负面影响。 为了更好地利用用户项目交互的历史信息和知识图谱中的辅助信息,并解决上述局限性,我们为每个用户项目对提出了一种个性化表示学习方法,以捕获最相关的信息。 首先,我们为每个用户-项目对定义一个UI子图,其中包含用户-项目交互中存在的协作相似性和知识图谱中存在的属性相似性。 相比之下,大多数节点嵌入聚合方法都没有考虑这两部分。 然而,主要的挑战是计算效率,因为可能有很多候选项需要评估,并且子图大小可能很大。 为了解决这个问题,我们提出了知识增强的以用户为中心的子图网络(KUCNet)来实现高效且可解释的子图学习。 具体来说,我们为每个用户-项目对引入 U-I 子图,并设计一个基于注意力的 GNN 来对子图进行编码以进行推荐。 为了提高效率,我们引入了一种经过修剪的以用户为中心的计算图,它允许同时编码多个 U-I 子图,并使用个性化 PageRank 来减小图大小。 这样,所提出的方法通过成对子图编码实现了准确、高效和可解释的推荐。 此外,不使用节点嵌入使得 KUCNet 可以推广到两个特殊的推荐场景:新项目推荐和新用户推荐,这两个场景具有实际意义,但一直被基于 KG 的推荐方法所忽视。

贡献:
1)我们提出了一种子图学习方法,具有一种称为 U-I 子图的新颖数据结构,用于知识增强推荐。 U-I 子图保留了来自相关用户-项目交互和 KG 辅助信息的个性化信息。
2)我们设计了一个以用户为中心的子图网络,允许对多个修剪后的U-I子图进行有效编码,并对子图中边的重要性进行加权。 因此,KUCNet 可以实现准确、高效且可解释的推荐。

II. RELATED WORK

A. Traditional methods for recommendation

推荐系统旨在根据先前的交互向用户提供项目建议。 协同过滤(CF)[6]、[7]是推荐系统中的一种流行方法,它依赖于分析用户/项目的历史行为来识别它们之间的相似性。 例如,矩阵分解(MF)[8]、[9]是一种广泛使用的协同过滤方法,它将用户-项目交互矩阵分解为低秩矩阵以捕获用户和项目的特征。 另一种传统的基于 CF 的方法是因子分解机 (FM) [10],它考虑上下文信息来提供上下文感知的评分预测。 它可以对高阶特征交互进行建模,这有助于它在处理高维和稀疏数据时保持有效。 神经分解机(NFM)[11]是 FM 的扩展,它利用神经网络来学习更复杂的特征交互,并进一步提高模型性能和泛化能力。 由于这些基于CF的方法能够有效捕获用户偏好并且易于实现,因此已广泛应用于许多场景。 然而,这些方法严重依赖于用户和项目之间的历史交互,并将这些交互隐式编码为用户/项目的潜在表示(也称为嵌入)。
PageRank算法[23]是一种广泛应用于网络搜索引擎和其他应用程序的链接分析算法。 它通过随机游走和迭代计算来评估每个网页,为更重要的网页分配更高的分数,然后对搜索结果进行相应的排序。 个性化 PageRank (PPR) [24] 是 PageRank 算法的一种变体,旨在计算每个特定目标节点的个性化 PageRank 分数。 个性化分数可以指示其他节点对于目标节点的重要性程度。 在推荐系统中,一些工作[25]-[28]利用它来计算与每个用户兴趣相关的项目的重要性得分,可以用来为用户推荐项目。 但这种方法是启发式的,可能无法发现用户和项目内的潜在属性或相关性。

B. Knowledge graphs (KG) for recommendation

KG是一种表示现实世界实体之间关系的语义网络,因此也可以表示用户和物品的交互,并提供物品之间的语义相关性。 在KG的帮助下,物品与用户的潜在联系和相关性可以更加丰富。 因此,这激发了许多最近的工作,利用知识图谱进行推荐系统,并提出从知识图谱学习的新方法。 通过利用 KG 嵌入技术,CKE [12] 利用源自​​ TransR [29] 的语义嵌入进行推荐。 该方法仅利用一阶连接(即,CF 中具有用户-项目对的单边或 KG 中的三元组),因此很浅且表达能力不强。 MCRec [30] 没有使用直接连接,而是提取一些预定义的路径模式(也称为元路径)作为特征,并利用卷积层将特征编码为交互。 RippleNet [31] 和 TB-Net [2] 学习嵌入并沿着 KG 中的路径传播,自动发现用户的分层潜在兴趣并丰富用户表示。 然而,这些方法在路径查找和建模方面成本高昂,并且不能很好地捕获知识图谱中有用的结构模式。 随着 GNN [20]-[22] 在图结构化数据建模方面的发展,多种方法 [16]-[19] 利用 GNN 来聚合 KG 中的用户和项目信息。 通常,它们合并来自相邻节点的信息来更新自身节点的表示。 通过这种方式,来自远程节点的信息可以被编码在表示中。 因此,像 KGNN-LS [17] 和 CKAN [18] 这样的方法能够对远程连接进行建模。 KGAT [16] 使用具有 KG 关系的注意机制来区分邻居的重要性,然后将嵌入传播到整体图上。 KGIN [19] 对用户的不同意图进行建模,并对用户-项目图和 KG 执行路径感知聚合。 注意力机制带来了更高的有效性和更好的可解释性。 由于所有这些方法都采用针对每个用户和项目的节点嵌入,因此它们不能很好地为不同用户提供个性化推荐。 此外,它们无法处理可能出现新用户或新项目的情况。

C. Link prediction in KG

链接预测是知识图谱中的一项常见任务,其目标是从不完整的知识图谱中预测丢失的链接。 推荐可以看作是针对用户和项目之间的交互边缘的链接预测问题。 早期的链接预测方法是嵌入方法,它将实体和关系映射到低维表示向量,并设计一个评分函数来衡量三元组(单边)的合理性。 TransE [32]、TransR [29] 等代表性方法设计了不同类型的评分函数,以不同的方式衡量这种合理性。 由于高维嵌入空间,这些方法很难解释。 此外,由于每个实体都需要特定的嵌入,因此它们对归纳案例的泛化能力较低。

链接预测的最新趋势从三元组的评分函数设计转向图学习。 R-GCN [33] 和 CompGCN [34] 应用 GNN 来聚合 KG 上的信息,但没有表现出优于嵌入方法的优势。 基于子图学习方法 SEAL [35],GraIL [36] 被提出利用知识图谱中的子图来衡量目标三元组的合理性。 REDGNN [37]和NBFNet [38]通过动态规划提高了GraIL的效率。 这些方法表明子图比嵌入更有效。 此外,子图是归纳性的,因为子图的预测不需要学习每个实体的特定嵌入。

III. PROBLEM FORMULATION

我们首先引入三种结构数据:用户项目图、知识图和协作知识图,然后制定知识增强推荐任务。

在这里插入图片描述

翻译
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

翻译
在这里插入图片描述

Definition 1 (Knowledge-enhanced recommendation)

在这里插入图片描述
CKG包含丰富的语义和结构信息,可以增强用户和物品之间的交互,提高推荐的准确性,特别是对于与用户没有交互的新物品。 然而,CKG 可能很大且有噪声 [15]、[16],因此决定使用哪些信息至关重要。 现有的基于 GNN 的方法采用节点嵌入,没有考虑 CKG 中信息的个性进行推荐并聚合所有辅助信息。 此外,很少有人同时考虑用户-项目交互以及 KG 的辅助信息。

IV. PROPOSED METHOD

在这里插入图片描述

A. Subgraph learning for recommendation

现有的基于GNN(图神经网络)的推荐方法主要关注在知识图谱(KG)中聚合与项目相关的实体作为补充信息。虽然之前的工作[16], [18], [19]通过注意力机制学习对KG中不同边进行加权,但这些方法没有充分考虑用户和项目之间的成对影响。例如,考虑一个用户喜欢科幻电影,另一个用户喜欢喜剧,同一部科幻电影或喜剧对于这两个用户将具有不同的意义。因此,以细粒度的方式分别为每个目标用户和候选项目建模关系至关重要。为了实现这一点,我们可以构建一个特定的数据结构,如在第II-C节中讨论的子图,保留与目标用户和项目相关的重要知识,用于推荐。受基于GNN的子图学习成功经验的启发[35]–[37],我们引入了针对给定用户和项目的用户-项目子图,并定制GNN架构,通过学习用户-项目子图,实现对新项目的可解释和有效的推荐。

Definition 2 (U-I subgraph)

在这里插入图片描述
在这里插入图片描述

B. Message passing on the U-I subgraph

在这里插入图片描述
用户到物品的L跳路径会有多条,每一跳的边和尾节点自然就不止一个,所以产生上述子图生成过程中每一跳的边的集和,还有尾巴节点的集合

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

C. Improving the computation efficiency

引入个性化PageRank减小子图大小
在这里插入图片描述
在这里插入图片描述

1)Simultaneous item evaluation:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

2)Reducing the size of subgraphs

受个性化 PageRank (PPR) [23]、[24]、[40] 的启发,PPR 通过随机游走从特定用户的角度计算节点的重要性,我们利用 PPR 的强大功能来衡量不同用户、项目、 给定用户的实体。 考虑到效率,我们使用矩阵乘法而不是随机游走来计算每个用户的每个节点的 PPR 分数。
在这里插入图片描述
为了平衡不同类型的信息(例如用户项交互和不同实体信息),我们减少了具有相同头节点的节点数量。 具体来说,对于每个头节点 ns,我们根据尾节点 no 的 PPR 分数选择前 K 个边 (ns, r, no)。 这里,K是基于数据集特征的超参数。 这样就过滤掉了不重要的节点,并且可以维持多种关系。 因此,我们可以拥有更小的以用户为中心的计算图并实现更高的效率。

D. Algorithm and optimization

在这里插入图片描述

总结 论文模型

  1. 子图生成对于每个用户-项目对,KUCNet会生成一个用户-项目(User-Item, U-I)子图。这个子图不仅包含用户与项目之间的历史交互信息,还包括知识图谱(Knowledge Graph, KG)中提供的相关信息。子图的生成步骤如下:用户-项目交互信息:包括用户过去与哪些项目有过交互。知识图谱信息:包括与项目相关的实体(例如,电影的导演、演员、类型等)。
  1. 子图编码生成子图后,论文设计了一个基于图神经网络(Graph Neural Network, GNN)的注意力机制,用于对这些子图进行编码。编码的目的是捕捉子图中节点和边的特征,并生成一个用于推荐的嵌入向量。
  1. 效率提升为了提高计算效率,KUCNet引入了一个修剪后的用户中心计算图,使得多个U-I子图可以同时计算。使用个性化PageRank来减少图的大小,从而加快计算速度。
  1. 推荐输出编码后的子图嵌入向量会被输入到一个全连接层,最终输出一个概率值,这个概率值表示用户对某个项目感兴趣的可能性。这一过程可以概括为:子图嵌入向量 h; 经过全连接层 ;获得 0-1概率标量输出。

框架总结KUCNet的框架可以总结为以下几个步骤:

  1. 子图构建:为每个用户-项目对构建一个包含用户历史交互和知识图谱信息的U-I子图。
  2. 子图编码:使用带有注意力机制的GNN对子图进行编码,生成嵌入向量。
  3. 效率优化:使用修剪的用户中心计算图和个性化PageRank来提高计算效率。
  4. 概率输出:将嵌入向量输入到全连接层,输出用户对项目感兴趣的概率。

具体算法步骤U-I子图生成:为每个用户和候选项目生成一个包含历史交互和知识图谱信息的子图。
子图编码:使用GNN对子图进行编码,注意力机制用于强调子图中更重要的边和节点。
全连接层:将编码后的子图嵌入向量输入到全连接层,计算出一个0到1之间的概率,表示推荐的信心度。

  • 32
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值