论文阅读-CLSPRec- Contrastive Learning of Long and Short-term Preferences for Next POI Recommendation

15 篇文章 0 订阅
6 篇文章 0 订阅

CLSPRec: Contrastive Learning of Long and Short-term Preferences for Next POI Recommendation

ABSTRACT

下一个兴趣点 (POI) 推荐通过为用户提供潜在有吸引力的下一个位置选择来优化用户旅行体验并提高平台收入。在最近的研究中,学者们通过对长期和短期签到序列进行建模,成功地挖掘了用户的总体品味和不同的兴趣。然而,传统的长期和短期建模方法主要采用不同的编码器来独立处理长期和短期交互数据,编码器和数据的差异限制了这些模型的最终性能。相反,我们提出了一种共享轨迹编码器和一种新颖的下一个 POI 推荐的长期和短期偏好对比学习(CLSPRec)模型,以更好地利用相同用户之间的偏好相似性并区分不同用户的旅行偏好,以获得更准确的下一个 POI预言。 CLSPRec在长期序列中采用掩蔽策略来增强模型的鲁棒性,并通过短期序列进一步增强用户表示。对三个现实世界数据集的广泛实验验证了我们模型的优越性。

1 INTRODUCTION

为了获得更高质量的推荐,共同考虑用户的长短期行为至关重要。长期行为反映了用户稳定的偏好;短期行为反应了他们最近的状态。

当前方法存在两个问题:

  1. 首先,无论用户的签到行为发生在过去还是现在,所涉及的时间、地点、目的等特征都表现出内在的相似性
  2. 其次,当前结合对比学习的序列推荐方法往往侧重于复杂的数据增强技术,很少分析特定领域问题并基于原始数据设计对比策略。

为了解决上述挑战,作者提出CLSPRec:对比 POI 推荐的长期和短期偏好。

首先,设计了一个基于用户出行的核心时间周期以天为单位的轨迹编码器。其次,构建了基于用户交互序列的对比学习范式(具体来说,我们设计同一用户的长期交互序列和短期交互序列作为正对比样本,随机选择其他用户的短期交互序列作为负样本。这加强了相同用户之间的偏好相似性,区分了不同用户的旅行偏好。)。最后,通过短期序列增强用户表示,并使用自注意力机制来聚合用户轨迹偏好以进行POI预测。

贡献:

  1. 设计了一个以天为周期的轨迹编码器,并用它来统一建模用户的长期和短期行为序列,捕获跨时期相同特征的共性,同时保持模型简单性。
  2. 根据用户的长短期交互序列设计对比策略,动态区分同一用户在不同时期的行为共性,以及不同用户之间的行为差​​异。
  3. 对三个公共数据集的大量实验表明,与最先进的 (SOTA) POI 推荐模型和序列推荐模型相比,CLSPRec 的性能平均提高了 43.2%。消融实验和嵌入可视化研究验证了每个组件的必要性。

3 PROBLEM FORMULATION

U \mathcal U U 代表一系列的用户, L \mathcal L L 表示一系列的POIs, C \mathcal C C 表示一系列POI类别(签到次数,图像,评论等)。 D = { d 0 , d 1 } \mathcal D = \{ d_0, d_1\} D={d0,d1} 表示工作日和双休日,然后将每一天映射到24个时隙 T = { t 1 , t 2 , … , t 24 } \mathcal T = \{ t_1, t_2, …, t_{24} \} T={t1,t2,,t24}

4 METHODOLOGY

在这里插入图片描述

4.1 Long and Short-term Sequence Modeling

4.1.1 Trajectory Encoder.

两个考虑因素:1)用户倾向于访问相似的地点在相似的时间或者相似的区域,周期性。2)POI任务对应的行为是用户的出行行为,每次POI转换需要用户数十分钟甚至数小时的时间,所以使用小时或者更小的时间单位作为周期单位是不可行的。另一方面,使用较大的时间单位(例如周)会模糊用户在工作日和节假日的偏好之间的区别。考虑到这些因素,我们设计了基于天的轨迹编码器。

这里作者选择了双向Transformer编码器,许多用户的行程都是预先计划的,这意味着轨迹内 POI 的选择不仅受到过去行为的影响,还受到未来潜在行为的影响。双向 Transformer 可以关注其他时间点的签到行为,同时对目标签到进行编码,捕获用户签到操作之间的依赖关系,并学习更具表现力的签到表示。

首先,我们使用一个简单的嵌入层来获取每个上下文的嵌入并将它们连接起来以表示签入:

e r = u ⊕ l ⊕ c ⊕ d ⊕ t e_r = u ⊕ l ⊕ c ⊕ d ⊕t er=ulcdt

获得嵌入后,我们使用 Transformer 编码器对用户每日签到的时空偏好进行编码。我们将轨迹嵌入 E T i u E_{T^u_i} ETiu 输入到 Transformer 层:

H T i u = [ h 1 , h 2 , . . . , h ∣ T i u ∣ ] = T r m ( E T i u ) = T r m ( E T i u W Q , E T i u W K , E T i u W V ) T r m ( Q , K , V ) = ( s o f t m a x ( Q K T 5 D ) ) V H_{T^u_i} = [h_1,h_2,...,h_{|T^u_i|}]=Trm(E_{T^u_i})=Trm(E_{T^u_i}W_Q, E_{T^u_i}W_K,E_{T^u_i}W_V)\\ Trm(Q,K,V)=(softmax(\frac{QK^T}{\sqrt{5D}}))V HTiu=[h1,h2,...,hTiu]=Trm(ETiu)=Trm(ETiuWQ,ETiuWK,ETiuWV)Trm(Q,K,V)=(softmax(5D QKT))V

最后,通过利用 Transformer 编码器,我们揭示了用户全天活动之间的依赖关系,从而生成了 H T i u H_{T^u_i} HTiu ,它反映了用户在第 i i i 天的旅行偏好。

将以上三个方程总结为一个方程:

H T i u = T r a j e c t o r y ( T i u ) H_{T^u_i} = Trajectory(T_i^u) HTiu=Trajectory(Tiu)

4.1.2 Long-term Sequence Modeling.

在本小节中,将介绍如何使用轨迹编码器从用户的长期行为序列中对用户的长期偏好进行建模,以及如何通过**屏蔽策略(mask strategy)**增强长期偏好的鲁棒性。

用户过去几天的有效轨迹构成了他们的长期轨迹。一些意料之外的签到(比如同事的婚礼,尝试一家新餐厅)并不能准确反映人们的真实偏好。作者受到BERT预训练任务的启发,提出了一种随机上下文屏蔽策略,以了解用户旅行偏好。

首先随机屏蔽用户长期序列中的每个轨迹,然后使用轨迹编码器对每个轨迹进行编码,最后将每个轨迹的表示连接起来作为用户的长期旅行偏好表示。

三个步骤处理序列中的每个轨迹 T i u ∈ S L o n g u T^u_i \in S^u_{Long} TiuSLongu

(1) 根据掩码计算掩码数量比例 p m a s k p_{mask} pmask 和轨迹长度:

N u m m a s k i = p m a s k × ∣ T i u ∣ Num_{\mathrm{mask}i} = p_{\mathrm{mask}} × |T^u_i| Nummaski=pmask×Tiu

(2) 随机生成 N u m m a s k i Num_{\mathrm{mask}i} Nummaski 掩码索引 I n d e x m a s k i Index_{\mathrm{mask}i} Indexmaski 并掩码轨迹中相应的签入。

(3) 根据不同类型的上下文,我们将签到记录 r j = ( u , l , c , d , t ) r_j = (u, l, c, d, t) rj=(u,l,c,d,t) 中的位置、类别、时间和星期几的值替换为相应的掩码值:

r j ′ = { ( u , [ M ] L , [ M ] C , [ M ] D , [ M ] T ) , if  j ∈ Index mask i ; ( u , l , c , d , t ) , else . r'_j = \begin{cases} (u, [\mathrm{M}]_L, [\mathrm{M}]_C, [\mathrm{M}]_D, [\mathrm{M}]_T), & \text{if } j \in \text{Index}_{\text{mask}i}; \\ (u, l, c, d, t), & \text{else}. \end{cases} rj={(u,[M]L,[M]C,[M]D,[M]T),(u,l,c,d,t),if jIndexmaski;else.

(4) 最后,每个屏蔽的签到轨迹在随机上下文屏蔽后被输入到轨迹编码器中,以获得用户稳健的长期偏好:

H Long s u = [ H 1 , H 2 , ⋯   , H N ] = Trajectory ( [ T 1 ′ , T 2 ′ , ⋯   , T N ′ ] ) \mathbf{H}^{\mathbf{su}}_{\text{Long}} = [\mathbf{H}_1, \mathbf{H}_2, \cdots, \mathbf{H}_N] \\ = \text{Trajectory}([\mathbf{T}'_1, \mathbf{T}'_2, \cdots, \mathbf{T}'_N]) HLongsu=[H1,H2,,HN]=Trajectory([T1,T2,,TN])

4.1.3 Short-term Sequence Modeling.

用户当日的签到序列构成了用户的短期序列,反映了用户动态的出行需求。

作者的短期偏好模型2个特点:它使用与长期偏好建模相同的轨迹编码器,并且不执行上下文屏蔽。基于天的行为收集与使用轨迹编码器在长期偏好建模中对每日轨迹进行 建模的方法一致;短期序列包含用户当前的状态信息,使用屏蔽可能会导致状态信息丢失。

具体做法如下:给定用户的短期序列 S S h o r t u S^u_{Short} SShortu ,我们将其输入到轨迹编码器中:

H S S h o r t u = T r a j e c t o r y ( S S h o r t u ) H_{S^u_{Short}} = Trajectory(S^u_{Short}) HSShortu=Trajectory(SShortu)

4.2 Contrast module

在前面章节基于轨迹编码器获得了用户的长、短期序列嵌入。由于推荐性能与表示空间的对齐和均匀性正相关,这与用户长期和短期偏好之间的相似性的想法一致,因此使用对比学习来优化表示空间。具体操作如下。

4.2.1 Contrast with Positive Samples.

在长期和短期序列建模的研究中,研究人员发现长期和短期序列都包含用户相似的偏好,这与对比学习中正样本的学习目标一致。作者通过平均同一用户的短期和长期序列的嵌入来获得正样本。

4.2.2 Contrast with Negative Samples.

负样本的选择对于调整表示空间的可区分性起着重要作用。随机选择K个用户的短期序列,进行以下平均操作。

n N e g = M e a n ( [ H S s h o r t u 1 , H S s h o r t u 2 , . . . , H S s h o r t u K ] ) n_{\mathrm{Neg}} = Mean([H_{S_{short}^{u_1}},H_{S_{short}^{u_2}},...,H_{S_{short}^{u_K}}]) nNeg=Mean([HSshortu1,HSshortu2,...,HSshortuK])

4.2.3 Contrast Strategy.

基于上述操作,我们可以获得同一用户的两个正嵌入和一个负嵌入。参考一般对比任务,我们增强两个正样本之间的相似度得分,削弱负样本与两个正样本之间的相似度得分。具体对比公式如下:

L C L = − l o g ( σ ( s c o r e p ) ) − l o g ( 1 − σ ( s c o r e n ) ) \mathcal{L}_{CL} = -log(\sigma(score_p))-log(1-\sigma(score_n)) LCL=log(σ(scorep))log(1σ(scoren))

具体的分数计算方法如下:

s c o r e p = p L o n g ⋅ p S h o r t s c o r e n = p L o n g ⋅ n N e g + p S h o r t ⋅ n N e g 2 \mathrm{score}_p = \mathbf{p}_{\mathrm{Long}}·\mathbf{p}_{\mathrm{Short}}\\ \mathrm{score}_n = \frac { \mathbf{p}_{\mathrm{Long}}·\mathbf{n}_{\mathrm{Neg}}+\mathbf{p}_{\mathrm{Short}}·\mathbf{n}_{\mathrm{Neg}}}{2} scorep=pLongpShortscoren=2pLongnNeg+pShortnNeg

4.3 Model Training

4.3.1 User Enhancement.

从另一个角度考虑,短期序列不仅包含隐藏的用户偏好信息,还包含用户当前的状态信息。考虑到 LSTM 网络结构可以在信息传播过程中保留更新的状态,我们用它来学习用户短期序列。随后,我们将学习结果与用户表示相结合以获得增强的用户表示:

$$
\mathbf{u} = \alpha \mathrm{Encoder}(u) + (1 - \alpha) \mathrm{M}^{5D \times D} \cdot \mathrm{Mean}(\mathrm{LSTM}(S^u_\mathrm{Short}))

$$

4.3.2 POI Prediction.

用户对旅行的总体品味和动态兴趣共同决定了他们的下一个 POI 选择。因此,将用户的长期偏好和短期偏好连接起来,形成用户的整体出行偏好。

由于用户的注意力在其历史行为中的每次签到并不是均匀分布的,因此我们结合用户嵌入并使用注意力机制来获取用户的最终偏好 h u h_u hu

h u = ∑ i = 1 ∣ H ∣ ω i h T i ,   h T i ∈ H S u ω i = exp ⁡ ( u ⊤ h T i ) ∑ i ′ = 1 ∣ H ∣ exp ⁡ ( u ⊤ h T i ′ ) , \mathbf{h}^u = \sum_{i=1}^{|H|} \omega_i \mathbf{h}_{T_i}, \, \mathbf{h}_{T_i} \in \mathrm{H}_{S^u} \\ \omega_i = \frac{\exp(\mathbf{u}^\top \mathbf{h}_{T_i})}{\sum_{i'=1}^{|H|} \exp(\mathbf{u}^\top \mathbf{h}_{T_{i'}})}, hu=i=1HωihTi,hTiHSuωi=i=1Hexp(uhTi)exp(uhTi),

借助最终偏好 h u h_u hu ,我们计算 不同POI的 ∣ L ∣ |\mathcal{L}| L 的访问概率使用softmax:

y ^ = s o f t m a x ( h u W o ) \hat{y} = \mathrm{softmax}(\mathbf{h}^u \mathbf{W}_o) y^=softmax(huWo)

其中 y ^ ∈ R ∣ L ∣ \hat{y} ∈ \Bbb R^{|\mathcal{L}|} y^RL 表示在时间 t k + 1 t_{k+1} tk+1 时下一个 POI 的预测概率分布。我们使用交叉熵作为 POI 预测的损失函数:

L p o i = − ∑ i ∈ N l o g ( y ^ i ) \mathcal L^{poi}=-\sum_{i\in \mathcal N} log(\hat y_i) Lpoi=iNlog(y^i)

4.3.3 Loss.

为了利用自监督信号来提高下一个 POI 推荐性能,我们采用多任务学习策略,即联合优化主要 POI 预测任务和对比学习任务。因此,我们最终的损失函数是通过将 POI 的损失与对比学习的损失相结合得到的:

L t o t a l = L p o i + β L C L \mathcal L_{total} = \mathcal L_{poi} + \beta \mathcal L_{CL} Ltotal=Lpoi+βLCL

5 EXPERIMENTS

数据集:Phoenix(PHO)、New York City(NYC)、Singapore(SIN)。

过滤掉互动次数少于10次的POI以及签到次数少于3次的轨迹,删除轨迹少于5个的不活跃用户。按照8:1:1的比例分为训练集、验证集和测试集。

评估指标:Hit Ratio(HR)、Normalized Discounted Cumulative Gain(NDCG)

基线方法:ST-RNN, ATST-LSTM, MCARNN, PLSPL, iMTL, CTLE, CFPRec, ContraRec.

实验结果:

在这里插入图片描述

消融实验:(1) CLSPRec/m:去除长期序列中的掩蔽策略。 (2)CLSPRec/e:去除用户表示增强模块。 (3)CLSPRec/c:去除对比模块。 (4) CLSPRec/all:同时去除掩蔽、用户增强和对比学习。

在这里插入图片描述

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
情感分析是一种通过计算机程序对文本中的情绪进行分析的技术。方面的使用生成对比学习方法。生成对比学习是一种通过比较两个不同视角的数据来提高模型性能的方法。在这种情感分析中,我们可以使用生成方法来自动提取文本中的情感方面,并结合对比学习方法来提高模型的性能。通过这种方法,我们可以更准确地识别文本中不同方面的情感,并且能够更好地区分出正面和负面情绪。 在这个过程中,我们首先使用生成模型来自动提取文本中的情感方面,然后结合对比学习方法来进行训练,以提高模型对情感方面的识别能力。这种方法可以帮助我们更准确地理解文本中的情感内容,并且能够更好地适应不同类型文本的情感分析任务。 此外,我们还可以使用这种方法来进行情感方面的生成,并结合对比学习方法来训练模型,使得生成的情感方面能够更接近真实的情感内容。通过这种方法,我们可以生成更加准确和自然的情感内容,并且能够更好地适应不同类型的情感生成任务。 综上所述,generative aspect-based sentiment analysis with contrastive learning and exp的方法可以帮助我们更准确地识别和生成文本中的情感内容,并且能够更好地适应不同类型文本的情感分析和生成任务。这种方法在自然语言处理领域具有广阔的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值