.. _sec_sequence: 序列召回 ======== 前面介绍的双塔模型倾向于将用户所有的历史行为“压扁”成一个单一的静态向量。这种做法高效,但有两个明显的局限:一是无法表达用户兴趣的多样性——一个用户可能既需要购买专业书籍,又需要选购婴儿用品,单一向量很难同时兼顾这两种截然不同的需求;二是忽略了兴趣的时效性,无法区分长期稳定的爱好(对摄影的持续关注)和临时的即时需求(今天突然搜索“感冒药”),而后者往往更能预示下一次交互行为。 序列召回要解决的就是这个问题:利用用户行为的时间顺序来理解兴趣。用户先浏览了跑鞋,然后看运动服,接着看健身器材——这个顺序本身就在说明他当前对健身运动感兴趣。把这些行为简单加起来或平均,这层信息就丢了。 本章介绍两个代表性模型,分别从不同角度切入这个问题: **MIND:用多个向量捕捉用户的多元兴趣**\ 。既然一个向量不够用,那就用多个。MIND借鉴胶囊网络的动态路由思想,把用户的历史行为按兴趣类型自动分组,为每一类兴趣生成一个专门的向量表示。 **SDM:融合长短期兴趣,捕捉动态变化**\ 。MIND解决了兴趣的“广度”问题,SDM进一步引入时间维度。它将用户兴趣显式拆分为短期即时需求(当前会话中的行为序列)和长期稳定偏好(历史行为的特征聚合),再通过门控机制动态融合两部分信息。 .. toctree:: :maxdepth: 1 1.mind.md 2.sdm.md