摘要
针对序列推荐任务中对比学习模型生成自监督信号质量不足的问题,提出组合枚举时间间隔对比学习序列推荐模型。通过时间间隔扰动的数据增强操作,以生成保留时序信息的增强序列。为构建多视图增强序列对,提出组合枚举策略以最大化地融合用户行为与时间间隔信息。模型采用多头注意力机制对用户行为序列进行编码,并通过多任务联合训练方式优化自监督信号来提升模型性能。所提模型适用于数据稀疏性高、交互行为不均匀的场景,有效解决自监督信号建模难题。在三个真实数据集上的实验结果表明,该模型在命中率(hit ratio,HR)和归一化折损累计增益(normalized discounted cumulative gain,NDCG)指标上均优于当前最先进的对比学习模型。
Abstract
To address the problem of inadequate self-supervised signal quality in contrastive learning models for sequential recommendation tasks, a combinatorial enumeration and time-interval contrastive learning for sequential recommendation model was proposed. The model generated enhanced sequences which preserved temporal information through time-interval perturbation-based data augmentation. A combinatorial enumeration strategy was introduced to integrate user behavior and time-interval information, constructing multi-view augmented sequence pairs. The model employed a multi-head attention mechanism to encode user behavior sequences and optimized self-supervised signals through multi-task joint training, which improved model performance. The proposed model is well-suited for scenarios with high data sparsity and uneven interaction behaviors, effectively addressing challenges in self-supervised signal modeling. Experimental results on three real-world datasets demonstrate that the model outperforms the current state-of-the-art contrastive learning models in terms of HR (hit ratio) and NDCG (normalized discounted cumulative gain).
随着信息技术的发展,推荐系统[1]在人工智能领域中的应用愈发广泛。在个性化推荐任务中,序列推荐[2]作为重要研究方向之一,通过分析用户的历史行为序列,预测其未来可能感兴趣的项目或内容。早期的序列推荐模型主要采用马尔可夫链[3]对用户行为序列进行建模。然而,此类模型仅依赖有限的历史信息,无法全面捕捉用户的长期偏好。随着深度学习技术在序列推荐领域的发展,基于神经网络的序列推荐模型已被广泛运用,Tan等[4]使用循环神经网络以及Tang等[5]采用卷积神经网络提取用户行为序列中的信息。后续研究进一步结合自注意力机制、图神经网络等技术,来提升推荐效果。Kang等[6]在序列推荐中引入自注意力机制。周芳泉等[7]结合图神经网络和长短记忆网络,有效捕捉了用户行为序列的全局与局部关系。虽然这些研究在序列推荐领域取得了显著进展,但仍然面临数据稀疏性问题的挑战。
现阶段的研究广泛采用对比学习方法[8]来有效应对数据稀疏性问题,其通过构建正负样本对,比较样本之间的相似性与差异性来优化模型的学习过程。当前主要存在三类基于对比学习的序列推荐模型,第一类在数据层面通过手工执行增强操作生成多样化的对比视图来增加数据量,以缓解稀疏性。王帅等[9]结合用户评分进行数据增强,提供额外训练信号。第二类在模型层面通过模型自身的学习生成增强视图,以扩充训练数据,增强对稀疏数据的理解和表示能力。Hao等[10]利用变分自编码器生成语义一致的对比视图,为数据稀疏场景提供了丰富的训练信号。第三类通过在数据层面与模型层面进行结合,在稀疏数据场景中生成更具区分性和多样化的对比视图。Qin等[11]结合数据增强与模型增强,自适应生成区分性视图,从有限交互数据中捕捉隐藏特征。
尽管上述对比学习研究在一定程度上改善了相关问题,但仍然存在局限性。首先,基于对比学习模型采用的数据增强操作对序列中的时序信息具有较强的破坏性,导致模型难以准确捕捉用户行为中的时序关系。例如:传统掩码操作忽视时间特性,掩盖序列中的关键行为;裁剪操作截取子序列,破坏序列完整性;重新排序操作扰乱项目顺序,影响序列原始特征。其次,对比学习模型依赖于随机选择方式生成增强视图对,使得样本对在信息保留和结构一致性方面存在不足,导致自监督信号质量下降。
针对上述问题,本文提出一种新型的用于序列推荐的对比学习模型,即组合枚举时间间隔对比学习序列推荐(combinatorial enumeration and time-interval contrastive learning for sequential recommendation,CETCL4Rec)。首先,通过三种基于时间间隔操作扰动数据序列,生成保持时序信息和项目关联性的增强视图。其次,提出组合枚举策略以合理利用增强视图生成样本对,通过平衡视图间的一致性与多样性来挖掘序列中的潜在信息模式,改进模型的自监督信号。然后,在编码器中引入L2归一化线性注意力机制[12],准确提取用户序列特征。最后,通过对比损失函数最大化样本对之间的一致性。
1 模型
1.1 定义
假设U和V分别表示用户和项目集合。对于任一用户u∈U,其历史交互序列表示为,其中为第i个交互项目,|S|表示序列长度。根据Dang等[13]设计的下一个项目推荐任务,每个交互序列Su关联一个时间间隔序列,其中表示项目和之间的时间间隔。因此,序列推荐任务定义为:给定用户u的历史交互序列Su及其对应的时间间隔序列Tu,预测用户u在下一个时间步|S|+1处可能与之交互的项目vi∈V,如式(1)所示。
(1)
式中,表示预测的下一个项目。
1.2 模型架构
为解决对比学习任务中自监督信号质量不足的问题,提出用于序列推荐的组合枚举时间间隔对比学习模型CETCL4Rec,如图1所示。模型主要由三个关键组件构成:数据增强模块,通过基于时间间隔的三种数据增强操作生成增强序列,然后使用组合枚举策略系统化地构建增强序列对,以丰富自监督信号;采用L2归一化线性注意力机制的编码器,提取用户表示;对比损失函数,用于区分样本对的相似性。
1.2.1 数据增强模块
1)掩码操作。给定原始序列及其对应的时间间隔序列,首先对时间间隔序列按从小到大的顺序进行排序,然后保留前k个索引位置作为掩蔽项目的目标位置(p1,p2,···,pk),其中k=β|S|,β∈[0,1]作为掩蔽项目的比例参数,如式(2)所示。
(2)
其中,若项目vi的索引位于掩蔽目标位置中,则用特殊项目[Mask]进行替代,否则保留原始项目。
2)裁剪操作。裁剪目标位置p的选择通过识别具有最小标准差的子序列来确定,从而更有效地捕捉序列的内在结构,如式(3)所示。
(3)
式中,表示通过从交互序列Su中提取长度为l的子序列来确定的目标位置。使用标准差函数std(·)计算子序列的标准差,并选择标准差最小的子序列作为裁剪目标。

图1CETCL4Rec模型整体框架
Fig.1Overall framework of the CETCL4Rec model
3)重新排序操作。基于时间间隔角度的重新排序方法重点关注时间间隔较小的项目,能够更好地保留与原始序列高度相似的偏好模式,如式(4)所示。
(4)
式中,子序列的选择与裁剪操作使用相同的计算公式。
4)组合枚举策略。为构建高质量的自监督信号,设计组合枚举策略,通过动态选择不同的数据增强方法生成多个增强视图,并构建增强序列对,用于优化对比学习任务。具体而言,定义M种数据增强方法,对增强方法的调用顺序进行控制,将输入的用户行为序列Su和对应的时间间隔序列Tu应用指定的增强方法,生成增强序列。首先,给定M种数据增强方法{a1,a2,···,aM}生成所有可能的组合方式,如式(5)所示。
(5)
式中,ai,aj分别表示第i和j种增强方法,总数共有C2M种组合。对于每个增强方法对(ai,aj)∈SPairs,增强序列按[ai,aj]顺序生成。然后,将所有的增强对的顺序排列为集合,如式(6)所示。
(6)
其中,每个增强方法(ai,aj)被调用两次,该列表的长度为M(M-1)。最后,根据Sorder生成增强序列对,如式(7)所示。
(7)
式中,S′i表示调用ai所得的增强序列,S′j表示调用aj生成的增强序列。
1.2.2 编码器
为将用户序列数据转换为适合模型处理的向量表示,以捕捉用户的兴趣偏好和行为模式。使用Transformer[15]编码器。主要由以下两部分构成:嵌入层,用于将序列数据转换为连续的向量表示;Transformer层,用于捕捉序列中的复杂依赖关系和时序信息。编码器架构如图2所示。
1)嵌入层。给定输入序列Su,通过结合项目嵌入矩阵和位置嵌入矩阵,构建得到序列的嵌入矩阵,其中,N表示序列最大长度,d表示嵌入维度。
(8)
式中,表示在序列中第i个位置的项目嵌入,表示序列中第i个位置的嵌入。
2)Transformer层。Transformer层如图2所示,在生成序列嵌入表示后,CETCL4Rec模型通过Transformer层进一步进行特征学习。其中,引入L2归一化线性注意力机制,以平滑注意力得分并更有效地捕捉序列中的复杂时序依赖关系,如式(9)所示。

图2编码器
Fig.2Encoder
(9)
式中:Attention(·)表示线性注意力机制函数;ρ1(Qi)和ρ2(Kj)分别表示L2归一化行映射与列映射,其中Qi表示Q的第i行,Kj表示K的第j列;ELU(·)函数表示指数线性单元函数,用于进行激活并控制负值[12]。因此,将式(9)引入多头L2归一化线性注意力模块,学习序列表示为:
(10)
其中:表示第i个头的权重矩阵;Mhead(·)表示多注意力层的输出矩阵;Concat(·)表示拼接操作;WO表示多头注意力块的权重矩阵;El表示输入第l层的隐藏状态。为进一步增强模型的表达能力并有效捕捉复杂数据模式,引入位置-前馈网络,以赋予模型非线性特性。
(11)
其中:F(·)表示非线性变换的映射关系;表示在第l层上用户交互的第i个项目的嵌入表示;W1,W2表示d×d矩阵;b1,b2表示d维向量;PFFN(·)表示位置-前馈网络。为缓解堆叠Transformer层数过多导致模型过拟合以及训练不稳定的问题,在每个L2归一化线性注意力层以及位置-前馈网络层引入残差连接、层归一化和Dropout模块。
(12)
其中:Sl-1表示归一化线性注意力层经过残差链接等技术处理后,作为位置-前馈网络层的输入;Hl表示第l层的最终输出结果。因此,可以得到最后的用户序列表示:
(13)
式中:HL表示第L层的输出结果;分别表示输出层的权重矩阵和偏置项。
1.2.3 对比损失
CETCL4Rec模型采用对比损失函数最大化同一序列的不同增强视图之间的相似性。首先将N个用户设为一个批量,记为u1,u2,···,uN。对于每个用户u的交互序列,输入数据增强模块得到两个增强样本,经编码器处理生成2N个增强视图表示。其中,将视为正样本对,其他2(N-1)增强序列表示视为负样本集合S-。对于每个样本对,采用信息噪声对比估计损失函数[16]进行优化。
(14)
式中,N表示批次大小,τ表示温度参数,sim表示正样本对的两个视图之间的相似度,表达式则表示与正样本对不同的所有负样本对的相似度之和。
1.2.4 多任务训练
为使模型学习到更加有意义和鲁棒的特征表示,并在不同数据集上表现出更好的适应性,将传统推荐任务与对比学习任务联合训练。具体地,在CETCL4Rec模型中,总损失函数由推荐任务损失和对比损失的加权和组成,如式(15)所示。
(15)
式中:表示总训练任务损失;表示主要推荐任务损失;λ表示超参数,用于控制对比损失的权重。
并且采用对数似然损失函数[17]作为主要推荐任务来训练推荐模型,如式(16)所示。
(16)
式中,表示在用户u的交互序列中的第t个位置处进行预测的分数,σ表示非线性激活函数,表示在位置t处预测的下一个项目,表示项目vt+1的嵌入向量表示,vj表示采样的负样本。
1.3 模型复杂度分析
为更清晰理解CETCL4Rec模型的计算开销,对其关键模块时间复杂度进行分析。数据增强模块包含三种增强操作:掩码操作的时间复杂度为O(nlog2n),裁剪操作的时间复杂度为O(n2),重新排序操作的时间复杂度为O(n2)。其中,n表示序列长度,d表示嵌入维度。组合枚举策略基于这三种操作实现,不引入额外的计算开销,其时间复杂度为O(n2)。编码器模块的时间复杂度为O(nd2)。而对比损失函数的计算涉及样本对相似性的计算,时间复杂度为O(n2d)。综上所述,CETCL4Rec模型的总时间复杂度为O(nd2+n2d)。
将CETCL4Rec模型与序列推荐领域的基准模型自注意力序列推荐模型[6]进行对比分析。该模型的计算开销主要集中于自注意力机制和前馈神经网络两个部分,二者的时间复杂度分别为O(n2d)和O(nd2),即总时间复杂度为O(n2d+nd2)。通过对比发现,尽管CETCL4Rec模型引入额外的数据增强模块,但其数量级远低于编码器和对比损失函数的时间复杂度,与自注意力序列推荐模型的复杂度量级相当。
2 实验
2.1 实验设置
2.1.1 数据集
在三个来自真实世界的公共数据集上进行实验。这些数据集分别是来自亚马逊电子商务平台的两个数据集——运动数据集Sports和美容数据集Beauty[18],以及影评数据集ML-1M[19]。表1展示了预处理后数据集的统计信息。
表1数据集统计信息
Tab.1 Dataset statistics

2.1.2 评估
按照Krichene等[20]的实验设置,采用留一法策略。对于每个用户,将其最后一个交互项目保留为测试数据,倒数第二个交互项目用作验证数据,其余的项目则作为训练数据。对整个项目集进行排名,而不进行负采样。在评估过程中,使用常见的评估指标命中率(hit ratio,HR)@k和归一化折损累计增益(normalized discounted cumulative gain,NDCG)@k进行评估,其中k表示仅考虑排名前k个推荐结果,设置为5,10,20。由此,用户实际感兴趣项目的比例为:
(17)
式中,如果用户的真实项目在前k个推荐项目中,则hit(i)=1,否则hit(i)=0。
NDCG@k考虑推荐结果的相关性和排名,反映了命中项目在推荐列表中的位置,可以表示为:
(18)
式中:reli表示排名位置i处项目的相关性得分;|RELu|表示用户u的相关项目的总数,在理想情况下,所有这些项目的相关性得分都被认为是最高的(通常为1)。
2.1.3 基线模型
在实验中将CETCL4Rec模型与传统序列推荐模型、基于对比学习的序列推荐模型进行比较。
传统序列推荐模型根据用户的历史行为序列来预测其未来行为。
① GRU4Rec:使用门控循环单元来建模用户行为序列。② Caser:将用户的历史行为序列视为一个“图像”,并使用卷积操作来捕捉序列中的局部和全局模式。③ SASRec:首个将注意力机制引入序列推荐的模型。④ SSDRec[21]:提出一个三阶段学习范式用于增强和降噪用户交互序列,以解决序列推荐的噪声问题。
基于对比学习的序列推荐模型通过自监督学习的方法来提升推荐性能。
① S3-Rec[22]:通过最大化用户行为序列中局部和全局表示之间的互信息来捕获用户的偏好,由于项目没有属性,只使用遮罩项目预测任务,即S3-RecMIP。② CL4SRec[23]:将对比学习用于序列推荐,并采用三种随机数据增强操作。③ CoSeRec[17]:模型在三种数据增强操作的基础上添加两种信息增强操作并用于对比学习中。④ DuoRec[24]:通过其基于对比学习的正则化和创新的增强策略,有效解决序列推荐系统中的表示退化问题。⑤ MCLRec[11]:将数据增强与模型增强操作结合用于对比学习,并使用元学习的方式更新参数。⑥ TiCoSeRec[13]:在CoSeRec模型基础上将五种数据增强操作引入时间间隔因素,生成更强的视图来进行对比学习。⑦ SparseEnNet[25]:通过将对比学习框架扩展为对抗生成网络以解决稀疏性问题,并生成更鲁棒的增强项目以探索序列推荐中的潜在空间。
2.1.4 实现细节
所有模型均基于PyTorch框架实现,为便于操作,传统序列推荐模型、CL4SRec模型和DuoRec模型均基于公共资源实现,其他对比学习模型使用原作者提供的代码。CETCL4Rec模型的数据增强操作比率设置在{0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}范围内。编码器设置注意力头的数量和注意力堆叠块数量均为2。嵌入维度d设置为128,学习率设置为0.001,批量大小为128。模型采用Adam优化器进行优化,并使用早停技术。为确保公平性,实验将Sports和Beauty数据集的最大序列长度设为50,ML-1M数据集的设为200。
2.2 性能比较
将CETCL4Rec模型与其他基线模型在三个数据集上进行性能比较,结果如表2所示,其中,粗体表示最佳性能,下划线表示次优性能,通过实验结果,可以得出以下结论:
首先,与基线模型相比,CETCL4Rec在三个数据集上的性能最优。验证了基于时间间隔的数据增强操作和组合枚举策略的有效性。其次,CETCL4Rec的性能优于SparseEnNet等其他对比学习模型。这是因为CETCL4Rec通过基于时间间隔与组合枚举策略的数据增强方法,能够保留序列中的时序信息,从而产生更高质量自监督信号,进一步增强学习效果。
表2不同模型性能之间的比较
Tab.2 Comparison of performance between different models

2.3 消融实验
为分析CETCL4Rec模型中各关键组件的有效性。本文设计四种模型变体。其中,w/o-Aug将基于时间间隔的数据增强操作替换为传统数据增强操作,w/o-Enu表示去除组合枚举策略,w/o-L2将L2归一化线性注意力机制替换为传统注意力机制,w/o-CL则去除对比学习损失。这四种变体模型及原模型的HR@20和NDCG@20的性能如表3所示。
表3消融实验
Tab.3 Ablation experiment

1)从表3中可以看出,CETCL4Rec模型在所有数据集上均取得最佳性能,这表明基于时间间隔和组合枚举的数据增强方法结合L2归一化线性注意力机制能够提供有效的自监督信号并改善推荐性能。
2)w/o-Enu次优模型虽具备一定增强能力,但缺乏系统化的操作组合,无法保证增强视图之间的一致性与信息保留,导致性能低于完整模型。
3)w/o-L2模型虽然使用传统注意力机制,但基于时间间隔的增强方法以及组合枚举策略构建高质量的样本对,传统编码器仍能够根据这些项目关联性较强的增强视图准确地建模用户特征。
4)w/o-Aug模型采用随机扰动方式生成增强视图,破坏了原始时序结构及项目关联性,削弱了组合枚举策略的效果,最终导致性能大幅下降。
5)w/o-CL模型去除对比学习目标后整体性能最差,进一步验证了对比学习在提升表示学习与鲁棒性方面的重要作用。
2.4 数据增强模块分析
2.4.1 不同数据增强分析
为研究CETCL4Rec模型在生成合理增强视图方面的有效性,进行系统实验分析,重点考察不同数据增强方法的比率对模型性能的影响。在对比学习任务中,仅使用单一增强操作,设置多个比率参数进行测试。并以CL4SRec模型的三种传统数据增强操作作为基线比较。为节省篇幅,仅针对数据集Sports和Beauty进行实验,采用HR@20和NDCG@20为主要性能指标。实验结果如图3所示。为方便区分,将CETCL4Rec模型的掩码、裁剪和重新排序操作记为Mask-α,Crop-α,Reorder-α,而将CL4SRec模型的三种增强操作记为Mask-β,Crop-β,Reorder-β。

图3不同数据增强比率之间的比较
Fig.3Comparison of different data augmentation ratios
由图3可知,随着各增强操作设置的比率变化,不同数据增强操作在数据集上表现出不同的趋势。实验结果表明以下几点:
1)CETCL4Rec模型的三种数据增强操作均优于传统增强操作,表明其能够生成更合理的增强视图,进一步验证了增强方法的有效性。
2)在Sports数据集上,CETCL4Rec模型的三种数据增强操作性能均优于传统操作,在 HR@20和NDCG@20上分别提升15.4%和4.31%。这表明,CETCL4Rec模型的增强方法更好地保留了序列中的时序信息,并对噪声具备更强的抵抗力。
3)在Beauty数据集上,Mask-α操作优于其他两种操作(Crop-α,Reorder-α),当比率为0.4时,性能最佳,比传统方法改进8.08%。但比率过高时,模型性能呈现下滑趋势,原因是比率设置过大将造成信息丢失。其他两种操作也在某一比率达到峰值后,呈现平缓的下滑趋势,这表明数据增强需要在合理范围内调整,以避免负面影响。
2.4.2 组合枚举策略有效性分析
为进一步验证CETCL4Rec模型中组合枚举策略的优势,本节设置不同的增强策略进行实验,并保持其他参数一致。在CETCL4Rec中采用随机式选择增强策略,命名为CETCL4Rec-R;将组合枚举策略与CL4SRec模型结合,命名为CL4SRec-E,以CL4SRec模型作为基线,实验结果如图4所示。
从图4中可以看出,CL4SRec-E模型的性能优于基线CL4SRec模型,并且在HR@20和NDCG@20性能指标上最高分别提升10.2%和9.09%。这一结果表明,组合枚举策略通过系统性地组合多种增强方式,提升正负样本之间的判别性,从而增强对比学习中的监督信号质量。而CETCL4Rec-R模型在随机式选择增强策略的设置下,与CETCL4Rec模型相比,在两个性能指标上平均下降3.78%和3.52%。这进一步验证了随机式选择增强策略在对比学习任务中的局限性。

图4不同策略分析
Fig.4Analysis of different strategies
这种性能差异体现两种策略之间的显著区别:组合枚举通过系统性组合多种增强操作,充分挖掘操作间的互补性,生成多样且高质量的样本对,提升对比信号质量;而随机选择方式缺乏系统性约束,容易引入信息偏差,难以有效优化对比目标,从而影响最终推荐性能。
2.4.3 序列对质量分析
为分析组合枚举策略的冗余性以及生成序列对是否起到正向作用,通过设置不同增强方法的数量(即M值)来生成增强序列对,观察模型在不同数据集上的性能变化,如表4所示。
由表4所示,随着M值的增加,HR@20和NDCG@20在三个数据集上均呈现递增趋势,这表明生成的增强序列对未导致序列冗余问题,否则性能指标应趋于饱和或下降趋势。此外,性能的提升进一步验证了增强序列对在预测任务中的正向作用,这一结果表明,组合枚举策略通过增加组合多样性,使模型能够全面地捕捉序列中的时间依赖性和项目关系,从而优化对比学习损失并提升推荐性能。
表4不同M值的分析
Tab.4 Analysis for different M values

2.5 模型时间开销分析
为验证所提模型的计算复杂度,通过实验评估计算效率。实验比较CETCL4Rec模型、不启用组合枚举策略的变体模型CETCL4Recw/o-e以及其他5种基线模型的每轮训练时间、每轮测试时间和总参数量,结果见表5。为确保比较的公平性,将最大序列长度设置为50。每轮训练时间和测试时间分别通过多次实验的平均值计算得出;总参数量则基于所有可训练参数进行统计。
表5模型时间开销对比
Tab.5 Comparison of model time overhead

对比CETCL4Rec与CETCL4Recw/o-e模型可发现,CETCL4Rec的训练时间比CETCL4Recw/o-e减少12.5%,原因在于组合枚举策略不引入额外的参数,通过优化数据增强调用顺序,避免随机策略中生成随机数与条件判断带来的开销,从而提升计算效率。
2.6 对比学习损失分析
为研究CETCL4Rec模型中对比学习超参数λ的影响,对比不同的损失权重值。此外,将CL4SRec模型作为基线进行对比分析,实验结果如图5所示。

图5对比学习损失比较
Fig.5Comparison of contrastive learning loss
实验结果表明,在不同权重设置下,CETCL4Rec模型的性能均优于基线模型。然而,随着λ增加,模型性能逐渐下降。当λ增大时,模型可能过于侧重优化对比学习任务,而忽视了推荐任务的优化,进而导致整体性能的下降。因此,合理设定λ至关重要。
3 结论
为解决自监督信号质量不足的问题,提出一种新的对比学习序列推荐模型CETCL4Rec。通过采用基于项目时间间隔的三种数据增强操作生成增强序列,以减缓时间推移对用户偏好的影响,并保持项目之间的顺序依赖关系和时序信息。组合枚举策略对增强方法进行不同组合,构建多样化视图对,能够捕捉更丰富的信息,从而有助于模型在学习过程中更好地区分正负样本,提升对比学习的效果。实验结果表明,所提模型CETCL4Rec优于现有基线模型。
在未来的研究工作中,将在数据增强模块中结合时间间隔与上下文因素以进一步优化模型,提升推荐性能。