2.3. 序列召回

在前面的章节中,我们学习了协同过滤和向量召回的方法。这些方法通常将用户的历史行为汇总成一个静态的表示(比如一个向量),然后基于这个表示进行推荐。但是,用户的行为其实是有时间顺序的,而且这个顺序往往包含了重要的信息。

比如,一个用户先浏览了跑鞋,然后看了运动服,接着又看了健身器材,这个顺序告诉我们这个用户可能对健身运动感兴趣。如果我们只是简单地把这些行为加起来或者平均,就丢失了这种时间顺序的信息。

序列召回就是要利用用户行为的时间顺序信息来进行推荐。它的基本想法是:用户的当前兴趣不仅取决于他过去喜欢什么,还取决于他最近在做什么,以及这些行为的顺序。

相比传统的静态表示方法,序列召回能够对用户的兴趣理解的更加的准确及全面。它可以理解行为间的因果关系,如用户买手机后通常会买手机壳;能够捕捉兴趣的演化过程,如从数码产品转向户外运动;还能更好地处理多元化兴趣,在不同时段识别用户对电影、运动等领域的偏好变化。

在序列召回的研究中,学者们探索了多种不同的建模思路。本章将重点介绍其中两类具有代表性的方法:

多兴趣用户表示 (2.3.1节)
传统方法将用户压缩为单一向量,难以充分表达用户兴趣的多样性和时序性。多兴趣表示方法尝试通过多个向量或动态结构来更好地刻画用户的复杂兴趣模式。我们将介绍MIND模型如何使用多个向量分别捕捉用户的不同兴趣维度,以及SDM模型如何将用户兴趣分解为长期偏好和短期行为两个层次。
生成式序列预测 (2.3.2节)
另一类方法将推荐问题重新定义为序列生成任务,借鉴自然语言处理领域的成功经验。我们将探讨SASRec如何将Transformer架构引入推荐系统,通过自注意力机制建模序列依赖关系,以及后续的HSTU和TIGER模型在特征融合和物品表示方面的改进。

通过这些具体案例,我们将深入理解不同建模策略如何挖掘时序信息的价值。