论文地址:Contrastive Clustering Learning for Multi-Behavior Recommendation | ACM Transactions on Information Systems
摘要
近年来,多行为推荐模型取得了显著成功。然而,许多模型未充分考虑不同行为之间的共性与差异性,以及目标行为的数据稀疏性问题。本文提出了一种基于对比聚类学习的全新多行为推荐模型(MBRCC)。
具体而言,采用图卷积网络(GCN)分别获取用户和物品的嵌入表示。随后,设计了三种优化用户和物品嵌入的任务,包括行为级嵌入、实例级嵌入和聚类级嵌入。
在行为级嵌入中,设计了一种自适应参数学习策略,以分析辅助行为对目标行为的影响,并通过对用户在各行为上的嵌入进行加权,获得最终的用户嵌入表示。
在实例级嵌入中,利用对比学习对用户和物品实例进行分析,以缓解数据稀疏性问题。
在聚类级嵌入中,设计了一种新的聚类对比学习方法,以捕捉用户和物品群体之间的相似性。
最终,结合这三种任务,以提升用户和物品嵌入的质量。在三个真实世界数据集上的广泛实验表明,MBRCC 显著优于现有的多种推荐模型。
引言
推荐系统在在线广告、社交媒体和电子商务等多个领域发挥着至关重要的作用。它通过智能信息过滤和个性化推荐,帮助用户快速找到符合其兴趣和需求的内容。个性化推荐不仅提升了用户体验,还促进了商业交易的成功。
目前,大多数推荐模型主要关注用户与物品之间的单一行为关系。例如,Zheng 等人[57]提出了一种基于单一行为数据挖掘物品属性信息的推荐方法;Wang 等人[36]在单一行为数据上研究了用户-物品的高阶信息;Li 等人[24]利用元学习方法提升用户和物品的表示效果;Lan 等人[21]基于历史交互数据构建了用户和物品的双分支图来捕获信息。然而,在实际应用中,用户和物品的交互通常涉及多种行为类型。例如,如图 1 所示,在电子商务平台上,用户的行为通常包括浏览、点击和购买等。此外,与用户交互的物品数量不断增长,仅依赖单一行为难以准确推测用户的偏好,因此需要借助辅助行为进行推荐。
为了充分利用辅助行为信息,近年来涌现出越来越多的多行为推荐模型。例如,Gao 等人[9]提出了一种基于神经网络的多任务推荐框架,以级联方式关联各类行为,利用用户在购买前通常浏览相关感兴趣物品的现象来整合不同行为信息;Jin 等人[17]提出了一种多行为推荐模型,通过用户-物品交互的传播层捕捉行为强度,并通过物品-物品交互的传播层捕捉行为语义;Chen 等人[7]提出了一种基于多行为的推荐模型,在可控时间复杂度下高效捕捉不同行为信息,该模型采用基于用户、基于物品和交替优化的三种方法来挖掘不同行为间的复杂关系。此外,Chen 等人[5]考虑到用户和物品交互中的高阶协同信息,提出了一种基于协同过滤的异构图推荐模型,该模型采用关系感知传播层显式获取高阶信号;Wei 等人[39]提出了一种基于多种行为类型图的注意力多行为推荐模型,以捕捉用户-物品交互网络中的隐藏关系,该模型同时考虑了节点级特定行为的重要性和行为级不同行为的语义强度。此外,一些研究还结合了对比学习与多行为推荐。例如,Gu 等人[11]提出了一种基于自监督图卷积网络(GCN)的多行为推荐模型,以缓解监督信号稀疏问题,该模型采用星型对比学习策略来学习不同行为之间的共性;Wu 等人[42]提出了一种基于多视图的多行为对比学习推荐模型,以有效缓解冷启动问题,该模型整合了多行为、多视图和行为区分的对比学习。
尽管上述研究在提升推荐性能方面取得了显著进展,但仍然存在以下局限性:
(1) 一些多行为推荐的对比学习方法主要基于个体行为,缺乏从群体角度综合考虑不同行为,这通常导致用户和物品的嵌入表示无法全面覆盖行为信息;
(2) 由于相似用户的行为通常具有共性,而不同用户的行为往往存在差异,因此用户和物品的共性与差异可提供更丰富的语义信息。然而,部分模型未充分考虑用户或物品之间的共性与差异,可能导致群体偏差或信息过滤不足;
(3) 部分方法忽视了目标行为的数据稀疏性问题。例如,相较于点击、浏览和加入购物车等行为,购买行为的数据较为稀疏,这可能导致推荐偏差或冷启动问题,因为对比学习中难以构造足够数量和多样性的正负样本对。
针对现有多行为推荐模型的这些局限性,本文提出了一种基于对比聚类学习的全新多行为推荐模型(MBRCC)。具体而言,采用 GCN 获取用户和物品在不同行为上的嵌入表示,并围绕这些嵌入设计三类任务,以提升嵌入质量:
(a) 行为级嵌入:采用自适应参数学习策略计算用户在不同行为上的嵌入权重,并通过加权方法融合所有行为的用户嵌入;
(b) 实例级嵌入:基于用户和物品不同行为间的共性,采用对比学习优化用户和物品的嵌入表示,使正样本对之间的共性最大化,负样本对之间的共性最小化;
(c) 聚类级嵌入:多行为数据通常展现出类似的群体模式,因此采用对比聚类学习方法挖掘用户和物品嵌入的潜在信息,以促进实例级用户和物品之间的共性。
在三个真实世界数据集上对 MBRCC 进行了实验评估,结果表明,相较于其他基线模型,本文的方法在所有数据集上至少提升了 7% 的推荐性能。本文的主要贡献如下:
- 提出了一种新型多行为推荐模型(MBRCC),包括行为级嵌入、实例级嵌入和聚类级嵌入,并首次在多行为推荐任务中应用对比聚类学习,以捕捉用户和物品的嵌入信息;
- 在实例级嵌入中考虑了用户和物品之间的共性与差异,同时引入群体聚类级嵌入,最大化用户和物品之间的关联信息利用率,从而有效缓解数据稀疏性问题;
- 在三个真实数据集上验证了 MBRCC 模型的有效性,实验结果表明,MBRCC 在推荐性能上显著优于现有模型。
模型
所提出的模型 (MBRCC) 如图 2 所示,主要包含四个部分。
在嵌入表示部分,异构图 G 根据行为类别划分为 K 个子图。此外,为了获取完整的嵌入信息,设计了三种任务。在行为级别嵌入中,方法侧重于获取用户在每个子图上的嵌入权重。这些权重与相应子图的嵌入进行聚合,以更好地捕获用户行为在不同子图中的重要性。对于物品嵌入,采用简单的拼接操作,因为它们具有静态属性。在实例级别嵌入中,采用对比学习方法,将目标行为(即购买行为)的用户和物品嵌入与其他辅助行为进行比较,利用对比学习策略提取用户和物品之间的实例级共性信息,作为局部特征。在聚类级别嵌入中,针对每种辅助行为获取特征组,并将目标行为加入这些特征组中。然后,使用 softmax 方法在每个特征组中获取不同的特征簇,并在各特征簇之间进行对比学习。最终,这三种任务相结合,以优化用户和物品的嵌入。
4.1 嵌入表示
基于子图 Gk,采用 GCN 获取用户和物品的表示。零层的嵌入表示是矩阵 E(0)中行向量的随机初始化。在模型中,采用多层消息传播,通过收集连接邻居的信息来获取完整的节点信息。为了适应推荐任务,去除了通用 GCN 嵌入聚合中的特征变换矩阵和非线性激活函数,类似于 LightGCN。公式如下:
其中,Nu 和 Ni 分别表示用户 u和物品 i 的邻居数量,l表示当前图卷积层数,(e^k_u)^{(l+1)} 代表 k 类行为的第 l+1 层用户嵌入。在获取每层的嵌入信息后,需要聚合所有层的信息,以确保更好的节点嵌入表示:
其中,αl 代表第 l 层嵌入的权重,与 LightGCN 一致,其中 L为 GCN 的层数。物品嵌入的学习过程与用户嵌入类似。
4.2 行为级别嵌入
多行为数据可以提供更详细的信息,使用户和物品的嵌入表示更加完整。在行为级别嵌入中,设计了一种自适应参数学习方法,根据不同行为数据的分布,捕获每种行为的权重:
其中,αuk代表用户 u 在 k 类行为上的权重,wk 表示 kk 类行为的重要性。为了简化模型,假设 wk 对所有用户均具有相同影响。xuk 代表用户 u 在 k 类行为下的交互物品数量。最终的用户嵌入通过所有行为的加权求和得到:
其中,W 和 b 分别为权重和偏差,σ 代表非线性激活函数。最终的物品嵌入通过拼接所有行为的嵌入获得:
其中,Cat表示拼接操作,MLP 代表多层感知机(Multi-Layer Perceptron)。通过融合操作,得到最终的用户嵌入 eu 和物品嵌入 ei。为了确保相似节点具有更高的相似度,采用 BPR 损失进行优化:
其中,D 为训练数据集,(u,i+)和 (u,i−) 分别代表已观测的交互和未知交互。
4.3 实例级别嵌入
在实例级别嵌入中,采用对比学习方法来优化用户和物品的嵌入,目标是最大化正样本(用户或物品的同一行为嵌入)之间的相似性,同时最小化负样本(不同用户或物品的嵌入)之间的相似性。
对于第 k类辅助行为,计算其嵌入与目标行为嵌入之间的余弦相似度:
具体来说,将同一用户在不同行为上的嵌入视为正样本对,而来自不同用户的嵌入视为负样本对。假设有 N 个用户和 M 个物品,对于用户 u,其目标行为嵌入为 e^p_u,辅助行为嵌入为 e^k_u,则:
- (e^p_u, e^k_u) 设为正样本对
- 其余2N - 2 对设为负样本对
对于物品 i,目标行为嵌入为e^p_i,辅助行为嵌入为e^k_i,则:
- (e^p_i, e^k_i) 设为正样本对
- 其余2M - 2 对设为负样本对
为了优化对比学习中的样本相似度,目标行为 p 和辅助行为 k 需考虑用户损失:
其中,τ是温度参数。
与 Lpu和 Lpi 类似,用户和物品在第 k 个辅助行为下的损失函数定义如下:
目标是识别数据集中所有的正样本对。对于每个用户和物品,计算实例级损失,定义如下:
对于物品嵌入的实例级损失,采用与用户嵌入类似的方法。最终,通过汇总所有用户和物品的对比损失,得到实例级嵌入损失:
4.4 聚类级嵌入
聚类级嵌入遵循“物以类聚”的概念。用户嵌入和物品嵌入被映射到一个维度等于聚类数的空间,使用户和物品嵌入可以被解释为属于特定聚类的概率。然后,采用对比聚类学习方法来捕捉聚类特征。
对于目标行为及每个辅助行为,分别划分为 C 个聚类。其中,e^p_c 表示目标行为的第 c 个聚类,而 e^k_c 表示第 k 个辅助行为的第 c 个聚类。对于用户 u,使用 softmax 方法计算其在目标行为下被分配到第 c 个聚类的概率Y^p_{u,c}。
与实例级嵌入类似,通过选择目标行为和第 k 个辅助行为中相似的聚类得到正样本对 (e^p_c, e^k_c),而其余的 2C-2 个对则被视为负样本对。然后,采用余弦相似度计算这些聚类之间的相似性,定义如下:
其中 c,c′∈{1,2,...,C},k1,k2∈{p,k}。目标行为的损失函数 Lcp用于区分目标行为下的e^p_c 和所有不属于 e^k_c 的聚类,定义如下:
其中 τ0 是聚类级温度系数,控制损失的平滑度。同样,对于第 k 个辅助行为,聚类损失定义如下:
用户嵌入的聚类级损失通过遍历所有聚类得到,定义如下:
熵项 H(Y) 用于防止大多数样本被划分到同一聚类中。
对于物品嵌入的聚类级损失 ,采用与用户嵌入类似的方法。最终,将每组用户嵌入和物品嵌入的损失合并,得到聚类级嵌入损失:
4.5 联合优化
联合优化用于结合三种任务,定义如下:
其中,λ 控制实例级嵌入的权重,μ控制聚类级嵌入的权重,Θ 表示所有可训练参数,γ为正则化超参数。
4.6 算法描述
模型描述在算法 1 中。给定异构图 G、子图 Gk、聚类数 C、温度系数 τ 和 τ0,MBRCC 的目标是为每个用户生成一个 Top-N 推荐列表。算法 1 描述了 MBRCC 的训练过程,主要分为三个任务,每个任务分别包含一个损失函数。
实验
想看一下对比聚类怎么用到推荐算法中。。。