电商平台AI推荐系统从入门到实战:召回、排序、重排全链路技术拆解

· 北京智岳科技
电商平台AI推荐系统从入门到实战:召回、排序、重排全链路技术拆解

电商平台AI推荐系统从入门到实战:召回、排序、重排全链路技术拆解

本文适合有后端开发经验、想了解推荐系统工程实现的读者。不讲概念车轱辘话,全是大白话加上真实的工程选型参考。

电商推荐不是"猜你喜欢"这么简单

做过电商后端的人都知道,用户打开APP看到首页那一屏商品,背后至少跑了三轮计算:召回(Recall)→ 排序(Ranking)→ 重排(Re-Ranking)

每一轮都有自己的技术挑战。以下是我在实际项目中踩过的坑和最终选型方案,直接上干货。


第一层:多路召回——别指望单一算法通吃

很多人一上来就上协同过滤或者DeepFM,结果新用户冷启动直接翻车。正确的做法是多路召回并行跑,结果合并去重

生产中常用的召回策略:

召回路 适用场景 常用技术
热门兜底 新用户/无行为用户 Redis 实时热门榜
协同过滤(ItemCF) 有购买/点击历史的老用户 Spark ALS / Faiss 向量检索
语义向量召回 搜索词与商品标题匹配 BERT 双塔模型 + Milvus
实时行为召回 当前session浏览序列 Flink + Redis 实时特征
社交/关联召回 同店/同品类连带 Neo4j 图数据库

关键技术细节:向量召回要用 ANN(近似最近邻)搜索,全量暴力计算在百万级商品上根本扛不住。我们当时用 Faiss 的 IVF+PQ 索引,召回延迟从 120ms 压到了 8ms,精度损失不到 2%。

排序出来的 Top 100 不能直接推给用户,否则会出现"全是同一个品牌的T恤"这种尴尬情况。重排层要解决:

  • 多样性控制:同一类目最多出现 3 个商品,MMR(最大边际相关性)算法
  • 业务规则注入:置顶特价品、限时秒杀、品牌管控
  • 打散策略:相邻位置不能出现同店商品

lambda_param 这个参数我们调了很久。设到 0.7 以上点击率漂亮但页面同质化严重,0.3 以下多样性够了但转化率掉。最终定在 0.5-0.6 之间,根据品类动态调整。


动态定价:AI 推荐的"最后一公里"

推荐系统把用户引到商品页面了,但价格不合理照样流失。动态定价是个敏感话题,但在电商场景中可以通过折扣/优惠券来实现。

定价模型用的 LightGBM,输入特征包括:用户历史最低购买价、同类商品比价差、库存深度、距离上次折扣天数。输出是一个"最优折扣率",跟运营预设的底线做 max 取值。

坑提醒:一定不要在用户反复刷新时频繁调价,会被消费者投诉大数据杀熟。我们加了 24 小时调价冷却窗口,同一个用户对同一个商品 24 小时内只出一次个性化价格。


离线评估与在线 A/B 测试

很多团队只盯着离线指标(AUC、LogLoss),上线却翻车。核心原因:离线指标跟在线指标不是线性关系

我们踩过的坑:

  • AUC 涨了 0.5%,在线 CTR 反而掉了——因为模型过于自信,推荐结果趋同,失去了探索性
  • 加了很多特征后训练时间从 2 小时涨到 12 小时,但线上效果没变化——特征冗余严重
  • 新模型全量上线前没做"长尾商品曝光率"检查——导致热门商品流量集中度过高

总结

电商推荐系统本质上是个工程问题大于算法问题的领域。算法模型可以复用开源方案,但实时特征管道、多路召回合并策略、多样性控制、动态定价规则这些东西,每个平台的业务逻辑都不一样,需要真刀真枪地搭。

如果你也在考虑 软件外包服务AI项目定制,欢迎来聊聊你们的业务场景。一个好的推荐系统,ROI 往往超出预期。

扫码咨询

相关案例