基于Mahout的图书推荐系统的设计与实现
2018-12-21吴昌雨刘东旭
张 淼,吴昌雨,刘东旭
(滁州职业技术学院,安徽 滁州 239000)
网络信息技术的高速发展使得书籍摆脱了传统的纸媒方式,电子图书也越来越受到人们的认可。2016年全国共出版图书、期刊、报纸、音像制品和电子出版物512.53亿册[1]。对于大部分用来来说,如何在浩瀚的图书资源中找到自己感兴趣的图书,对自身的检索能力是一个很大的挑战。因此,帮助用户更快地找到感兴趣的图书是当前首要解决的问题。
本文主要完成了基于Mahout的图书推荐系统的设计与实现,通过Mahout框架为用户提供书籍推荐服务,使得传统的“人找书”变为“书推荐给人”。协同过滤算法的使用让用户更快速地找到自己需要的书籍,节省了大量的时间。
1 相关概念
1.1 协同过滤推荐算法
协同过滤推荐算法是一种主流的、目前广泛应用在工业界的推荐算法。一般分为基于用户的协同过滤(user-based)和基于项目(item-based)的协同过滤[2]。
基于用户的协同过滤算法,主要考虑的是用户和用户之间的相似度,首先找出与目标用户相似度高的其他用户,也就是邻居。把邻居喜欢的物品推荐给用户。而基于项目的协同过滤是通过寻找物品和物品之间的相似度,向目标用户推荐与他自己喜欢的物品相似度高的其他物品。
1.2 Mahout
Mahout是Apache Software Foundation(ASF)旗下的一个开源项目,提供了一些经典的机器学习算法,帮助研发工作者更方便地进行研发[3]。其中Mahout中的Taste提供了一系列组件让开发者根据自身的需求构建推荐系统。
Taste主要有5个组件构成[4]:Data Model,User Smiliarity和Item Similarity,User Neighborhood和Recommender。
(1)Data Model:用于读取用户的偏好数据。……
