推荐/搜索系统的召回、精排、粗排、打散这四个环节都是做什么的?

这四个环节是 推荐/搜索系统的核心召回排序流程 ,目的是从海量候选集里筛选出用户最可能感兴趣的内容,同时保证结果的多样性,整体流程遵循 "从多到少、从粗到精" 的原则。以下是每个环节的详细职责、目标和实现逻辑:

一、召回(Recall):从海量数据中"捞人"------广撒网,抓候选

1. 核心目标

百万/亿级的全量候选集 (如商品、视频、文章)中,快速筛选出 数千级别 的用户可能感兴趣的候选集,解决"从哪找"的问题

  • 特点:速度快、召回率优先、精度要求低,宁可多召回一些潜在相关的内容,也不能漏掉用户可能喜欢的。
2. 核心逻辑

基于简单的用户兴趣信号规则/轻量化模型 ,不做复杂计算,追求极致性能。

常见召回策略:

  • 协同过滤召回:基于用户行为相似性(如"和你相似的用户都喜欢XX")、物品相似性(如"你喜欢的A,类似的B/C/D");
  • 内容召回:基于物品属性(如用户喜欢"科幻电影",召回所有科幻类电影)、用户标签(如用户标签是"健身",召回健身相关内容);
  • 热门召回:兜底策略,召回全局/分类热门内容(防止新用户无数据可推荐);
  • 地理位置召回:本地生活场景常用(如推荐附近3km内的餐厅)。
3. 关键指标
  • 召回率:真正感兴趣的内容被召回的比例(越高越好,避免漏选);
  • 响应时间:必须在毫秒级完成(通常 < 10ms),否则影响用户体验。
一句话总结

召回是**"海选"**------用低成本的方式,从海量数据里捞出一批"可能合格"的候选人。

二、粗排(Coarse Ranking):快速过滤------初筛,降数量

1. 核心目标

对召回阶段输出的 数千级别候选集 进行快速排序,筛选出 数百级别 的候选集,解决"初步筛选"的问题,是召回和精排之间的"承上启下"环节。

  • 特点:速度较快、兼顾效率与精度,模型复杂度介于召回和精排之间。
2. 核心逻辑

使用轻量化的机器学习模型,输入比召回更丰富的特征,但特征维度和模型复杂度低于精排。

  • 特征选择:用户基础特征(年龄、性别)、物品基础特征(类别、热度)、简单交互特征(点击/收藏次数);
  • 模型选择:通常用 LR(逻辑回归)、FM(因子分解机)、简单的深度学习模型(如 Wide & Deep 的 Wide 部分);
  • 目标:预测用户对候选内容的"兴趣得分",按得分排序后,截断取前 N 个(如取前200)进入精排。
3. 关键指标
  • 精确率:筛选后内容的相关度(比召回高);
  • 吞吐量:能处理的候选集数量(高于精排);
  • 耗时:通常 < 50ms,比精排快1~2个数量级。
一句话总结

粗排是**"一轮面试"**------快速淘汰明显不相关的内容,减少精排的计算压力。

三、精排(Fine Ranking):精准排序------决胜,定最终顺序

1. 核心目标

对粗排输出的 数百级别候选集 进行精准排序,输出 数十级别 的最终推荐列表,解决"用户最想要什么"的核心问题,是整个流程的"核心决策环节"。

  • 特点:精度优先、模型复杂、计算成本高,直接决定用户看到的内容顺序。
2. 核心逻辑

使用复杂的深度学习模型 ,输入全方位的高维特征,精准预测用户的行为概率(点击、下单、停留时长等)。

  • 特征选择
    • 用户特征:详细行为序列(如最近7天点击的10个商品)、兴趣标签、消费能力;
    • 物品特征:详细属性(如商品的品牌、价格、评分)、内容详情(如文章关键词);
    • 交互特征:用户与物品的匹配度(如用户是否收藏过该品牌的商品)、上下文特征(如当前时间、场景);
  • 模型选择:DeepFM、DIN(深度兴趣网络)、DIEN(深度兴趣进化网络)、Transformer 类模型(如 BERT4Rec);
  • 目标:优化核心业务指标(如 CTR 点击率、CVR 转化率、GMV 销售额),按预测得分从高到低排序。
3. 关键指标
  • 核心业务指标:CTR、CVR、停留时长(直接影响用户体验和平台收益);
  • 排序稳定性:避免排序结果波动过大。
一句话总结

精排是**"终面"**------用最精准的模型,确定用户最可能感兴趣的内容顺序。

四、打散(Diversification):调整结果------去同质化,保多样性

1. 核心目标

对精排输出的最终列表进行后处理 ,打破同质化内容的集中展示,保证结果的多样性,解决"推荐单调、用户审美疲劳"的问题

  • 特点:非排序环节,是排序后的优化策略,不改变内容的核心相关性,只调整展示顺序。
2. 核心逻辑

精排的目标是"精准",但可能导致结果高度同质化(如连续推荐10个同一品牌的口红),打散就是通过规则/算法调整顺序,平衡"精准"和"多样"。

常见打散策略:

  • 类别打散:限制同一类别内容的连续展示次数(如最多连续展示2个美妆类商品,之后必须插一个服饰类);
  • 商家打散:电商场景常用,避免同一商家的商品集中展示(防止用户反感);
  • 热度打散:在热门内容中插入少量长尾内容(扶持小众优质内容,提升生态多样性);
  • 算法打散:基于内容相似度矩阵,调整顺序使相邻内容的相似度低于阈值。
3. 关键指标
  • 多样性:结果集的类别/商家覆盖度(越高越好);
  • 相关性损失:打散后核心指标(如CTR)的下降幅度(越小越好)。
一句话总结

打散是**"最终调参"**------在不牺牲核心体验的前提下,让推荐结果更丰富,提升用户长期留存。

四、完整流程串联(以电商推荐为例)

  1. 召回:从1亿商品中,基于用户历史购买记录+商品相似性,召回2000个候选商品;
  2. 粗排:用LR模型快速排序,筛选出200个用户可能喜欢的商品;
  3. 精排:用DIN模型精准预测转化率,输出30个得分最高的商品;
  4. 打散:限制同一品牌最多连续展示2个,调整顺序后最终展示给用户10个商品。

核心区别对比表

环节 输入规模 核心目标 模型特点 耗时 核心指标
召回 亿级 广撒网,捞候选 规则/轻量化模型 <10ms 召回率
粗排 数千级 初筛,降数量 轻量机器学习模型 <50ms 效率+精度
精排 数百级 精准排序,定胜负 复杂深度学习模型 <500ms CTR/CVR
打散 数十级 去同质化,保多样 规则/相似度算法 <10ms 多样性

补充:为什么需要这四个环节?

直接对亿级数据用精排模型计算,时间和资源成本完全不可行

  • 召回:解决"从海量数据快速筛选"的效率问题;
  • 粗排:承上启下,进一步缩小范围,降低精排压力;
  • 精排:保证结果的精准性,提升核心指标;
  • 打散:优化用户体验,避免推荐单调,兼顾平台生态。

这四个环节的组合,实现了 "效率、精度、多样性"的三者平衡

相关推荐
开源技术11 小时前
深入了解Turso,这个“用Rust重写的SQLite”
人工智能·python
初恋叫萱萱11 小时前
构建高性能生成式AI应用:基于Rust Axum与蓝耘DeepSeek-V3.2大模型服务的全栈开发实战
开发语言·人工智能·rust
水如烟18 小时前
孤能子视角:“组织行为学–组织文化“
人工智能
大山同学18 小时前
图片补全-Context Encoder
人工智能·机器学习·计算机视觉
薛定谔的猫198218 小时前
十七、用 GPT2 中文对联模型实现经典上联自动对下联:
人工智能·深度学习·gpt2·大模型 训练 调优
壮Sir不壮18 小时前
2026年奇点:Clawdbot引爆个人AI代理
人工智能·ai·大模型·claude·clawdbot·moltbot·openclaw
PaperRed ai写作降重助手19 小时前
高性价比 AI 论文写作软件推荐:2026 年预算友好型
人工智能·aigc·论文·写作·ai写作·智能降重
玉梅小洋19 小时前
Claude Code 从入门到精通(七):Sub Agent 与 Skill 终极PK
人工智能·ai·大模型·ai编程·claude·ai工具
-嘟囔着拯救世界-19 小时前
【保姆级教程】Win11 下从零部署 Claude Code:本地环境配置 + VSCode 可视化界面全流程指南
人工智能·vscode·ai·编辑器·html5·ai编程·claude code
正见TrueView19 小时前
程一笑的价值选择:AI金玉其外,“收割”老人败絮其中
人工智能