DPSR是京东发表于SIGIR2020 的paper,是京东在搜索推荐系统领域的实践经验总结,京东自2019年起就开始部署DPSR搜索推荐系统框架,总体网络结构如下:

从整体看,离线模型是一个双塔模型结构,query 和 item 分别有一个 model tower。
Query 端:包括query tokens、user profile、user history events 等特征。
item端:包括title tokens、brand、category、shopid 等特征。
离线索引(offline indexing):使用的是item tower,导出item的embedding 构建 QP 索引。
在线服务(online serving):使用的是query tower,实时计算Query Embedding,模型加载在tensorflow service,在线召回 TopK Item。

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

模型最终公式如下:

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

Q(q)∈Rd×m 表示query的embedding
S(s)∈Rd×m 表示sku的embedding
G 表示打分计算函数,比如内积或者余弦相似度等,具体跟随场景的变化而变化。

乍一看,和DSSM双塔模型很像,有木有?确实,都是双塔模型,但细节方面还是有很大不同:

1.基于multi-heads的query tower

2.基于attention的损失函数

3.设计了不一样负采样方法

4.DPSR构建了个性化的在线语义召回模型

【基于multi-heads的query tower】

在query tower这个层面,不单单使用query单个维度去构建Embedding向量,因为从实验来看,单query维度建模效果不是很好,例如我们在query理解那篇文章提到的一个案例(query=苹果,可以是手机,也可以是水果,虽然query文本相同,但代表的意思不同)。

所以在此模型中,就提出了一种multi-heads的query tower,不同的head可以捕获query不同的语义、品牌、属性等,用多个mlp从不同维度建模query的tower

【基于attention的损失函数】

基于muti-head的query可以训练出多个不同维度Embedding,并将其与item的Embedding计算打分。模型采用了attention loss做优化,r(qi,si+) 为正样本,r(qi,si-) 为负样本,模型优化的 loss 可表示为:

公式如下:

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

在搜索场景构建正负样本,大多数模型都是基于用户的点击日志这种弱监督数据,同query词下曝光了多个item,点击了为正样本,未点击则是负样本,但其实这种方式对于电商领域来讲存在一些问题,容易引入bad case,因为实际点击行为中,存在很多噪声数据,并且点击了也不一定是强相关的。举个例子搜索“手机”,展示了苹果、华为、小米手机,不能说未点击就是不相关商品。

所以此模型提出一种混合的负采样方式,即random negatives(全局的随机)和batch negatives(batch的随机)的混合负采样,使用了一组超参来调整两者的比例。全局随机服从某种特定分布,而batch的随机则是根据item的点击频次进行采样,最后通过人工监督的方式进行修正。

上图是超参比例调整的实验结果,发现random negatives越多,召回商品的popularity越高,更能吸引用户点击下单,但会降低商品与检索query的相关性。

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

在以上3点的模型设计方案上,基于构建的用户画像和物品画像,使用亿级别的60天用户点击日志的数据集,其中包含56亿个会话,训练个性化语义召回模型。

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

1.通过 训练数据压缩,修改训练数据格式,把共用的特征数据加载内存,训练时展开从而降低数据存储;
2. 可伸缩分布式,切分大的 embedding,并将 sum up 放到 ps 以解决带宽瓶颈;
3. 模型分片部署,可以支持上百个模型同时服务或者 A/B 实验;

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

DPSR在语义层面、个性化层面做了很多尝试,在实际的工业级搜索引擎的召回过程中还是有很强的借鉴意义。

paper地址:https://arxiv.org/pdf/2006.02282.pdf,有兴趣的小伙伴可以下来看看哈。


最后欢迎关注同名微信公众号:药老算法(yaolaosuanfa),带你领略搜索、推荐等数据挖掘算法魅力。

深入理解搜索引擎——基于DPSR的个性化召回模型相关推荐

  1. 深入理解搜索引擎-搜索召回

    ​你有没有想过,当我们在搜索框中输入关键词时,搜索引擎是如何确定返回哪些内容给你的?搜索引擎底层有一个巨大的索引库,返回的搜索结果跟你输入的关键词又有什么关系?今天我们就来讲讲搜索引擎中的召回. 召回 ...

  2. CIKM 2021 | Deep Retrieval:字节跳动深度召回模型论文精读

    ©作者 | 杰尼小子 单位 | 字节跳动 研究方向 | 推荐算法 文章动机/出发点 这是一篇字节跳动发表在 CIKM 2021 的论文,这一项工作在字节很多业务都上线了,效果很不错.但是这篇文章整体读 ...

  3. 深度召回模型在QQ看点推荐中的应用实践

    导语:最近几年来,深度学习在推荐系统领域中取得了不少成果,相比传统的推荐方法,深度学习有着自己独到的优势.我们团队在QQ看点的图文推荐中也尝试了一些深度学习方法,积累了一些经验.本文主要介绍了一种用于 ...

  4. 深入浅出理解神经网络召回模型的优势

    手机中的 App 每天为用户提供海量的信息和资讯,而个性化的推荐方式犹如一条准绳,把用户的兴趣点和期待感与平台串联,迅速优化用户体验. 神策推荐作为一款基于用户行为分析的全流程智能推荐产品,在提升用户 ...

  5. AIRec个性化推荐召回模型调参实战

    简介:本文是<AIRec个性化推荐召回模型调参实战(电商.内容社区为例)>的视频分享精华总结,主要由阿里巴巴的产品专家栀露向大家分享AIRec个性化推荐召回模型以及针对这些召回模型在电商和 ...

  6. 深入理解搜索引擎——搜索评价指标

    搜索引擎,在做好query理解.索引召回以及排序模型之后,就能直接推上线了吗?答案是否定的,还需对其性能和质量进行评测.性能无非是对时间和空间的运行效率作评测,不细讲,今天讲讲搜索引擎的质量评测.通过 ...

  7. 基于机器学习的个性化推荐算法的研究

    基于 机器学习 的个性化推荐算法的研究 摘要: 如今互联网发展 十分迅速,每天产生的数据量一直在增加,传统的搜索引擎已经不能够适用当前的需求,推荐系统已经成为互联网时代的新宠儿.它已经发展成为一门跨学 ...

  8. 毕业设计分享----基于Java的个性化博客空间的设计与实现

    一.大宇想说的话 大宇大学毕业已经四个月了,这四个月有懒惰的时候,有努力的时候.回首自己走过的路,只有毕业设计最能浓缩我的所学.我早就有这个打算:把自己的毕业设计与大家分享,但一直没有用行动落实.这个 ...

  9. 个性化推荐系统--个性化召回算法总结与评估方法的介绍(6-1)

    一.个性化召回算法的总结 这里会将之前介绍过的几种算法进行归类,并简短介绍每一种个性化召回算法的核心原理:同时演示工业界中多种召回算法共存的架构. 下面看一下之前讲过的个性化召回算法的分类: 1. 基 ...

最新文章

  1. mysql备份psb文件怎么打开_Navicat for MySQL 数据备份教程
  2. F2etest+UIRecorder(录制脚本)【2】
  3. XNA or Silverlight for Windows Phone 7 game
  4. docker 厂商 容器_疫情期间,Docker让运维人员雪上加霜
  5. 什么是数据治理的方法论
  6. 中小型网站集群拓扑图
  7. 二十二、K8s集群设置4-网络策略与校验和
  8. 朴素贝叶斯:拉普拉斯修正
  9. 【光学】基于matlab光栅衍射仿真【含Matlab源码 502期】
  10. 完美C语言通讯录(含代码)
  11. tumblr_如何制作私人Tumblr博客
  12. 华为业绩发布会:5G产品和供货没有受到“实体清单”影响
  13. c语言数字大小32768,c语言中int(2byte)的表示范围是为什么是-32768~32767!
  14. 在Vue中同时使用过渡和动画
  15. 深度推荐模型 -NFM
  16. 文献阅读---多年生黑麦草种质中与耐热性相关的生理性状、分子标记和叶绿素分解代谢基因的自然变异
  17. 李子柒130个视频1万图片5万颜色数据可视化的背后,是古柳三年的念念不忘
  18. 拿了“普通女生”的人生剧本,可以不普通吗?
  19. mysql重新设置主键生成策略为auto_increment时报错:resulting in duplicate entry '1' for key 'PRIMARY'
  20. 荣威r5新性能服务器,用实力诠释国潮 荣威RX5 PLUS性能分析抢先看

热门文章

  1. 并购百草味只是开始,好想你或将再创一个“好想你”
  2. Postman --- 环境切换
  3. 卡巴斯基 | 全球地区范围网络安全威胁实时数据显示地图
  4. 科技人文丨玻璃心:承受阈值与表达
  5. webgl-矩阵、旋转、平移、缩放 glMatrix组件
  6. 古希腊神话故事:海妖塞壬
  7. 年末送好礼!100张鼠标垫拿来吧你!
  8. 静态类型/动态类型/强类型/弱类型
  9. 程序员放松的9个好网站推荐
  10. pygame加载obj 重新绘制