搜索 EE 场景排序链路升级
作者:京东零售 吕豪
背景
EE(Explore & Exploit)模块是搜索系统中改善生态、探索商品的重要链路,其目标是缓解数据马太效应导致模型对商品排序丰富性、探索性不足,带来的系统非最优解问题。
在 JD 搜索体系中,EE 模块被定义的核心定位是:在给定流量和时间的约束下,探索出更多高效率的商品。EE 的优化目标即为,以保障搜索效率为前提,提升广义中长尾商品的探索成功率,提升搜索结果的流动性、丰富性。
EE 场景迭代闭环
由于 EE 场景的特殊性,其从核心定位 → 在线指标 → 离线评估体系 → 模型迭代的优化链路中的每一步,都需结合 EE 特点进行针对性升级。
以下分别从模型迭代、在线实验指标、离线评估体系介绍相应模块的优化。
模型 Debias 迭代
问题背景
EE 的核心定位在于探索更多更高效的潜力中长尾商品,其首要回答的问题便是,在目前搜索体系中,哪些因素阻碍中长尾商品获得更公平合理的展现机会?系统性的各类 bias 。
1). Position-bias (展示位置偏置)
当前打分模型基于每天 dump 的搜索日志进行训练更新。由于搜索结果的 position-bias(位置偏置)效应,user 的行为动作不仅与商品本身质量有关,而且受 position(展示位置)较大影响。position-bias(位置偏置)效应对头部商品的增益,加剧了平台生态的马太效应。使用 position-bias 的日志数据进行训练,而未对 position(展示位置)做去偏,不利于中长尾商品的正确效率预估,不利于平台流动性、丰富性和长期价值。
2). Polularity-bias (流行度偏置)
存在与 user 偏好匹配程度相当的多个商品时,由于商品间的历史累计销量、累计评论等流行度特征的差异,造成倾向于给用户呈现热门流行商品,已流行商品则更流行。而匹配程度相似的中长尾商品,则难有机会被展现,中长尾更中长尾。
3). Exposure-bias (曝光偏置)
一次搜索请求下,只有有限的商品列表展现给 user,绝大多商品无法展示;搜索系统一天内,整体被展现的商品集也只占全部商品集的小部分。 由此带来的问题一方面是模型泛化问题,训练在已展现商品的日志上进行,serving 需在所有商品上做推断,如何平衡训练、推断样本分布差异化的矛盾,尤其是头、尾部商品的巨大差距。另一方面是商品 label 问题,商品未累积获得用户正反馈,是因为与用户不匹配,还是未有展现机会?
针对以上 bias 问题,EE 排序模型从位置偏置建模、反事实推理学习方面进行升级,尝试缓解 position-bias 和 polularity-bias,取得一定收益。而 Exposure-bias 由于随机 dump 样本的 label 问题,还需要做更多探索。
目前 EE 排序模型整体结构图:
针对位置偏置,设计 position-bias net 于训练时建模位置作用、预测时 mask,进行展示位置去偏。
针对流行度偏置,构建 U-I net/ item_net/ user_net 分别建模 用户-商品内容匹配度、流行度因子、用户心智偏好因子的影响,依据因果效应消除偏置因子作用,还原用户对商品本身内容的偏好度。
位置去偏迭代
1. Position-bias 位置偏置建模。
EE 模型升级至训练、预测两阶段的 position-debias 方案,通过 pos-bias tower 建模 position-bias 影响,并在高语义层级与输出均值融合,拟合训练 label,而后在预测阶段摘除,以期去除 pos-bias 影响。
Pos 的建模方式
1.1 pos as feat
训练阶段,pos 作为模型特征使用,与其他 u/q/i 侧特征联合,共同输入模型网络,计算相应 logits 并梯度回传。预测推理阶段,所有样本强制采用同一个 pos 值,近乎理解为:同一个 user/query 下, 所有商品在同样的展示位置上,进行预测分数比较。
其潜在风险如下:
强制 pos 数值如何选择。展示位置一般可限制在[0-30/60]内,然而不同强制位置的设定,会带来排序结果的变化,如何在[0-60]间选择合理的强制位置,以及不同时间和分布下,强制位置的选择是否要重新进行。
pos 特征的重要性。将 pos 特征由网络底层输入,其重要性可能难以在最后的 logits 中得以充分体现,其物理意义(位置因素影响用户商品交互行为的作用大小)不易直观理解。
1.2 multi-pos predict
设计最后一层为多位置通道输出的网络,预测商品在各枚举位置上的 logits 输出。训练阶段计算商品在所有位置上的输出结果,只激活真实的 pos 通道计算 logit 和 loss,其他位置通道进行 mask。推断时,贪心的从第一个位置开始,无放回的选择当前位置上的最优商品,直至最后一个位置。
此方案适配用于排序位置较为固定的场景,如重排 N 选 N,在搜索 EE 现有架构下并不适配,一方面是 SVGP 结构对多通道结果输出并不友好,另一方面,EE 现有插入范围较大[1-60]、比较插入机制也需做非常复杂化的适配改造,方案过重。
1.3 pos as tower
升级现有 DNN + 稀疏变分高斯(svgp) 采样打分模型,采用基于 position-bias net(位置偏置)的模型方案,方案具体为训练、预测两阶段的位置去偏。
训练阶段通过引入展示位置表征作为位置偏好网络,与基于 user/query/item 的主网络共同输入,预估商品在当前位置(位置偏好网络)及自身质量(主网络)下的打分。
预测阶段通过摘除位置偏好网络,预测商品仅基于自身质量的采样打分,去除展示位置影响。通过此方案可以缓解训练数据的 position-bias(位置偏执),降低头部商品由于展示位置的打分增益,同时减少中长尾商品由于靠后位置的打分折损,优化搜索结果丰富性和平台生态。
2. 个性化位置偏置建模。
用户对商品的偏好是个性化的,不同用户对商品的偏好不同。用户对位置的偏好也是差异化的,不同用户对位置的敏感度存在差异。
上文的 bias-net 建模方式,假定所有用户对同一位置偏好相同,忽略了用户间的位置偏好差异。典型例子如下,偏逛用户在系统中对 position 相对不敏感,position 的排名前后对用户的行为决策影响相对更小,而对偏快速够买用户则影响截然相反。
个性化位置偏置建模。升级现有 bias-net 结构,引入用户个性化特征,包括静态 profile 和动态行为序列。通过个性化 bias-net 计算不同用户对不同 position 的位置偏好,更准确的还原用户对商品内容的真实偏好。
Pos Tower 与 svgp 的结合方式。
2.1 SVGP 简介
GP(Gaussian process,高斯过程)是用于在样本间存在相关关系的情况下,通过观测值对未知样本 label 进行修正预测的算法。简言之,距离观测点越近的未知样本,其均值被修正越多、更接近观测值,方差也越收敛,反之亦然。SVGP(Sparse Variational Gaussian Process, 基于稀疏变分的高斯过程),针对大样本量下协方差矩阵和求逆难以计算的问题,设计一定数量的可学习的引导点,对所有训练样本进行归纳,未知样本通过与引导点的协方差来计算均值和方差。
2.2 表征层融合(Representation Fusion)
Pos-tower 与 Main-tower 融合方式有两种,表征层融合和 logit 层融合。在 SVGP 计算前进行融合,即表征层向量进行融合,可以采用 concat/sum/avg 等各种方式。其难点在于,向量间的相加、平均操作,无法直观理解其物理意义和作用,向量叠加是否导致 logit 正向增大,向量带来多大的 logit 提升,这些位置偏置作用难以解析。
另外从模型结构来看,svgp 依赖样本内容间相似度计算均值和方差,而 position-bias 的影响应该独立于样本内容的计算。
2.3 logit 层融合(Logit Fusion)
在 svgp 之后的 logit 层融合,可采用 logits 相乘相加方式,其直接从模型结构上诠释了这样的公式 Label = f(content) + f(position) / Label = f(content) * f(position) ,其中 f(position)的绝对值大小,直观的表示 position 带来的增益大小。
位置偏置建模线上效果
保持大盘效率持平的情况下,EE 核心指标提升明显,探索流动性指标(探索更多商品)提升明显 +1.35%,探索成功率指标(探索更高效商品)显著改善 +0.74%。
流行度去偏
3.1 IPS
对每个商品预估 propensity score,然后采用逆向 propensity score 权重的方式,消除倾向分的影响,预估商品真实的内容匹配度得分。
挑战点:
如何准确获得 propensity score,这是对后续纠偏的前提挑战。
整体为两段式训练,链路上有一定复杂度。
3.2 流行度降权
在实际搜推数据中,在 user 侧、item 侧分别依据其流行程度,设计对应降权权重,缓解整体被热门用户、商品所主导的趋势,增强所关注样本的影响力。
面临难点:
合理的设计权重方案。
如何挖掘 hard example。
3.3 基于因果关系的反事实推理
如何缓解流行度偏置问题?在训练链路中,增强改善中长尾商品的学习是一类重要方法;对用户交互行为进行解构,拆分出商品流行度等因子的作用,是另一个视角的解决思路。
因果图、因果关系简介
因果图是有向无环图,其中节点表示随机变量、有向边表示节点之间的因果作用方向。如上图对于节点 Y 变量,有两条路径的因果作用,分别是 I → Y 、I → K → Y。
I → Y 表示从 I 节点开始的自然直接因果效应 (NDE),作用路径上没有中间节点。
I → K → Y 表示从 I 节点开始的间接因果效应 (TIE),K 是路径上的中间节点。
直接因果效应和间接因果效应之和,即为 Y 变量的总因果效应 (TE)。
总因果效应计算,可以由自变量的单位扰动带来的因变量变化进行计算,自然因果和间接因果效应计算亦然:
以上公式可得,求出 TE 和 NDE 时,可推导计算中间接因果效应 TIE。
搜索中的因果效应
在电商搜索场景下,用户对商品的交互行为,可表示为 U-I 间各种因子的综合作用。常见思路为考虑 U-I 间内容匹配程度作为待预测因子,学习此因子在交互行为中的作用,在未来样本上进行预测排序。
从电商搜索的现实情况出发,对交互行为进一步拆分,影响用户商品交互行为的因子大体包含如下三方面:
1). (U-I) → Y, U-I 内容匹配度因子,用户与 item 本身内容的匹配程度、喜好程度对交互行为的影响,越喜欢则越点击购买,
2). I → Y, Item 流行度特征,内容偏好匹配程度相当的几个商品时,由于历史累计销量等流行度特征,热门商品展现更多、被交互概率更高。
3). U → Y, 用户天然心智,user 对流行商品的偏好程度不同,有些用户更倾向于热门商品,部分用户则并不敏感。
以上因子的拆解,包括了 U/I 内容匹配度的间接因子的效应,也包括了 U、I 的直接效应影响。因此在 EE 模型中设计如下网络,分别建模各个因子的作用:
具体分别设计 UI-Match-Net, User-Net, Item-Net 分别预测对应三种因子的作用,其中总效应,U/I 效应分别表示为
在训练中 Loss 的设计如下,分别表示
U-I 与 label 的 loss,优化主模型的准确性
U、I 侧直接因子的 loss,通过这种方式分别预测两种直接因子对交互结果的影响
alpha/beta 为训练时超参
预测阶段缓解流行度偏置,主要在于去除流行度因素、用户心智因果(偏置因子)的影响,具体通过总因果效应减去自然直接效应(偏置因子效应),尽量准确还原 U-I 内容匹配程度的影响
TIE = TE - NDE
反事实推理后的因果图状态如下,将 U/I 的直接效应消除,保留 U-I 内容匹配度的效应:
反事实推理建模线上效果
保持大盘效率持平的情况下,EE 核心指标提升明显,探索流动性指标(探索更多商品)提高 +0.82% ,探索成功率指标(探索更高效商品) 显著提升 +0.66%。
在线 AB 指标
探索成功率指标,用于在小流量 AB 期间指导 EE 效果分析,其设计思路从 EE 核心价值出发,推导出长期价值相关联的 AB 期间核心指标。
具体而言,即论证 探索成功率指标 → EE 核心价值。
满足探索成功率的商品,跟踪其一定时间后在搜索中的承接状态,是否被大盘较好承接。
搜索中承接状态,主要为三要素:流量、点击、订单。
通过对 1). 商品概况和承接定义, 2). 商品承接统计, 3). 分层承接分析 等方面进行分析,迭代出搜索 EE 在 AB 实验期间所关注的 EE 核心指标集–探索成功率。
离线评估体系
EE 线上指标主要关注
1). 大盘效率,UCVR 和 UV 价值
2). 探索成功率, 其余辅助观测指标包括 流动性指标、丰富性指标。
在线的探索成功率和辅助指标,现阶段难以与模型离线指标(AUC 等)关联,无法在离线评测 EE 模型的探索能力,限制 EE 模型迭代速度,极大增加迭代时间成本。
针对 EE 场景特异性的指标,设计了离线指标评测集合,分别从 效率、中长尾探索强度、不确定预估等方面,综合评测 EE 模型,加速迭代。
总结
搜索 EE 是提升搜索场景流动性、多样性的关键模块,其面临的问题和以效率排序为主模块的问题有很大差异,对 EE 同学提出了不一样的挑战。
针对 EE 场景的特点,排序模型从 Debias(打分公平性)入手,拆解存在于各种排序场景的 bias 问题,对位置偏置和流行度偏置问题升级较通用化的解决方案,取得了 EE 核心指标的显著提升。同时对于迭代链路中的 在线 AB 指标、离线评估体系,也进行了论证和迭代,完成对整个 EE 排序闭环链路的升级。限于篇幅,AB 指标和离线评估体系在这里不做全面展开,感兴趣的同学欢迎随时交流,共同探讨。
EE 场景面临的挑战很多,后续计划从如下方面继续深入探索:
1). 引入更丰富的用户探索信号的表达,增加 explore-net 和监督 loss,提升 EE 模型对探索偏好的学习。
2). 思考 EE 的长期价值,如何在模型结构、Loss 设计上结合长期价值。
3). 优化 EE 探索机制和 EE 候选集,提升 EE 全链路探索能力。
版权声明: 本文为 InfoQ 作者【京东科技开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/6e1efcfe0c63d102e51514174】。文章转载请联系作者。
评论