推荐系统整体流程
- 多路召回:首先召回阶段是会配置召回的请求个数,通常会根据每路召回的后验表现设置动态配比,或者是根据业务的需求进行设置。所有的召回并发请求并设置 timeout,防止系统雪崩。
- 所有的召回结果 merge。
- 过滤:系统整体的黑名单,以及 by user 的黑名单过滤都可以在此处实现。
- 去重:此处通常都是简单的指纹去重,不做特别精细的多样性去重(比如相似新闻通常在排序后做)。(过滤和去重都是为了减少后续系统的压力,防止浪费算力进行后续步骤。)
- 粗排后截断。当然粗排也可以放在每个召回队列中做,也是根据业务而定。
- 进行精排。
- 排序后的 rerank 处理,包括多样性去重,产品的特殊 boost 逻辑等。
什么是召回
召回系统,本质上是个信息漏斗,负责快速从海量信息中筛选出有价值的信息,缩小排序算法的搜素范围;也负责将多路召回的数据,进行信息融合,最后得到一个精简的候选集。
召回的特性
处理的数据量非常大,速度要求快,所有使用的模型和特征都不能太复杂。
召回的重要性
- 奠基性:后续流程,基于召回数据展开
- 桥接性:建立用户和内容的桥梁
- 决定性:召回质量决定推荐质量