淘宝推荐系统的学习

标签: 产品经理 推荐系统 淘宝 | 发表时间:2012-11-06 12:39 | 作者:标点符
出处:http://www.biaodianfu.com

一、推荐系统概念

1、推荐系统定义

维基百科:推荐系统属于资讯过滤的一种应用。推荐系统能够将可能受喜好的资讯或实物(例如:电影、电视节目、音乐、书籍、新闻、图片、网页)推荐给使用者。

推荐系统大体可分为两类,即个性化推荐和非个性化推荐。

2、推荐系统作用

从用户角度:

  • 提高用户忠诚度
  • 帮助用户快速找到商品

从网站角度:

  • 提高网站交叉销售能力
  • 提高成交转化率

好的推荐系统更像一个有经验的网站导购员

3、推荐系统与其他系统的区别

推荐与搜索

相同点:帮助用户找到商品

不同点:搜索是通过用户主动输入的关键字进行查询。推荐则是用户在浏览网站的过程中,不一定需要用户输入,根据当前网页的上下文进行个性化的信息输出。

推荐与广告

相同点:基于用户行为

不同点:广告目的是帮助商家推广商品等,推荐系统帮助用户找到想要的商品等。

推荐与SNS

相同点:它们都有基于人群的共同点产生推荐

不同点:一个是机器,一个是人工

4、推荐系统的主要产品

  • 同类或者相关商品、店铺推荐
  • 买了还买、看来还看等
  • 猜你喜欢
  • 群体信息披露
  • 热门排行榜
  • etc

二、推荐系统的组成

1、数据

  • explicit(显式):能准确的反应用户对物品的真实喜好,但需要用户付出额外的代价。如:用户收藏、用户评价。
  • Implicit(隐式):通过一些分析和处理,才能反映用户的喜好,只是数据不是很精确,有些行为的分析存在较大的噪音。如:用户浏览、用户页面停留时间、访问次数。

2、算法

  • 离线:用户类目偏好、用户购买力分析、关联性分析、相似矩阵计算等等
  • 在线:排序、过滤、增量计算

算法需要配合大量业务规则,没有最好,只有更好!

3、消息系统

消息系统是大型系统不可或缺的重要组成部分,与其他系统解耦,消息转发。

4、搜索引擎

主要功能是进行文本分析抽取关键词,作为推荐系统的一个信息检索技术内容相关性匹配。

5、NoSQL

简单、高性能、方便定制

6、分布式计算

使用MapReduce , Hive、Hadoop进行大规模数据统计和运算和大数据集合的ETL

三、淘宝的推荐系统

1、淘宝数据特点

  • 数据量巨大:数百万店铺、数亿激活用户、数亿的在线商品、数十亿的收藏信息…
  • 商品问题:同一类商品多个卖家、标类非标类、类目属性正确性、恶意收藏、刷信誉…

2、淘宝推荐系统应用场景

目前覆盖大小场景60多个,主要包括

  • Detail 浏览了还浏览
  • 收藏夹弹出层推荐
  • 购物车弹出层推荐
  • 已买到宝贝你可能感兴趣
  • 淘宝无线应用
  • EDM(重复购买提醒)
  • 各个垂直频道
  • 个性化list排序
  • 开放平台api

淘宝业务产品丰富,推荐功能穿插其中,推荐功能涵盖的范围更广,很多场景推荐算法与业务规则相关。

3、淘宝推荐系统算法

①基础算法:聚类算法,预测算法,分类算法等,主要用于产生基础知识库

  • 预测算法:logistic 回归,通过以点击率为目标,以商品,卖家等因素作为指标,建立预测模型构建淘宝优质宝贝库
  • 分类算法:朴素贝叶斯,商品性别判断(男性,女性,中性),用户性别判断
  • 聚类算法:人群,用户细分,用于降维

②推荐算法:content-based,collaborative-based,Association Rules等等

基于内容推荐:通过给用户和商品标注Tag,通过内容匹配算法,推荐商品给用户

  • 优点:简单,搜索引擎支持,解决部分冷启动问题
  • 缺点:难以区分商品信息的品质,而且不能为用户发现新的感兴趣的商品,只能发现和用户已有兴趣相似的商品

协同思想

  • 优点:新奇特,个性化程度高
  • 缺点:冷启动,稀疏性

关联规则:类目的相关性、商品相关性、人的相关性

4、推荐系统的效果评测

  • Offline: 给定输入输出,验证系统的输出
  • Online : ABTest (衡量指标:CTR GMV 转换率)

5、淘宝推荐系统的设计

  • 提供统一的平台管理各个推荐模块
  • 提供高性能分布式存储
  • 提供算法的AbTest和效果统计
  • 提供灵活算法配置

①   分布是存储:Treasure

  • 存储云梯(hadoop)上对用户、商品等原始数据分析的结果
  • 云梯周期性同步,无实时更新
  • 为推荐系统提供ABTest存储支持
  • 可直接存储部分推荐算法的结果供推荐使用
  • 动态部署

②调度系统

  • 负责周期性云梯(hadoop)任务调度
  • 分布式
  • 生产者 消费者

③协调系统

  • Zookeeper集群
  • 智能路由
  • 线上与线下联动通知
  • Job依赖通知

总结:推荐系统是需要不断创新并且与场景和行业有事紧密的关系

Related posts:

  1. 使用DNSPod来处理网站的均衡负载
  2. 推荐算法Slope One初探
  3. PPC竞价管理系统设计初探

相关 [淘宝 推荐系统 学习] 推荐:

淘宝推荐系统的学习

- - 标点符
维基百科:推荐系统属于资讯过滤的一种应用. 推荐系统能够将可能受喜好的资讯或实物(例如:电影、电视节目、音乐、书籍、新闻、图片、网页)推荐给使用者. 推荐系统大体可分为两类,即个性化推荐和非个性化推荐. 好的推荐系统更像一个有经验的网站导购员. 不同点:搜索是通过用户主动输入的关键字进行查询. 推荐则是用户在浏览网站的过程中,不一定需要用户输入,根据当前网页的上下文进行个性化的信息输出.

推荐系统的学习笔记

- - CSDN博客综合推荐文章
一直以来对推荐系统的学习和理解来自一些机器学习书中简单介绍(如《集体智慧编程》和《机器学习实战》)和自己网上搜的一些资料. 而当被问及对推荐系统的改进和理解,发现自己对推荐系统所知甚少,除了知道几个常用的算法外,根本没有更深入的理解,更别提改进了. 本篇博客为学习《推荐系统》一书的读书笔记,记录了常见的推荐算法和其思想.

基于增强学习的旅行计划推荐系统

- - 标点符
推荐系统是一种智能化电子商务应用,可以协助用户搜索信息,为用户提供个性化的产品推荐. 旅游推荐系统的目的是支持旅行者在旅游前和旅游中面临的重要旅行规划决定. 此类系统明确(通过问)或暗示(通过挖掘用户的在线活动日志)获取用户需求,并提供各种产品和服务,如前往目的地、兴趣点、事件或活动. 近年来,研究者设计了很多旅游推荐系统,某些已经运行于主要的旅游门户网站.

大数据/数据挖掘/推荐系统/机器学习相关资源

- - 互联网分析沙龙
Share my personal resources,本文贡献者为Zhe Yu. 各种书~各种ppt~更新中~ http://pan.baidu.com/s/1EaLnZ. 机器学习经典书籍小结 http://www.cnblogs.com/snake-hand/archive/2013/06/10/3131145.html.

想学习推荐系统,如何从小白成为高手? - 知乎

- -
同在学习推荐算法,大概介绍一下我自己规划的推荐算法学习轨迹(还在慢慢实践中,好长时间了,捂脸...). 首先,看完了推荐系统实战的话,应该大概了解了大部分的推荐算法. 那我觉得看完了书,应该有必要再从宏观上再来了解一下推荐系统这个研究领域的研究现状,包括研究领域目前有的挑战,比如冷启动问题,大规模矩阵分解问题,增量模型计算问题等等,包括目前热门的研究方向,比如基于LBS、社交网络等等的推荐.

LibRec 2.0.0 正式版发布: 基于机器学习的大数据推荐系统

- - 开源中国社区最新新闻
LibRec: 基于机器学习的大数据推荐系统. LibRec 是领先的推荐系统Java开源算法工具库,覆盖了70余个各类型推荐算法,有效解决评分预测和物品推荐两大关键的推荐问题. 推荐系统是机器学习和大数据技术的经典实际应用,旨在提供高效准确的个性化物品推荐,是现代Web应用的重要组件. 项目结构清晰,代码风格良好,测试充分,注释与手册完善.

Min-Hash和推荐系统

- - xlvector - Recommender System
前几年看Google News Recommendation的那篇Paper,对里面提到的MinHash的算法基本没有注意,因为之前的习惯都是只注意论文的模型那块,至于怎么优化模型一般都只是扫一眼. 不过最近看了大量的Google Paper,发现Google在实现一个算法方面确实有很多独到之处. 其实,Min-Hash是LSH(Locality Sensitive Hash)的一种,我之前对LSH的了解仅仅限于知道它能把两个相似的东西Hash成两个汉明距离接近的2进制数.

推荐系统实战

- - 博客园_首页
推荐算法:基于特征的推荐算法. 推荐算法准确度度量公式:. 其中,R(u)表示对用户推荐的N个物品,T(u)表示用户u在测试集上喜欢的物品集合. 集合相似度度量公式(N维向量的距离度量公式):. 其中,N(u)表示用户u有过正反馈的物品集合. 其中,S(u,k)表示和用户u兴趣最接近的K个用户集合;N(i)表示对物品i有过正反馈的用户集合;w(u,v)表示用户u和用户v的兴趣相似度;r(v,i)表示用户v对物品i的兴趣.

推荐系统杂谈

- - 后端技术杂谈 | 飒然Hang
推荐系统是近些年非常火的技术,不管是电商类软件还是新闻类app,都号称有精准的推荐系统能给你推送你最感兴趣的内容. 现象级的资讯类app“今日头条”就得益于此成为了势头非常猛的一款产品. 本文就针对推荐系统讲述一些相关概念和实践经验. 首先需要明确的就是推荐系统的目标,一般来说不外乎以下几个:. 用户满意性:首当其冲的,推荐系统主要就是为了满足用户的需求,因此准确率是评判一个推荐系统好坏的最关键指标.

淘宝商品库MySQL优化实践的学习

- - 标点符
淘宝商品库是淘宝网最核心的数据库之一,采用MySQL主备集群的架构,特点是数据量大且增长速度快,读多写少,对安全性要求高,并发请求高. 由于MySQL最初的设计不是用来存储大规模数据的,但淘宝的数据量非常惊人,所以在I/O方面,尤其是CPU I/O层面会有很大瓶颈,因此淘宝的主要目标也是解决IO方面的瓶颈问题.