一、用户行为序列建模
- 用户行为序列特征加到 召回、粗排、精排,都会有收益
1.1 普通多目标排序模型
下面是普通的多目标排序模型
1.2 用户的 lastN 行为序列
- 这里重点关注 “用户特征” 中的 lastN 行为序列,也就是用户最近交互(曝光、点击、转化等等)过的 N 个物品序列(物品id序列、物品类目序列)
- 做embedding:把N个物品id映射成N个向量,最后对向量取平均得到一个向量,这个向量可以作为用户的一种特征,表示用户过去对哪些物品感兴趣
1、小红书实践
- 把点击、点赞、收藏等不同行为的 最终的多个向量 cancat 起来,作为用户特征
- 在取lastN的时候,不仅会使用物品id,还会使用物品类目,把物品id emb和其他特征的emb拼起来,比只用id emb的效果更好
二、DIN 模型
-
DIN 也是对 lastN 行为的一种建模方法,优于上面一节简单对 各个emb取平均
-
计算相似度的方法,如 cos、内积
-
最终的 emb 是由各个 lastN 向量 加权得到的,权重是 各个lastN物品 & 候选物品的相似度 alpha
-
DIN 的本质是注意力机制
-
简单平均 & 注意力机制的 区别
三、SIM 模型
- 主要目的是保留用户的长期兴趣
3.1 DIN的缺点
- 如果加长 DIN 的序列长度,是可以提高AUC的,但是也会显著增加计算,总的ROI不高
3.2 改进 DIN(SIM)
1、查找
2、注意力机制
-
和DIN没有本质区别,主要区别是 lastN 变成了 topK
-
上面 第一步的查找,把lastN物品缩小到 topK,排除掉的物品大概率和候选物品无关(相似度很低),排除之后几乎不会影响加权平均的结果
-
重要 trick:使用时间信息