推荐系统是一个综合性的系统,涉及到前段JS代码、推荐服务(Web网站)、推荐算法、大数据处理平台等;各个系统有依赖很多基础服务,调用关系非常复杂;在实际的开发过程中,每个模块都是由一个团队负责开发和维护的;本例期望通过一个猜你喜欢的案例梳理出推荐系统开发的一般流程。 课程目标- 了解推荐系统概念及整体架构
- 掌握推荐系统开发的整体流程
- 理解推荐系统之协同过滤算法及开发流程
- 动手实践
1、 推荐系统基础概念推荐本质上是商品售卖系统,和电商网站的目的一样,用来售卖商品。 电商网站商品的售卖,正常展示商品(平台想展示什么样品) 推荐系统,是根据用户的喜好,展示对应的商品,提高用户的下单率和转化率。 怎么计算的用户的喜好? 会收集用户的所有的行为信息(网站浏览信息、订单信息、关注信息、收藏商品、评论系统、外部信息(微博信息、联盟网站)),分析用户对某一类商品感兴趣(用户A:电子产品:10|用户A:生活家居:3),推荐喜好强度推荐相关品类的商品。 1) 用户行为收集模块(点击流模块、订单支付模块(AMQ)、用户中心、外部信息) 2) 使用大数据平台对信息(用户和商品)进行处理,得到用户偏好数据(用户喜欢什么类别) 3) 将偏好数据计算出来之后,导入到某一个算法进行计算(预测),得到推荐的结果。 4) 将推荐的结果导入到数据库(Redis、Hbase)中 5) 开发一个推荐引擎(Web网站),对外开放一些接口,输出推荐结果(通过JS代码展现给用户)。 数据收集模块: 点击流模块:flume+kafka+storm+redis 处理用户当前浏览的信息,将信息计算好之后,保存到redis。(比如用户对一个品类的偏好)。 订单支付(AMQ),开发一个消费者程序(storm、javaapp),用来计算用户的偏好 外部信息:通过爬虫技术爬去用户在社交网站的数据,进行账号的打通,关联账号 合作数据;比如京东和腾讯合作,可以获取一些用户在腾讯应用上的数据。 大数据处理平台: 离线计算和实时计算 推荐算法: 协同过滤算法 推荐引擎 JavaWeb网站开发 2、 推荐系统一般架构2.1、简化架构
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsB388.tmp.jpg 2.2、京东推荐系统架构
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsB398.tmp.jpg 2.3、淘宝推荐系统架构file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsB399.tmp.jpg
传智播客·黑马程序员郑州校区地址 河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层 |