序列推荐算法概述

序列模型

在推荐场景中,用户的兴趣是非常难以挖掘的,而用户与物品的交互序列中蕴含着丰富的信息,如何从序列中发掘用户的兴趣成为一个急需研究的方面。例如用户先购买了手机,随后可能会购买手机配件、例如手机膜、手机壳、耳机等。因此序列推荐模型成为研究的一个主要方面。之前的研究重点主要有两个方面

  1. Markov Chains (MCs):马尔可夫链的假设是,用户下一个购买的意图主要与前一个(first-order)或者前几个(higher-order)购买的物品有关。该类方法在稀疏数据集上表现较好[1]
  2. Recurrent Neural Networks (RNNs):循环神经网络的假设是,用户的下一个购买意图可能与时间间隔很远的购买物品有关。主要发掘长项依赖(long-term sequential dependencies)。但是这种方法可能会导致梯度消失。该类方法可能需要较为稠密的数据集。

当前主流的深度学习序列推荐模型有

  1. SasRec:Self-Attentive Sequential Recommendation 希望缓解上述两种方法各自的弊端。使用自注意力机制来发掘历史记录中的相关物品,既要“看到”的范围尽可能大,同时,真正使用的物品数量又尽可能少。
    在这里插入图片描述
  2. GRU4Rec:使用Gated Recurrent Units (GRU) 来对序列建模。
  3. Convolutional Sequence Embedding(Caser): 一种基于CNN的方法,将过去的L个物品的embedding矩阵看作一个“图像”,从广义的角度也属于high-order MCs。
  4. BERT4Rec

以上的序列推荐模型仅仅使用用户和物品的ID信息,主要区别在于对物品的ID序列如何建模,即序列编码器的区别。当然,上述模型后续也有一些变体,考虑到物品的其他属性信息。
但是序列推荐模型存在一些问题。

  1. 例如用户的交互记录中,不是所有的物品都对下一个交互物品存在作用,用户可能存在一些误点击或者点击后发现不喜欢的现象。对于该类问题,需要发掘出历史序列中与当前物品相关的物品,忽略不相关的物品。例如Attention-based方法,对不同的item分配不同的权重,或者是动态跳过一些物品,例如DyS4Rec[3],采用强化学习的手段,对交互记录中不相关的物品进行跳过,并使用LSTM进行建模。
  2. 序列推荐模型没有利用丰富的物品属性信息。该类方法比较成熟,主要将物品的其他特征进行embedding,并与ID特征进行交叉。例如Nova,将ID类型的特征单独取出,与物品的其他特征相分隔,避免了decode时带来的噪声[2]
    在这里插入图片描述
    。新的方法名简称例如SasRecF、GRU4RecF等等,可以参考伯乐框架的实现[4].
  3. 用户终身行为序列建模:可以关注上交的Weinan Zhang教授的研究方向。
  4. 缺少真实世界知识:这个方向主要与大模型进行结合,也是当前非常热门的一个研究领域。

参考内容

[1] He, Ruining, et al. “Translation-Based Recommendation.” Proceedings of the Eleventh ACM Conference on Recommender Systems, 2017, https://doi.org/10.1145/3109859.3109882.
[2] Liu, Chang, et al. “Non-Invasive Self-Attention for Side Information Fusion in Sequential Recommendation.” Proceedings of the AAAI Conference on Artificial Intelligence, Sept. 2022, pp. 4249–56, https://doi.org/10.1609/aaai.v35i5.16549.
[3] Cheng, Yu, et al. “Sequential recommendation via agent-based irrelevancy skipping.” Neural Networks (2025): 107134.
[4] https://recbole.io/docs/user_guide/model_intro.html#sequential-recommendation

本文是基于Datawhale推荐算法组队学习教程进行细化。https://github.com/datawhalechina/fun-rec

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值