第六章:项目实战之推荐/广告系统
第一部分:推荐系统基础与召回算法
第二节:推荐系统基础框架、系统指标与整体流程
一、推荐系统的整体框架概览
推荐系统是一个端到端的复杂工程系统,
不仅包含算法模型,还涉及数据采集、特征处理、在线服务、反馈闭环等多个环节。
下面是一张典型的推荐系统整体架构图(逻辑结构):
┌────────────────────┐
│ 用户行为日志收集 │
└────────┬───────────┘
↓
┌────────────────────┐
│ 数据处理与特征工程 │
└────────┬───────────┘
↓
┌────────────────────┐
│ 多阶段推荐算法 │
│ (召回→粗排→精排→重排)│
└────────┬───────────┘
↓
┌────────────────────┐
│ 在线推荐服务系统 │
└────────┬───────────┘
↓
┌────────────────────┐
│ 用户交互与反馈闭环 │
└────────────────────┘
二、推荐系统的分层结构与核心职责
(1)数据层:理解世界
负责收集、清洗和存储所有与推荐相关的数据,包括:
-
用户行为日志(点击、收藏、购买、播放)
-
用户属性数据(性别、年龄、设备、地域)
-
内容特征数据(文本、图片、标签、类目)
-
上下文数据(时间、地点、天气、热点事件)
数据层的核心目标:
构建高质量、可复用的特征体系(Feature Store)
(2)算法层:理解兴趣
推荐算法通常采用多阶段分层架构:
| 阶段 | 主要任务 | 特点 |
|---|---|---|
| 召回层(Recall) | 从海量内容中筛选出“可能感兴趣”的候选集合(几千条) | 高效率、低延迟 |
| 粗排层(Pre-Rank) | 使用轻量模型对召回结果初步打分 | 模型简单、实时性强 |
| 精排层(Rank) | 使用复杂模型(深度神经网络)进行精准打分 | 高精度、高延迟 |
| 重排层(Re-Rank) | 考虑多样性、时效性、业务策略等综合优化 | 业务逻辑与用户体验平衡 |
这四层结构是工业级推荐系统的通用范式。
(3)服务层:理解业务
服务层主要包括:
-
在线预测服务(Online Inference):实时为用户生成推荐结果。
-
缓存与索引系统:减少延迟(如Redis、Faiss向量召回)。
-
AB测试与策略调度系统:对比算法版本、动态调节参数。
-
曝光控制与冷启动机制:保证新用户与新内容被公平推荐。
(4)反馈层:理解变化
推荐系统并非“一次推荐完就结束”,而是持续学习系统。
它通过用户的实时反馈(点击、跳出、停留时间、转化)进行闭环优化:
数据 → 模型 → 推荐 → 用户反馈 → 模型再训练
形成一个不断自进化的智能循环。
三、推荐系统的关键评价指标(System Metrics)
推荐系统的好坏,不仅看“准确性”,更要看“用户体验 + 业务效果”。
(1)在线指标(Online Metrics)
用于衡量实际用户行为的反馈效果。
| 指标 | 含义 | 示例 |
|---|---|---|
| CTR(Click Through Rate) | 点击率:点击 / 曝光 | 反映内容吸引力 |
| CVR(Conversion Rate) | 转化率:购买 / 点击 | 衡量商业目标达成 |
| GMV(Gross Merchandise Volume) | 商品成交总额 | 电商推荐核心指标 |
| Dwell Time | 停留时长 | 反映内容质量与兴趣匹配 |
| DAU / MAU | 日/月活跃用户 | 衡量系统留存能力 |
CTR ≠ 用户满意度,CTR高但留存低说明推荐内容可能“哗众取宠”。
(2)离线指标(Offline Metrics)
用于算法模型的线下评估,保证在上线前具备可行性。
| 指标 | 公式 | 说明 |
|---|---|---|
| Precision@K | 推荐Top-K中正确项的比例 | 准确率 |
| Recall@K | 被推荐的正样本比例 | 覆盖能力 |
| MAP / NDCG | 加权排序指标 | 关注排序质量 |
| AUC | 正负样本排序能力 | 二分类模型常用 |
通常先用离线指标筛选模型,再用在线指标验证效果。
(3)系统级指标(System Metrics)
关注系统的整体表现:
| 指标 | 含义 |
|---|---|
| 延迟(Latency) | 单次推荐生成时间 |
| 吞吐量(QPS) | 每秒可处理请求数 |
| 可用性(Availability) | 系统稳定运行比例 |
| 成本(Cost) | 算力、存储与人力投入 |
四、推荐系统的端到端流程(Pipeline)
我们可以把整个推荐流程总结为五个阶段:
| 阶段 | 说明 | 工程实现 |
|---|---|---|
| ① 数据采集 | 采集行为日志、内容特征 | Kafka / Flink 实时流 |
| ② 特征工程 | 处理用户与内容特征 | Spark / TensorFlow Transform |
| ③ 模型训练 | 离线或在线学习 | PyTorch / TF / Paddle |
| ④ 模型部署 | 在线推理服务 | TensorFlow Serving / Triton |
| ⑤ 在线反馈 | 用户交互数据回流 | Redis + Kafka + 离线重训练 |
这是推荐系统最重要的闭环机制。
五、推荐系统中的“实时性”与“个性化”
(1)实时推荐(Real-time Recommendation)
-
用户点击一个视频 → 系统几百毫秒内更新兴趣分布。
-
实时embedding更新,兴趣不再是“昨天的你”,而是“此刻的你”。
(2)个性化建模
-
不同用户同样的内容,权重完全不同。
-
模型通过用户历史行为、上下文、甚至时间特征,构建“个体兴趣画像”。
举例:
用户A昨晚浏览了跑鞋 → 今早推运动装备。
用户B昨晚看了美食 → 今早推早餐店广告。
——同一模型,不同推荐逻辑。
六、推荐系统与广告系统的融合
推荐系统与广告系统共享大量算法与结构,主要区别在目标:
| 系统类型 | 目标 | 优化重点 |
|---|---|---|
| 推荐系统 | 提高用户满意度、留存 | 用户体验 |
| 广告系统 | 提高转化与收益 | 商业收益 |
| 混合系统 | 平衡内容与广告曝光 | 多目标优化(Multi-Objective) |
广告系统往往会在推荐框架中增加:
-
竞价机制(Bidding)
-
曝光控制(Impression Control)
-
预算约束(Budget Control)
七、小结:推荐系统是一场“算法+工程”的协奏曲
| 模块 | 职责 | 关键词 |
|---|---|---|
| 数据层 | 构建用户与内容特征 | 日志、画像、埋点 |
| 算法层 | 预测兴趣与行为 | 深度召回、排序模型 |
| 服务层 | 快速响应推荐请求 | 实时系统、缓存、在线推理 |
| 反馈层 | 持续优化算法性能 | 闭环、AB测试、动态更新 |
推荐系统是AI落地最成熟、商业价值最高的领域之一。
本节学习目标总结:
| 学习要点 | 内容 |
|---|---|
| 理解推荐系统的整体架构 | 数据→算法→服务→反馈 |
| 掌握常用的系统与算法指标 | CTR、AUC、Precision、Latency 等 |
| 了解推荐系统端到端流程 | 数据采集→模型训练→在线预测→反馈闭环 |
| 区分推荐与广告系统的异同 | 用户体验 vs 收益优化 |

被折叠的 条评论
为什么被折叠?



