Skip to main content

推荐系统简介

推荐系统是现代互联网应用的核心技术之一,广泛应用于电商、短视频、社交媒体、新闻等领域。

推荐系统架构

一个完整的推荐系统通常包含以下几个阶段:

用户请求 → 召回 → 粗排 → 精排 → 重排 → 返回结果

1. 召回(Recall)

目标:从海量候选集(百万-千万级)中快速筛选出数百到数千个候选

常用算法

  • 协同过滤:基于用户行为的相似度推荐
  • 内容推荐:基于物品内容特征的相似度
  • 双塔模型:用向量检索实现高效召回(本节重点)
  • 图召回:基于用户-物品图的游走算法

性能要求:毫秒级响应,高吞吐

2. 粗排(Pre-Ranking)

目标:将召回的候选从数千个缩减到数百个

常用算法

  • 轻量级深度模型(如 3 层 MLP)
  • 特征简化的 CTR 模型

性能要求:10-50ms

3. 精排(Ranking)

目标:对候选进行精确打分排序

常用算法

  • LR(Logistic Regression):经典基线
  • FM(Factorization Machines):特征交叉
  • DNN:DeepFM, Wide&Deep, DCN 等
  • 多目标模型:同时预测点击、时长、分享等

性能要求:50-200ms

4. 重排(Re-Ranking)

目标:考虑列表整体多样性、业务规则等

常用策略

  • 多样性优化:避免推荐过于相似的内容
  • 业务插入:广告、运营位等
  • 打散逻辑:同一作者、同一类目的内容不连续出现

核心技术挑战

冷启动问题

  • 新用户:没有历史行为数据
  • 新物品:没有用户反馈数据
  • 解决方案
    • 基于内容的推荐
    • 利用辅助特征(画像、标签)
    • 探索与利用(Exploration & Exploitation)

实时性要求

  • 在线推理:用户请求到返回结果通常要求 < 200ms
  • 特征更新:用户实时行为需要快速反馈到模型

数据稀疏性

  • 绝大多数用户只与极少数物品交互
  • 长尾物品曝光困难

评估指标

  • 离线指标:AUC, GAUC, NDCG, Recall@K
  • 在线指标:CTR(点击率), CVR(转化率), 用户时长, 留存率

学习路径

如果你是推荐系统初学者,建议按以下顺序学习:

  1. 基础算法:协同过滤、矩阵分解
  2. 召回技术:双塔模型、向量检索(Faiss)← 本节内容
  3. 排序模型:LR → FM → DeepFM → 多目标学习
  4. 工程实践:特征工程、AB 测试、线上系统设计

本节内容

本节将深入介绍推荐系统中的召回技术,特别是工业界广泛应用的双塔模型(Two-Tower Model)

你将学到:

  • 双塔模型的原理与实现
  • 如何使用 Faiss 进行高效向量检索
  • 如何处理冷启动问题
  • 工业界的最佳实践

参考资料