小红书精读:Query- and Candidate-Aware Long User Sequence Modeling for Sponsored Product Ranking in Search

less than 1 minute read

搜索广告长序列:双路召回+早融合

各位算法同学们,长序列模型里最容易被当成配角的两个 context token,这篇里砍掉直接掉 4.7 个点 AUC——比加一路召回掉得还狠。Wayfair 这篇讲的是搜索广告排序里怎么同时用 query 和候选商品两把钥匙,去开用户一年的行为历史。

📄 Query- and Candidate-Aware Long User Sequence Modeling for Sponsored Product Ranking in Search

🔧 双路检索:长期历史按两种方式各取 50 条,candidate-NN 取和候选 SKU 语义最近的行为,query-NN 取和当前 query 最相关的行为;再加最近 100 条,总长压在 200 条,同一事件被两路同时命中只保留一次

🧩 两个专属 context token:query token 和 candidate token 直接放在序列最前面,跟历史 token 一起进 Transformer,让模型自己决定该读哪段历史

⚙️ candidate-aware early fusion:候选 SKU 的表示不是最后才拼,而是在构造每个历史 token 时就写进去;attention 用了分段混合 mask,前 M 层历史侧因果、context token 只互相看,后几层才放开双向

📊 离线相对生产 baseline:只加 candidate-NN 是点击 AUC +1.16%、7 日下单 AUC +1.35%;只加 query-NN 是 +1.00%/+1.16%;两路一起 +1.37%/+2.19%,确实互补

📈 去掉 early fusion,增益基本被抹平(+0.45%/+0.28%);去掉两个 context token 变负向(-4.71%/-6.06%);去掉 NAL 辅助损失还有 +1.11%/+1.46%

✅ 线上 A/B 在 sponsored search 流量上 CTR、归因转化率、每曝光订单量三项都涨,论文只给了方向没给幅度

总结感想:做搜索侧广告或推荐排序、已经有最近行为序列的同学可以看,真正能抄的是 100/50/50 的检索预算切法和那套混合 mask,而不是模型结构本身。坑在于历史池只有 10 的 3 次方量级,换成十万级行为时双路检索的延迟要重新算;另外线上只有方向没有幅度,复现对比时盯住点击 AUC 和 7 日下单 AUC 两个指标,别只看 CTR。

原文:AlphaXiv

Updated: