真实面经题目 · 原创解析

推荐系统新增一路召回后,排序阶段需要做哪些特征接入、分数校准和模型训练改造?

这道题考察的是候选人是否理解推荐系统是召回、排序、重排和实验闭环的整体系统。新增一路召回不是把候选直接塞给排序模型就结束,因为新召回源会带来候选分布变化、分数口径不一致、样本覆盖不足、特征缺失、去重归因复杂、线上配额和延迟变化。排序阶段至少要接入召回源特征、补齐候选侧特征、处理新旧渠道分数校准、更新训练样本和负采样、监控不同来源的排序表现,并通过 A/B 验证用户指标、业务指标和系统成本。回答的关键是把新增召回后的排序改造讲成“分布变化治理”,而不是只说模型重新训练。

出现于:腾讯 · 算法

60 秒回答模板

我会先判断新增召回带来的候选和原有候选有什么不同。排序阶段首先要把召回来源作为显式特征接入,例如 recall_channel、召回原因、召回分数、匹配 query、相似物品、触发用户行为、召回时间窗等,让排序模型知道候选来自哪一路以及为什么被召回。其次要补齐候选特征,保证新召回物品在用户特征、物品特征、上下文特征、交叉特征、历史统计特征上和老渠道口径一致,避免大量缺失。第三要做分数校准,因为不同召回源的原始分数不可直接比较,ANN 距离、规则分、协同过滤相似度、热门分的意义不同,排序模型可以消费这些分数,但要通过归一化、分桶、source-specific calibration 或学习型融合降低口径差异。第四要更新训练数据:新召回源上线前没有充分曝光样本,模型可能低估它,需要灰度收集曝光点击转化日志,做去偏、负采样、分来源评估,必要时微调排序模型或加探索流量。工程上还要处理去重、归因、渠道配额、fallback、延迟和监控。最终用 A/B 看 CTR、CVR、GMV、留存、覆盖、多样性、长尾、新用户和延迟,而不是只看新增召回的离线命中。

考点 recommender-system
难度 真实面经题
回答目标 让候选人能说明新增召回后的排序系统改造:来源特征、特征覆盖、分数校准、训练样本、链路归因、配额治理和 A/B 验证都有清晰方案。

深入解析

01

来源特征

新增召回后,排序模型需要知道候选来自哪一路。常见特征包括召回通道 ID、召回原因、通道内 rank、通道原始分、匹配的用户行为、相似 item、query 或标签、时间窗和召回触发场景。这些特征能帮助模型学习不同来源候选的可信度和适用人群,也便于后续分来源监控。

02

特征补齐

新召回源可能带来更多冷门、新品或非主流类目候选,原排序特征可能缺失或统计不稳定。需要检查物品画像、用户物品交叉、历史 CTR/CVR、价格、质量、时效、上下文等特征覆盖率。缺失特征要有明确默认值、置信度或冷启动替代特征,否则排序模型可能因为缺失分布不同而系统性压低新召回候选。

03

分数校准

不同召回源的原始分数不能直接比较。协同过滤相似度、向量距离、搜索相关性、规则热度分和模型召回概率的数值尺度都不同。排序阶段可以把原始分数作为特征,但要做按来源归一化、分位数分桶、温度校准、isotonic calibration 或 source-specific transformation,让模型看到相对可比的强弱信号,而不是被某一路分数尺度误导。

04

训练改造

新增召回源改变了训练和线上候选分布。如果训练集中几乎没有这一路候选,排序模型可能不会正确评估它。可以先小流量灰度收集曝光、点击、转化和跳过样本,再按召回来源构造训练集,处理曝光偏置和负采样比例,必要时做模型微调或分来源塔结构。训练评估要分渠道看 AUC、LogLoss、校准曲线和 topK 排序质量。

05

链路治理

新增召回还会影响排序前后的工程链路。多路召回合并时要去重并保留多来源信息,不能简单丢掉来源;要记录候选从哪路进入、被哪层过滤、最终是否曝光和转化。还要设置通道配额、熔断、fallback 和超时策略,防止新通道延迟高或质量波动拖垮整体推荐。重排层也可能需要调整多样性、去重和业务规则。

06

实验评估

验证要分离召回贡献和排序适配效果。离线看新增通道是否带来增量候选、覆盖、长尾和后续行为命中;排序离线看分来源模型表现和校准;线上 A/B 看整体 CTR、CVR、GMV、留存、负反馈、覆盖率、多样性、长尾曝光、冷启动表现和延迟成本。还要做分人群分析,确认新召回源对新用户、低活用户或特定兴趣人群是否有增益。

易错点

  • 认为新增召回只需要接到召回合并层,排序模型无需改动。
  • 把不同召回源的原始分数直接比较,忽略分数尺度和语义差异。
  • 没有把 recall_channel、召回原因和通道 rank 等来源信息作为排序特征。
  • 忽略新召回候选的特征缺失和冷启动统计不稳定问题。
  • 用旧训练集评估新通道效果,却没有收集新通道真实曝光反馈。
  • 只看新增通道自己的命中率,不看整体推荐指标、延迟和用户负反馈。

面试官追问

为什么新增召回后排序模型可能压不住或压过头?

因为新召回候选的特征分布和训练分布不同。模型可能没见过这类候选,遇到缺失统计特征时打低分;也可能因为某些召回分数尺度偏大而过度提升。需要分来源特征、校准和灰度样本来让模型正确学习。

多路召回去重后来源信息怎么保留?

候选去重时不要只保留一个来源,可以保留来源集合、最高通道分、各通道 rank、命中次数和主来源。多来源命中本身也是强信号,后续排序和归因分析都需要知道候选是被哪些通道共同召回的。

新增召回源没有线上样本时,如何启动排序训练?

可以先用离线回放和历史行为构造近似样本,但最终仍需要小流量探索收集真实曝光反馈。启动期可以设较小配额、使用保守过滤和重排护栏,等样本稳定后再进入排序模型训练或微调。

如果新增召回提高覆盖率但 CTR 下降,怎么处理?

要看下降来自候选质量、排序适配还是流量分配。可以先分来源看通道候选的排序位置、点击率和负反馈,再调整通道配额、召回阈值、分数校准和排序特征。覆盖率有价值,但不能以明显伤害用户体验为代价。