【王树森推荐系统】行为序列01:用户历史行为序列建模
概述
- 我们把用户行为序列叫做 last-n,意思是用户最近交互过的 n 个物品
- 用户的行为序列可以反映用户对什么样的物品感兴趣,召回的双塔模型,粗排的三塔模型还有精排模型都可以用 last-n 特征
- last-n 特征很有效,把它用到召回和排序模型中,所有指标都会大涨
多目标排序模型回顾
- 这是之前介绍的多目标排序模型,模型的任务是预估点击率,点赞率,收藏率和转发率等指标,然后根据这些指标对物品做排序,选出用户最感兴趣的物品
- 后面我们重点关注用户特征的 last-n 序列
LastN特征
- 用户的 last-n 记录是最近交互过(点击,点赞)的 n 个物品的 ID
- 做 embedding 把 n 个物品映射成向量
- 最后对向量取平均得到一个向量,这个向量可以作为用户的一个特征,表示用户曾经对什么样的物品感兴趣
- 适用于召回双塔模型,粗排三塔模型,精排模型
小红书的实践
- 小红书的召回,粗排,精排都用到了 last-n 行为序列,用法如下:
- 对最近点击的 N 个物品,对它们的ID做 embedding,求平均得到一个向量,它可以反映出兴趣
- 取平均是早期的做法,现在也很常用。效果更好的方法是 attention,但是计算量更大
- 用户类似的行为还有点赞,收藏,转发等,同样记录这些行为的 last-n 物品ID
- 对这些ID做 embedding,然后对同一种行为的向量取平均
- 用这种方法把点击,点赞,收藏等行为表征为多个向量,把这些向量拼起来作为一种用户特征,用于召回或排序模型
- 我们实际用的时候,不止是用物品ID,还用物品的其他特征,比如物品类目,把ID embedding和其他特征的 embedding 拼在一起,这样比只用ID embedding 效果更好