Abstract
传统的推荐模型通常只是要一种类型的用户-项目交互,但是却有着严重的数据稀疏或者冷启动问题。使用多种类型的用户-项目交互的多行为推荐,如点击和收藏,可以作为一种有效的解决方案。早期队多行为推荐的努力未能捕捉到行为对目标行为的不同影响强度。它们还忽略了多行为数据中隐含的行为语义。这两个限制都使得数据没有被充分利用来改进目标行为上的推荐性能
在本文中,我们通过创新性的构建一个统一的图来表示多行为模型,名为MBGCN来解决上面的问题。通过用户项传播层学习行为强度,通过项目传播层捕获行为语义,MBGCN可以很好的解决现有工作的局限性。
Introduction
个性化推荐系统已成为当今广泛的减轻信息过载的服务。协同过滤是构建推荐模型的范式,它可以学习用户的兴趣,并从收集的用户行为数据中估计偏好,即历史反馈,如购买等。传统的CF模型是针对单一类型的行为设计的,这在大多数情况与平台利润直接相关,如电子商务平台中的购买行为。但是在实际应用中会导致严重的冷启动和数据稀疏性问题。但是平台可以收集一些容易发生的其他类型的行为,比如点击和浏览。换句话说,推荐系统有能力利用其他类型的行为来帮助预测用户为了对目标行为的交互,这就是多行为推荐。
目前主流的有两种方式,第一类将多行为数据利用到采样过程中,并建立多采样对来加强模型学习过程。例如,MCBPR假设行为之间存在一个重要性顺序,它通过构建具有一种积极行为和另一种较弱的行为采样对来扩展BPR。第二类则试图设计模型来捕获多行为信息,例如基于矩阵分解的模型同时对多个行为矩阵进行分解。
但是目前的工作都存在以下限制:
- 多种类型的行为强度没有得到充分的利用。 一方面忽略对行为的强度会使一些有用的信号丢失。例如与点击行为相比,添加购物车明显是更强的信号。因此准确建模添加购物车与购买之间的密切关系可以提高性能。另一方面,将所有辅助行为粗略地视为与目标行为相比较弱是不合理的。例如在电子书推荐系统中,与朋友分享一本书是比购买书更强的用户偏好,这是目标行为。也就是说需要多反馈推荐模型来揭示并进一步利用数据中不同行为类型的各种强度。
- 没有考虑多种类型相关的语义。 行为的语义可以理解为一种行为类型的意义,换句话说,是用户-项目交互在特定行为类型下发生的原因。从另一个角度来看,每种行为类型下的交互项目之间应该存在一些共同的特征或特殊的关系。例如用户在电子商务网站上点击和查看产品时,共同点击或查看的产品可能是可替换的。当涉及到购买时,这些共同购买的产品可能是互补的。当我们没有项目的边信息,如类别或品牌时,项目间的关系可以作为解决方案来揭示协作推荐任务的语义。
简而言之,现有方法的局限性在于它们不能彻底解决上述两个挑战:建模基于用户到项目的强度和基于多种类型行为的基于项目到项目的语义。
为了解决这些问题,我们建议基于多种类型的行为数据构建一个统一的异构图。将用户/项目表示为节点。不同类型的行为表示为图的多种类型的边,基于用户到项目的强度和基于项目到项目的语义建模问题转向了异构边和项目-用户-项目元路径建模。我们进一步提出了一种名为多行为图卷积网络的解决方案,利用图神经网络从复杂边和高阶图连通性学习的强大能力来解决上述两个挑战。
更具体的说,我们构造了一个由两种节点和多种类型的边组成的异构图,其中一条连接用户节点和项目节点的边指的是一种特定类型的用户-项目反馈。首先,这种图结构的交互数据没有对偏好强度设置任何先验约束或假设。为了捕捉不同行为的各种强度,我们对每个行为提出了具有行为感知能力的项目到用户的传播层,以将相邻的项目节点的嵌入传播到用户节点。这使得该模型能够区分不同的辅助行为的不同强度。其次,我们设计了对项目节点嵌入操作的传播层,操作在项目节点的嵌入和协同交互的相邻项目上。这有助于捕获不同行为的项目相似度的不同CF语义,并增强对项目嵌入的学习。通过这些设计,我们的MBGCN方法有效地解决了主要的挑战,并有助于利用辅助行为来更好地推荐目标行为。
本文所做的主要贡献如下: - 我们建议构造一个异构图来表示多反馈数据,而不受每种行为的偏好强度的任何约束。
- 对于所构造的图,我们提出了一个基于图卷积网络的推荐模型。一方面,我们设计了行为感知的用户到项目嵌入传播层来捕获不同行为的不同影响;另一方面,我们设计了项目之间的嵌入传播来建模项目之间的相似性,这反映了不同行为的各种语义。
Methodology
模型的具体方法如下,包含了四个组件:
- 共享层:为用户和项目嵌入提供初始化
- 用户-项目传播层,同时学习每种行为的强度,并基于多种行为的用户-项目交互提取协同过滤信号
- 项目-项目传播层,根据行为类型来细化项目之间的特殊关系或行为语义
- 联合预测模块
模型的总体结构如下:
用户-项目传播层
包含两种传播
- 项目-用户传播
- 用户-项目传播
项目-用户传播
从项目到用户传播需要考虑每个行为的权重,我们需要根据每种行为总的用户的交互次数和可学习的每种行为的权重来得到每种用户的行为进行传播的权重。
然后每种用户的行为的嵌入是由对应行为的项目的嵌入进行聚合的。
用户-项目传播
因为每种项目的性质是固定的(存疑),所以聚合的时候直接对与其交互的用户进行聚合,不考虑项目的行为
用户-项目传播层的示意图如下所示:
项目-项目传播层
这里感觉很奇怪而且感觉很不合理
项目的聚合按照所有与其有相同行为的项目来进行聚合
每个项目最后都有\(|N_r|\)个嵌入,\(|N_r|\)为行为的数量
联合预测
分为基于用户的协同过滤分数和基于项目的协同过滤分数
损失函数还是使用的是BPR Loss
Conclusion
在这项工作中,我们研究了考虑多种类型的用户-项目交互的多行为推荐问题。为了充分建模不同行为和不同行为语义所反映的不同偏好强度,我们提出了一种基于图的解决方案。该解决方案将多个用户-项目交互矩阵重构到统一的图中。然后我们提出了一个MBGCN模型,它利用了图卷积网络从复杂的图结构中学习节点表示的能力。
标签:Convolutional,Multi,项目,Graph,语义,用户,传播,交互,行为 From: https://www.cnblogs.com/anewpro-techshare/p/18024712