赞
踩
据采集模块:数据的采集分为两个方面,一是获得书籍信息,二是获得用户行为记录。
对书籍信息的获取,本系统拟采用爬虫技术,从网络上抓取书籍的相关信息,目标网站为书籍评论网站(如豆瓣)和书籍购买网站(如当当网、淘宝网等),爬取数据包括书籍的名称、作者、出版社、出版时间、价格等;取得的数据存入MySQL中。这一步需要一些容错率,因为要受网站翻新、网络不稳定等情况的影响。考虑将爬虫做成分布式,将爬虫任务分发到多台服务器上,提高采集效率,降低单个机器或程序故障时对整个系统产生的负面影响。
对用户行为记录的获取,直接在系统的使用过程中记录用户的历史行为记录,并将其保存入用户行为表即可。
数据处理模块:将数据采集模块中获取的数据进行预处理。本系统涉及的两类数据中,用户行为记录是系统在运行过程中自行生成的,格式较为规范,无需预处理;书籍信息来自网站,爬取的内容可能存在问题,需要进行一定的预处理。预处理的具体内容包括:去除无效数据、修改错误数据(如超过边界值的数据等)、填补缺失数据,并将数据转换为Spark可以处理的格式等。
推荐算法模块:根据用户的历史行为和书籍的相关信息,计算出用户的推荐列表。用户在使用此功能时,系统会调出该账号的历史行为,并根据其历史行为获得推荐结果,展现在前端网页中,推荐结果直接链接到对应的书籍详情页面,用户可以直接单机跳转。
为了尽量克服各种推荐算法存在的问题,本系统拟采用2种推荐算法同步使用,相互补足。对于新用户或行为数据较少(本系统判断为5条以下)使用基于内容的推荐算法,对于老用户(本系统判断为行为数据5条以上)使用基于用户的协同过滤的推荐算法。推荐算法模块为系统的主要模块,其流程图如图3所示。
用户界面模块:设计用户界面,使用户可以轻松地查看推荐列表,并可以根据自己的喜好进行选择。界面不友好、操作步骤繁琐、缺乏逻辑等问题会使用户的学习、使用成本上升,使用体验受到负面影响,因此整个UI设计要朝简洁明确、符合大众使用逻辑的方向靠拢,可以考虑借鉴部分已成型知名网站的设计风格。
管理员管理模块:设计管理员管理模块,采用可视化的管理界面,完善系统内管理员用户的职能和工作逻辑,使管理员可以方便地对系统进行管理和维护。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。