推荐系统通常分为召回和排序两阶段,二者目标不同却常被混为一谈。召回负责从海量物品中快速筛出几百个候选,追求覆盖率和速度;排序负责对候选精细打分,追求精度和用户体验。混淆两者会导致系统设计失衡。
召回阶段常用多路并行策略:协同过滤召回、向量召回、热门召回、规则召回。多路之间取并集而非交集,保证候选多样性。召回评估看召回率,即用户真正交互的物品有多少进入了候选集,这是排序效果的天花板。
排序阶段模型更复杂,特征更丰富,但只能处理有限候选。若召回阶段漏掉了优质物品,排序模型再强也无法补救。因此召回应保持适度宽松,宁可多召回一些低质候选,也要保证高相关物品不缺席。
两阶段的样本和特征体系也应区分。召回模型多用用户与物品的粗粒度表示,排序模型则可引入交叉特征和实时上下文。明确分工后,优化目标才能各自清晰、互不干扰。