博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
春风十里,不如淘宝遇见你——浸润深度学习的淘宝智能搜索
阅读量:6427 次
发布时间:2019-06-23

本文共 1775 字,大约阅读时间需要 5 分钟。

以下内容根据演讲PPT及现场分享整理。
d6e3c9e385c85fa4091dba0503fe0d08fe4632b4
淘宝搜索相当于带有Query的推荐系统,不同于网页搜索,每天都会面临大量的数据信息,想要从上千万的相关商品中挑出与用户更匹配的商品,提高流量效率(点击率、转化率相关指标),解决更加重要更加复杂的排序问题,需要利用个性化的技术。这些年里,淘宝在电商搜索领域里做了许多尝试,对大数据和机器学习进行了探索。
探索期:质的转变
eb4571518df9a4647b92ad0cfd1e0cb861275791
早期,淘宝排序是基于销量、下架时间等规则的排序,需要人工进行排序,这种排序很大程度上依赖人的经验,有时会出现人为性错误,因此需要应用机器学习的技术来代替人工。一开始淘宝搜索采用了MPI和 Hadoop,MPI是一种基于分布式算法的跨语言通讯协议,Hadoop是一种离线存储数据、处理数据的平台。通过使用线性回归模型和非线性的GDBT基础模型等模型,预测每一个商品的效率,即每个商品的点击率和转化率,把效率高的商品提到前面,从而提升整个平台的效率。在得到很多模型之后,会根据Learning to Rank的算法,把这些模型最终融合成一个分数,表示为商品的综合效率分,最后将分数从上到下进行排序。
发展期:由内而外
ad8e5545fea971b321b5a9a46f936d66ff3ca4b4
用户的兴趣在不同时段可能发生变化,商品由于上架、下架、流行或不流行等因素会产生更大的变化,之前的离线模型从产生到被使用需要一定的时间差,因此不能达到一定的时效性,无法满足用户的需求。淘宝的智能搜索需要在线学习,将用户的每一个数据实时地流入到训练系统当中,因而采用了Porsche和Igraph两个框架。Porsche是一种分布式的在线参数服务器,将用户数据流入然后对模型进行更新,Igraph是一种分布式的图计算平台,能够比较好地处理用户与商品的关系数据。使用在线学习,需要一些新的模型,例如FTRL、Online MF等,收益往往来自于大促场景。
突破期:由浅入深
c09bfbc3a4d37b3f18a5f40665d40c2fb808bf58
随着排序的要求更加复杂,模型的发展遇到瓶颈,浅层模型对离线、在线的指标提升形成阻碍,从而引入了深度模型。Blink平台支持TensorFlow的大多数操作,在TensorFlow的基础上做出了很多底层优化,AI4B是基于java开发的平台,有助于更方便的代码编辑和开发。
深度用户认知网络的原理机制
运用个性化技术需要考虑怎样认识一个用户和怎样根据用户进行相关的推荐或排序两个问题,在认识用户方面,传统的两个方法是用户画像(根据用户基本信息进行推荐)和协同过滤(根据点击的商品来表示用户),往往两种方法的准确性比较低。淘宝采用了深度用户认知网络,通过多任务学习得到一个用户的通用表达。
47299c716b62484967c4c2747714276f6dbaaea6
深度用户认知网络从整体上看,分为根据用户的行为得到用户的表达和根据用户的表达对用户以后的行为进行预估两个部分,具体的网络结构分为商品embedding、Session-based RNN、Query attention、User representaion和Multi-task learning五层。输入是用户在淘宝上的所有行为,包括搜索、点击、成交等行为。
38f3b4581a922dc12df18520cfda51ebb0091826
用户在淘宝上的每一个行为都对应一个商品,如何认识一个商品成为最基础的部分。商品embedding将商品的ID、图片、文本、卖家标签等多种异构属性进行融合成为一个信息。
在得到一个商品的表达之后,用Session-based RNN将商品的各种表达串联起来,即把用户的各种行为串联起来去表现一个用户。
33b1d5eb57e6f0178f82a9d3a93926e9b4a365d4
Query attention的目的是确定哪种行为是重要的。在用户输入一个Query时,并不是每一个行为都同等重要,Query attention可以根据用户输入的Query以及用户本身的信息自动识别用户行为序列中重要的行为,再将重要的行为重新整合为当前的用户,此时得到一个真正的用户表达。
4d77756b72e2de0c419d3c0716016c5d758415f0
为了使用户的表达具有基础性和可移植性,需要一个多目标学习结构。多目标学习使得每一个目标学习的效果都比单目标学习的效果好,多目标相互之间不会形成阻碍;各个模型通过共享,无需为每一个模型都提供一个很大的网络,减缓了对在线性能和存储带来压力。
深度学习算法应用
f708f255be73003c20cff9a638f0ff08297ea0df
深度学习应用广泛,不仅仅表现在深度用户认知网络,还可以应用在排序、query理解、强化学习、优化算法、决策与商业化和前沿探索(语音、图像、内容生成)等多种场景。
本文由云栖社区志愿者小组丁匀泰整理。编辑:郭雪梅。

转载地址:http://sefga.baihongyu.com/

你可能感兴趣的文章
Yii2 项目优化小贴士
查看>>
UIScrollView的判断位置的属性如下:
查看>>
Applicatin Loader上传app步骤记录
查看>>
两种方法修改table表的内容
查看>>
张小龙莫慌 马化腾莫急 你们要好好的 微信还有时间
查看>>
一些常用软件静默安装参数(nsis,msi,InstallShield ,Inno)
查看>>
部署mimic版本的Ceph分布式存储系统
查看>>
这是一段关乎你的代码:你的未来 我们正在参与
查看>>
【Postgresql】postgresql9.3.9版本部署
查看>>
zip压缩工具 tar打包打包并压缩
查看>>
Linux基础知识之linux相关介绍
查看>>
DHCP自动分配地址;DHCP给指定的客户端分配指定的IP地址;
查看>>
python数据分析库pandas
查看>>
简单介绍linux中的shell脚本
查看>>
Linux中 LVS 的介绍
查看>>
用户、组和权限
查看>>
HTTPD常用配置
查看>>
混合多系统虚拟网卡核间中断实现
查看>>
JDK Unsafe 源码完全注释
查看>>
CodeMix入门基础知识
查看>>