对于电商平台而言,商品搜索服务已经是人们日常购物中重中之重的服务了,商品的召回决定了搜索系统的质量。商品搜索需要从一个巨大的语料库中找到最相关的商品,同时还要保证个性化。目前很多论文都在探讨基于embedding的召回(EBR),这篇论文<Embedding-based Product Retrieval in Taobao Search>也不例外。EBR系统的表现主要受到搜索query和召回商品相关性,还有训练和预估不一致的影响。这篇论文就提出了一种多粒度的深度语义召回系统,保证了训练预估一致性,并使用softmax cross-entropy loss作为训练目标,使得最终召回效果更好,模型收敛速度更快。

MGDSPR

我们先看下淘宝商品搜索系统的全貌,每个环都是一个阶段:

我们可以看到retrieval阶段有亿级别的商品,通过我们的深度语义召回系统最终召回上万个相关商品。接下来开始介绍深度语义商品召回模型,我们有用户全集U={u1,u2,...,UN},还有query集合Q={q1, q2, ..., qN},同时还有商品集合I={i1, i2, ..., iM}。我们把用户历史行为序列参照时间区间分到3个子集,实时集合R = {i1, i2, ..., iT},短期集合 S = {i1, i2, ..., iT},长期集合L = {i1, i2, ..., iT},所以任务就是给定一个用户u的(R,S,L),以及query,返回top-K items:

用户塔:淘宝中的query多为中文,在切词后平均长度小于3,因此我们提出了多粒度的语义单元,从不同的语义粒度挖掘query含义,提升query的表达精度。给定一个query的切词q={w1, ..., wn}(e.g. {红色,连衣裙}),每个单词可以拆成字粒度w = {c1, ..., cm},同时我们还能拿到历史query qhis= {q1, ..., qk},所以我们可以得到6种粒度的表达:

Trm用的transformer,最后把6种粒度的embedding都concat在一起。

用户行为注意力机制: 用户历史点击购买的items,和每个item的side information,都可以通过embedding的方式将每个item都映射成固定长度的向量,这里我们用query与历史行为items做attention,找到相关items。对于实时集合,使用LSTM进行编码,然后套用个self-attention层,并在序列最前面加上0向量(以防历史行为没一个相关的),最后用一个attention操作获得最终embedding,如下公式所示:

对于短期行为使用多头self-attention,头部添加0向量,并计算attention:

对于长期行为(一个月内)而言,分别对点击,购买,加购集合进行mean pooling,再与query进行attention:

对长期行为的item的店铺,类目,品牌做同样的操作,最后把embeding进行sum pooling:

最后再把以上所有进行融合:

商品塔:商品塔只需要把itemID和标题进行融合得到最终embedding,如下式所示:

e表示商品embedding,wi表示标题切词,wt是转移矩阵。

综上整个模型如下所示:

论文分析到hing loss只能做local的比较,由此会产生预估与训练的diff,所以该文直接用softmax cross-entropy loss,定义如下:

实践中论文使用的sampled softmax。

因为存在很多噪音数据,导致query和商品完全不相关,所以论文在softmax函数引入了一个温度:

在样本上,需要构造强负例,本文提出的强负例构造方法是在样本空间中构造,给定训练样本(qu, i+, i-),i-是在样本池随机负采样,为了简化,i-在负样本池找到和qu点积最大的topN,并和i+进行融合成强负例,定义如下:

最终融合了强负例的softmax函数如下:

论文后面还有很多工程介绍,感兴趣可以参考原文。

实验

淘宝搜索中基于embedding的召回相关推荐

  1. 深度语义模型以及在淘宝搜索中的应用

    https://www.toutiao.com/a6685574319969403404/ 传统的搜索文本相关性模型,如BM25通常计算Query与Doc文本term匹配程度.由于Query与Doc之 ...

  2. 场景导购系列一:个性化服饰搭配在淘宝搜索的实践

    背景 日常生活中存在着各种各样的场景,比如参加晚会.海边度假.跑步.登山.垂钓等等.场景可以认为是在一些维度上相似的元素所构成的情境画面,不同场景会有不同的氛围.组成元素. 一些场景偏实用性,比如跑步 ...

  3. 聚划算影响淘宝搜索权重?客服:未接到通知

    12月22日消息,今日,微博签约自媒体吴蚊米透露,12月22日早上10点起,聚划算所有销量开始重新计入搜索权重.据其表示,该消息已得到小二的证实. 若消息无误,从今起,商家在聚划算产生的销量,可计入淘 ...

  4. 影响淘宝搜索排名因素大全

    1 一.上下架时间 这个在淘宝搜索中占有一定的权重,不过对于天猫影响不大,个人理解:淘宝卖货的,天猫是品牌塑造,所以不鼓励天猫商家精力耗费在小的技巧上面,要用心做产品和服务,而且现在淘宝也切断了天猫的 ...

  5. 浅谈淘宝搜索排序算法【转自淘宝搜索博客】

    浅谈淘宝搜索排序算法 作者:鬼脚七     前言:        目前网上有很多介绍淘宝搜索排序的文章,大多是淘宝卖家们根据自己经验摸索整理出来的,里面提到的很多办法也很正确.只是搜索排序算法不是固定 ...

  6. 【淘宝SEO】官方淘宝搜索排序算法浅析(鬼脚七)

    浅谈淘宝搜索排序算法 作者:鬼脚七(淘宝搜索技术团队负责人) 前言: 目前网上有很多介绍淘宝搜索排序的文章,大多是淘宝卖家们根据自己经验摸索整理出来的,里面提到的很多办法也很正确.只是搜索排序算法不是 ...

  7. 『优势特征知识蒸馏』在淘宝推荐中的应用

    作者 | Chilia 方向 | 哥伦比亚大学研究生 搜索推荐方向 整理 | NewBeeNLP 今天分享阿里的一篇将「目标蒸馏-logits方法」应用到推荐系统领域的论文, 其提出的蒸馏技术是工业界 ...

  8. 弘辽科技:淘宝搜索流量是什么意思?如何提升流量?

    在淘宝开店的商家应该都知道对于淘宝店铺来说流量非常重要,淘宝平台的流量其实是很多的,但是他根据获取的渠道不同流量的种类也不同,接下来给大家介绍一下淘宝搜索流量. 淘宝搜索流量是什么意思? 1.宝贝标题 ...

  9. 旺旺打标工具,淘宝搜索打标软件(含旺旺打标API接口)

    一.[旺旺打标工具,淘宝搜索打标软件]实现需求 指定的单品将会出现在手淘搜索首屏位置及淘内所有免fei流量入口位置. 二.[淘宝搜索打标]应用场景    使用淘宝搜索打标工具后,将宝贝推送到搜索页. ...

最新文章

  1. JIT Code Generation代码生成
  2. 闲谈嵌入式的复杂性2
  3. 统计学习方法笔记(二)-kd树原理及python实现
  4. vue pc端 商品轮播图_轮播图高点击商品图
  5. 浅谈Junit4和TestNG中的参数化测试
  6. 真实不装| 阿里巴巴新人上路指北
  7. matlab 思维数组_matlab多维数组
  8. 集成方法(随机森林)
  9. java构造函数_Java开发人员也会犯的十大错误
  10. 计算机二级-C语言-对标志位的巧妙使用。对二维数组数据进行处理。对文件进行数据输入。...
  11. PHP可变变量的简单使用
  12. Can you answer these queries? HDU 4027 线段树
  13. 显示器不亮电源灯闪_台式电脑显示屏不亮指示灯一直闪烁
  14. C# Application.DoEvents()事件
  15. redis创建集群,redis-trib.rb命令详解
  16. python如何导入datetime包
  17. 读易[12]·如何做好职业规划(乾卦)
  18. 一个基于igv.js实现的python脚本,实现简单的网页版IGV
  19. 任正非:外界过分吹捧华为,导致员工惰怠,华为必须保持清醒
  20. 服装企业ERP软件哪个公司好?施行服装ERP体系的要点是什么

热门文章

  1. html5相关笔记(一)
  2. 数据结构50:二分查找法(折半查找法)
  3. Linux - 系统资源
  4. 树莓派学习——音频视频播放
  5. Struts2+Spring传参
  6. 求旋转数组中的最小值
  7. 定制AjaxControlToolkit(1):使一个CalendarExtender对应N个TextBox
  8. [zz]一行代码解决iframe挂马(服务器端注入、客户端ARP注入等)
  9. python 元类的call_python3 全栈开发 - 内置函数补充, 反射, 元类,__str__,__del__,exec,type,__call__方法...
  10. 从零入门 FreeRTOS 操作系统之任务调度器