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

更新时间:2024-06-20 09:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

专业硕士学位论文

Design and Realization for Customized Recommendation System of

E-Commerce based on Big Data Technology

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

作者:XXX

导师:XXX

北京交通大学

2015年8月

学位论文版权使用授权书

本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索,提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。

(保密的学位论文在解密后适用本授权说明)

学位论文作者签名:导师签名:

签字日期:年月日签字日期:年月日

中图分类号:XXXX UDC:XXXX 学校代码:XXXX 密级:公开

i

北京交通大学专业硕士学位论文…中文摘要

北京交通大学

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

专业硕士学位论文

Design and Realization for Customized Recommendation System of

E-Commerce based on Big Data Technology

作者姓名:XXX学号:XXX

导师姓名:XXX职称:教授

工程领域:软件工程 学位级别:硕士

北京交通大学

2015年8月

ii

北京交通大学专业硕士学位论文…中文摘要

致谢

三年充实而又紧张的研究生生活即将结束,在硕士毕业论文完成之际,我要向所有关心、支持、帮助过我的人表示最真诚的感谢!

本论文的工作是在我的导师XXX老师的悉心指导下完成的。在论文选题、实验进展以及文章修改等环节,XXX老师的言传身教使我受益匪浅。三年来,XXX老师在生活、工作、学习方面给予了我很大的关怀,给我一切课可以学习锻炼的机会。同时,XXX老师科学的工作方法和严谨的治学态度给了我很大的影响和帮助。我的每一点成绩,每一步成长都凝聚着老师的心血。XXX老师果断的工作作风,严谨的治学态度,敏锐的洞察力,扎实深厚的学识功底都是值得我学习的地方。谨向XXX老师致以深深的谢意!

在实验室工作及撰写论文期间,XXX等同学也给予了我热情的帮助,在此向他们表达我的真挚的感谢。他们在我失落的时候鼓励开导我,帮助我恢复信心。他们对我无微不至的关怀,是支持我完成学业的精神动力。他们鼓励我不停向前,当我取得好成绩的时候又告诉我要戒骄戒躁;当我遇到困难和挫折时,他们告诉我要永不气馁,勇往直前。

除此之外,我还要感谢我的家人。我的父母不仅哺育我成长,更在我低落的时候给我关怀与鼓励。他们一直在支持着我,在我取得一些成绩的时候,赞扬我,同时又告诫我要踏实谦虚。我要在这里说声:妈妈爸爸,你们辛苦了。

最后感谢评审老师能在百忙之中评审我的论文。

iii

北京交通大学专业硕士学位论文…引言

1 引言

博客、社交网络、基于位置的服务 ( LBS) 等新型信息发布方式的涌现,以及云计算、物联网等技术的兴起,将人们带入大数据时代。海量数据在为电子商务网站制定决策提供越来越充分的信息的同时,也给电子商务网站的个性化推荐服务带来非常大的挑战。随着电子商务网站的竞争日益激烈,如何锁定网站的目标受众并为其推荐合适的产品,增加用户粘度和提高网站的交叉销售能力,成为电子商务网站在竞争中胜出的关键。个性化推荐系统个性化及针对性等优点受到越来越多的关注,目前国内主要的电子商务网站如当当网、京东商城、淘宝网等都利用个性化推荐来使得用户拥有更好的体验度。虽然电子商务个性化推荐系统所采用的技术都已成熟,个性化推荐给网站带来的经济利益也越来越大,但是大数据环境下电子商务个性化推荐系统仍面临着巨大挑战。

第一:企业数据的保存与利用,电子商务企业在 web3. 0 的信息时代,企业数据每时每刻都在剧增,如何将这些数据信息迅速、有效保存是企业服务质量的关键,同时保存仅仅是企业服务的一个中间环节,如何挖掘、利用好保存的大数据,将是一个电子商务企业未来发展的关键。如果仅仅保存这些大数据,那么这是严重浪费。对于海量数据,提供高附加值的数据分析服务,转化大数据封装为服务,形成可对外开放、可商业化的核心能力,一定程度上也实现了经营模式的创新,给个性化推荐服务提供强大的数据基础。

第二:企业数据的快速处理计算,海量数据对计算机硬件的性能带来挑战,因为企业要求在最短的时间内,尽可能创造最大的价值,而面对大数据,通过什么信息技术进行快速处理、计算,形成结构化的、开放应用的数据,这个问题不仅仅电子商务企业面临的一个挑战。现今的云计算,在概念层面上,一定程度上解决了这方面的一点问题,但是,在目前的现实信息环境中,由于网络以及硬件的限制,还不能汇聚更多的计算机,达到预订的计算目标。

第三:企业数据的有效组织形式,企业数据的组织形式直接决定着其服务模式、服务质量。传统的以关键词进行匹配检索的服务模式,目前仍然是个性化推荐的主流,这些数据大多以关系数据库的形式,将其各自的元数据进行集中或者分布式进行组织。但是,随着数据量的增长、服务要求的提升、语义网的迅速发展,数据组织形式肯定要发生转变。例如,为用户提供个性化关联服务、语义个性化推荐服务等更高层面的知识服务,传统的简单组织方式已经不能满足这方面的发展需求。在这一方面,可以借鉴当前的热点研究 Link Open Data、Virtuoso ( 语义存储工具) 、RDF 等与语义网相关的数据组织方式。

1

北京交通大学专业硕士学位论文…引言

第四:企业提供服务模式的转变,数据是企业提供服务的基础,面对数据规模、存储方式以及组织方式等特征的转变,企业所提供的传统服务模式势必也同步转变,来应对当前整个数据环境的更新。主要面临以下几种转变方式的挑战:

1.由被动服务为主动服务。被动服务是指客户主动到企业电子商城中发现自己需要的商品,更具有目的性、针对性,但是对于企业来说,严重忽视了客户巨大的潜在需求,通过主动服务模式,将与每一个用户潜在的信息需求更精确的发现,推荐给用户,一方面方便了用户,甚至给用户意想不到的需求惊喜,另一方面增强了企业销售的强度。

2.由基于关键词或者主题词检索的服务转为基于语义的智能检索服务。随着 web3. 0、语义网的迅速发展,智能检索服务开始具备一定的知识基础,例如DBPedia发布规范的大数据集、各个行业领域的发布的知识组织体系 ( KOS) 等知识组织规范,同时借助传统的叙词表以及行业的巨大的语料资源,为用户提供语义的智能检索服务逐步将开始实施,从而实现为用户提供更准确地信息检索方式。

3.由传统的个性化信息检索结果推荐服务转变为个性化知识推荐服务。个性化信息检索结果是将每条信息进行罗列在页面中,供用户浏览,通过查看详情来衡量此信息的重要度。而个性化知识推荐服务,是将每条信息分割成更小的带有语义的知识单元,用户能够在第一时间内更快、更准确的掌握每条信息的概要内容,进行决策是否对自己有价值。

关注大数据环境下电子商务个性化推荐服务的特征与挑战,探讨个性化推荐服务新的发展动向,对于打造商务网站竞争优势、拓展个性化推荐服务研究内容等方面具有重要的实践意义和理论意义。本文将针对以上电子商务个性化推荐系统中存在的问题进行探索和研究。

2

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

2 电子商务个性化推荐理论介绍

在互联网普及的时代,为了解决顾客信息超载的问题,引导顾客较为便捷地找到打算购买的商品,个性化推荐便成为众多电子商务企业提供的一种服务模式。个性化推荐是一种根据顾客的需求\偏好\个人资料及历史交易行为,为网络消费者提供决策建议的功能,如推荐他们想要的商品或从哪里获得想要的商品。

作为后续章节的铺垫,本章主要介绍电子商务个性化推荐的相关理论,具体内容安排如下:

本章节先介绍了个性化推荐的概念、工作原理以及其在电子商务中的应用,然后介绍了电子商务个性化系统的分类研究现状和研究意义。

接着,本章节介绍了几种流行的个性化推荐技术,并对这几种个性化推荐技术进行了比较分析。

最后,本章节介绍了电子商务个性化推荐系统实现中需要用到的大数据处理技术。

2.1 个性化推荐

本节先对个性化推荐进行了概述,介绍了个性化推荐的基本理念。然后,介绍了个性化推荐系统的工作原理,最后介绍了个性化推荐系统在电子商务中的应用。

2.1.1 个性化推荐概述

个性化推荐是基于用户的兴趣特点和购买行为,向用户推荐其感兴趣的信息和商品。随着电子商务规模不断扩大,商品数量和种类不断增长,顾客需要花费大量的时间寻找自己想买的商品。这一过程无疑会使淹没在大量产品信息中的消费者不断流失。为了解决用户流失的问题,电子商务个性化推荐系统应运而生。电子商务个性化推荐系统是基于大数据挖掘基础上的一种商务智能平台,能够帮助电子商务企业为用户提供个性化的产品的推荐和购买决策,电子商务企业的个性化推荐系统为用户推荐商品,网站会智能的完成商品选择,最大限度的满足客户的个性化需求,电子商务个性化推荐是根据以下几方面来推测客户将来可能的购买行为:网站销量最高的商品、客户所在的城市、客户过去的购买行为和购买记录。

3

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

2.1.2 个性化推荐系统的工作原理

首先是基础数据包含个人信息、评分、历史行为、以及社会化关系,然后根据收集到的信息分析用户喜好,建立用户模型,最后选择合适的推荐技术进行推荐并将结果展示给用户。实现个性化服务的关键是对Web用户的浏览信息进行正确的分析,准确掌握用户兴趣。只有通过用户浏览信息数据和其他方式的用户行为,才能准确地找出用户的浏览兴趣,从而向用户推荐感兴趣的产品,同时也才能在不同的用户群之间进行精准地协作过滤推荐。准确地掌握用户的兴趣可包括两个方面:

1) 从用户浏览行为中准确地挖掘出隐藏的用户个性化的兴趣信息; 2) 采用准确的表示方法来表示用户兴趣。

个性化服务系统主要包括四个主要部分:文本页面的特征提取、基于用户浏览内容的兴趣挖掘、基于用户浏览行为的兴趣分析和推荐服务。

2.1.3 个性化推荐在电子商务中的应用

现在的电子商务网站上都有大量的商品,而个性化的推荐应用在其中起了非常大的作用,著名的电子商务网站就是个性化推荐的积极应用者和推广者,被 RWW(读写网)称为推荐系统之网。国内的淘宝网,京东商城等电子商务网站也无一例外的使用了推荐系统为用户提供更好的购物体验。

图 2-1亚马逊(amazon.cn)的个性化推荐列表 Fig.2-1 Amazon Personalized Recommendation List

图2-1就是亚马逊中国(amazon.cn)的个性化推荐列表,它包含了一下几个部分:推荐结果的标题,推荐结果的平均分以及推荐理由。该系统会去寻找用户之前喜欢过的物品,然后找出那些和这些物品相似的当用户没有接触过的物品然后推荐给用户。比如用户以前买过一本星座相关的书籍,那么就可以向用户推荐一本血型相关的书籍,因为这两本书都是属性相近的。

4

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

除了这种推荐方法,亚马逊也还有其他的推荐方法,就是按照用户在 Facebook 的好友关系,给用户推荐他们的好友在亚马逊上喜欢的物品。

图 2-2亚马逊的相关推荐列表(1)

Fig.2-2 Fig.2-3 Related Recommended a list of Amazon(1)

图 2-3亚马逊的相关推荐列表(2)

Fig.2-3 Related Recommended a list of Amazon(2)

图 2-2和图 2-3则是另外一种推荐方式--相关推荐列表。当你在购买一个商品的时候,网站会向你推荐相关商品。图 2-2推荐的是购买过这个这个商品的人同时还购买的其他商品,图 2-3则推荐浏览过这个商品的人同时还购买的其他商品。显然图 2-2的推荐更有说服力,然后这些推荐都是通过收集海量的数据并计算出来的,所以图 2-3的推荐的商品也是具有相关性的,因为用户在买一类东西的时候会先去浏览各种相似的商品然后货比三家,这些浏览过的数据也是具有信息价值的。

5

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

电子商务个性化推荐系统的关键技术主要包括基于用户协同的过滤推荐技术、基于项目协同的过滤推荐技术、基于规则的推荐技术、基于内容的推荐技术、基于人口统计信息的推荐技术、基于效用的推荐技术、基于知识的推荐技术。

本节先对以上各个电子商务个性化推荐系统的关键技术进行了介绍,然后对比分析了各个关键技术的优缺点,最后给出了最优的推荐技术组合。

2.3.1 个性化推荐技术

1. 基于用户协同的过滤推荐技术。

也称为最近邻居算法技术,主要是基于与用户兴趣爱好相似的网络用户的购买行为作为项目的推荐。推荐的基础就是寻找邻居用户。除此之外,若要找到邻居用户,用户总数必须足够多,而且用户对项目的评价也要简单,用户间的相似程度必须高。基于用户的协同过滤技术在实际应用中还存在比较多的问题。最常见的问题包括推荐的多样性、数据的稀疏性以及系统的可扩展问题[25]。

在协同过滤推荐系统中用户对项目做出的评价比较少。所以项目矩阵中拥有评价数据的项目不多,这将导致数据阵显得稀疏。通过调查,一般系统中来自于用户的评价数据都不到1%,这也将导致用户间的相似性的不准确,进而查找到的邻居用户不可靠。 2. 基于项目协同的过滤推荐技术。

为了解决基于用户的协同过滤推荐技术在实际应用中出现的数据稀疏,本文通过建立基于项目的推荐模型来缓解数据稀疏的问题。使用计算之前的模型,可以很快的得到推荐结果。也可以根据历史信息来表示项目之间的关系。

基于项目的协同过滤技术就是猜想到用户将更倾向那些和他已经购买的相类似的项目,要分析每个项目间的相似性,可以通过用户项目矩阵来分析。由于不需要识别邻居用户,所以推荐算法的速度较快[26] 3. 基于规则的推荐技术。

根据项目之间的关联规则,查找相关的项目并按排序推荐。在交易数据库中,通过用户已经购买商品集A和用户购买B的交易比例,得到他们之间的关联规则,找到满足最小支持度和最小置信度的关联规则项目集。 4. 基于内容的推荐技术。

基于内容推荐技术的特点是,通过项目的特征属性来定义项目。例如,新闻组过滤系统,文本词汇则是它的项目特征属性。基于内容的推荐技术按

11

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

照项目的特征属性对项目进行分类,从而获得类似的项目作为推荐结果。但是基于内容的推荐技术不能跨越种类进行推荐,同时需要参考用户的历史信息。在用户信息完整的时候,推荐才能较为准确。不过这样产生的推荐只是用户熟悉的种类,缺乏新颖性而且也不能适应用户兴趣变化。 5. 基于人口统计信息的推荐技术。

是根据用户的个人属性进行分类,根据不同的个人属性分别推荐。基于人口统计信息的推荐技术最早出现于1979年,当时通过人机对话可以获得个人基本信息,并且可以按照个人信息分类来对个人推荐书籍。对用户的统计信息建立了用户的模型,与协同过滤技术类似,但使用不同的数据[27]。协同过滤根据用户的相似性分类,可以表明用户兴趣偏好的历史信息就是推荐中所需要的数据。

6. 基于效用的推荐技术。

基于效用的推荐技术根据特征属性数据分类。首先要算出用户对项目的效用函数,再利用效用函数进行排序并作为推荐结果。这种推荐技术的优点是能考虑项目的非自身属性,从而提高推荐系统的全面性,实现更高层次的个性化推荐。然而,基于效用的推荐技术的关键和难点在于要设计出性能良好且周全的效用函数。

7. 基于知识的推荐技术[28]。

这种技术是依据功能知识进行推理的,不需要用户历史信息,而普通的协同过滤推荐技术是依据用户的偏好。这意味着,功能知识可以解释需要和推荐之间的关系,是某个项目怎样满足特定用户需求的知识。所以,基于知识的推荐技术采用的网络用户资料,能支撑推理的知识结构。

2.3.2 个性化推荐技术的比较和分析

基于用户的协同过滤技术是当今炙手可热的技术,具有便于理解的优点。当我们可以在一定范围内可以控制网络用户和项目数时,它可以将实时性更好的显示出来,并且能够产生跨种类的推荐结果。但是,这种推荐准确性和用户评价信息重叠有着重要关系。所以,推荐效果在用户评价数据少的情况下是不理想的。而且,计算机能力一定程度上影响了这种技术系统的性能,项目数量的增长会导致算法需要运算次数的增长。所以,对于其洗属性和计算能力,改变在所难免。

另外,系统不能推荐对新项目做出评价的最初用户和从未有用户评价过的新项目,这就导致了基于用户的协同过滤推荐技术常见的冷启动问题。对于这种推荐技术来说,所使用的项目属性特征是是用户对项目的评分值,而不是一些描述

12

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

项目本身特征的属性值,推荐的项目虽新颖,但也没有能力进行奇异发现和跨种类的推荐。

基于规则的推荐技术应用较早也较广泛,这个广泛应用地的技术起源于传统的数据挖掘技术。基于规则的推荐技术在用户访问的日志中挖掘数据,所以这种技术不会产生稀疏性的问题。在基于规则的推荐技术中,关联规则的运算成本较高,这种技术在运行中经常采用离线挖掘,在数据库中保存网络用户模型,为网络用户的下一次访问提供推荐服务,但这种技术会对推荐的实时性有一定的影响。

基于内容的推荐技术分类原则是项目特征属性,描述的时候比较依赖特征属性,和协同过滤技术有较大的区别。这种推荐技术,做出奇异发现的推荐和跨种类的推荐是有难度的。这种技术帮助用户节约了时间,但没有帮助用户拓宽视野。

基于用户人口的信息统计推荐技术按照人口统计信息来对用户分类。所以这种技术也存在稀疏性的问题。这种推荐系统在正常情况下不会出现冷启动的问题,但是想要收集全面的人口统计信息有一定难度。这是因为有些信息涉及个人的隐私,并且网络用户希望对自己的私人信息进行保密。

基于效用和基于知识的推荐技术不用担心数据稀疏问题,不需要冷启动,但是要构建完整效用函数,这个函数式关于特征属性的。基这两种推荐技术的优点是不仅不用刻画电子商务产品的本质特征,而且可以加入衡量产品有用的因素。但是这种技术缺少灵活性,仅仅适用于很少几个特征的项目,难以适应不简单而且非结构化的项目。

基于人口统计信息、内容、协同过滤的推荐技术一般是建立在网络用户的历史数据上的,而且需要网络用户显式的输入数据,所以需要大量的时间来学习。基于知识、效用、规则的推荐技术都不需要考虑网络用户的历史偏好数据,也不需要考虑忘记用户数据稀疏等问题带来的困扰。

2.3.3 推荐技术的组合

目前还没有一种为电子商务系统提供更加准确的推荐的完美方法,在设计过程中,多种推荐技术组合的手段经常被采用。一般推荐技术的有加权、切换、组合、混合、特征组合、特征放大、层叠、模型放大。现在,较多采用的组合推荐的技术有:

1、 2、

Content-based/Collaborative Feature Augmentation Hybrid技Collaborative/Content-based Meta-1evel Hybrid技术。采用协

术。组合推荐技术中应用最早的。

同的信息算法是这种组合技术的特点。这种技术可以提供全面的评价数据

13

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

集给网络用户,不同的项目可以通过这个数据集进行比较。

3、

Collaborative/Demographic Augmentation Hybrid技术,利用协

同技术是这个组合技术的特点。通过这个技术,可以识别出邻居用户。与此同时,可以把邻居用户信息当作为来自网络用户的人口统计信息来进行推荐。

数据的评价较容易,同时对基于内容的技术组合和协同过滤也有很多的研究。例如著名的BachMovie数据集,BachMovie数据集包含了来自250个用户的对983部影视的45000个评价。虽然也存在其他的推荐组合方式,但是现在有的研究成果较少,25种可能的组合中只有4种被研究过。由于存在数据保密等问题,因此只研究了比较少的基于用户人口的统计信息的推荐技术。并且,组合策略和被组合的推荐技术存在一定的联系,在采用组合推荐技术时必须不能忘了组合策略。

2.4 大数据处理技术

大数据(big data)[29]指的是所涉及的资料规模巨大到无法透过目前主流软件工具,在合理时间内达到撤取、管理、处理、并整理成为帮助企业经营决策更积极目的的信息。云计算、移动互联网、车联网、平板电脑、手机车、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据承载或者来源的方式。大数据通常用来形容一个公司创造的大量半结构化和非结构化,而“大数据”,通常指通过收集、整理生活中方方面面的数据,并对其进行分析挖掘,进而从中获得有价值信息,最终衍化出一种新的商业模式的一种方法。依据大数据时代的特征,可以将其特征总结为以下几种:

1、

大量的数据(Volume Big)。

数据的量的级别已经远远不是TB(1012字节),它甚至发展到了PB甚至到了 ZB的级别,可称为巨量数据乃至超量数据。

2、

多样化(VariableType)。

数据类型种类繁多,目前互联网数据已经转化成非结构化和半结构化的数据,可分为:网页、位置信息、视频等。

3、

非常快速(Velocity Fast)。

目前,形成的数据会迅速保存到企业的数据库中,这时需要快速处理这些数据,使其跟得上满足电企业数据的更新速度。当然,大数据的处理工具也在快速发展演化,各种大型系统工程均有可能引入大数据的转化中。

4、

高的价值和低的密度(Value High and Low density)。

在庞大的数据、中,仅仅一小部分是有效的数据,得到价值很高的信息往往

14

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

需要深度的挖掘,所以导致数据的高价值的低密度[30]。

掌握庞大的数据信息不是大数据技术的战略意义,它的意义其实是专业的处理这些有意义的数据。换句话说,大数据这个产业实现盈利的关键,在于高的数据的“加工能力”,数据的“增值”是通过“加工”来实现的。随着物联网的发展,依靠大数据的发展能够从资源的方面很好的支撑物联网。可从海量用户数据中深度分析、挖掘出用户的消费习惯和行为方式,从而实施精准营销及网络优化,今儿掌控数据增值的关键。

虽然国内的大数据还处于初级阶段,但是其商业价值已经显现出来。第一,手中握有数据的公司拥有绝对优势,基于数据交场即可产生很好的效益;第二,很多商业模式会产生与数据挖掘,定位角度不同,或偏重分析数据。比如,帮企业做挖掘内部数据,或偏重优化,帮助企业更精准的找到目标用户,降低营销成本,从而提高企业销售率,增加利润。

以后很长的时间里,数据都可能成为最大的交品商品。但数据量大并不能称作是大数据,大数据的特征是数据种类多、数据量大、非标准化数据的价值最大化。所以,大数据的价值是通过交叉复用、数据共享后获得最大的数据价值。大数据在应该像是基础设施一样,存在数据监管者、管理者和提供方,交叉复用的应用会使大数据变成一个大产业。

大数据被社交网络和移动互联网的兴起带入新阶段。在对行为进行分析的基础上,互联网营销进入个性化时代。应用大数据,大公司向广告商明确什么是正确的时间,正确的用户是谁,应该发表的正确内容是什么等,这也迎合了广告商的需求。社交网络产生了大量用户以及的数据和完整的数据,它同时也记录了用户群体的情绪,用挖掘信息的方式来了解用户,然后将这些分析后的数据信息推给需要的品牌商家或是营销公司。

2.4.1 Hadoop概述

Hadoop[31]是一个分布式计算平台,它基础是一个分布式计算模型和一个文件系统。在简单的理解逻辑上分布编程。Hadoop不需要昂贵的机器,这是其减少了很多成本。同时它很受欢迎,因为它是有 Apache 基金支持的开源软件。

Hadoop的思想是基于 Google 发表的某篇论文,关于文件系统的文献[32]和以及关于分布式处理框架的文献[33]。Hadoop的最初版本是由DougCutting和Mike Cafarella在2004年实现的。在2005年12月的时候Hadoop已经稳定运行于二十个节点了。2006年Yahoo!开始使用Hadoop,在 2008 年的时候在九百个节点运行 1TB 的数据集,排序时间仅仅为 209 秒,是当时的世界记录[34]。目前Hadoop

15

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

的应用已经非常普遍。许多人都都使用Hadoop框架完成网站的后台数据处理。

2.4.2 HDFS分布式文件系统

HDFS 可以在廉价的服务器上运行,有很强的伸缩性,可以提供分布式文件系统给客户来访问。HDFS 的备份机制可以保证它有灾难冗余能力,它的其中一个设计原则就是:只要做好备份工作即便是一个集群中的服务器换掉也可以正常工作。

有以下几个问题亟待解决:

1、 2、 读取。

3、 4、

在普通廉价的硬件上运行的时候:把数据分布在大量廉价的机器备份数据:具有好的备份能力可以避免节点失效带来的损失。

上可以保证单个组建失效时整个系统仍然正常工作。

HDFS 通过NameNode来管理整个文件系统,所以NameNode上面存储了文件的元数据,但是实际的文件数据是存储倒DataNode上面的。有利于分布式文件维护和管理可以通过分离这种关联方式。NameNode存储的是目录,文件分块和文件分块存储位置的信息,NameNode处理文件的打开、重命名、关闭以及目录的操作。想要获取文件信息或者写文件,必须先和NameNode通信进行请求,而实际的工作则交由具体的DataNode和客户端来完成。

由于元数据非常珍贵,元数据的保护工作尤为重要,几种方式如下[35]:

1、 2、 3、 4、

元数据备份。

Hadoop的 Secondary Namenode。 Checkpoint Node 方案。 Facebook 的AvatarNode方案。

对超大数据文件进行存储,这里提到的超大数据文件指的是几百 流式数据访问,数据采用高效访问模式:通常是一次写入、多次

GB 甚至几百 TB 大小的文件。

不同的DataNode存储分块的文件数据。一般将文件分为 64M 一块,然后在不同的节点上存储,同时每一快数据块都有几个备份。也可以将特定的文件分成特定的数据块大小和数量。对于备份数据块存储的位置要求有一块靠近第一块存储的位置,而至少有一块存储在比较远的位置(这个比较远的位置指的就是不同的数据中心或者不同的机架),这样数据不会因为同一机架数据中心的损坏而受到影响

整个文件系统的元数据通过NameNode存储,DataNode和NameNode会定期

16

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

通过心跳包来传递数据块的信息,心跳包的另外一个作用是提示NameNode这个DataNode可以运行的信息,NameNode会计算出数据块和备份应该存储的位置。NameNode决定数据块存储的位置。

客户端向NameNode请求创建新文件,NameNode根据元数据的信息计算出文件的元数据信息,比如块存放的位置,分块大小等等。NameNode把这些信息回传给客户端,并使用租约机制通过心跳包告诉DataNode客户端会来存储数据。客户端收到信息后将数据分块之后通过管道 pipeline 向DataNode传输数据,数据一个节点接着一个节点的往下流,直到数据到达所有的备份节点。客户端为会 pipeline 所有流经的数据节点保存一个确认队列(ack queue),确保所有的节点都已经收到数据,如果有一个数据节点坏了就从 pipeline 中删除。NameNode会被通知分配一个数据节点,直到足够的备份节点被分配出去,于是数据就保存好了。其他数据块也通过这样的方式存储文件直到所有的所有的数据块都完成存储。

一次写入多次读取是 HDFS 针对文件操作类型的一个重要的特点。数据是块存储的,客户端首先访问NameNode,取得文件的元数据,包括数据块存储的位置信息,然后选择每一个块的距离 client 最近的位置(这个最近的位置是通信速率而不是物理位置)。然后 client 直接访问DataNode,从DataNode中获取数据。修改数据的开销比较大,HDFS 针对的是少修改的文件。针对大数据文件的HDFS写入之后可以重复使用,,一个文件的多个分块是可以并行读取的,分块的基础上。

2.4.3 MapReduce编程模型

MapReduce编程模型是Google最引以为豪的三大云计算相关的核心技术 (GFS, Big Table, MapReduce)之一,被设计用于并行运算处理海量数据集(大于1TB)。它的最初灵感来源于函数式编程语言中经常用到的映射(Map)和规约(Reduce)函数,它将复杂的并行算法处理过程抽象为一组概念简单的接口,用來实现大规模海量信息处理的分部化、并行化,从而使得开发人员编写程序不需要什么份丰富的编程经验。

MapReduce编程模型可以应用在集群之上,这些集群是由规模能灵活调整的普通PC所构成的。上千个普通PC所组成的集群中可以运行典型的MapReduce。MapReduce编程模型的优点在于:通过一组简单却的接口实现了大规模计算的分布化和并行自动化,通过这些接口,可以组建由普通PC构成的高性能集群。

MapReduce借助Hadoop平台实现数据挖掘,通过对输入数据的分割來分别计算。输入文件首先会被划分为多个分块,以便Map任务能够用并发的方式进行,文件的划分过程并不考虑输入文件的内部逻辑结构,具体的划分模式可以让使用

17

北京交通大学专业硕士学位论文…电子商务个性化推荐理论介绍

者自行定义。当然也可以使用Hadoop已定义的集中简单方式来划分。

当单个Map任务开始时,分析输入的文件,产生键值对,通过里面的继承方法对键值对进行数据处理,将处理结果存入内存缓冲区。内存中的数据信息板块组被划分到R个区域,同时写入本地磁盘的当中。送回本地磁盘数据数列的位置信息到管理机,这些位置信息将由管理机负责传送到执行Reduce任务的工作站。当把这些数据的位置信息告知给执行Reduce任务的工作站,工作站通过远程方式读取来自于执行Map任务工作站的本地缓存数据。当所有中间数据都被Reduce工作站读取后,工作站利用中间关键字把数据分组,拥有相同关键字的数据被分到同一组,并把这些数据按照排序进行归类。Reduce工作站对每一个由唯一的中间关键字对应的中间数据进行分组,它发送关键字和相对应的中间值给用户的Reduce函数,Reduce函数的输出结果将被添加到最后的文件中[36]。

我们可以把MapReduce理解为,把一堆杂乱无章的数据按照某种特征归纳起来,然后处理并得到最后的结果。Map面对的是互不相关而且杂乱无章的的数据,它解析每个数据,从中提取出key和value,也就是提取了数据的特征。经过MapReduce的Shuffle阶段之后,在Reduce阶段看到的都是已经被归纳过的数据了,我们可以基于以上做法作进一步的处理。

MapReduce的主要思想是使用整块分割为局部,然后处理局部信息,最后整合处理后的数据,形成统一的数据集。因为MapReduce拥有分割再进行整合的特点,所以本文在后面的算法优化中提出了基于MapReduce的分割算法,挖掘每块数据集,然后再将其进行合并,最后数据库将会得到合并后的相集。

18

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

3 基于大数据技术的电子商务个性化推荐系统可行性分析

当前大数据技术已经在很多行业中进行了广泛而深入的应用,包括通信行业、智慧医疗、商业运营、城市交通、汽车产业、仓储问题等等。大数据技术已经为这些行业带来极大利润,而且方便了人们的日常生活。大数据所依赖的Hadoop、Hbase等技术随着各家IT企业不断的使用,已经得到了极大的发展。大数据相关社区日益成熟,各种数据中心不断建立,降低了大数据技术的技术门槛。随着大数据技术的发展,大数据技术已经拥有了成熟的生态圈,形成了包括数据收集、数据存储、数据挖掘、工作流处理、系统部署配置监控等配套系统及解决方案。

为了更好地发展电子商务的线上盈利,各大电子商务在个性化推荐上投入了大量的人力与资金。但是由于推荐本身不确定性较大,个性化推荐产生的经济社会效益没有预想中的大。基于大数据技术,综合设计研发一套电子商务个性化推荐系统,将增加电子商务推荐的准确率以及用户粘性,增加电子商务企业的利润。

经过多年的电子商务的飞速发展,电子商务网站已经积累了大量的用户数据。从这些用户历史购买数据以及浏览行为等,可以对用户进行更加深入的个性化推荐。促进用户的消费,满足用户的需求,提升电子商务网站的营收率。

综上所述,基于大数据技术的电子商务个性化推荐系统具有较高的可行性。

19

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

4 基于大数据技术的电子商务个性化推荐架构

推荐系统的具体设计依赖于其具体的使用场景,比如亚马逊主要完成电子商务方向的推荐,豆瓣完成社交关系、文艺生活相关推荐,Digg完成新闻应用相关推荐。本文主要针对基于电子商务网站的应用场景来设计出一个基于大数据技术的电子商务个性化推荐系统。对于一个标准的电子商务网站系统,其系统架构图如图4-1所示。

图4-1 电子商务网站系统架构图

Fig.4-1 E-commerce site system architecture diagram

如上图4-1所示,对于一般购物网站来讲,主要分为web前端模块,业务处理模块、前端数据库模块、日志处理模块、推荐系统模块、核心业务模块。web前端模块负责界面展示以及与用户的UI交互;核心处理业务一般封装成服务,核心数据库的访问只对核心业务模块开放;中间的日志等模块负责简单界面展示相关处理。推荐系统相对于后台业务并不是非常的核心,但对于整个电子商务网站来说非常重要。随着个性化推荐技术的不断发展,电子商务水平的不断提高,推荐系统也已经成了整个系统的一项基本服务。当前的推荐系统已经不是简简单单的一个后台逻辑或者是一个函数调用可以完成的。广义上说,推荐系统属于数据挖掘和机器学习范畴,推荐系统的服务也更依赖与科学的推荐算法以及大量的学习数据。

本章节从电子商务个性化推荐需求出发,详细分析具体的功能需求,深入研究当前个性化推荐系统的系统架构,提出基于大数据技术的电子商务个性化推荐架构。该架构依赖电子商务积累的大量数据源头,根据用户的所有数据信息,对

20

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

原有的电子商务个性化推荐结构进行改进,重新设计了基于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

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

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

本节对基于大数据技术的电子商务个性化推荐系统进行设计和实现,具体内容包括系统功能需求分析、功能设计、详细设计、应用技术概述等。

5.1 个性化系统功能需求分析

电子商务推荐系统主要的目的是在用户购买产品的时候提供用户个性化信息,帮助用户购买过程中做出决策,是面向用户的系统。推荐系统的一个显著特点是,能够收集用户的兴趣资料,并且根据用户兴趣偏好主动为用户做出个性化推荐,并且能够实时更新推荐,方便用户,提高企业的服务水平。供应链决策支持系统、企业营销系统和电子商务推荐系统不同。供应链决策支持系统为生产者提供决定生产规模、时间和储量的参考信息,而企业营销系统目的则是为了帮助企业在销售产品时做得更好。总体上来说,电子商务个性化推荐系统一般需要满足如下需求:

? 需要解决如何获取用户相关信息。推荐系统推荐的基础是用户的兴趣资料

信息,个性化推荐系统获得越多的用户信息,为用户提供的个性化推荐就越准确。

? 电子商务个性化推荐的算法需要满足一定的准确率和效率。

? 针对个性化推荐系统需要能做出综合的客观的评价。从用户满意度、准确

率、个性化、安全性等方面进行综合评价分析。

? 电子商务推荐系统需要提供个性化的购物环境,更好的提供网络用户关系

管理信息和企业销售决策。

? 个性化建议。根据用户的不同兴趣类型,针对其个性化的需求,掌握其不

同的兴趣,并针对特定的兴趣给出特定的建议。

? 提高对个性化推荐的自动化功能。目前一般的推荐技术下,用户需要逐步

的搜索,逐步输入需求的关键词才能获得相关信息,自动化程度比较低,程序繁琐。

? 提高持久性程度。目前的推荐一般都只基于用户当前登录后的操作得到的

信息,没有能力收集用户以前的历史信息和历史兴趣偏好。

26

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

5.2 个性化推荐系统功能设计

基于以上分析,该系统需要三个核心功能模块来支持:输入功能、推荐算法和输出功能:

1、 输入功能模块。在此功能模块中,由于不同的系统面对不同需求的用户,

所以不同的系统输入信息各异,可以根据输入信息过程中的目标群的群类区别进行划分,可划分成两种类别:个人用户和社团群体用户两种。个人用户在系统中的输入的信息包含:用户购买历史、隐式关键词输入、显式浏览输入、项目属性输入、浏览内容的输入等等,从这些信息中提取他们表达出来的偏好并对某些项目进行评价。社团群体输入是指集体形式的评价数据,其中包含评分、项目属性、社团购买历史、文本评价等。 2、 推荐算法模块。推荐算法是整个系统的核心,算法的优劣对系统的性能起

决定性作用。针对推荐算法系统对实时性和数据准确性的高要求,以产生定位精确有效的推荐,在推荐算法中运用了人机交互领域以及数据挖掘领域的一些最新研究成果。如图5-1所示。

图5-1推荐算法

Fig.5-1 Recommendation Algorithm

User-based协同过滤推荐算法Item-based协同过滤推荐算法Horting图 推荐算法Clustering协同过滤推荐算法基于Baysesian网络推荐基于规则推荐算法机器学习分类问题Memory-based协同过滤算法推荐算法Model-based协同过滤算法3、 输出功能模块。该模块是在用户输入信息后,通过推荐算法的计算过滤处

理,将得出的结果即合理的推荐内容展示给用户。该模块支持四类形式的输出:第一类为建议:主要分为单个建议、排序建议列表和未排序建议列表。第二类为预测:个性化推荐系统根据算法运算处理,为项目给出一定的综合推荐分数,然后根据分数进行排序,优先推荐分数高的项目。第三类为个体评分:推荐系统支持用户对商品进行评分,然后根据用户的评分进行排序推荐。第四类为评论:推荐系统抓取其他用户对商品的文本评价信息,过滤筛选之后进行推荐。

基于以上核心功能模块,个性化推荐系统的详细功能设计如图5-2所示。

27

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

用户交互模块在线收集用户反馈推荐结果封装推荐结果处理模块推荐结果过滤推荐结果排序推荐结果解释系统管理模块推荐引擎组管理离线推荐在线推荐推荐引擎管理系统参数配置数据收集模块网站数据收集数据提供接口日志数据收集用户网站行为数据收集系统数据查看

图5-2基于大数据技术的电子商务个性化推荐系统功能架构图

Fig.5-2 E-commerce personalized recommendation system based on big data technology

如图5-2所示,基于大数据技术的电子商务个性化推荐系统的功能架构分为五大部分,分别为:数据收集模块、推荐引擎组管理、推荐结果处理模块、用户交互模块、系统管理模块。

5.2.1 数据收集模块

数据提供接口:数据提供借款是系统向不同推荐引擎提供数据的接口功能,实现了根据不用推荐引擎可以提供满足该引擎的数据的接口功能。

网站数据收集:网站数据收集是系统收集来自电子商务网站的用户数据和商品数据的收集功能。

日志数据收集:日志数据收集是系统收集系统日志中提取的用户行为数据。 用户网站行为数据收集:用户网站行为数据收集是系统收集用户在网站的直接行为的收集功能。

5.2.2 推荐引擎组管理

28

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

离线推荐引擎:离线推荐引擎是系统提供使用离线推荐引擎进行推荐算法的功能。

在线推荐引擎:在线推荐引擎是系统提供使用在线推荐引擎进行推荐算法的功能。

推荐引擎组管理:推荐引擎组管理是系统提供根据不同用户制定不同推荐引擎,并进行推荐的功能。

5.2.3 推荐结果处理模块

推荐结果过滤:推荐结果过滤是系统提供根据用户信息对推荐结果进行过滤的功能。

推荐结果排序:推荐结果过滤是系统提供根据用户信息对推荐结果进行排序的功能。

推荐结果解释:推荐结果过滤是系统提供根据用户信息对推荐结果进行解释的功能。

5.2.4 用户交互模块

在线收集:在线收集是系统提供收集用户使用系统的信息的功能。 用户反馈:用户反馈是系统提供用户向系统发送反馈信息的功能。

推荐结果封装:推荐结果封装是系统向上层系统提供推荐结果时对推荐结果进行封装的功能。

5.2.5 系统管理模块

系统参数配置:系统参数配置是系统提供对系统运行参数的配置功能。 系统数据浏览:系统数据浏览时系统提供对系统运行参数和状态的浏览的功能。

5.3 个性化推荐系统详细设计

本节根据前一节基于大数据技术的电子商务个性化推荐系统的功能设计,对其中的一些业务进行详细的业务设计以及数据库设计,给出系统的关键类设计和数据库核心表的设计。

29

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

结合5.2节的系统功能设计,系统的关键业务类分为十五大组,分别为:网站数据收集、日志数据收集、用户网站行为数据收集、数据提供接口、离线推荐管理、在线推荐管理、推荐引擎管理、推荐结果过滤、推荐结果排序、推荐结果解释、在线收集用户交互界面、用户反馈交互界面资源管理、推荐结果封装、系统参数配置、系统数据查看,每个组包含了若干的关键业务类。具体的业务类及类与类之间的关系如图5-3所示。

RecommendPackage+package()1RecommendServer+recommend()RecommendInterpretation+interpretation()1RecommendSortSysConfig+config()RecommendFilter1+sort()+filter()1SysDataView+view()1DataProvider+provider()11dataModel111DataCollectionInterface+collect()DataCollectionWebsite+collect()DataCollectionLog+collect()DataCollectionBehavior+collect()

图5-3类关系图 Fig.5-3 Class Diagram

系统是由数据类:dataModel;数据采集类:DataCollecttionInterface、DataCollectionWebsite、DataCollectionLog、DataCollectionBehavior、DataProvider;数据推荐类:RecommendServer、RecommendFilter、RecommendSort、RecommendInterpretation、RecommendPackage;系统管理类:SysConfig、SysDataView组成。

DataModel是数据采集模型,用来在计算机中表示采集的数据对象。 DataCollecttionInterface是数据采集接口,用来在计算机中表示一个抽象的采

30

本文来源:https://www.bwwdw.com/article/3813.html

Top