PCap: Personalized Retrieval-Stage Diversity Capping in Facebook Marketplace
PCap 以历史点击类别的香农熵刻画多样性偏好,将用户划为六组,在召回分片和聚合阶段实施个性化类别上限,并在线搜索各组参数。相对统一限额,Facebook Marketplace 商品详情点击提升 0.2250%、会话提升 0.1708%,额外平均延迟为 0.8 毫秒;消息互动变化未达显著。
INSIGHT多样性应匹配个人偏好:集中兴趣用户放宽同类内容上限,探索型用户收紧上限,中间组收益较弱。社区 UGC 搜索可在明确相关性约束下按话题或作者分组验证该机制,联合监测 CTR、nDCG 和重复曝光;论文针对浏览推荐,不能直接推断显式查询流量也有相同收益。
1. 问题与动机
Facebook Marketplace 浏览推荐依赖用户既往互动,容易反复提供同类商品,形成曝光与点击相互强化的反馈。现有多样性方法往往作用在最终排序,前提是目标内容已经进入候选集;如果召回阶段被少数类别挤占,后续重排的选择空间就很有限。PCap 因而把个性化多样性控制前移,在候选进入排序前调整类别配额。
论文并不假设每个用户都喜欢更多类别。有的人只在某一商品领域寻找交易,另一些人愿意探索不同类别,统一限制可能破坏前者的意图。第一阶段线上试验提供直接动机:统一限额让商品浏览量增加 0.3088%,但详情点击仅变化 +0.0313%、消息互动 -0.2604%,后两项不显著。更多曝光不等于更多有效互动,因此需要研究如何按用户偏好设置不同限制。
对于社区 UGC,类似问题包括同一话题、作者或内容形式占满候选,但本文实验对象是无显式查询的商品浏览流。向社区搜索迁移时,查询相关性仍应是强条件;不能把用户历史类别分散程度当作当前查询应当扩散的充分证据。
2. 方法详解
系统首先利用 Facebook Product Taxonomy 定义商品类别,规模为数百类,图文分类模型为商品分配标签。PCap 本身支持任何稀疏内容分组键,并不要求重新训练一个神经排序模型。用户最近滑动窗口内的类别点击比例记为 p(c|u),计算香农熵 S(u)=-Σp log p,熵越大代表历史点击分布越广。
原系统的归一化 HHI 对“四次点击分布四类”和“十次点击分布十类”都会给出 1,无法区分两种探索广度。香农熵在这两个例子中不同。不过需要精确理解作者解释:熵由类别概率分布决定,并非在分布完全不变时也会随点击总量增长。因此它是多样性偏好的代理,活动强度影响来自观测类别及其分布,而非单独的样本数项。
随后用全体用户熵的最小、最大值归一化,加平滑参数 l:分子为个体熵减最小熵再加 l,分母为最大熵减最小熵再加 l。l 越大,个体分数越接近 1,个性化程度越弱;初始试验设置为 0。点击太少的用户被排除,余下按多样性分为六组,既希望人数大致均衡,也希望用户每天不要频繁换组。论文没有公开滑动窗口长度和最小点击阈值,实施时不能把这些缺失参数当作已知默认值。
召回由多个来源、多个索引分片组成,每路为了保召回率会超取。PCap 在分片扫描和汇总两个位置按商品类别设上限,限制单一类别占用过多候选。上限由来源取数规模、来源倍率和用户分组倍率共同决定:低多样性用户放宽同类限额,高多样性用户收紧。文章描述了这些控制量的依赖关系,但没有给出可照抄的所有数值配置、舍入规则和异常回退逻辑。
各组倍率通过 PTS 自动调参。每轮维持固定控制组,将几组参数配置分配小流量运行数天,实验时长需覆盖工作日和周末周期;下一轮向较好参数附近收缩搜索范围。作者选择固定分流网格搜索,是因为指标噪声大、复杂优化器不一定值得额外开销,且已有量化评估系统天然支持固定实验臂。这里不是多臂老虎机,也没有可复现的梯度优化训练过程。
PCap 不是新训练的大模型,论文没有优化器、训练批量、GPU 数量或训练步数可以报告。它复用已有内容分类、用户统计和线上实验设施,主要成本在统计更新、召回计数和实验周期。区分这一点能避免把论文套进不适用的模型训练模板。
3. 核心技术贡献
第一项贡献是将个性化类别约束部署到分布式召回。后排序 MMR 或 DPP 通常需要固定候选集以及完整相关性分数,难以直接在独立分片扫描时使用。PCap 用局部类别计数和两级限额,使更广的候选进入后续排序,解决的是候选供给结构,而非替代排序模型。文章没有把 MMR 当作完整在线对照,不能因此声称在同样条件下击败了 MMR。
第二项是把用户多样性偏好映射为少量稳定分组,而不是为每个用户维护独立参数。六组平衡了个性化程度、运维稳定性和短期点击噪声;使用 PTS 后,两端用户的最优倍率出现相反方向,中间两组趋近中性值。此结果支持把工程精力优先放在高度聚焦与高度探索人群,但“中间没有收益”仅是当前系统观测,不能推广为所有业务的定律。
第三项贡献是清晰分离“加限额”和“个性化限额”的增量。先比较统一限额与无限额,再比较 PCap 与统一限额,避免把整个召回改造的收益都归给个性化。第二阶段详情点击提升 0.2250%、会话提升 0.1708%,同时新增平均延迟只有 0.8 毫秒。这种层层加机制、保留控制组的验证设计,比只给出上线前后总收益更便于产品判断。
4. 实验结果分析
正文表 1、表 2 的汇总如下;除延迟外均为相对百分比变化。显著性依据作者 95% 置信标准,“不显著”不等于效果恰为零。
| 指标 | 统一限额对无限额 | PCap 对统一限额 |
|---|---|---|
| 商品浏览量 VPV | +0.3088%,显著 | +0.2243%,显著 |
| 详情点击 PDP | +0.0313%,不显著 | +0.2250%,显著 |
| 买卖双方有效消息互动 MLI | -0.2604%,不显著 | +0.1109%,不显著 |
| Marketplace 会话 | +0.0469%,不显著 | +0.1708%,显著 |
| 分页平均延迟 | +8.6 毫秒 | +0.8 毫秒 |
不能把第二阶段的 0.8 毫秒描述成全部系统改造成本,因为第一阶段已增加 8.6 毫秒;作者说明总开销仍在生产预算内,但没有给出尾延迟曲线。也不能把两个阶段提升直接相加后称为一次随机试验的总收益,两次实验的基线和时段不同。第一阶段主要改善浏览,第二阶段才使详情点击和返回会话达到显著,支持“按偏好提供合适多样性”的解释。
分组结果来自正文表 3,观察第二页及后续分页的输出多样性。第一组下降 1.0537%,第二组下降 0.9195%,第三组下降 0.2947%,第六组上升 0.2469%,上述变化显著;第四组 -0.1116%、第五组 +0.0037% 未显著。这不是方法失败:低熵用户本来就分配较宽同类限额,输出集中正是设计方向。不过表中没有各组点击和交易收益,无法进一步确认每一组都独立受益。
论文把香农熵用于偏好建模,用 HHI 衡量输出多样性,两者角色不同。其线上实验覆盖相当比例用户并持续多周,但没有公开人数、各臂流量、置信区间上下界、完整参数轨迹或指标基数。因而可以确认生产环境和显著性声明,却不能自行重算统计功效。两阶段对比是机制层面的增量验证,并不等价于每个组件都有独立消融。
5. 局限与未来方向
作者在结尾明确提出替代内容分组,例如用共同互动而不是仅语义类别来组织商品;尝试聚类动态生成用户分组;动态调整限额。其含义是当前固定类别和固定分组只是工程折衷,不一定完整覆盖用户对“不同”的主观理解。文章也明确选择纯在线评估,因为召回改变会影响后续排序和实时会话组成,离线回放难以捕捉二阶效应。
本文额外指出而非冒充作者结论的限制包括:点击分布受过去曝光影响,低熵未必代表主动偏好狭窄;低点击人群被筛掉后,其默认策略和覆盖影响不清楚;只有商品浏览场景,对强目的搜索无法直接外推。没有开源配置或公共数据上的对应实验,也限制了第三方复现。这些不足不否定线上证据,但决定了能借鉴的是机制与试验设计,而非照抄阈值。
6. 工业实践意义
社区平台可先以话题、作者或内容类型建立召回分组,统计用户历史点击的分布,并检查其在不同时间窗口的稳定性。先验证统一上限是否确实减少重复曝光,再加入少量偏好分组;把两步合在一起上线,会难以定位收益和延迟来源。对于明确查询,应在保持相关性门槛后做多样性分配,以 nDCG、CTR、有效阅读和回访共同衡量,而不能仅优化类别数。
实现时要检查分片局部限额与聚合限额是否重复过度裁剪,记录候选不足率、每路召回贡献和长尾内容覆盖;冷启动或稀疏用户可先走现有策略,待离线稳定性检查后再纳入分组。这里的回退方案是实践建议,论文没有披露其实际线上实现。若现有系统已经有成熟固定分流设施,PTS 式逐轮收缩搜索可以先验证;需要预先定义主指标和止损线,避免反复看数挑选偶然最优。
最值得复用的发现是,个性化多样性不要求每个人都看到更分散的内容。对聚焦人群允许更集中的供给,对探索人群增加广度,同时保留整体相关性约束,才符合实际意图。论文提供的是生产规模的增量证据,消息互动未显著、尾延迟未披露、稀疏用户处理不完整,都应保留在上线评审中。
来源:https://arxiv.org/html/2609.16452 ,正文第 2–4 节、表 1–3。