
搜索场景下的相关性和效率联合建模方法
今天给大家介绍一篇阿里巴巴在WWW 2025上发表的搜索场景CTR预估模型的工作,将相关性和CTR预估联合建模,提升搜索场景下的推荐效果。
论文标题:PRECTR: A Synergistic Framework for Integrating Personalized Search Relevance Matching and CTR Prediction
下载地址:https://arxiv.org/pdf/2503.18395
1.研究背景
在搜索场景中,不仅需要做好如CTR等点击率的预估,也需要做好相关性的预估,保证推荐出的结果和用户搜索词的相关性满足要求,否则会造成用户体验的下降。
现有的业内应用方法,大多数还是将点击率和相关性分别建模。点击率目标在精排进行预测,或作为优化目标引入召回、粗排等模块,而相关性则作为一个单独的目标进行建模。相关性和点击率的融合方式,一般是相对独立的交叠方式。例如,在召回、粗排、精排等模块都建模不同粒度的相关性,进行不同程度的管控;或者将相关性打分和点击率打分进行综合排序,也有一些工作将相关性特征作为点击率模型的输入。但是这些方法都没有实现点击率和相关性的联合建模。
阿里的这篇文章,就将点击率和相关性融合到同一个模型中端到端建模,并引入了针对不同用户个性化的相关性偏好,实现了离在线效果的提升。
2.建模方法
文中的场景将query和item的相关性分为4个档位,将相关性与点击率的联合建模抽象成如下条件概率分布的形式,即候选item属于每个相关性档位的概率,以及当前相关性档位下的点击率的乘积。
对应上述条件概率形式,整体包括2个模型,一个模型用来预测点击(Base Module),另一个模型用来预测相关性(Rsl Module),最后将二者的输出相乘作为相关性&点击率的预测结果。Base Module使用点击率预估特征和相关性特征作为输入,以点击率为目标进行拟合;Rsl Module以相关性特征作为输入,预测相关性属于各个档位的概率,做一个多分类任务。其中Rsl Module采用了2阶段的训练方法,第一阶段先用相关性数据训练,第二阶段再以点击率为目标和Base Module一起端到端训练,且在第二阶段的训练中将Rsl Module的梯度调小。这其中的主要目的是让Rsl Module真正学到相关性的信息,如果最开始直接端到端学点击率,2个模块无法学到各自需要拟合的信息。
除了上述基础结构外,文中进行了2个方面的优化。首先提出了Semantic Consistency Regularization模块,通过一个Listwise的任务,让模型去学习点击和相关性的综合排序。这里使用一个加权求和对是否点击、相关性档位融合成一个分数,按照这个排序作为Listwise的序拟合目标。这相当于额外引入了都没有点击或者都点击的情况下,相关性好的打分应该高于相关性不好的打分,如果只用点击作为目标学习的话,模型无法捕捉这部分信息。
另一方面,文中提出了Personalized Relevance Incentive,实现不同用户的个性化相关性建模。不同用户的相关性敏感度不同,有的用户对相关性容忍度高,有的容忍度差。为了建模这个信息,文中将用户历史浏览的query-item序列过大模型得到历史相关性偏好,然后用当前query检索历史相似query(主要基于attention的结构进行建模),看在这些历史相似query下用户对于相关性的敏感度是什么样的,得到一个个性化的相关性敏感分。这个分会和上述主模型的预估结果相乘,得到最终的预测结果。
3.实验效果
通过离线相关性、点击率AUC的评估,以及在线AUC的评估,本文提出的方法都取得了一定的效果提升。
本文转载自圆圆的算法笔记,作者:Fareise
