核心逻辑:采集用户行为 → 行为权重打分 → 构建用户兴趣画像 → 匹配候选内容 → 排序过滤 → 输出推荐,再用新行为迭代模型。
用户行为分为显式行为(主动反馈)和隐式行为(被动行为,绝大多数产品依赖这个)。
一、两类用户行为
1. 显式行为(直接表达喜好)
用户主动给出信号,可信度高,但样本少
点赞、踩、收藏、关注作者、评分、举报、不感兴趣、标签选择
例:点赞 = 正向;点 “不感兴趣”= 强负向,直接降低同类内容权重
2. 隐式行为(最核心,不用用户主动操作)
从浏览动作推断喜好,数据量大,是主流
注意:隐式行为有噪声,比如停留久可能只是忘了切页面,模型会做降噪处理。
二、完整流程:从行为到推送
步骤 1:埋点采集行为日志
客户端 / 服务端记录每条行为:用户 ID、内容 ID、行为类型、时间、上下文(时间、设备、场景)。
时间衰减:越近期的行为权重越高,三个月前的浏览行为影响力会大幅下降,兴趣会随时间变化。
步骤 2:构建用户画像(兴趣标签)
把行为转化成用户的兴趣标签向量:
内容本身打标签:主题、关键词、作者、分类、实体标签(比如篮球、美食、汽车)
用户每一次行为,给对应内容的标签加分
完播:+ 高分数
点击:+ 中等分数
秒划:对应标签减分
得到用户兴趣向量:
{篮球:0.8, 数码:0.5, 美妆:0.1}
举例:你连续看完好几条 NBA 短视频,篮球标签权重暴涨,系统就会优先推篮球内容。
三、三大经典算法怎么利用行为数据
1. 协同过滤 CF(看别人的行为)
核心:行为相似的人,喜好相似
用户协同过滤:A 用户和 B 用户历史行为高度重合,把 B 看过喜欢、A 没看过的内容推给 A。
物品协同过滤:很多用户看完视频 X 之后又看视频 Y,看完 X 就给你推 Y。
例子:买了 A 商品的人,还买了 B。
缺点:冷启动问题,新用户没有行为,无法协同。
2. 内容 / 基于特征推荐(看自己历史行为)
只看该用户自己的历史行为。
用户历史行为 → 提取内容标签 → 召回拥有同类标签的新内容。
优点:可以解释,“因为你看过 XX,为你推荐”;缺点:容易信息茧房,一直推同类。
3. 深度学习模型(现在短视频、信息流主流)
如 DeepFM、DIN、SIM、Multi‑Task 多任务模型
同时输入海量行为特征:
用户侧:最近 N 次点击、最近 N 次完播、关注列表、历史负反馈
内容侧:标签、时长、作者、热度
上下文:时段、设备
模型同时预测多个目标:点击概率、完播概率、点赞概率、停留时长、转发概率,综合打分排序。
DIN 深度兴趣网络:专门捕捉用户先后行为序列,识别短期临时兴趣,比如你偶然刷了 2 条钓鱼视频,临时给你推钓鱼,不会永久改变你的长期画像。
四、召回 + 排序 两层架构(工业界标准)
召回(粗筛):从千万级内容库,快速选出几百条候选
多路召回:行为协同召回、用户兴趣标签召回、热门召回、作者关注召回
精排(精细打分):对几百条候选,深度模型根据你的全部历史行为逐个打分,计算你有多大概率互动这条内容
过滤层:过滤已看过内容、屏蔽内容、违规内容、重复内容
重排:做多样性打散,避免全部推同一类,缓解信息茧房,最终输出给你。
五、负向行为的作用(很多人忽略)
快速划走、多次曝光不点击、点 “不感兴趣”
系统会降低对应标签、作者的权重。
但单次划走不会立刻彻底屏蔽,需要多次负向行为才生效,防止偶然误划就再也看不到。
六、冷启动问题:新用户没有行为怎么办
没有历史行为,无法靠行为推送:
先用基础属性:性别、地域、设备;
推送全局热门内容;
快速收集用户最初几次点击、停留行为,快速建立兴趣画像。
七、反馈闭环(持续迭代)
推送新内容给用户后,采集用户对这批新内容的行为(点击、完播、划走),回传给模型,更新用户画像,下一轮推荐随之变化。
你刷到什么,反过来又塑造你的推荐结果。
通俗例子完整串一遍
你刷短视频:
你连续看完 3 条骑行视频,还给其中 1 条点赞;系统记录这组行为;
用户画像里「骑行」标签分数拉高;
召回阶段捞一批骑行相关候选视频;
排序模型根据你的历史行为打分,把高概率你会看完的视频放前面;
同时混入少量别的主题保证多样性;
如果你之后连续划走骑行视频,多次不看,骑行标签分数下降,慢慢减少推送。
常见现象解释
“偶然看一次某类内容,之后疯狂推送”:DIN 捕捉短期行为,临时兴趣触发;如果后续不互动,会慢慢降权。
“越刷内容越窄”:模型优先追求完播、点击指标,优先推送你历史行为证明你喜欢的内容。
“点不感兴趣有时候没用”:单条负反馈权重有限,需要多次负向行为。
原文链接
欢迎访问 小易撩挨踢