站群导航· 游戏攻略 / 礼包码 / 配置 / 换算 / 查询 / 手册
导航菜单
首页 全部文章 留言本

从 800 条到一屏 10 条:推荐排序的数据常识清单

一个推荐流程走完,数据要过四道手:日志采集、特征加工、样本构造、指标统计。每一道都有常识性的坑,列成清单,新人上手照着对一遍能省两周。

日志层。埋点上报 3 种事件:曝光、点击、停留时长。曝光要在内容真实渲染进视口时上报,别在请求返回时上报,两者差 15% 到 25%。停留时长用 500ms 一档的分桶值,精确到毫秒没意义还占存储。字段上必须带请求 ID,不然曝光和点击关联不上,后面的漏斗全废。

特征层。数值特征做分桶比做归一化稳,尤其是长尾分布的下单量、曝光量,用 log1p 之后按分位数分 20 桶。类别特征注意高基数问题:用户 ID 出现 1 万以上的别做 one-hot,做 embedding 或者哈希到 10 万维。时间类特征注意时区,用户本地时间和服务器时间差 8 小时,跨天边界上的行为会错位,实测影响 0.3 个百分点。

样本层。正负样本比例控制在 1:5 以内,超过就下采样。样本时间窗建议 30 天,太短学不到周期规律,太长老内容占比过高。同一个请求下的多条曝光算独立样本还是列表样本,取决于你训的是 pointwise 还是 listwise 模型,两种口径混用会导致训练目标混乱,AUC 忽高忽低。

统计层。三个指标必须同时看:CTR、人均曝光、人均时长。只盯 CTR 会出现“标题党”霸榜,实测标题党内容的 CTR 高 1.4 倍但人均时长低 22%,加一条时长门槛之后整体收益反而涨 3%。另外做指标对比一定要固定分母口径,两个报表用两套分母,结论永远吵不清。

再说排序链路的数据量级。召回 500 到 1000 条,粗排缩到 100 到 200 条,精排 50 到 100 条,重排出 10 条。每层都有延迟预算:召回 50ms、粗排 20ms、精排 40ms、重排 5ms,加起来留 30ms 给网络。超了预算就砍候选数,别砍特征,砍特征掉分比砍候选多 3 倍。

一个具体案例:某团队精排特征从 120 维加到 340 维,离线 AUC 涨 0.9 个点,线上延迟从 38ms 涨到 95ms,超时率 2.4%,最终净收益为负。回退到 180 维,延迟 52ms,AUC 只比 340 维低 0.2 个点,净收益正。特征不是越多越好,延迟才是硬约束。

最后一条常识:所有离线指标都要有线上对照。离线涨、线上跌的组合很常见,原因多是训练服务特征不一致或评估口径偏差。留一张对照表,每上线一个版本填一行,三个月后你会感谢自己。

站群互链

攻略窝 · 礼包窝 · 配置窝 · 换算窝 · 算法窝 · 查文窝 · 手册窝 · 问答窝 · 全文搜 · 手册库
上一篇 归一化与标准化:别在划分前做 下一篇 别被增长率迷惑:同比环比怎么选