基于大数据技术的电子商务个性化推荐系统设计与实现(7)

2019-01-10 12:41

北京交通大学专业硕士学位论文参考文献

原有的电子商务个性化推荐结构进行改进,重新设计了基于hadoop的电子商务个性化推荐架构,并给了新的推荐结构中的核心模块,同时根据MapReduce的算法特点,使用关联规则的推荐算法把相关产品推荐给用户。

4.1 个性化推荐系统总体架构设计

4.1.1

电子商务个性化推荐现状结构

现阶段,电子商务个性化推荐一般由离线挖掘和在线挖掘的两种数据挖掘模式,如图4-2所示。现阶段随着电子商务品类的增多,消费者对电子商务的依赖加强,每天电子商务的数据也在日益增多,据统计,大型的电子商务网站每天的用户点击行为数据即可达到200G左右的数据量,所以电子商务网站中的数据量是非常庞大的,这就需要对电子商务网站的数据进行线下的挖掘和在线的推荐两种模式,因为基于内存的在线推荐,特别消耗电子商务的资源,因为许多的硬件资源都消耗在电子商务推荐模式的挖掘上,甚至会导致正常的电子商务活动不能进行。电子商务个性化推荐需要更多的资源,而面向消费者的个性化推荐占用机器资源就十分小了,所以电子商务系统就可以进行在线的个性化推荐。

离线挖掘模式数据清洗数据集成客户鉴定会话鉴定路径鉴定模式挖掘模式库模式库数据集数据变化数据归约数据请求在线挖掘模式电子商务网站服务器响应客户端推荐引擎当前会话模式匹配请求 图4-2电子商务现阶段的个性化推荐结构

Fig.4-2 Structure of E-commerce Personalized Recommendation Stage

离线模式的挖掘包括用户数据的采集、用户数据的预处理和整个模式的挖掘,

21

北京交通大学专业硕士学位论文参考文献

最终根据不同的模式汇总到模式库中。离线模式的挖掘需要通过定期的更新电子商务网站服务器日志文件,经过数据的预处理,得到结构化、半结构化的事务序列数据,然后运用数据挖掘技术进行模式的深层次挖掘,将得到的有用的模式存在模式库,形成最新的数据集。电子商务的在线推荐部分主要是推荐引擎根据客户的当前会话,进行模式的匹配,为客户提供即时的个性化推荐,以达到吸引客户、推销商品的目的。

目前的电子商务个性化推荐虽然能够为用户提供个性化的推荐,然后在推荐的准确性较低,往往都是依据用户浏览过的相关信息或者己购买的商品再进行电子商务推荐,这样会对消费者造成一种抵触个性化推荐的态度,因为没必要在已经购买的物品上再浪费时问和金钱。大数据下,用户的信息量极其庞大,关联规则;的推荐算法能够发现用户需求,刺激用户的购买欲望,帮助电子商务企业推销商品的目的。

4.1.2 改进的电子商务个性化推荐结构设计

如图4-3,改进的电子商务依据现有的电子商务个性化推荐结构,分为以下个模块:数据收集模块,推荐引擎组,系统评估模块,数据存储模块,用户交互模块,推荐结果处理模块以及系统管理模块。各个模块间会有许多数据交互,图中描述了一些概要。从数据收集开始出发,汇集了用户各方面的个人信息,从数据源头入手,充分掌握用户的个性化数据。把格式化的数据存入数据库,供电子商务提取有效的分析数据。利用电子商务个性化推荐技术,通过匹配已有推荐模式,形成一定的规则存储到数据库中,当用户在电子商务网站浏览相关信息时,再通过当前的会话把推荐信息返回给客户端,完成一次有效的电子商务个性化推荐活动。

22

北京交通大学专业硕士学位论文参考文献

HDFS、核心数据库存储数据收集数据收集模块存储离线计算结果提取数据推荐引擎组系统管理模块数据收集请求推荐推荐处理模块结果输出评估模块评估系统用户交互模块 图4-3 电子商务个性化推荐系统架构图

Fig.4-3 E-commerce Personalized Recommendation System Architecture Diagram

1、数据收集模块。推荐系统需要有大量的数据作为计算基础的。数据的来源可以分为几个部分:

1) 2) 3)

来自电子商务网站的用户数据和商品数据。 从系统日志中提取的用户行为数据。

用户在网站的直接行为,比如评分点赞等行为。

对于用户数据和商品数据可以共享网站的数据,这些数据会被网站不断的更新。从系统提取的日志主要解析出用户对商品的评价,根据模块需要转化为评分或者其他指标。数据收集模块设计成多种收集和数据转化方式,可以根据推荐引擎的对数据的需求进行收集。不同的推荐引擎也需要不同的数据,所以数据收集的方式应该可以适应到不同的推荐引擎,这就需要设计一些公共的接口,然后根据不同的引擎去实现具体的数据收集方式。 2、 推荐引擎组。

推荐引擎组是一些列的推荐算法的实现及其组合,使用多种推荐算法集成在一个组模块当中,可以使用不同的推荐引擎组合一起生成推荐结果,或者在网站发展的不同时候使用不同的推荐引擎。推荐引擎由离线计算和在线计算不同的模块组成,离线计算的结果也需要存储到数据库当中。

使用多个引擎组合而不是单个引擎的是基于一下方面的考虑[37]: 1) 可以综合利用各个推荐引擎优势,并能在项目后期加入新的推荐算

法,同时也可以根据需要对推荐引擎进行调整。

23

北京交通大学专业硕士学位论文参考文献

2) 通过用户反馈来为用户选择不同的推荐引擎产生的结果。有些人比较

喜欢新颖,有些人比较喜欢以前喜欢过的,广东人比较喜欢粤语,而北京人可能比较喜欢汪峰等等。这些都是根据不同的策略而形成。 推荐引擎组的架构图如图4-4所示。

HDFS/HBase离线计算部分推荐引擎1推荐引擎2过滤推荐引擎n排名推荐解释生成结果在线计算部分用户接口模块图4-4推荐引擎架构图 Fig.4-4 Recommendation Engine Chart

3、 推荐结果处理模块。

根据各个推荐引擎得出的推荐结果只是粗略的结果,还需要进行处理才可能提供给用户。推荐系统的目的之一就是要提供服务质量,提高用户体验,去掉一些影响服务和体验的数据,比如那些被认为不会受到的用户喜欢的物品。这里包括以下几个步骤:过滤,排名,推荐解释。需要过滤的物品通常是以下几种:

1) 用户已经使用过或者用户表示过不喜欢的物品,这部分需要过滤掉。

这是为用户做出推荐的基本原则。

2) 根据推荐引擎推荐的物品有时候也可能产生一些非常古怪的物品组

合,而这些物品一般不能进入物品的推荐备选物品中,这些需要去掉。 3) 还有一些物品已经被网站定义为不合格或者不适合推荐的物品需要过

滤掉。这是保证用户体验和提高服务质量的体现之一。

对于排名我们首先使用基于动态权值调整的个性化结果整合方法来进行排名的。因为结果来自不同的推荐引擎,那么我们为每个用户对推荐引擎维护一个权值列表,当用户对推荐结果有新的动作的时候就更新推荐引擎的权值。具体实现方法我们留在下一章详解。对于排名我们还可以考虑其他几个特性。

24

北京交通大学专业硕士学位论文参考文献

1) 新颖性:这主要体现在推荐长尾中物品,因为这些物品是用户比较少

接触的。推荐这些物品能体现出新颖性。一个网站中长尾中的物品不代表用户就没在其他地方有见过。所以需要适当的降权。

2) 种类多样性:使物品尽量覆盖不同类中的物品。挖掘用户的潜在兴趣。 3) 时间多样性:这是需要做到用户在短期内不要见到相同的物品。这首

先要是系统在数据更新的时候及时进行离线处理,并调整推荐结果。而根据用户的日志来筛选推荐结果,今天的推荐结果中过滤昨天和前天推荐的物品。

4、 用户交互模块。

提供一些数据交互接口,这个模块不是具体的网页或者终端模块,而是提供公共接口方便网站的其他模块进行调用。其主要的功能是从用户收集在线的行为以及用户的直接反馈,另外就是对推荐的结果进行处理,因为推荐的结果可能只是 ID 和评分等等,用户交互模块从数据库中查找出推荐商品的具体信息,并一起返回给用户,如图4-5所示。

数据收集模块推荐结果用户接口模块收集用户行为/用户反馈包装生成结果商品数据 图4-5用户交互模块设计 Fig.5-4 User Interaction Module Designs

5、 系统管理模块。

系统管理模块便于整个系统易管理和控制,可以调整推荐引擎及其相关参数,评估整个系统的指标,以及查看数据库的内容等等。由于需要涉及到管理员 UI,可以使用Spring MVC 来实现这一个模块。

25


基于大数据技术的电子商务个性化推荐系统设计与实现(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学计算机选择题(10套)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: