本文将从以下几个方面简单介绍推荐系统。
- 推荐系统的发展历史
- 推荐系统评价标准
- 推荐系统架构
- 推荐系统典型方法
- 推荐系统目前面临的问题
1.推荐系统的发展历史
“推荐系统”这个概念是1995年在美国人工智能协会(AAAI)上提出的。当时CMU大学的教授Robert Armstrong提出了并推出了推荐系统的原型系统--Web Watcher。进入21世纪,随着电商的发展,推荐系统也迎来了快速发展的阶段。近几年,随着社会化网络的发展,推荐系统在工业界广泛应用并取得了显著进步。
2.推荐系统评价标准
因研究领域不同,不存在统一的评价标准。
3.推荐系统架构
一个完整的推荐系统包括数据建模、用户建模、推荐引擎和用户接口四个部分。如下图所示:
数据建模:该模块负责对拟推荐的物品数据进行准备,将其表示成有利于分析的数据形式,确定要推荐给用户的候选物品,并对物品进行分类、聚类等预处理。
用户建模:该模块负责对用户的行为信息进行分析,从而获得用户的潜在喜好。用户的行为信息包括问答、评分、购买、下载、浏览、收藏、停留时间等。
推荐引擎:改模块利用后台的推荐算法,实时地从候选物品集合中筛选出用户感兴趣的物品,排序后以列表的形式向用户推荐。推荐引擎是推荐系统的核心部分,也是最耗系统资源和时间的部分。
用户接口:用户接口除了应具有布局合理、界面美观、使用方便等基本要求外,还应有助于用户主动 提供反馈。主要有两种类型的接口:Web端(Web-based)和移动端(Mobile-based)
4.推荐引擎的基本推荐方法可分为:
- 基于内容的推荐
- 基于协同过滤的推荐
- 基于知识的推荐
- 混合推荐
5.大数据推荐系统研究面临的问题
- 特征提取问题
- 数据稀疏问题
- 冷启动问题
- 可扩展性问题
【扩展】
大数据环境下的推荐系统:关键技术
- 采用分布式文件系统管理数据
- 采用基于集群技术的分布式计算框架
- 推荐算法并行化
开源大数据典型推荐软件
- Mahout
- Spark Mllib
- EasyRec
- Graphlab
- Duine
大数据环境下的推荐系统:特点与挑战
虽然推荐系统己经被成功运用于很多大型系统及网站,但是在当前大数据的时代背景下,推荐系统的应用场景越来越多样,推荐系统不仅面临数据稀疏、冷启动、兴趣偏见等传统难题,还面临由大数据引发的更多、更复杂的实际问题
例如,用户数目越来越多,海量用户同时访问推荐系统所造成的性能压力,使传统的基于单架构的推荐系统不再适用
同时Web 服务器处理系统请求在大数据集下变得越来越多,Web服务器响应速度缓慢制约了当前推荐系统为大数据集提供推荐
另外,基于实时模式的推荐在大数据集下面临着严峻考验,用户难以忍受超过秒级的推荐结果返回时间
传统推荐系统的单一数据库存储技术在大数据集下变得不再适用,急需一种对外提供统一接口、对内采用多种混合模式存储的存储架构来满足大数据集下各种数据文件的存储
并且,传统推荐系统在推荐算法上采取的是单机节点的计算方式,不能满足大数据集下海量用户产生的大数据集上的计算需求
大数据本身具有的复杂性、不确定性和涌现性也给推荐系统带来诸多新的挑战,传统推荐系统的时间效率、空间效率和推荐准确度都遇到严重的瓶颈