小红书精读:SurvEval: Listwise Re-Ranking Evaluator via Survival-Based Exposure and Multi-Objective Value Modeling

less than 1 minute read

排序评估器:别手写位置折扣了📉

各位算法同学们,一个排在第 9 位的好 item,用户压根没滑到,离线评估器却当它“被看到”记了满额价值——这是现有 listwise evaluator 的默认假设。这篇来自 Intuit Credit Karma 的工作想把两件事拆开:用户能看到哪,以及看到了值多少。

📄 SurvEval: Listwise Re-Ranking Evaluator via Survival-Based Exposure and Multi-Objective Value Modeling

🔧 曝光端改成离散时间生存模型:第 t 位的退出概率建模成 hazard h(t),reaching probability 就是前面所有位置 (1-h) 连乘,单调递减是结构自带的,不用再手写 position discount 那种凭感觉定的衰减函数;右删失(用户没退出、日志就断在这)也能进似然。

🧩 价值端不再把点击、时长、点赞揉成一个标量:K 个独立 value head,每个走加权逻辑回归(正样本按观测值加权),exp(logit) 还原 E[Y];损失权重交给 uncertainty-based 多任务加权自己学,省掉手调多目标系数。

⚙️ 主干共享一个 transformer:item token 加位置 embedding,cross-attention 到 user token、self-attention 过列表,再分叉到 survival head 和 K 个 value head,最终 list 效用就是 Σ p(t)·v(t),端到端联合训练。

📊 实验在 KuaiRand 和 Avito 两个数据集上做,不是单数据集自证。

📈 摘要结论是对 SOTA baseline 更优,对比对象覆盖现有 listwise evaluator 这一类。

✅ 图 3 的定性结果可以对着看:reaching probability 随深度单调下降,退出概率在中段出现单峰,和真实浏览直觉对得上。具体提升百分点在正文表格里,我没拿到数字就不硬编,你们看的时候直接对表。

😐 总结:做重排或做离线评估的同学可以跟,尤其是多目标量纲差得离谱、位置折扣靠凭感觉定的场景。要盯的指标是学出来的 list utility 和线上真实曝光深度、时长的相关性,不是离线排序指标本身。坑在日志:生存模型吃的就是真实退出位置,日志截断严重或位置偏差重,reaching probability 会学歪。和 PIER 这类两步式 evaluator 比,它的差异点是把“评估器”单独拎出来建模,而不是去改生成端。

原文:AlphaXiv

Updated: