淘宝搜索中Query下拉推荐技术
作者:元宗 (一淘及搜索事业部-搜索技术-算法技术-主搜索与商城)
1. 什么是Query suggestion
Query下拉推荐是指搜索引擎系统根据用户当前的输入,自动提供一个Query候选列表供用户选择,Query下拉提示(Query suggestion)在搜索引擎和广告竞价平台中已经是标配的产品。Query suggestion可以帮助用户明确搜索意图,减少用户的输入并节约搜索时间,提高搜索体验有重要作用。各个搜索系统的下拉推荐的处理流程基本相同,下拉推荐不同主要体现在后台的query候选产生机制不同,下面介绍几种淘宝下拉推荐算法。
2. 基于PV的下拉推荐
最简单的下拉推荐是基于Query log中每个Query历史PV,这是最直观的下拉推荐算法,主要分三步进行
Offline部分
S1: 在海量Query log中,统计一段时间内每个Query的PV和点击数
Online部分
S1: 经过相似度计算,得到与用户输入 Query相似的候选Query集合
S2: 在相似的候选Query集合中,按照Query的 PV和点击数进行排序
这种方案简单易实现,但也存在如下问题
a. 对top Query的推荐解决较好,对于长尾Query,其相似的候选query可能从历史Querylog中挖掘不到
b. 候选Query语义相同问题,比如输入“连衣裙”,可能推荐“连衣裙女”和“连衣裙女款”两个候选Query,他们的语义基本相同,浪费了一个推荐位置
c. 推荐Query的质量问题,一些质量不高或者作弊Query,由于PV或者点击比较高而被推荐,使得一些质量高的Query没有机会推荐出来
3. 基于静态分的下拉推荐
为了改善上述单纯基于PV的问题,增加高质量Query的被推荐机会,增大下拉推荐中作弊的成本,改善推荐Query排序合理性,引入query静态分的概念,并用基于Query静态分的下拉推荐策略替代原来单纯基于PV的策略。那么什么是Query的静态分?
Query静态分是Query质量的综合指标,该指标拟合了Query各维度的知识:比如Query PV、IPV、UV、IUV、IPVUV、CTR、成交转化率、成交笔数、成交金额、召回商品数等。
将上述知识用logistic回归的方法拟合成一个实数,基于静态分的下拉推荐与基于PV的下拉推荐不同之处在于:
a. 离线部分计算每个Query的静态分
b. 在线部分,利用静态分而不是PV对候选Query进行排序,Query静态分不仅考虑了Query的历史PV/点击信息,而且考虑了Query的交易信息,使得交易行为良好的Query获得更多的展现机会,大大降低了低质量和作弊Query的展现概率。
4. 基于CTR预估的下拉推荐
基于静态分的算法解决了给予高质量候选Query以更多的展现机会和排序位置,但是这种算法与基于PV一样,主要依赖于历史Query自身的特征,搜索Query与候选Query之间的联系仅仅是两者的前缀相同。这种简单的动态特征没有将搜索Query与候选Query紧密的结合在一起,同时静态特征和动态特征的组合都是基于线性加权,每种特征的权重都是在BTS中调整得到的。为了解决两方面的问题,建立搜索词与候选Query的动态联系,这种联系通过CTR来表示。搜索词与候选Query关联性强,它的CTR就会高,反之则会比较低。
CTR预估模型
利用Logistic回归模型来预估Query的CTR,在模型中用到的特征如下
(1)搜索词与推荐Query(用表示)相关的特征;
(2)搜索词与推荐Query的类目相关特征;
(3)候选Query静态分相关特征;
(4)搜索(推荐)Query的词性特征;
(5)搜索(推荐)词对应的结果页面特征。
模型评估
MSE是比较实际值与预测之间的差异,差异值越小越好。
上述特征大部分都能够通过离线计算出来,线上按照通过得到的候选Query的CTR值进行排序。
5. 下拉推荐进阶
1)拼音搜索、拼音和汉字混合
2)拼写纠错与下拉提示
3)作弊Query清理
4)个性化下拉推荐
5)推荐丰富度和多样性
6)多维度推荐(数据规模、商品、买家、卖家、买家卖家握手)
6.1)数据规模维度:买家数量、卖家数量、商品数量;商品属性和类目数量
6.2)商品维度:商品描述角度:卖家经常会对商品进行个性化的描述,以便区别其他卖家并争取更多的曝光量和更好的价格;商品不同分类角度:除了商品所属的后台类目,还可以按照商品使用状态分为用过的,翻新的,珍藏的、有多新/旧;商品准入角度:有一些类目商品是禁止的,如arms,酒精、烟草
6.3)买家:买家类型(casual shopper, impulsive shopper,value-driven shopper, collector flippers)、买家年龄、性别、购买力、价格区间、对品牌是否在意
6.4)卖家:卖家的商品在哪些类目、好评率是否高、发货时间、描述是否属实
6.5)买家和卖家握手:买家和卖家习惯可能不同:买家搜索词和卖家标题、属性、描述可能不一致,如何解决不一致问题
提示:本文同步发布于微信号 {alibabatech}敬请关注。
您可能还对下面的文章感兴趣:
- Learning to rank在淘宝的应用 [2013-08-12 13:32:35]
- 从概念的角度审视一淘商品搜索的Online系统架构 [2013-08-08 23:30:13]
- 基于用户行为分析的搜索引擎自动性能评价 [2013-05-29 22:35:23]
- 垂直搜索新问题 [2012-09-20 13:48:29]
- 索引页链接补全机制的一种方法 [2012-08-17 13:20:11]
- 让搜索跨越语言的鸿沟——谈跨语言信息检索技术 [2012-06-19 23:56:24]
- 怎样用好Google进行搜索 [2012-04-15 16:05:01]
- 百度搜索URL参数解析 [2012-02-05 15:33:49]
- 百度解构第一季 - 理解用户搜索行为 [2012-01-03 23:35:01]
- 搜索背后的奥秘――浅谈语义主题计算 [2011-11-23 23:47:15]
- 简析搜索引擎中网络爬虫的搜索策略 [2011-07-30 21:23:53]
- 淘宝搜索:定向抓取网页技术漫谈 [2011-07-09 22:45:26]
- 附近地点搜索初探 [2011-06-20 13:46:22]
- 浅析视频搜索中的清晰度识别过程 [2011-06-01 23:59:26]
- 如何预测用户query意图 [2011-01-10 23:19:10]
- 从狄仁杰的测字占卜到一淘网的Query分析之大结局 [2011-01-05 22:26:37]
- Query Forwarding in Geographically Distributed Search Engines [2010-12-28 20:46:49]
- 百度这个公司 [2010-11-22 21:17:57]
- 几种常见的基于Lucene的开源搜索解决方案对比 [2010-11-21 19:52:27]
- 信息时代的双峰 [2010-10-31 20:16:18]
- 挑战邮箱搜索(续一) [2010-09-28 09:20:54]
- 挑战邮箱搜索 [2010-09-25 09:42:51]
- 用搜索的倒排轻松搞定“好友的文章”类相关推荐功能 [2010-09-06 08:46:04]
- 排头兵PHP中文分词,纯PHP版实现 [2010-08-05 09:52:57]
- 从细节看知识搜索 [2010-07-21 23:38:41]
- 用sphinx轻松搞定方便管理的多节点过亿级数据搜索 [2010-07-14 09:53:06]
- 用Sphinx快速搭建站内搜索功能 [2010-06-23 12:59:33]
- Xapian搜索体系结构 [2010-06-02 11:48:45]
- 搜索引擎停用词 [2010-04-06 13:51:08]
- 搜索引擎爬虫蜘蛛的USERAGENT收集 [2010-01-15 14:47:25]
- 搜索结果显示:栅格视图还是列表视图? [2009-12-18 15:41:07]
- 向搜索引擎举报作弊网站地址 [2009-11-20 21:03:31]
- 音乐搜索的极致 [2009-11-16 23:21:51]
- 关于音乐搜索 [2009-11-04 13:31:24]
- 整合搜索,阿拉丁,云计算,以及框计算 [2009-11-04 09:23:54]
- 互联网网站的反爬虫策略浅析 [2009-10-31 00:53:36]