潮白河社区网

潮白河社区
北三县区域最大的社区服务网站!
查看: 1140|跟帖: 0
打印 上一主题 下一主题

[IT技术] 分享 推荐系统 的架构

[复制链接]

1545

主题

3923

帖子

4301

潮白币

站长

Rank: 9

UID
1
积分
24458

优秀版主最佳新人

会员类型
业主
小区名称
温莎郡
小区楼号
10号楼 1单元
跳转到指定楼层
楼主
发表于 2014-10-11 14:55:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      本文从互联网收集并整理了推荐系统的架构,其中包括一些大公司的推荐系统框架(数据流存储、计算、模型应用),可以参考这些资料,取长补短,最后根据自己的业务需求,技术选型来设计相应的框架。后续持续更新并收集。。。http://fj.chaobaihe.net 潮白河点评网

http://news.chaobaihe.net 潮白新闻网
      图1

http://house.chaobaihe.net 潮白房产网       界面UI那一块包含3块东西:1) 通过一定方式展示推荐物品(物品标题、缩略图、简介等);2) 给的推荐理由;3) 数据反馈改进个性化推荐;关于用户数据的存放地方:1)数据库/缓存用来实时取数据;2) hdfs文件上面;
http://house.chaobaihe.net 潮白房产网      抽象出来的三种推荐方式
http://bbs.chaobaihe.net 潮白河社区网
http://fj.chaobaihe.net 潮白河点评网
http://news.chaobaihe.net 潮白新闻网
http://house.chaobaihe.net 潮白房产网

http://news.chaobaihe.net 潮白新闻网
  图2      

http://bbs.chaobaihe.net 潮白河社区网本文章来源于潮白家园网: http://www.chaobaihe.net

http://house.chaobaihe.net 潮白房产网http://house.chaobaihe.net 潮白房产网
  图3

http://news.chaobaihe.net 潮白新闻网       图3中,推荐引擎的构建来源于不同的数据源(也就是用户的特征有很多种类,例如统计的、行为的、主题的)+不同的推荐模型算法,推荐引擎的架构可以试多样化的(实时推荐的+离线推荐的),然后融合推荐结果(人工规则+模型结果),融合方式多样的,有线性加权的或者切换式的等
本文章来源于潮白家园网: http://www.chaobaihe.net
http://news.chaobaihe.net 潮白新闻网
  图4
http://house.chaobaihe.net 潮白房产网
       图4中,A模块负责用户各类型特征的收集,B模块的相关表是根据图3中的推荐引擎来生成的,B模块的输出推荐结果用来C模块的输入,中间经过过滤模块(用户已经产生行为的物品,非候选物品,业务方提供的物品黑名单等),排名模块也根据预设定的推荐目标来制定,最后推荐解释的生成(这是可能是最容易忽视,但很关键的一环,微信的好友推荐游戏,这一解释已经胜过后台的算法作用了)
http://house.chaobaihe.net 潮白房产网      HULU的推荐系统
http://bbs.chaobaihe.net 潮白河社区网
      

http://bbs.chaobaihe.net 潮白河社区网       总结:这个也就跟图3有点类似了,葫芦的推荐系统,至少在他blog中写的比较简单。更多的是对推荐系统在线部分的一种描述,离线部分我猜想也是通过分布式计算或者不同的计算方式将算法产生的数据存储进入一种介质中,供推荐系统在线部分调用。系统的整个流程是这样的,首先获取用户的行为,包括(watch、subscribe、vote),这样行为会到后台获取show-show对应的推荐数据。同时这些行为也会产生对应的topic,系统也会根据topic到后台获取topic-show对应的推荐数据。两种数据进行混合,然后经过fliter、explanation、ranking这一系列过程,最后生成用户看到的推荐数据。http://news.chaobaihe.net 潮白新闻网
http://news.chaobaihe.net 潮白新闻网
     淘宝的推荐系统(详细跟简单版)http://house.chaobaihe.net 潮白房产网

http://news.chaobaihe.net 潮白新闻网
http://bbs.chaobaihe.net 潮白河社区网
http://fj.chaobaihe.net 潮白河点评网
       总结:淘宝的推荐系统,描述了推荐引擎搭建的整体架构,包括离线的分布式计算和存储、监控、数据统计和分析、实验平台等。给我们搭建推荐引擎提供了很好的建议。整体流程大致这样。通过后台的分布式计算,将算法产生的算法结果数据存储进入一种介质中,首推hbase。然后,通过一种叫做云梯的机制将算法结果推入中间层介质中,供推荐系统在线部分调用。在线部分提供引擎和实验分流,用户的行为将存储进入hadoop中,数据统计分析平台由hive来搭建,主要用来分析和统计hadoop中的用户行为log。这张图不仅讲了,推荐系统的架构流程,也讲了跟这个平台有关系的人,是怎么介入的,我觉得提供的信息可很好的参考。
本文章来源于潮白家园网: http://www.chaobaihe.net
http://bbs.chaobaihe.net 潮白河社区网    Netflix的推荐系统
http://news.chaobaihe.net 潮白新闻网

http://fj.chaobaihe.net 潮白河点评网       总结:netflix的推荐系统,描述了推荐引擎搭建的整体架构,采用了三种计算方式的结合。整体流程:用户通过UI产生事件跟行为,然后分发给离线(我理解的是按天存储)、近线存储(不提供历史,存储当天用户实时行为。不知道理解是否有误),离线的计算利用离线的数据建好模型供实时调用,近线的计算利用用户的实时行为计算得出规则供实时调用,最后在线的计算通过前两种方式来得到最终的推荐结果,关键问题,就是如何以无缝方式结合、管理在线和离线计算过程,当然找到这些要求之间恰当的平衡并不容易,需要深思熟虑的需求分析,细心的技术选择,战略性的推荐算法分解,最终才能为客户达成最佳的结果。http://house.chaobaihe.net 潮白房产网
优酷的推荐系统
http://news.chaobaihe.net 潮白新闻网

http://bbs.chaobaihe.net 潮白河社区网       备注:上图来至easyhadoop举办的技术沙龙中优酷数据挖掘工程师的演讲,有关详细信息请移步 http://virtual.51cto.com/exp/Hadoop_20130330/index.html#top。作者在演讲中讲的一些"干货"跟推荐议题是很有价值的,下图简单描述。本文章来源于潮白家园网: http://www.chaobaihe.net
模型前数据准备(理解数据源,用户,物品)
本文章来源于潮白家园网: http://www.chaobaihe.net本文章来源于潮白家园网: http://www.chaobaihe.net

http://bbs.chaobaihe.net 潮白河社区网
http://house.chaobaihe.net 潮白房产网http://fj.chaobaihe.net 潮白河点评网
模型策略http://house.chaobaihe.net 潮白房产网
http://bbs.chaobaihe.net 潮白河社区网
其他考虑的场景http://bbs.chaobaihe.net 潮白河社区网
http://bbs.chaobaihe.net 潮白河社区网

http://news.chaobaihe.net 潮白新闻网参考资料:推荐系统实践,互联网资料http://bbs.chaobaihe.net 潮白河社区网
http://fj.chaobaihe.net 潮白河点评网
http://news.chaobaihe.net 潮白新闻网
分享到: 0
关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表