机器学习系列(17)_Yelper推荐系统

原文地址:yelper recommendation system
原文翻译与校对:@酒酒 && @寒小阳
时间:2016年10月。
出处:http://blog.csdn.net/han_xiaoyang/article/details/52778321
声明:版权所有,转载请联系作者并注明出

1. 我们为什么需要推荐系统?

“推荐”可是个当红话题。Netflix愿意用百万美金召求最佳的电影推荐算法,Facebook也为了登陆时的推荐服务开发了上百个项目,遑论现在市场上各式各样的应用都需要个性化服务。

“从互联网中提取信息犹如用消防栓饮水”(Mitchell Kapor)。如今的信息量早已过载,要依据如此嘈杂的信息做出正确决定显然是艰难的。这也是为什么推荐系统日渐流行,尤其在像Netflix, Amazon, Echo,和Facebook这类需要个性化服务的产品。 在大数据时代,实时推荐可能是新的趋势,因为:

  • 实时推荐使得用户和服务商都能得到及时的信息反馈
  • 这将大大加速产品和公司的升级
  • 这也使得实时分析成为可能

2. “Yelper”是什么?

根据2016年的”Yelp Challenge”数据来看,“Yelper”能够做到:

  • 按照城市划分商业数据来进行更周到的推荐服务
  • 用Spark的MLlib实现协同过滤
  • 用D3和其他图像工具实现以用户为主导的可视化商业分析
  • 用Scala中Spark GraphX做用户-商业关系图分析
  • 用Spark Streaming和Apache Kafka模拟实时的用户请求处理
  • 给用户推荐高评服务时的谷歌地图展示

Yelper实现的背后展示了一个事实:
知道机器学习背后的工作原理已经不能满足现在的需求了,数据科学家们需要对即将到来的新挑战做好准备:在大数据时代对大规模的流数据的挖掘分析。

Yelper的GitHub主页:https://github.com/sundeepblue/yelper_recommendation_system

PPT展示

3. 搭建Yelper的主要模块

Yelper主要由5部分构成,如下图所示。这张图展示了Yepler从接受请求到处理的大致流程。



3.1 数据预处理

Yelper的数据主要基于Yelp Challenge 2016 Dataset, 其中包括了:

  • 2.7M的评论和来自687K个用户关于86K商户的649K条建议
  • 566K个商业服务特征,例如营业时间,停车信息,周边环境等
  • 共包括有4.2M种关系(edge)的关于687K用户的社交网络。
  • 86K

你可能感兴趣的:(机器学习/数据挖掘,机器学习与数据挖掘,机器学习,推荐系统,协同过滤,矩阵分解,隐语义模型)