2013-07-31 阿里技术嘉年华

作者:亦飞   (一淘及搜索事业部-搜索技术-算法技术-文本搜索技术)


如意淘商品推荐技术是由一淘搜索北京算法团队支持,去年8月份上线之初,PV点击率即高于数据平台部门(原技术支持方)的30%,经过半年左右的优化,PV点击率实现翻倍。

在项目的实施过程中,我们有以下两点体会:

1. 明确问题,即对问题建立合适的模型,特殊问题特殊解决,生搬硬套一些经典算法未必能获得最优效果

2. 数据比算法重要,大数据时代,把数据分析好、处理好,获得的收益很可能高于算法调优的收益,与其调整数据去适应那些经典算法,不如针对特定的数据设计特定的算法

对如意淘商品推荐技术的介绍,将分为2个部分:

1. 如意淘商品的基础推荐技术:对问题的建模与算法设计

2. 如意淘商品的高级推荐技术:Re-ranking、商品聚类与点击反馈

本文将介绍第1部分的工作,即如意淘商品的基础推荐技术。

一、问题描述

如意淘商品推荐的应用场景是:用户进入到淘宝商品详情页之后,如意淘插件会在页面左下方展现6个推荐商品,产品希望获得更多的用户主动点击。根据该应用场景,可以将问题描述为:

设用户正在浏览的商品为ItemA,需要找到ItemB,使得条件点击概率P(ItemB|ItemA)最大化

二、问题建模

根据条件概率的计算,可以得到:

P(ItemB|ItemA) = P(ItemA, ItemB)/P(ItemA)

分子与分母的含义如下:

分子:P(ItemA,ItemB)是点击了ItemA后又点击ItemB的概率

分母:P(ItemA)点击ItemA的概率

根据用户的搜索点击日志,分子和分母的概率值都可以估计出来,这里我们选择UV来进行估计(使用UV进行估计,可以比PV更有效地回避用户作弊问题),那么分子与分母的计算方式如下:

计算分子:P(ItemA,ItemB) = UV(ItemA,ItemB)/UV(All),其中UV(All)表示所有浏览商品详情页的用户数,UV(ItemA,ItemB)表示访问了ItemA后又访问ItemB的UV数,根据淘宝的搜索点击日志数据,可分为以下2种情况进行统计:

Case1:用户在ItemA的页面点击了ItemB,即店铺内的商品点击

Case2:用户搜索了一个query,在搜索结果页点击了ItemA后又点击了ItemB

计算分母:P(ItemA) = UV(ItemA)/UV(All),很直观,不需解释

通过上面的分析,可以得到下面的计算模型:

P(ItemB|ItemA) = UV(Case1 or Case2)/UV(ItemA),UV(All)无需计算

使用这个计算模型,我们就从淘宝的搜索点击日志中找出需要的ItemB,但该方法并不能覆盖所有的商品,即存在一些UV很低的商品,无法找到6个关联的商品。针对这种情况,我们采用搜索的方式进行推荐,即P(ItemB|ItemA) = P(ItemB|Term1,Term2,…,TermN),可分解为2个问题:

1. 将ItemA转化为一组查询词Term1, Term2, …, TermN,即对ItemA的标题进行分词,根据分词属性进行关键词提取

2. 以查询词为Query访问淘宝主搜索引擎,将返回结果作为推荐商品

有了这个方法,可基本覆盖所有的商品。

三、算法设计与实现

计算UV(Case1 or Case2)/UV(ItemA)

使用45天用户搜索点击日志,在Hadoop上进行计算,每天线下生成一份Key/Value字典,可覆盖每天PV的60+%,不再赘述。

计算P(ItemB|Term1,Term2,…,TermN)

关键词提取算法:

考虑AliWS的分词属性:产品词与品牌词

考虑Term的长度特征与doc数特征

考虑商品的性别特征:即女性商品不出男性商品

搜索请求串的设计:

查询词:使用关键词

类目限制:使用ItemA的商品类目

本文介绍的商品推荐技术,就是在如意淘商品推荐刚上线时采用的,2个人1周时间完成开发,PV点击率在上线当天即高于数据平台部门的30%,实现简单、有效、快速的解决问题。

微信名称:阿里技术嘉年华

微信号:alibabatech

简介:面向互联网行业全体工程师的技术交流盛会,分享实战技术,拜各路大神,听业界干货,享年度码农聚会!

如意淘商品推荐技术介绍之一:基础推荐相关推荐

  1. 淘宝关键词推荐技术介绍

    2013-08-19 阿里技术嘉年华 文/太紫 [导读]本文通过行业对比等角度分析了关键词推荐技术及工具,关键词推荐系统帮助广告主扩展选词思路,挖掘有价值的关键词,从而更好地提升产品的曝光,帮助广告主 ...

  2. ipsec VPN 技术介绍(基础篇一)

    1,什么是ipsec ipsec(Internet Protocol Security)是一直种实现vpn的技术之一,为IP网络提供安全和加密. (由于IP报文本身没有集成任何的安全特性,IP数据包在 ...

  3. 推荐系统中所使用的混合技术介绍

    from:http://blog.csdn.net/u010140338/article/details/45014307 推荐系统中所使用的混合技术介绍 在推荐系统实际运用中,各种混合技术是其中一项 ...

  4. 个性化智能推荐技术研究总结

    个性化智能推荐技术研究总结 随着网络与信息技术的飞速发展,互联网为用户提供越来越多的信息和服务,用户在得到便利的同时也不得不面临大量的垃圾信息和无意义数据,即所谓的信息超载问题.面对海量的网络资源,个 ...

  5. 推荐算法概述:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法

    "无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程." 所谓推 ...

  6. mahout 推荐算法 java_推荐系统之推荐算法实战:mahout推荐算法框架

    1.Mahout介绍 1.1概述 根据百度的解说,Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在 ...

  7. 每天超50亿推广流量、3亿商品展现,阿里妈妈的推荐技术有多牛?

    作者 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 随着深度学习.强化学习.知识图谱.AutoML 等 AI 技术出现更多突破,推荐系统领域的企业和开发者开始将这些技术与传统推荐算法 ...

  8. 推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展

    搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...

  9. 淘宝API接口:item_recommend - 获取推荐商品列表

    今天分享的是淘宝平台API,item_recommend - 获取推荐商品列表 天猫获取推荐商品列表 API 返回数据 点击注册测试地址(获取Key和secret) Request address: ...

  10. Swift 在手淘商品评价的技术重构与实践

    作者:王浙剑(柘剑) 手淘新版商品评价列表在经历一个半月的技术重构,几个月的迭代和放量,最终在 2021 年的双十一上,以 100% 的流量稳定的跑完了整个过程.我们不仅在业务上有了比较明确的提升,同 ...

最新文章

  1. [译]学习IPython进行交互式计算和数据可视化(四)
  2. 最清晰的讲解各种梯度下降法原理与Dropout
  3. 华为浏览器推荐关闭_用华为手机这5个功能要关掉,越早越好,不然你的手机会变的卡顿...
  4. 交通建模必学——经典瓶颈模型
  5. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.5 为跨年度的个人参赛选手构造记录...
  6. 网站优化 14条--雅虎十四条优化原则
  7. IOS 蓝牙开发(一)蓝牙协议基础知识
  8. C#点餐系统源码,在线订餐系统源码
  9. Python数据挖掘——概况
  10. linux登录界面配置、\etc\motd有趣的图案
  11. 电脑重装系统后usbcleaner怎么格式化u盘
  12. go语言中的try、catch、throw实现
  13. 清华大学MOOC《操作系统》第1讲:“操作系统概述”总结(转)
  14. [Java笔记]day15
  15. 秦的成功得益于崇拜制度和规则
  16. javbd(javalibrary)
  17. xutils3.0使用
  18. matlab 软判决,软判决和硬判决
  19. 金融IC卡 ARQC和ARPC计算方法和实例
  20. C# 数据操作系列 - 16 SqlSugar 完结篇

热门文章

  1. 给我一个支点,我要撬动地球。
  2. WDM驱动inf模板
  3. 软件体系结构期末复习资料
  4. matlab神经网络流程图,BP神经网络算法步骤.doc
  5. 关于电商行业网络安全解决方案
  6. 再见也是永别——告别即将消逝的雅虎邮箱
  7. 全新帝国CMS7.5大气科技感网站建设+网络公司网站源码
  8. c语言小球消砖块增加一行砖块,基于Unity的小球撞击砖块小游戏
  9. 什么是U盘量产工具?量产基本知识
  10. JAVA中ResourceBundle使用详解(一)