《Intent Contrastive Learning for Sequential Recommendation》
用户与 items
的交互受多种意图驱动(例如,为节日礼物做准备、购买钓鱼装备等)。然而,用户的底层意图(intents
)往往是未被观察到的 / 潜在的,这使得利用这些潜在意图(latent intents
)进行序列推荐具有挑战性。为了探究潜在意图的益处并有效地将其用于推荐,我们提出了意图对比学习(Intent Contrastive Learning: ICL
),这是一种将潜在意图变量(latent intent variable
)融入序列推荐的通用学习范式。其核心思想是:从无标签的用户行为序列中学习用户的意图分布函数(intent distribution functions
),并通过对比自监督学习来优化序列推荐模型,同时考虑所学到的意图以提升推荐效果。
具体而言,我们引入一个潜在变量(latent variable
)来表示用户意图,并通过聚类来学习潜在变量的分布函数。我们提议通过对比自监督学习将所学到的意图融入序列推荐模型,这能够最大化 view of sequence
与其相应意图之间的一致性。训练过程在广义的期望最大化(expectation-maximization: EM
)框架内的 intent representation learning
和 sequential recommendation model optimization
步骤之间交替进行。将用户意图信息融合到序列推荐中还能提高模型的鲁棒性。在四个真实世界数据集上进行的实验证明了所提出的学习范式的优越性,它提高了性能,并且在面对 data sparsity and noisy interaction
的问题时增强了鲁棒性。
推荐系统已广泛应用于许多场景,从 items
的大 vocabularies
中为用户提供个性化 items
。一个有效的推荐系统的核心是根据用户的历史交互准确预测他们对 items
的兴趣。随着深度学习的成功,深度序列推荐(Sequential Recommendation: SR
)模型旨在通过不同的深度神经网络来动态地刻画用户行为,可以说是代表了当前的 SOTA
。
一般来说,深度序列推荐模型是通过深度神经网络基于用户的交互行为进行训练的,假设用户的兴趣取决于历史行为。然而,用户的消费行为可能会受到其他潜在因子的影响,即由他们的底层意图驱动。考虑 Figure 1
所示的例子,两个用户过去在 Amazon
上购买了一系列不同的 items
。鉴于这种截然不同的交互行为,系统会向他们推荐不同的 items
。然而,他们都是钓鱼爱好者,并且正在为钓鱼活动购物。结果,他们未来都购买了 “钓鱼转环”(fishing swivels
)。如果系统知道这两个用户是为钓鱼活动购物,那么就可以推荐钓鱼常购买的 items
,比如 “钓鱼转环”。这促使我们挖掘用户之间共享的底层意图,并使用所学到的意图来指导系统提供推荐。
然而,精确发现用户意图的研究还不够深入。大多数现有的 user intent modeling
的工作需要辅助信息。
ASLI
利用用户动作类型(例如,点击、添加到收藏夹等)来捕获用户意图,然而这类信息在系统中并不总是可用的。
CoCoRec
利用 item category
信息,但我们认为类别特征无法准确表示用户意图。例如,像 “购买节日礼物” 这样的意图可能涉及来自多个不同类别的 items
。
DSSRec
提出了一种 seq2seq
训练策略,在潜在空间中优化意图。然而,DSSRec
中的那些意图仅仅基于单个 sequence representation
来推断,忽略了不同用户意图之间的 underlying correlations
。
从用户行为中有效地对潜在意图进行建模存在两个挑战:
第一,由于我们没有意图的标记数据,准确地学习潜在意图极其困难。意图唯一可用的监督信号是用户行为数据。然而,如前面的例子所示,不同的行为可能反映相同的意图。
此外,将意图信息有效地融合到序列推荐模型中并非易事。序列推荐的目标是预测序列中的 next items
,这是通过对序列进行编码来解决的。将序列的潜在意图融入模型要求 intent factors
与 sequence embeddings
正交,否则会引入冗余信息。
为了发掘 latent intents
的益处并应对这些挑战,我们提出了意图对比学习(Intent Contrastive Learning: ICL
),这是一种将 latent intent factor
融入序列推荐的通用学习范式。它通过聚类从所有 user behavior sequences
中学习用户的意图分布。并且它通过一种新的对比自监督学习将所学到的意图融入序列推荐模型,这最大化了 view of sequence
与其相应意图之间的一致性。intent representation learning
模块和对比自监督学习模块相互强化,以训练出更具表达能力的 sequence encoder
。我们通过引入一个 latent variable
来表示用户意图,并通过期望最大化(expectation-maximization: EM
)框架来将用户意图与 Sequential Recommendation model optimization
交替学习来解决 intent mining
问题,从而确保收敛。我们建议通过所提出的对比自监督学习将所学到的意图信息融合到序列推荐中,因为它可以提高模型的性能和鲁棒性。在四个真实世界数据集上进行的大量实验进一步验证了所提出学习范式的有效性,即使推荐系统面临严重的数据稀疏问题,它也能提高性能和鲁棒性。
问题定义:假设一个推荐系统有一组用户和一组 items
,分别用 interacted items
序列 interacted items
的数量,step
item
。我们用 embedded representation
,其中 item
embedding
。
在实践中,序列会被截断为最大长度
如果序列长度大于
如果序列长度小于 "padding" items
,直到长度为
对于每个用户 next item prediction
任务的目标是:在给定序列 item set
step
next item
。
用于 Next Item Prediction
的深度序列推荐模型:现代序列推荐模型通常使用深度神经网络对用户行为序列进行编码,以从(截断的)用户历史行为序列中建模序列模式。不失一般性,我们定义一个 sequence encoder
position steps
上的 user interest representations
position
encoder
参数 positional steps
上,expected next items
的对数似然函数最大化:
这等价于最小化如下调整后的二元交叉熵损失:
其中:
item
embedding
、以及所有未交互 items
的 embedding
。上式中的求和操作计算成本很高,因为 《Controllable multi-interest framework for recommendation》
、《Self-attentive sequential recom- mendation》
、《S3-rec: Self-supervised learning for sequential recommendation with mutual information maximization》
,使用 sampled softmax
技术为每个序列的每个 time step
随机采样一个负样本。
sigmoid
函数,mini-batch size
。
序列推荐中的对比自监督学习:对比自监督学习(contrastive self-supervised learning
)的最新进展启发了推荐领域,使其遵循互信息最大化(mutual information maximization: MIM
)原则,利用对比自监督学习融合一个序列的不同视图之间的相关性。序列推荐中现有的方法可以看作是实例判别(instance discrimination
)任务,优化 MIM
的下限,如 InfoNCE
。它旨在优化 positive pairs
和 negative pairs
之间的 gap
比例。在这样的实例判别任务中,需要对序列进行增强,如 “掩码”、“裁剪” 或 “重新排序”,以在序列推荐中创建 unlabeled data
的不同视图。形式上,给定一个序列 positive
视图:
其中
通常,从同一序列创建的视图被视为 positive pairs
,而任何不同序列的视图被视为 negative pairs
。增强后的视图首先用 sequence encoder
vector representations
,记为 time steps
的 interest representations
进行 “拼接”,从而作为 “聚合” 层。注意,序列在预处理后具有相同的长度,因此拼接后的 vector representations
也具有相同的长度。之后,我们可以通过 InfoNCE loss
来优化
其中:negative views
的 representations
。
Figure 2(a)
说明了 SeqCL
的工作原理。
序列推荐中的 Latent Factor Modeling
:next item prediction
任务的主要目标是优化公式:
假设在一个推荐系统中也存在 intent variable
item
交互的概率可以重写为:
然而,根据定义,用户意图是潜在的。由于变量
稍后,我们将展示广义 Expectation-Maximization: EM
框架为解决上述问题提供了一个方向,并保证收敛。通过 EM
优化
从模型参数 E step
。
一旦我们得到了 M step
。
我们可以重复这个迭代过程,直到似然值不再增加。
这里有个假设:这里假设用户的潜在意图是与时间无关的,即
没有 的下标。该假设是否成立,有待商榷。
所提出的 ICL within EM framework
的概述如 Figure 2 (b)
所示。它交替执行 E step
和 M step
,以估计 intent variable
上的分布函数
在 E step
中,它通过聚类来估计
在 M step
中,它通过 mini-batch
梯度下降并考虑所估计到的
在每次迭代中,
核心:
通过聚类来获取潜在意图。注意,聚类在整个数据集上进行,而不是
batch
上进行。通过对比学习来迫使
item representation
靠近潜在意图。图中的
Mask
是移除False Negative
:在获取 “负意图” 的时候,不考虑batch
内具有相同意图的其它序列。论文假设:没有
category
信息。事实上,如果有category
信息,可以直接将category
作为intent
,这可以降低算法的复杂度。
在以下部分,我们首先推导目标函数,以便将 latent intent variable
EM
框架下交替优化目标函数关于
为序列推荐来建模潜在意图:假设存在 latent intent prototypes
)items
交互的决策,那么基于公式
然而,这很难直接优化。相反,我们构造它的一个下界函数并最大化这个下界。形式上,假设意图
根据 Jensen
不等式,有:
其中,positional step
,其定义为:
其中:
到目前为止,我们找到了 Intent Representa- tion Learning
(E-step
)和 Intent Contrastive SSL with FNM
(M-step
)之间交替优化模型,这遵循广义 EM
框架。我们将整个过程称为意图对比学习(Intent Contrastive Learning: ICL
)。在每轮迭代中,
Intent Representation Learning
:为了学习意图分布函数 encoder
sequence representations
K-means
聚类,以获得
我们 vector representation
,它是第个centroid representation
。在本文中,为简化起见,我们使用 “聚合层” 表示对所有 position steps
的均值池化操作。我们将其他先进的聚合方法(如基于注意力的方法)留作未来研究。Figure 2(b)
展示了 E-step
的工作原理。
Intent Contrastive SSL with FNM
:我们已经估计了分布函数 L2
归一化的各向同性高斯分布,那么我们可以将
其中,vector representations
。
因此,最大化公式
其中:
我们可以看到 Contrastive SSL
中的
注意,在 SeqCL
中需要 sequence augmentations
来创建 positive views
,而在 ICL
中, sequence augmentations
是可选的,因为给定序列的视图是其从原始数据集学到的相应的 intent
。在本文中,我们应用 sequence augmentations
来扩大训练集,并基于公式 batch
的训练序列 positive views
:
然后优化以下损失函数:
其中,batch
中的所有意图。
然而,直接优化公式 false-negative
样本,因为同一个 batch
中的用户可能具有相同的意图。为了减轻 false-negative
的影响,我们提出一种简单的策略,即通过不与它们进行对比来减轻影响:
其中, mini-batch
中与具有相同意图的用户集合。我们将此称为 False-Negative Mitigation: FNM
。Figure 2(b)
展示了 M-step
的工作原理。
我们使用多任务训练策略训练序列推荐模型,联合优化:通过公式 ICL
、通过公式 next-item prediction
任务、通过公式 sequence level
自监督学习任务。
形式上,我们如下联合训练序列推荐模型
其中,ICL
任务和 sequence level
自监督学习任务的强度。原始论文附录 A
提供了整个学习流程的伪代码。特别地,我们在 Transformer encoder
上构建 learning
范式,以形成模型 ICLRec
。
ICL
是一个与模型无关的目标,因此我们也将其应用于 S3-Rec
模型。 S3-Rec
模型通过几个 items
、associated attributes
和子序列之间的相关性,并使用 ICL
进一步验证其有效性(详见实验章节)。
与序列推荐中对比自监督学习的联系:序列推荐中最近的方法《Contrastive Learning for Sequential Recommendation》
、《S3-rec: Self-supervised learning for sequential recommendation with mutual information maximization》
遵循标准的对比自监督学习,以最大化序列的两个 positive views
之间的互信息。例如,CL4SRec
使用 Transformer
对序列进行编码,并最大化从原始序列增强(裁剪、掩码或重新排序)得到的两个序列之间的互信息。然而,如果一个序列的 item relationships
容易受到随机扰动的影响,那么该序列的两个视图可能无法揭示原始序列的相关性。ICLRec
最大化序列与其相应 intent prototype
之间的互信息。由于 intent prototype
可以被视为通过考虑所有序列的语义结构学到的给定序列的 positive view
,反映了真实的序列相关性,因此 ICLRec
始终优于 CL4SRec
。
时间复杂度和收敛性分析:在训练阶段的每次迭代中,我们提出的方法的计算成本主要来自 E-step
中对 M-step
中通过多任务训练对
对于 E-step
,聚类的时间复杂度为 embedding
的维度,
对于 M-step
,由于我们有三个目标来优化网络 next item prediction objective
的 Transformer-based
的序列推荐(如 SASRec
)的 3
倍。幸运的是,由于 Transformer
,模型可以有效地并行化,我们将其留作未来工作。
在测试阶段,不再需要所提出的 ICL
以及 SeqCL
目标,这使得模型具有与 SASRec
相同的时间复杂度(ICL
在广义 EM
框架下的收敛性得到了保证,证明见原始论文的附录 B
。
数据集:我们在四个公共数据集上进行实验。
Sports
、Beauty
和 Toys
是文献中介绍的亚马逊评论数据的三个子类别。
Yelp
是一个用于商业推荐的数据集。
我们遵循文献 《Contrastive Learning for Sequential Recommendation》
、《S3-rec: Self-supervised learning for sequential recommendation with mutual information maximization》
中的方法准备数据集。具体来说,我们只保留 “5-core
” 数据集,其中所有用户和 items
至少有 5
次交互。Table 3
总结了数据集的统计信息。
评估指标:我们遵循文献 《On Sampled Metrics for Item Recommendation》
、《Neural graph collaborative filtering》
,在整个 item set
上对 prediction
进行排名,不进行负采样。性能通过多种评估指标进行评估,包括 Hit Ratio@k: HR@k
、以及 Normalized Discounted Cumulative Gain@k: NDCG@k
,其中
基线方法:我们纳入了四组基线方法进行比较。
非序列模型:BPR-MF
通过矩阵分解模型刻画 pair-wise interactions
,并通过 pair-wise Bayesian Personalized Ranking loss
进行优化。
标准的序列模型:我们纳入了使用 next-item prediction objective
来训练模型的方法。Caser
是一种基于 CNN
的方法,GRU4Rec
是一种基于 RNN
的方法,SASRec
是基于 Transformer
的序列推荐的最先进基线之一。
带有额外 SSL
的序列模型:
BERT4Rec
用完形填空任务取代 next-item prediction
,以融合用户行为序列中一个 item
(一个 view
)与其上下文信息之间的信息。
S3-Rec
使用 SSL
从给定的用户行为序列中捕获 item
、子序列和 associated attributes
之间的关系。由于我们的 item
没有属性,因此其挖掘属性的模块被移除,称作 S3-Rec_ISP
。
CL4SRec
将对比自监督学习与基于 Transformer
的序列推荐模型相融合。
考虑潜在因子的序列模型:我们纳入了 DSSRec
,它使用 seq2seq
训练并在潜在空间中进行优化。我们没有直接与 ASLI
进行比较,因为它需要用户动作类型信息(例如,点击、添加到收藏夹等)。相反,我们在实验章节中进行了案例研究,以评估在有额外 item category
信息的情况下学到的 intent factor
的益处。
实现细节:
Caser
、BERT4Rec
、S3-Rec
由作者提供。
BPRMF
、GRU4Rec
和 DSSRec
基于公开资源实现。
我们在 PyTorch
中实现 SASRec
和 CL4SRec
。BERT4Rec
中的 mask ratio
在
所有基于自注意力的方法(SASRec
、 S3-Rec
、CL4SRec
、DSSRec
)的 attention heads
数量和自注意力层数分别在 DSSRec
中引入的潜在因子的数量在
我们的方法在 PyTorch
中实现。使用 Faiss
进行 K-means
聚类,以加快训练阶段和 query
阶段。对于 encoder
架构,我们将自注意力块的数量和 attention heads
数量设置为 2
,embedding
维度设置为 64
,最大序列长度设置为 50
。模型由 Adam
优化器优化,学习率为 0.001
,batch size
为 256
。对于 ICLRec
的超参数,我们分别在
所有实验都在单个 Tesla V100 GPU
上运行。
Table 1
展示了不同方法在所有数据集上的结果。我们有以下观察。
首先,BPR
通常比序列模型表现更差,这表明挖掘用户行为序列下的序列模式(sequential patterns
)的重要性。
对于标准的序列模型,SASRec
使用基于 Transformer
的编码器,比 Caser
和 GRU4Rec
表现更好,这证明了 Transformer
在捕获序列模式方面的有效性。
DSSRec
通过使用 seq2seq
训练策略进一步提高了 SASRec
的性能,并在潜在空间中重构 future sequence
的representation
,以缓解非收敛(non-convergence
)的问题。
此外,尽管 BERT4Rec
和 S3-Rec
采用自监督学习来提供额外的训练信号以增强 representations
,但我们观察到它们在某些数据集(例如 Toys
数据集)上的表现比 SASRec
更差。原因可能是 BERT4Rec
和 S3-Rec
都旨在通过 masked item prediction
来整合给定用户行为序列的上下文信息。这样的目标可能与 next item prediction
目标不太一致,并且它要求每个用户行为序列足够长,以提供全面的 “上下文” 信息。因此,当大多数序列较短时,它们的性能会下降。
此外,S3-Rec
旨在融合额外的上下文信息。当没有这些特征时,其两阶段训练策略阻碍了 next-item prediction
任务和自监督学习任务之间的信息共享,从而导致结果不佳。CL4SRec
始终比其他基线表现更好,证明了在单独的 user level
通过对比自监督学习来增强 sequence representations
的有效性。
最后,ICLRec
在所有数据集上始终优于现有方法。与最佳基线相比,在 HR
和 NDCG
指标上的平均提升范围从 7.47%
到 33.33%
。所提出的 ICL
估计了良好的意图分布,并通过新的对比自监督学习将其融合到序列推荐模型中,这有助于 encoder
发现不同用户行为序列之间的良好语义结构。
我们还报告了在 Sports
数据集上的模型效率。
SASRec
是最有效率的解决方案,每次模型更新花费 3.59 s/epoch
。
CL4SRec
和所提出的 ICLRec
每次更新分别花费 6.52 s/epoch
和 11.75 s/epoch
。具体来说,ICLRec
花费 3.21 s
进行intent representation learning
,其余 8.54 s
用于多任务学习。
SASRec
、CL4SRec
和 ICLRec
的评估时间大致相同(在测试集上约为 12.72 s
),因为引入的 ICL
任务仅在训练阶段使用。
对用户交互频率的鲁棒性:用户 “冷启动” 问题是推荐系统经常面临的典型数据稀疏问题之一,即大多数用户的历史行为有限。为了检查 ICL
在这种情况下是否提高了鲁棒性,我们根据用户行为序列的长度将其分为三组,并保持行为序列的总数不变。在每组用户上独立训练和评估模型。Figure 3
展示了在四个数据集上的比较结果。我们观察到:
(1)
:在所有用户组中,所提出的 ICLRec
始终比 SASRec
表现更好,而当用户行为序列较短时,CL4SRec
在 Beauty
和 Yelp
数据集上未能超过 SASRec
。这表明 CL4SRec
需要单个用户行为序列足够长,以提供 “完整” 的信息用于辅助监督,而 ICLRec
通过利用 user intent
信息减少了这种需求;因此即使用户的历史交互有限,也能始终有益于 user representation learning
。
(2)
:与 CL4SRec
相比,我们观察到 ICLRec
的改进主要在于它能为交互频率较低的用户提供更好的推荐。这验证了 user intent
信息是有益的,特别是当推荐系统面临数据稀疏问题,每个用户序列中的信息有限时。
对噪声数据的鲁棒性:我们还在 Sports
和 Yelp
数据集上进行实验,以验证 ICLRec
在测试阶段对噪声交互的鲁棒性。具体来说,我们随机向文本序列中添加一定比例(即 5%
、10%
、15%
、20%
)的负样本。从 Figure 4
中可以看出:
添加噪声数据会降低 CL4SRec
和ICLRec
的性能。
然而,ICLRec
的性能下降率始终低于 CL4SRec
,并且在 Sports
数据集上,其在噪声比例为 15%
时的性能仍能超过无噪声数据集上的 CL4SRec
。原因可能是所利用的意图信息是从所有用户中提取的协同信息(collaborative information
)。ICL
帮助序列推荐模型从用户行为序列中捕获语义结构,这增加了 ICLRec
对单个序列上噪声扰动的鲁棒性。
我们提出的 ICLRec
包含一个新颖的 ICL
目标、一个缓解假阴性噪声(false-negative noise mitigation: FNM
)策略、一个 SeqCL
目标、以及序列增强。为了验证每个组件的有效性,我们在四个数据集上进行了消融研究,并在 Table 2
中报告结果。(A)
是我们的最终模型,(B)
到 (F)
是去除了某些组件的 ICLRec
。
从 (A) - (B)
可以看出,FNM
利用所学到的意图信息,避免具有相似意图的用户在 representation
空间中相互远离,这有助于模型学习更好的 user representations
。
比较 (A) - (D)
,我们发现没有 ICL
,性能会显著下降,这证明了 ICL
的有效性。
比较 (A) - (C)
,我们发现单独的 user level
互信息也有助于增强 user representations
。正如我们在前面实验中分析的,它对长用户序列的贡献更大。
比较 (E) - (F)
,我们发现 ICL
可以在不进行序列增强的情况下进行对比自监督学习,并且性能优于 SASRec
。而 CL4SRec
需要序列增强模块来进行对比自监督学习。
比较 (C) - (E)
,我们发现序列增强扩大了训练集,这有利于提高性能。
由于 ICL
是一种与模型无关的学习范式,我们还在微调阶段将 ICL
添加到 S3-Rec_ISP
模型中,以进一步验证其有效性。结果如 Table 2
的 (G) - (H)
所示。我们发现模型也从 ICL
目标中受益。在四个数据集上,NDCG@20
的平均提升为 41.11%
,这进一步验证了 ICLRec
的有效性和实用性。
意图类别数 ICL
目标强度 ICL
任务对最终模型的贡献越大。在 Yelp
数据集上的结果如 Figure 5
所示。我们发现:
(1)
:当 512
时,ICLRec
达到最佳性能,然后随着
当 intent prototype
下的用户数量可能会很大。结果,在对比自监督学习中引入了 false-positive
样本(即实际上意图不同的用户被错误地认为具有相同意图),从而影响学习。
另一方面,当 false-positive
下的用户数量较少,引入的 false-negative
样本也会损害对比自监督学习。
在 Yelp
数据集中,512
个用户意图能最好地概括用户的 distinct
行为。
(2)
:还可以找到 ICL
任务作为辅助任务可以有益于推荐预测。
Figure 6
显示了 CL4SRec
和所提出的 ICLRec
在 Yelp
上相对于 batch size
的性能。我们观察到:
随着 batch size
的增加,CL4SRec
的性能并没有持续提高。原因可能是:因为较大的 batch size
会引入 false-negative
样本,从而损害学习。
而 ICLRec
在不同 batch size
下相对稳定,并且在所有情况下都优于 CL4SRec
。因为学到的意图可以看作是序列的伪标签,这有助于通过所提出的带有 FNM
的对比自监督学习来识别 true positive
样本。
Figure 8
显示了
当 ICLRec
提高性能。
然而,当SeqCL
的局限性,因为专注于最大化各个 sequence pairs
之间的互信息可能会破坏用户之间的全局关系。
Sports
数据集包含 2277
个细粒度的 item categories
,Yelp
数据集提供了 1001
个商业类别。我们利用这些属性对所提出的 ICLRec
进行定量和定性研究。请注意,在训练阶段我们没有使用这些信息。
定量分析:我们通过将用户 interacted items
的 item
类别视为他们的意图来研究 ICLRec
的表现。具体来说,给定一个用户行为序列 trainable item category embeddings
的均值视为 intent prototype
intent representation learning
。我们运行相应的模型 ICLRec-A
,并在 Table 4
中显示比较结果。我们观察到在 Sports
数据集上:
(1)
:ICLRec-A
的表现优于 CL4SRec
,这表明利用 item category
信息具有潜在的好处。
(2)
:当 ICLRec
实现了与 ICLRec-A
相似的性能。与上述定性结果的联合分析表明,ICL
可以通过 SSL
捕获有意义的用户意图。
(3)
:当 ICLRec
的表现优于 ICLRec-A
。我们假设当 latent variables
可以更好地描述用户的意图,从而提高性能。(例如,现有 item categories
的父级)。
Yelp
数据集中也有类似的观察结果。
定性分析:我们还通过 t-SNE
可视化学到的 users’ representations
,将提出的 ICLRec
与 CL4SRec
进行比较。具体来说,我们随机抽样了 100
位曾经与某个 category
或另一个 category
的 items
互动的用户。这 100
位用户过去也与其他类别的 items
互动过。我们在 Figure 7
中通过t-SNE
可视化学到的 users’ representations
。从 Figure 7
中我们可以看到:与 CL4SRec
相比,ICLRec
学到的 users’ representations
旨在将与同一类别 items
互动的用户拉近彼此,同时将其他用户推得更远。这反映出 ICL
学到的 representations
可以捕获更多的语义结构,因此提高了性能。