搜索引擎主题模型优化(京东部署DPSR搜索推荐系统框架(onlineserving):使用的是itemtower,导出item的embedding构建QP索引 )

优采云 发布时间: 2021-12-22 05:21

  搜索引擎主题模型优化(京东部署DPSR搜索推荐系统框架(onlineserving):使用的是itemtower,导出item的embedding构建QP索引

)

  DPSR是京东在SIGIR2020上发表的一篇论文。是京东在搜索推荐系统领域实践经验的总结。京东自2019年开始部署DPSR搜索推荐系统框架,整体网络结构如下:

  

  整体来看,离线模型是一个双塔模型结构,query和item各有一个模型塔。

  查询端:包括查询令牌、*敏*感*词*、用户历史事件等功能。

  物品端:包括称号代币、品牌、品类、shopid等特征。

  离线索引(offline indexing):使用item塔,导出item的embedding来构建QP索引。

  在线服务:使用Query Tower,Query Embedding实时计算,模型加载到tensorflow服务,TopK Item在线召回。

  整个模型并不复杂。现在很多搜索推荐的recall算法都有类似的思路,就是将用户和个性化信息作为一个塔,将item信息作为另一个塔,然后通过多层感知器进行训练和建模。最后,计算相似度并排序召回。

  模型的最终公式如下:

  f(q,s)=G(Q(q),S(s))

  Q(q)∈Rd×m表示query的embedding

  S(s)∈Rd×m表示sku的embedding

  G表示评分计算函数,如内积或余弦相似度等,随场景的变化而变化。

  乍一看,它看起来与 DSSM 双塔模型非常相似。的确,都是双塔模型,但细节上还是有很大的不同:

  1.基于多头的查询塔

  2.基于注意力的损失函数

  3. 设计了一种不同的负采样方法。

  4.DPSR构建个性化在线语义回忆模型

  【基于多头的查询塔】

  在查询塔层面,不仅使用查询单维来构造Embedding向量,因为从实验来看,单查询维度建模效果不是很好,比如我们在查询理解中提到了一个案例文章文章(Query=Apple,可以是手机,也可以是水果。虽然查询文字相同,但代表的意思不同)。

  因此,在该模型中,提出了多头查询塔。不同的head可以捕获查询的不同语义、品牌、属性等,使用多个mlps从不同维度对查询的塔进行建模。

  

  【基于注意力的损失函数】

  基于多头的查询可以训练多个不同维度的embedding,并用item的embedding进行计算和打分。模型使用attention loss进行优化,r(qi,si+)为正样本,r(qi,si-)为负样本,模型优化后的loss可以表示为:

  公式如下:

  

  【设计了不同的负采样方法】

  为了在搜索场景中构建正负样本,大多数模型都是基于弱监督数据,例如用户的点击日志。多个项目在同一个查询词下公开。如果点击是正样本,如果没有点击是负样本,但实际上这种方法在电子商务领域存在一些问题,而且容易引入坏案例,因为有很多噪声数据实际的点击行为,和点击不一定是强相关的。例如,搜索“手机”显示苹果、华为、小米手机。不能说未点击的产品是不相关的产品。

  因此,该模型提出了一种混合负采样方法,即随机负例(global random)和批负例(batch random)的混合负采样,使用一组超参数来调整两者的比例。全局随机性服从一定的特定分布,而批量随机性是基于项目点击的频率,最后通过人工监督进行修正。

  

  上图是超参数调整的实验结果。发现随机负数越多,召回产品的受欢迎程度越高,用户点击下单的吸引力越大,但会降低产品与搜索查询的相关性。

  【DPSR构建了个性化语义回忆模型】

  在上述三种模型设计方案中,基于构建的用户画像和物品画像,利用收录56亿次对话的亿级60天用户点击日志数据集训练个性化语义回忆模型。

  模型在很多方面做了优化,比如:

  1.通过训练数据压缩,修改训练数据格式,将共享的特征数据加载到内存中,在训练中进行扩展,减少数据存储;

  2. 可扩展和分布式,拆分大嵌入,在ps中汇总解决带宽瓶颈;

  3. 模型分片部署,可支持数百个模型同时服务或A/B实验;

  总的来说,模型效果不错,整体效果如下:

  

  DPSR在语义层面和个性化层面做了很多尝试,在工业级搜索引擎的实际召回过程中仍然具有很强的参考意义。

  论文地址:有兴趣的朋友可以下来看看。

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线