您的当前位置:首页正文

基于Hadoop的电子商务推荐系统的设计与实现

来源:一二三四网
2014年i月 计算机工程与设计 COMPUTER ENGINEERING AND DESIGN Jan.2014 Vo1.35 NO.1 第35卷第1期 基于Hadoop的电子商务推荐系统的设计与实现 李文海 ,许舒人 (1.中国科学院软件研究所软件工程技术研究开发中心,北京100190; 2.中国科学院研究生院,北京100190) 摘要:为了解决大数据应用背景下大型电子商务系统所面临的信息过载问题,研究了基于Hadoop构建分布式电子商务 推荐系统的方案。采用基于MapReduce模型实现的算法具有较高的伸缩性和性能,能高效地进行离线数据分析。为了克服 单一推荐技术的不足,设计了融合多种互补性推荐技术的混合推荐模型。实验结果表明,基于Hadoop平台实现的推荐系 统具有较好的伸缩性和性能。 关键词:分布式推荐系统;混合推荐;Hadoop;关联规则挖掘;协同过滤 中图法分类号:TP301 文献标识号:A 文章编号:1000—7024(2014)01—0130—07 Design and implementation of recommendation system for E—commerce on Hadoop LI Wen-hai ,一。XU Shu—ren (1.Research and Development Center of Software Engineering,Institute of Software,Chinese Academy of Sciences,Beijing 100190,China;2.Graduate University,Chinese Academy of Sciences,Beijing 100190,China) _ Abstract:To solve the information overload problem of large scale E-commerce systems in the big data era,a solution based on Hadoop is proposed,aiming at building a distributed recommendation system.Data analysis algorithms based on MapReduce programming model have high scalability and good performance.To overcome the limit of single recommendation technology,a hybrid model is adopted,which combines several complementary methods.Empirical studies show that the recommendation system on Hadoop has good scalability and efficiency. Key words:distributed recommendation system;hybrid;Hadoop;association mining;collaborative filtering 0引 言 随着用户规模的扩大和业务的发展,大型电子商务系 统中的用户数和产品种类越来越多,数据规模正爆炸式地 增长。然而,能够有效利用的展示区域是有限的,大量的 信息资源由于成为长尾被淹没而得不到展示,信息过载问 题1]]日益突出。 被广泛地应用于电子商务和社交网络等典型现代互联 网领域。 电子商务推荐系统_3]通过模拟智能销售导购的角色, 能够为电子商务网站的用户提供产品信息和相关的建议以 帮助用户进行购买决策,完成购物过程。它能促进一对一 的销售,可以为电子商务系统提供更加智能化和个性化的 购物体验,最终提升用户满意度。电子商务的发展趋势是 推荐系统l2]是一种重要的信息过滤机制,它能有效地 解决信息过载问题。通过挖掘用户和信息资源之间的联系 规律,它能帮助用户从网络中的大量信息里找到甚至发现 他们需要的以及可能会感兴趣的信息资源。它以主动服务 的方式,通过利用挖掘和分析技术,实现自动化、智能化 和个性化的信息过滤服务,帮助用户发现所需。因此,它 收稿日期:2013—05—03;修订日期:2013—07—05 针对不同的用户提供个性化的购物体验,通过准确地预测 用户的偏好、口味和潜在的需求,以此来提高网站的营业 额,而这个目标正是通过推荐系统来实现的。 对于电子商务系统来说,推荐系统的作用主要体现在 以下几方面[4]:提升购物体验,提高用户的忠诚度;增强 交叉销售能力,提高整体交易量;挖掘潜在的客户资源, 基金项目:国家973重点基础研究发展计划基金项目(2009CB320704);国家科技支撑计划基金项目(2012BAH05F02、2012BAH09F01) 作者简介:李文海(1988一),男,江西东乡人,硕士,CCF会员,研究方向为网络分布计算、推荐系统、数据挖掘等;许舒人(1961一), 男。福建长泰人,副研究员,CCF高级会员,研究方向为软件工程研究和大型应用系统规划、设计。E-mail:1wheagle@126.com 第35卷第1期 李文海,许舒人:基于Hadoop的电子商务推荐系统的设计与实现 .131. 利用推荐激发用户的购买欲望,将用户由普通的浏览者转 技术以弥补单一推荐技术的不足,可以满足灵活性和多样 性的推荐需求,在满足非个性化推荐需求的同时兼顾个性 化推荐需求。 表1主要推荐技术的比较 变为消费者。因此,可以认为电子商务推荐系统是一种集 成了诸多不同种类的发现新事物的方法、技术和策略的信 息过滤机制,其核心任务是通过发掘用户和商品之间的联 系来向用户提供个性化的产品推荐服务,最终实现用户和 系统所有者的双赢。 现代互联网应用背景下的大型电子商务推荐系统正面 临着以下几个方面的挑战[5 ]: (1)采用集中式架构的推荐系统数据处理能力有限。 单机推荐算法存在数据处理规模的限制和处理效率的问题。 (2)大型电子商务系统中除了用户和产品数目庞大之 外,用户和产品的自然属性也多,要对高维度的用户和产 品建立准确有效的模型十分困难。 (3)商业应用需求通常复杂多变,同时对于不同的应 用场景用户的关注点也不同,基于固定的模型和参数的推 荐系统通常缺乏灵活性。 (4)推荐模型通常和数据特性以及应用场景有很强的 相关性,这决定了推荐系统必须要综合多种互补性强的推 荐技术。而现有的方案中算法和模型比较单一,难以满足 主流用户的主流需求的同时兼顾用户的个性化需求。 基于Hadoop平台和混合推荐策略,设计了一种面向 大型电子商务系统的混合推荐系统,运用基于MapReduce 框架的算法的伸缩性和分布式并行计算能力,使系统能对 大规模的数据进行高效的分析;通过结合不同的推荐引擎 来解决冷启动和数据稀疏引起的推荐效果不佳的问题。系 统主要解决如下3个方面的问题: (1)伸缩性。现代互联网应用中数据规模已经取代了 业务逻辑的复杂性而成为主要矛盾,伸缩性是现代互联网 应用的关键需求,针对持续增长的数据实现伸缩对任何数 据分析系统都十分重要。采用基于MapReduee框架的算法 提高数据分析的能力,通过Hadoop平台实现横向扩展,能 够针对不同规模的数据实现理想伸缩。 (2)灵活性。由于商业应用需求复杂多变,允许用户 通过配置模型参数,以参数化运行的方式,实现不同的推 荐模型以适合不同的应用场景。 (3)多样性。非个性化的推荐能够很好地反映大众的 流行趋势,而个性化的推荐能够更好地满足用户的个人兴 趣和偏好,将两者进行结合能充分满足不同群体的多样化 的口味。此外,采用混合推荐策略也能提高推荐结果的 多样性。 l相关技术分析 1.1主要推荐技术的比较 常用的推荐技术有协同过滤技术、关联规则挖掘和基 于知识经验的方法等,其优缺点综合比较见表1。因此,采 用可以灵活配置管理的混合推荐模型综合多种不同的推荐 1.2分布式计算与存储技术 Google发布的关于分布式基础设施的论文对业界产生 了巨大的影响,其中的MapReduce和GFS等思想为分布式 计算与存储提供了关键参考,Hadoop是其开源实现[7]。 Hadoop是一个针对大规模数据处理与分析的用于构建 分布式系统的基础框架,它方便易用,用户可以在不必充 分关注分布式底层细节的情况下,方便地开发分布式应用, 充分利用集群进行协同计算与协同存储,实现横向扩展 的目标跚。 Hadoop通过采用数据分布式存储、迁移代码而非迁移 数据的机制,在处理大规模数据时避免了耗时的数据传输 问题;利用数据适度冗余机制,允许系统从节点失效中恢 复。基于Hadoop平台开发分布式应用,用户不用关心如何 分割数据、任务如何调度和分配以及如何管理集群的拓扑 结构和节点之间的通信这些和分布式系统开发相关的复杂 事务,而只需要专注于应用逻辑的开发。 Hadoop平台具有高可伸缩、低成本、高可靠、方便易 用等特点[9],其核心是HDFS分布式文件系统和MapRe— duee框架。前者使得在成本可控的情况下处理海量数据成 为可能;后者则是一种采用分治策略、专为大规模分布式 并行数据处理设计的简化编程模型,它借鉴了函数式编程 的思想,将针对大规模数据的处理任务统一地抽象为Map (映射)和Reduce(规约)两种操作。研究表明,大多数针 对大规模数据的分布式处理任务都可以通过该模型进行表 达,它允许编程人员以直接调用相关编程接口的方式方便 地将自己的程序运行于分布式集群系统上。这样,通过在 应用程序和平台之间进行职责的重新划分,让平台框架来 处理诸如底层存储、节点通信等复杂的分布式处理细节, 应用程序可以专注于业务逻辑以面向更加复杂的业务需求。 由于Hadoop集群可以按需横向动态扩展,利用Ha— doop平台可以突破数据规模给推荐系统带来的大数据分析 第35卷第1期 李文海,许舒人:基于Hadoop的电子商务推荐系统的设计与实现 ・133・ 滤等算法。算法策略层处于数据模型和推荐引擎层之间, 以独立层的形式存在,这样允许整合更多数据分析算法。 推荐引擎层:该层是整个系统的核心,它将算法和策 略包装成功能独立的推荐引擎,通过调用算法策略层的算 法对数据模型完成相似度计算、偏好预测和关联分析等计 算任务。由于电子商务系统中的推荐需求通常是多样化的, 模型的参数和混合方式,保证了推荐系统的灵活性。 综上所述,设计思想可以总结为如下四点:第一,采 用Terminal/Cluster模式的架构来满足现代互联网应用的 面向海量数据分析的需要;第二,采用多阶段的推荐流程 能支持混合推荐,并容易实现推荐解释的功能;第三,采 用纵向分层、横向模块化、基础通用功能组件化的推荐系 统架构,容易集成更多的算法、策略和引擎从而实现功能 上的扩展;第四,通过应用层的配置和管理能够灵活地定 每一种推荐需求通常可以使用一种引擎来实现。设计独立 的推荐引擎层允许整合更多的推荐引擎,从而实现功能上 的扩展。 该层基于协同过滤技术来实现个性化推荐引擎,通过 进行长尾挖掘来满足个性化推荐的需求。在非个性化推荐 引擎方面,实现了静态规则推荐引擎和关联规则推荐引擎。 静态规则推荐引擎是以静态的逻辑规则的形式向用户 推荐产品。与其它的引擎不同,它的规则不需要经过复杂 的推荐算法计算过程,而是直接以静态的映射规则的形式 来实现的。静态规则主要有4个方面的来源:专家经验、 领域知识、商业应用需求和其它途径获得的知识与结论。 这里的专家可以是一些有经验的领域资深专家,也可以是 社区中的意见领袖等。由于推荐技术最根本还是一种信息 过滤的机制,如果能够建立比较理想的推荐模型,同时数 据质量较高且拥有大量的数据的话,推荐的效果也会比较 理想,然而要获取高质量的大量数据和实现好的推荐模型 都非常难,在大多数情况下,这些静态推荐规则可以在很 多实际应用场合中为其它推荐技术提供有益的补充。 购物篮分析是电子商务领域中最经典的数据挖掘应用 场景,关联规则推荐引擎集中关注针对交易数据库的购物 篮分析。通过关联规则挖掘可以得知哪些产品经常被一同 购买,从而导出基于关联规则的推荐列表。 上述3种推荐引擎各具特色。其中协同过滤推荐引擎 实现了个性化推荐,它充分考虑用户的个人偏好。但是用 户的个性化需求通常不稳定,可能会随着时间推移发生变 化,仅依赖个性化引擎通常并不能得到非常令人满意的效 果。此外,用户还具有关注哪些产品是热门产品、哪些产 品在整体消费趋势中经常一同被购买等非个性化的需求。 非个性化推荐反映群体的总体消费趋势,代表大众的喜好。 结合个性化需求和非个性化需求可以更全面地满足用户的 需求,实现热门资源和长尾资源之间的平衡。此外,关联 规则推荐关注的是产品之间的相关性,但是只能提供非个 性化的推荐;而协同过滤推荐能够实现个性化的推荐,其 自动化、智能化和个性化的程度都很高,但是其也存在伸 缩性、稀疏性和冷启动等问题。因此,采用具有互补意义 的3种不同推荐引擎可以充分满足用户的各种需求,同时 也能克服单个引擎的不足。最后通过混合推荐模型将3个 不同推荐引擎的推荐结果进行组合。 应用层:位于最顶层,是用户与系统交互的接口,包 含常见的配置、管理、交互和展示功能。其允许配置混合 义引擎方案。第一点可以实现伸缩性的目标,第二点和第 三点对多样性的目标提供了支持,第四点满足了灵活性的 需求。这样无论是流程还是架构都能灵活地满足大型电子 商务系统多样化的推荐需求。 3基于Hadoop的混合推荐系统的实现 基于Hadoop的混合电子商务推荐系统采用适合现代 互联网应用的T/C(Terminal/Cluster)形式架构来实现, 其架构图如图3所示。系统包括两部分:WebTerminal终 端和Hadoop集群。前者是瘦客户端,只拥有少量的业务逻 辑,它实现了推荐系统的配置、管理、交互和展示功能, 同时能将业务系统中产生的大规模数据经过一系列的处理 后作为Hadoop集群的输入提交到平台,以驱动基于Ha— doop集群的大规模数据分析;后者是用于实现大规模数据 分析的基础设施,它是由许多节点按照一定的拓扑结构组 织而成的集群,能够提供高性能、按需、无限量的计算与 存储服务。经过集群分析得到的结果再导出到WebTermi— nal终端,最终反馈并展示给用户。 圃 1一回 0l擎管理 f结果解析 墓 I卜 l\l -—下—一/ 舔 j 1 j\———1——— } 、、-....................-/ 图3基于Hadoop的混合推荐系统架构 3.1 WebTerminal端 WebTerminal端包含数据访问层、应用层的全部功能 和用户字典、产品字典、静态规则引擎和混合模型部分的 实现。 原始业务数据存储在业务系统中,通常无法直接用于 推荐分析,其中含有大量的脏数据、噪音数据和缺失值, 为了进行有效的分析和处理,需要进行抽取、清洗、转换 和装载。数据抽取模块用于实现上述过程,从而将数据从 ・134・ 计算机工程与设计 3.2数据模型 2014钲 存储系统中抽取到Hadoop计算平台,如图4所示。针对数 据的异构性和多样性,定义了一个公共抽取接口DataEx- tractor来抽象不同的数据抽取逻辑实现。 推荐系统的数据资源主要包括三类:用户数据、产品 数据和用户偏好数据。前两种数据分别充当用户和产品的 数据字典,第三种数据是用户和产品之间的关联关系的体 现。在推荐计算过程中,分别使用用户编号和产品编号来 唯一索引用户与产品,利用数据字典可以获得它们的详细 信息,这对产生推荐解释十分重要。在推荐计算过程中, 使用产品一用户偏好矩阵来抽象用户偏好数据,该矩阵每 个行向量分别对应同一种产品,每个列向量分别对应同一 SQt Servel HBase F1HI Files 图4数据抽取模块 同时,利用结果解析模块可以实现将大数据分析处理 的结果导回到关系数据库的功能,该模块的实现如图5 所示。 直直ClusterResuh]空ColaborativeFihet 图5结果解析模块 Sqoop可以通过MapReduce框架运行任务,实现关系 型数据库和HDFS之间的数据导入导出_1 。这种方法简单 方便,但是抽取过程不够灵活,因此数据抽取模块和结果 解析模块可以作为它的有益补充,实现更细粒度、更灵活 的数据迁移功能。 采用了分区混合、加权混合和随机混合3种不同的混 合策略来实现混合推荐模型,其中利用设计模式中的策略 模式来实现3种不同的混合策略之间的灵活切换。混合推 荐模型的时序图如图6所示,首先是加载混合策略以及相 应的配置参数,然后依次经过结果的过滤、排序、解释等 过程最终为用户产生推荐列表。 图6混合推荐模型时序 个用户,每个矩阵单元格分别表示一个用户对一种产品的 偏好取值。 3.3基于Hadoop的协同过滤推荐引擎 由于篇幅限制,这里以基于Hadoop的协同过滤推荐 引擎为例介绍基于Hadoop的推荐引擎的实现。协同过滤 引擎的核心包括两个部分:相似度计算组件和协同过 滤算法。 协同过滤技术一般都是基于相似性来产生推荐结果, 如何定义和度量实体之间的距离是其关键,采用不同的距 离计算方式无论是对算法的效率还是对推荐结果的精度都 有影响。系统中共实现了6种不同的分布式相似度计算组 件:欧式距离相似度(EuclideanSimilarity)、余弦相似度 (CosineSimilarity)、皮尔森相关度(PearsonSimilarity)、 Jaccard系数(JaccardSimilarity)、对数似然相似度(Log— likelihoodSimilarity)和共现相似度(CooccurrenceSimilari— ty)。它们都是针对向量实现的适合分布式计算环境下的相 似度计算组件,是实现分布式协同过滤的基础。 采用了基于MapReduce的hem-basedCF算法来实现协 同过滤,该算法包含三步计算任务:第一步,根据交易数 据库计算产品一产品协同矩阵;第二步,计算用户的偏好 向量。该向量是偏好矩阵的列向量,向量的每个分量对应 用户对每项产品的偏好值;第.三步,计算协同矩阵和偏好 向量的点积,产生该用户的推荐向量,这也是为该用户输 出的候选推荐列表。为了基于MapReduce实现以上计算任 务,需要将其拆分为6个具体步骤,详细的作业流如图7 所示。这些计算步骤需要使用总共12个MapReduceJob来 实现,其算法架构图如图8所示。这一系列作业流统一地 由RecommenderJob驱动器程序进行驱动。 4实验与分析 实验与分析通过基于Hadoop的混合电子商务推荐系 统中的协同过滤引擎产生个性化推荐过程来说明系统的功 能有效性和面对大规模数据的伸缩性。 4.1实验设置 实验中采用的Hadoop集群由5个节点组成,其中包括 1个Master节点,4个Slave节点。每个节点的具体配置信 息如下:Intel(R)XeonCPUE5 6 4 5,1GRAM,l 5G硬 第35卷第1期 李文海,许舒人:基于Hadoop的电子商务推荐系统的设计与实现 ・135・ Slave节点设置的最大map和reduce任务支持数都各为2。 此时,测试集群可以并行支持8个map任务和8个reduce 任务。在此,将map任务数或reduce任务数视为计算节点 的数量。通过调节每个Slave节点设置的最大map和reduce 任务支持数来获得不同数量的计算节点。实验中采用评测 协同过滤算法的经典数据集MovieLens,其中包含6040位 用户、3706部电影和1000209条评分记录,数据的整体稀 疏程度为95.53 。 4.2性能评估 加速比 “ (speedup)和恒等效率伸缩性[ ](isoeffi— ciency)是评估并行系统的效率和伸缩性的两个重要的定量 分析指标。前者评估固定问题规模下随着计算节点数增加 运行性能的变化情况;后者使用恒等效率函数来评估评估 当问题规模增大时算法的性能。 (1)加速比性能分析:Amdahl定律是一种常用的固定 规模加速比性能模型。它采用如下的公式计算加速比 , 图7分布式协同过滤算法流程 S 一 11,其中Tl表示使用单个计算节点时的算法执行时 』P 盘,操作系统为CentOS 5.3,Hadoop版本为1.0.4,节点 间, 表示使用P个计算节点时的并行执行时间。 之间通过100Mbps的网络进行连接。加速比实验中,每个 若算法具有伸缩性,则当问题规模固定时,加速比与 图8分布式协同过滤算法架构 计算机工程与设计 计算节点数存在线性关系。从图9可看出,在4种不同的 毒 数据集大小(10K、100K、1M、10M)下,加速比与计算 8 7 6 5 4 3 2 ● 0 . 2014正 节点个数的增加近似成正比。同时,还可发现当数据集更 大时可以获得更好的加速比。由此可见,基于Hadoop的协 同过滤算法在处理更大规模的数据集的时候有更好的 加速比。 ‰I:T ‘ .l1 ( . ..' — . r  .0 l 2 3 4 5 6 7 8 计算节点数 …◆・・lllealSpeedup・—峥 一1 M dalasize ・・●卜_-1 OK dal ̄Lsize—— 一10M dalasize _-_■一1 00K datasize 图9 Item-basedCF算法的加速比 (2)伸缩性分析:Isoefficiency指标可以通过如下的公 式来计算 Sp 丁1 T1 1 P X P T1+To 4TO ’ 式中: ——并行执行过程中的通信代价。 如果算法具有伸缩性,运行结果能保持 为常量。当 为常量时,Tx一^(P)=kP,其中P表示计算节点数, 因此^(P)是一个线性函数。TI一丁(m)一lm,其中m 表示数据量的大小,由此可得, 与P线性相关,即P一 , ÷m。因此如果计算节点P和数据规模大小m线性相关, 则也意味着算法具有伸缩性。如图10所示,当设置了3个 不同的固定计算时间(1Omin、20min、30min)时,计算节 点数随着数据规模增长同步线性增长。同时,还可以发现, 当设置的运行时间越长,算法具有越好的伸缩性能。 综上所述,实验表明基于Hadoop的电子商务推荐系 统在执行协同过滤时具有较好的伸缩性和性能。 5相关工作 Gongll。]针对协同过滤推荐技术存在的数据稀疏性问 题,采用了关联规则挖掘和User-based协同过滤两种技术 实现个性化的推荐系统,该研究表明利用不同的推荐技术 可以互补各自的不足之处。 Zhaoll ]针对Use ̄based协同过滤算法的伸缩性问题, ■ :巴 蜘# /0 : /一_r /J r_ 率  ;20 40 60 80 100 120 l40 l60 数据规模,M -—● _lOmin-,ll--20min 30min 图1O时间固定时,节点个数与数据规模的效率函数 实现了基于Hadoop平台的User-based协同过滤算法,从 而实现算法的线性伸缩。 MyMediaLite[ 作为一个轻量级多功能的推荐系统算 法库,它解决了两种最常见的协同过滤场景:评分预测和 基于隐式反馈的预测,提供了常见推荐算法的高效和易伸 缩的版本实现。 提出的基于Hadoop的电子商务推荐系统从伸缩性、 灵活性和多样性出发,运用基于MapReduce的算法和易于 配置的混合推荐模型,实现面向大型电子商务的推荐系统, 突破了集中式推荐系统架构的瓶颈。 6结束语 提出了一种基于Hadoop的混合电子商务推荐系统的 设计与实现,为使用Hadoop构建可伸缩、高性能的分布式 电子商务推荐系统提供了参考。系统以基于MapReduce的 推荐算法为核心,采用易于扩展的开放式推荐流程和架构, 利用混合推荐模型,允许用户在应用层灵活配置引擎方案, 同时易于扩展以支持更多的算法、策略和引擎。结合Ha doop的分布式计算的潜力和混合推荐的优势,构建具有高 伸缩性、灵活性和多样性的推荐系统,能够有效地解决大 型电子商务系统中的信息过载问题,为电子商务企业在数 据驱动的个性化消费时代产生持续的竞争优势。 参考文献: El3 Information overload[-EB/()I ]. [2013—04—2O.]http://en. wikipedia.org/wiki/Information—overload. [2]Ricci F,Shapira&Recommender systems handbook[M]. Springer,2011. [3]Pu P,Chen I ,Kumar P.Evaluating product search and reco— mmender systems for E—commerce environments[J].Electro nic Commerce Research,2008,8(1-2):1—27. (下转第143页) 第35卷第1期 张玲波,甘元科,石刚,等:同步数据流语言时态消去的可信翻译 .143. [5]Leroy X.Verified squared:Does critical software deserve veri— Mode-ling.Berlin:Springer Berlin Heidelberg,2012:2-3. lfed tools?[J].ACM SIGH AN Notices.ACM,2011,46 [9]Morrisett G.Technical perspective a compiler’s story[J]. (1):1—2. oCmmunications of the ACM,2009,52(7):106—106. [63 Paulin-Mohring C Introduction to the Coq proof-assistant for [IO3 Yang X,Chen Y,Eide E,et a1.Finding and understanding practical software verification[G].LNCS 7682:Tools for bugs in C compilers[J].ACM SIGPLAN Notices,2012,47 Practical Software Verification.Berlin:Springer eBrlin Heidel— (6):283-294. berg,2012:45—95. [11]Klein G,Elphinstone K,Heiser G,et a1.SeL4:Formal -17]Bertot Y.A short presentation of OCq FG].Lecture Notes in verification of an OS kernel[c]//Proceedings of the ACM Computer Science 5170:Theorem Proving in Higher Order SIGOPS 22nd Symposium on Operating Systems Principles. Logics.Berlin:Springer Berlin Heidelberg,2008:12—16. ACM,2009:207—220. [8]Le Sergent SCADE;A comprehensive framework for criti— [12]Blazy S,Leroy X Mechanized semantics for the Clight subset cal system and software engineering[G].Lecture Notes in of the C language[J].Journal of Automated Reasoning, Computer Science 7083:Integrating System and Software 2009。43(3):263—288. (上接第136页) [4]Ricci F,Rokach L,Shapira R Introduction to recommender [11]Hill M D,Marty M R.Amdahl’s law in the muhicore era systems handbook[M].Recommender Systems Handbook. _J].Computer,2008,41(7):33-38. Springer US,2011:1-35. [12]Hanuliak P.Analytical method of performance prediction in [5]Wang H F,Wu C T.A strategy-oriented operation module for parallel algorithms[J].()pen Cybernetics 8L Systemics Jour— recommender systems in E-commerce[J].Computers&Ope- nal,2012,6:38—47. rations Research,2012,39(8):1837—1849. [13]Gong S J.Personalized recommendation system based on asso— [6]Wei K,Huang J,Fu S A survey of e-commerce recomender ciation rules mining and collaborative filtering[J].Applied systems[C]//International Conference on Service Systems Mechanics and Materials,2011,39:540—544. and Service Management.IEEE,2007:1-5. [14]Zhao Z D,Shang M. User-based collaborative_ ering reco- [7]Hadoop[EB/OL].[2013—04—20.]http://hadoe ̄apache org mmendation algorithms on Hadoop[c]//Third Internatio- [8]Chuck LanL Hadoop in action[M].Manning Publications, nal Conference on Knowledge Discovery and Data Mining. 2011:15—16. IEEE,2010:478-481. [9]White T.Hadoop:The definitive guide[M].2nd ed. [15]Gantner Z,Rendle S,Freudenthaler C,et a1.MyMediaI ite: O Reilly Media.Yahoo Press,2010:165. A free recommender system library[c]//Proceedings of the [1O]Sqoop[EB/OL].[2013—04—20.]https://github.com/ Fifth ACM Conference on Recommender Systems.ACM, cloudera/sqoop/wiki. 2O11 1 305—308. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top