核心问题电商搜索召回想从多分支合并走向单模型但倒排分支虽然转化低仍承担“新热词当天可干预”的生产能力。核心方案OneRetrieval 用 Keyword-Aligned Encoding把 SID 的每个位置绑定到可解释属性词而不是训练时固定的量化向量。关键机制6 个属性组、非均匀码本容量、每组 10 个 reserved slot让运营可把新词绑定到目标商品集合无需更新模型。实验结论HR350 接近最强生成式基线 OneSearchIHR350 比闭码本量化编码高一个数量级线上替换倒排分支后 Order 0.710%。论文基本信息论文标题OneRetrieval: Unifying Multi-Branch E-commerce Retrieval with an Editable Generative Model论文链接https://arxiv.org/abs/2606.13533论文作者Xuxin Zhang, Ben Chen, Yue Lv, Siyuan Wang, Yupeng Li, Yufei Ma, Zihan Liang, Tong Zhao, Ying Yang, Huangyu Dai, Lingtao Mao, Zhipeng Qian, Xinyu Sun, Chenyi Lei, Wenwu Ou, Kun Gai机构Kuaishou Technology一句话总结OneRetrieval 用“属性词对齐的可编辑 SID”把电商搜索召回从多分支手工融合推进到单个生成式模型同时保留倒排索引式的热词实时干预能力。背景与动机工业电商搜索召回通常由三类分支拼起来倒排索引负责词面匹配Dense 向量负责语义泛化协同过滤负责行为相似。这个结构能兜底但每个分支单独训练最后靠手工 merge跨分支冗余和目标不一致长期存在。论文指出真正卡住单模型替换的不是 HR而是editability倒排分支转化低于平台平均但运营可以在小时级把新品牌、新 IP、新营销词绑到目标商品集合。已有生成式召回要么用闭码本 SID把 slot 绑定到训练期量化 embedding要么生成自由文本片段缺少“把某个新词确定路由到某批商品”的显式机制。整体架构OneRetrieval 由三块组成KAE 编码、四阶段 SFT、线上 serving 与实时干预旁路。端到端数据流商品与 query 文本先经过属性词典匹配得到 6 位 SIDBART-base 编码器-解码器在四阶段 SFT 后学习从 query、query SID、历史 query、历史商品 SID 到目标商品 SID 的生成线上用 beam search 生成 Top-K SIDs再通过 SID-to-item lookup index 展开成候选商品。新热词走虚线旁路更新属性词典把新词绑定到 reserved slot再把该 slot 绑定到目标商品集合。逐模块方案拆解3.1 召回形式化模块作用把召回改写为条件生成问题模型不直接检索 item embedding而是生成 item 的结构化语义标识 SID。输入queryq、用户上下文c_u输出候选商品集合R(q,c_u) ⊆ I。每个商品i的 SID 为长度L的 token 序列。s i ( s i ( 1 ) , s i ( 2 ) , … , s i ( L ) ) s_i (s_i^{(1)}, s_i^{(2)}, \ldots, s_i^{(L)})si(si(1),si(2),…,si(L))变量说明i ∈ I商品I是平台商品集合。s_i ∈ \mathbb{N}^{L}商品i的结构化 SID论文部署配置中L6。s_i^{(\ell)} ∈ V_\ell第\ell个位置的 SID token来自位置专属码本V_\ell。V_\ell第\ell个属性组的 codebook稠密组核心容量为 2048轻量组核心容量为 1024另各有 10 个 reserved slot。R ( q , c u ) T ( TopK s π θ ( s ∣ q , c u ) ) R(q,c_u)T\left(\operatorname{TopK}_{s}\ \pi_\theta(s \mid q,c_u)\right)R(q,cu)T(TopKsπθ(s∣q,cu))变量说明q当前搜索 query文本序列长度记为T_q。c_u用户上下文包含近期搜索 query 与近期交互商品 SID。\pi_\theta生成式召回策略论文使用扩展 SID 词表后的 BART-base。TopK_s对 SID 序列做 unconstrained beam search论文离线使用 beam size 512。T预计算的 SID-to-item lookup index是一对多映射一个 SID 可展开为多个语义等价商品。R(q,c_u)最终候选商品集合展开后通常超过K个 item。自回归分解为π θ ( s ∣ q , c u ) ∏ ℓ 1 L π θ ( s ( ℓ ) ∣ s ( ℓ ) , q , c u ) \pi_\theta(s \mid q,c_u)\prod_{\ell1}^{L}\pi_\theta\left(s^{(\ell)} \mid s^{(\ell)},q,c_u\right)πθ(s∣q,cu)ℓ1∏Lπθ(s(ℓ)∣s(ℓ),q,cu)变量说明s^{(\ell)}(s^{(1)},\ldots,s^{(\ell-1)})第\ell位之前已经生成的 SID 前缀shape 为B×(\ell-1)。Bbatch size。\pi_\theta(s^{(\ell)} | ·)第\ell位 token 的分类分布shape 为B×|V_\ell|。3.2 Keyword-Aligned Encoding模块作用把商品和 query 都映射到同一套属性词驱动的 6 位 SID使每个 SID 位置有可解释的属性含义。输入商品记录x_i由 title、结构化属性、详情页文本、图片 OCR 拼接或 query 文本x_q。输出s_i ∈ \mathbb{N}^{6}或s_q ∈ \mathbb{N}^{6}。处理流程用 Aho-Corasick 在生产属性词典A中做确定性匹配。把 18 类细粒度属性合并成 6 个 ECOM6 组。若同组命中多个词用主商品词优先级和 posterior importance score 选一个代表词。将代表词映射到该组 codebook slot未命中则使用 empty slot。s x ( ℓ ) slot ℓ ( select ℓ ( match ( x , A ) ) ) s_x^{(\ell)} \operatorname{slot}_\ell\left(\operatorname{select}_\ell\left(\operatorname{match}(x,A)\right)\right)sx(ℓ)slotℓ(selectℓ(match(x,A)))变量说明x输入文本可来自商品或 query。A生产属性词典论文去重后约1.08×10^6个 typed attribute words。match(x,A)确定性词典匹配结果输出若干(word, category)。select_\ell(·)第\ell个属性组内的代表词选择函数。slot_\ell(·)代表词到第\ell个码本 slot 的映射。s_x ∈ \mathbb{N}^{6}最终 6-token SID。3.3 信息论属性组合并模块作用把 18 个属性类别压缩到 6 个 SID 位置在降低生成长度的同时保留区分信息。论文把每个属性类别X看成商品上的 Bernoulli 激活变量商品携带该类属性词时X(i)1否则为 0。两个类别合并的损失定义为对称条件熵I L ( X , Y ) 1 2 ( H ( X ∣ Y ) H ( Y ∣ X ) ) 1 2 ( H ( X ) H ( Y ) ) − M I ( X , Y ) IL(X,Y)\frac{1}{2}\left(H(X\mid Y)H(Y\mid X)\right) \frac{1}{2}\left(H(X)H(Y)\right)-MI(X,Y)IL(X,Y)21(H(X∣Y)H(Y∣X))21(H(X)H(Y))−MI(X,Y)变量说明X,Y ∈ {0,1}两个属性类别在商品上的激活变量shape 可视为N维 0/1 向量N为商品数。H(X)类别X的二元熵衡量该类别激活的不确定性。H(X|Y)知道Y后X仍剩余的不确定性。MI(X,Y)互信息表示两个类别共现提供的信息重叠。IL(X,Y)把X和Y放到同一位置带来的信息损失越小越适合合并。3.4 可扩展码本设计模块作用在每个 SID 位置提供可解释、可扩容、可实时编辑的 slot 空间。论文将每个位置的 codebook 拆成四块empty、cluster、solo、reserved。区块作用细节Empty表示该属性组缺失index 0query 或商品未命中该组属性词时使用。Cluster承接长尾属性词对同组尾部属性词 embedding 做 k-meansslot 表示一簇近义词。Solo承接高频头部属性词高频词基本一词一 slot近似别名或拼写变体可共享。Reserved上线后绑定新热词每个位置额外 10 个 reserved slot训练期不绑定具体属性词部署后由运营绑定。部署配置是L6-D3前三个稠密属性组使用V_\ell2048后三个轻量组使用V_\ell1024核心 slot 总数 9216再加 60 个 reserved token总 SID 扩展词表为 9276。3.5 Reserved slot 实时干预模块作用让新词在不改模型参数的情况下进入生成式召回链路。设新热词为w_new所属属性组为\ell运营为它分配一个未使用 reserved slot⟨\ell v⟩。w n e w → dictionary edit ⟨ ℓ v ⟩ , ⟨ ℓ v ⟩ → lookup edit I t a r g e t w_{new}\xrightarrow{\text{dictionary edit}}\langle \ell v\rangle, \quad \langle \ell v\rangle\xrightarrow{\text{lookup edit}}I_{target}wnewdictionary edit⟨ℓv⟩,⟨ℓv⟩lookup editItarget变量说明w_new新出现的品牌、IP、类目或营销词。\ell ∈ {1,...,6}w_new被归入的 ECOM6 属性组。⟨\ell v⟩该组中的 reserved token训练期存在于词表中但未绑定具体词。I_target ⊆ I运营指定的目标商品集合。dictionary edit更新属性词典让包含w_new的 query 或 item 被确定性编码到⟨\ell v⟩。lookup edit更新 SID-to-item index让该 reserved code 指向目标商品集合。论文给出三条支撑P1 可达unconstrained beam search 允许 decoder 生成任意 SID tokenreserved token 已在训练期加入词表。P2 自路由Stage 3 用极小比例样本训练prefix(⟨\ell v⟩) → prefix(⟨\ell v⟩)让 reserved prefix 能被复制到生成结果。P3 确定编码query 侧通过词典和表查确定性落到 reserved slot运营控制绑定关系。3.6 四阶段监督微调模块作用把“召回质量”和“可编辑性”拆到不同训练阶段里分别建立。阶段训练任务输入 / 输出 Shape主要贡献Stage 0属性词与 SID slot 双向对齐输入文本 tokenB×T_attr输出 slot tokenB×1反向任务相反。让 slot 绑定属性词语义建立位置偏置。Stage 1query / item title 与 SID 对齐附加类目预测输入B×T_text输出 SIDB×6或类目 token。主要支撑 query-to-SID、item-to-SID 的召回质量。Stage 2点击和订单日志中的 query-item 共现输入 query、item title 或 query SIDB×6输出 item SIDB×6。建立 query SID 到 item SID 的路由是可编辑性的关键阶段。Stage 3个性化召回与 reserved-slot self-routing输入(q,s_q,hist_q,hist_s)输出s_i ∈ \mathbb{N}^{B×6}。形成线上策略并保持 reserved token 可生成。Stage 3 的主任务为( q , s q , h i s t q , h i s t s ) → s i (q, s_q, hist_q, hist_s) \rightarrow s_i(q,sq,histq,hists)→si变量说明q当前 query 文本shape 为B×T_q。s_q ∈ \mathbb{N}^{B×6}query 经过 KAE 得到的 SID。hist_q用户近期搜索 query 序列shape 可记为B×H_q×T_h。hist_s ∈ \mathbb{N}^{B×H_i×6}近期交互商品 SID 序列。s_i ∈ \mathbb{N}^{B×6}真实点击或成交商品的 SID。训练目标 / 损失函数四个 SFT 阶段共用按 token 求和的最大似然目标L ( θ ) − ∑ ( q , c u , s ) ∈ D ∑ ℓ 1 L log π θ ( s ( ℓ ) ∣ s ( ℓ ) , q , c u ) \mathcal{L}(\theta)-\sum_{(q,c_u,s)\in D}\sum_{\ell1}^{L}\log \pi_\theta\left(s^{(\ell)}\mid s^{(\ell)},q,c_u\right)L(θ)−(q,cu,s)∈D∑ℓ1∑Llogπθ(s(ℓ)∣s(ℓ),q,cu)变量说明D训练三元组集合每个样本包含 query、用户上下文和目标商品 SID。q当前 query。c_u用户上下文在 Stage 3 中由s_q、hist_q、hist_s等组成。s监督目标 SIDshape 为B×L部署配置L6。\thetaBART-base 编码器-解码器参数及扩展 SID token embedding。\pi_\theta(s^{(\ell)}|·)第\ell位目标 token 的条件概率。实验与分析5.1 离线主结果离线 benchmark 来自连续 31 天电商搜索日志前 30 天采样5×10^6用户请求作为训练集第 31 天抽取 29,964 个点击样本和 29,953 个订单样本作为测试集。商品侧总计 20,165,617 itemsquery 侧总计 7,629,195 queries。方法类型Order HR350Order MRR350Click HR350Click MRR350BM25传统0.22150.01660.29140.0282DPR传统 Dense0.43460.02930.50270.0455LC-Rec生成式0.37510.08690.41640.0982OneSearch生成式闭码本0.55500.13330.60070.1539OneRetrieval生成式可编辑码本0.54820.08800.60550.1076OneRetrieval 在深召回 HR350 上接近 OneSearch订单侧 0.5482 vs 0.5550点击侧 0.6055 vs 0.6007。它的 MRR 明显低于 OneSearch说明优势不是头部精排能力而是召回深度和可编辑性。5.2 码本长度与容量分配L6是质量和时延的折中点L6-D3将容量投给 3 个高密属性组在核心 slot 总数 9216 下达到 Order HR350 0.5482、Click HR350 0.6055。L6-D6继续加容量能到 0.5522 / 0.6072但总容量增至 12288论文选择L6-D3作为 Pareto knee。5.3 可编辑性与消融编码范式Order HR350Click HR350Total IHR350KAE0.54520.60330.0806RQ-VAE0.50750.55160.0025RQ-kmeans0.53550.58370.0030RQ-OPQ0.53760.58480.0021KAE 的 Total IHR350 为 0.0806闭码本量化方案只有 0.0021–0.0030差距来自结构本身量化 code 没有从新词到指定 slot 的确定性路由。与可编辑的 BM25 倒排分支相比OneRetrieval 的 Total IAR350 为 0.5530BM25 为 0.7610。OneRetrieval 没有完全追平倒排分支的词面激活但 Order HR350 从 0.2215 提升到 0.5482Click HR350 从 0.2914 提升到 0.6055。SFT 消融显示去掉 Stage 2 后 Total IHR350 从 0.1340 掉到 0.0030说明 Stage 2 的 query-SID 到 item-SID 共现路由是 reserved slot 生效的核心去掉 Stage 1 主要影响 HRStage 0 对可解释性和位置偏置有支撑。5.4 线上 A/B线上替换配置Item CTRBuyerOrder替换倒排索引分支0.074%0.450%0.710%†替换近乎全部召回分支0.821%†-0.028%0.255%第一组实验替换倒排索引分支Order 显著提升 0.710%。第二组进一步替换 dense 分支CTR 显著提升 0.821%Buyer 与 Order 无显著变化说明单个生成式模型可以覆盖更大范围召回而不明显损伤转化。行业拆分中Top 20 行业有 16 个 CTR 正向平均 1.00%。增益集中在女鞋、内衣、玩具、男装、女装、美妆等属性结构丰富的行业符合 KAE 对品牌、风格、人群、颜色等属性词更敏感的机制解释。优势与局限优势把生成式召回的 SID 从不可解释量化 code 改成属性词锚定 code运营和模型共享同一套语义接口。reserved slot 把“新词绑定目标商品集合”从模型更新问题改成词典和索引更新问题贴近倒排索引的生产可编辑性。线上实验覆盖单分支替换和近全召回替换证明方案不只是在离线 HR 上可行。局限浅层排序能力不如 OneSearchOrder MRR350 为 0.0880明显低于 OneSearch 的 0.1333。词级激活能力仍低于 BM25 倒排分支Total IAR350 为 0.5530未达到 BM25 的 0.7610。方案依赖高质量生产属性词典、属性抽取、主商品词优先级和行为统计这些上游资源的质量会直接影响 SID。reserved slot 只提供可生成和自路由能力不是硬约束保证论文也明确用 intervention probe 来量化其强度。