五、行为序列
✨文章摘要(AI生成)
总结推荐系统用户行为序列建模:从 Last N 均值特征,到 DIN 注意力加权,再到 SIM 长序列筛选与时间信息融合。
用户最近对物品的点击、点赞、收藏、转发等行为都是推荐系统中重要的特征,可以帮助召回和排序变得更精准。一般称这些用户的行为序列为
用户行为序列建模
行为特征序列属于<mark style="background: #BBFABBA6;">用户特征</mark>
最简单的行为序列建模方法就是对用户行为取简单的平均,作为特征输入召回、排序模型。 
Last N 特征
1. :用户最近
次交互(点击、点赞等)的物品 ID; 2. 对物品 ID 做 embedding,得到 个向量; 3. 将个 向量取平均,作为用户的一种特征; 4. 使用于召回双塔模型、粗排三塔模型、精排模型。
小红书的Last N 行为序列实践
如下图所示,在小红书的实际应用中,将点击、点赞等交互行为各自的 
虽然对 embedding 向量求平均很常用,但实际效果更好的是attention,但计算量更大。实际应用时,也会将物品其他特征(类目)与物品 ID 的 embedding 拼接到一起输入。
DIN模型(注意力机制)
DIN模型
DIN 模型是对 <mark style="background: #BBFABBA6;">使用加权平均代替平均</mark>,本质是注意力机制(attention),权重即是候选物品与用户
候选物品即可能进入下一阶段的物品,经过粗排的物品可以作为精排的候选物品
- 设有某候选物品向量为
,用户 物品向量 ; - 对于该候选物品,计算它与用户
物品的相似度 ; - 以相似度为权重,求用户
物品向量的加权平均,结果是一个向量 ; - 把得到的向量
作为一种用户特征,输入排序模型,预估(用户,候选物品)的点击率、点赞率等指标。

如果这里将用户 
简单平均 vs 注意力机制
在进行用户
| 简单平均 | 注意力机制 | |
|---|---|---|
| 适用模型 | 适用于双塔模型、三塔模型、精排模型 | 适用于精排模型,不适用双塔模型和三塔模型 |
| 原因分析 | 1. 简单平均只需要用到 lastN,属于用户自身的特征;<br>2. 只需将向量 lastN 的平均作为用户塔的输入。 | 1. 注意力机制需要用到 lastN 和候选物品;<br>2. 用户塔无法看到候选物品,无法将注意力机制应用在用户塔。 |
SIM模型(长序列建模)
SIM 模型是为了解决 DIN 模型的缺点而诞生的,主要目的就是保留用户的长期兴趣。
DIN模型的缺点与改进思路
上一小节介绍了本质为注意力机制的 DIN 模型。在它做注意力层计算时,计算量正比于用户行为序列的长度(也就是交互的物品数 <mark style="background: #BBFABBA6;">长序列(长期兴趣)的效果是要优于短序列(短期兴趣)的</mark>。
所以,为了能使 DIN 模型能保留用户长期行为序列(
- 使用 DIN 模型对用户
物品向量做加权平均,权重是相似度; - 如果某
物品与候选物品的差异很大,则权重接近零,可以过滤掉; - 这样可以快速排除掉与候选物品无关的
物品,降低注意力层的计算量。
这个改进思路就是 SIM 模型,在工业中实践有效。
SIM模型
依据对 DIN 模型的改进思路,SIM 模型的基本思想为:
- 保留用户长期行为记录,
的大小可以是几千; - 对于每个候选物品,在用户
记录中做快速查找,找到 个相似物品; - 把
变成 ,然后输入到注意力层; - SIM 模型实现了计算量的减小(从
降到 )。
根据上文的描述,SIM 模型主要包括两个步骤。第一步:查找。查找的方法主要有两种,如下表所示:
| 方法 | Hard Search | Soft Search |
|---|---|---|
| 基本思想 | 根据候选物品的类目,保留 LastN 物品中类目相同的。 | 1. 对物品做 embedding 变成向量;<br>2. 将候选物品向量作为 query,做 (近似) k 近邻查找,保留 LastN 物品中最接近的 k 个。 |
| 特点 | 简单、快速,无需训练。 | 效果更好,编程实现更复杂,依赖基建。 |
具体使用何种方法做筛选,根据工业实际应用时的硬件条件来做选择。而第二步是:注意力机制。SIM 模型的注意力机制结构与 DIN 一致,只是将输入的

- 设用户与某个
物品的交互时刻距今为 ; - 对
做离散化(一天、三天、一周、一月、一年),再做 embedding变成向量 ; - 将物品的 embedding 向量
与时间向量 做 concatenation,用于表征这个 物品。
相比于 DIN 不使用时间信息,SIM 使用时间信息的的出发点在于:
- DIN 的序列短,记录用户近期行为;
- SIM 的序列长,记录用户长期行为;
- 时间越久远,重要性越低。
所以,作为记录用户长期兴趣的 SIM 模型,很有必要去考虑时间信息对特征的影响。
本章小结
本章主要介绍了对用户行为序列的建模方法,可以帮助召回和排序变得更精准。换言之,本章就是介绍对用户
DIN 模型则使用加权平均代替简单平均,本质上是注意力机制的应用。DIN 通过计算候选物品向量与用户
同时,由于注意力机制的复杂性较高,DIN 模型还存在一个缺点:关注短期兴趣、遗忘长期兴趣。基于此,提出了保留用户长期兴趣的 SIM 模型。SIM 模型的原理是对用户行为序列做快速筛选,缩短序列长度,使得DIN可以用于长序列。实际上就是通过快速查找,找到
下一章是对在推荐系统链路中,粗排和精排后的下一个流程“重排”的介绍。