作者:林立宇 陈云海
林立宇
2005年硕士毕业于中山大学,现就职于中国电信股份有限公司广东研究院信息应用开发部,主要从事互联网应用、云计算、数据挖掘、知识管理等方面的研究工作。
陈云海
中国电信股份有限公司广州研究院信息业务研发室主任,主要研究方向为互联网应用、虚拟化、云计算、自然语言处理、知识管理及应用。
1 引言
随着电子商务的迅猛发展,其信息结构越来越复杂,信息量越来越庞大,用户经常迷失在海量的商品信息中,而商家也无法在海量的用户信息中建立有效的客户关系。电子商务推荐系统能够模拟商店销售人员,根据用户的需求自动推荐商品,帮助商家建立客户关系,并有效聚焦目标客户群。为了更高效地管理海量的商品信息及用户信息,本文提出将电子商务推荐系统构建在云计算基础平台上的解决方案,提高海量数据挖掘和商业智能分析的能力,以较低的成本实现高性能计算,满足中国电信动态扩展的电子商务业务需求。
2 电子商务推荐系统概念及分类
2.1 什么是电子商务推荐系统
在电子商务平台中,电子商务推荐系统具有以下三方面的作用。
(1)将浏览者转变为购买者,帮助用户快速找到需要的商品;
(2)提高交叉销售能力,基于用户已购买的商品,推荐相关商品;
(3)提高用户忠诚度,细分和聚焦目标用户群。
2.2 电子商务推荐系统分类
(1)基于内容过滤的推荐系统。比较商品之间的相似性,推荐与目标用户已选择过的商品相似的商品。
(2)基于协同过滤技术的推荐系统。学习目标用户和历史用户之间购买行为的相似性,从而根据相似历史用户的购买行为生成推荐结果。
(3)基于数据挖掘技术的推荐系统。收集用户大量的各种行为和注册信息,利用关联规则、聚类、分类等数据挖掘技术进行推荐。
(4)混和型推荐系统。综合使用前面各种推荐技术,提高推荐系统的性能和推荐质量。
3 云计算概念及相关技术
3.1 什么是云计算
云计算把计算及存储以服务的形式提供给互联网用户,用户所使用的数据、服务器、应用软件、开发平台等资源都来自互联网上的虚拟化计算中心,该计算中心负责对分布在互联网上的各种资源进行分配、负载的均衡、软件的部署、安全的控制等。云计算方便了用户对计算资源的获取和管理,从而降低成本。
3.2 云计算的特征
(1)以互联网为中心。存储和运算能力分布在网络所连接的各个节点之中,从而弱化终端的计算能力,使互联网的计算架构由“服务器+客户端”向“云服务平台+客户端”演进。
(2)虚拟化。将底层的硬件,包括服务器、存储与网络设备全面虚拟化,建立起一个共享的可以按需分配的基础资源池。
(3)动态扩展。底层的资源可以随需分配和自动增长,而上层的数据及应用可以根据业务型态的不同需求,搭配出各种互相隔离的应用,形成一个服务导向的IT架构。
(4)可运营的业务支撑体系。云计算服务运营平台必须拥有业务支撑体系,包括容量规划、计费、监控、安全、可扩展、可升级等功能。
3.3 云计算开源框架Hadoop
Hadoop是Apache开源组织的一个云计算开源框架,它的上层实现了Google的Map/Reduce算法,使计算任务分布到一个由普通机器组成的超大集群上并发执行。底层的分布式文件系统HDFS具有高容错性和高吞吐量,以较 低的成本将海量文件存储在普通机器集群上。
3.4 分布式数据挖掘中间件库Mahout Mahout是开源的可扩展的分布式数据挖掘中间件库,实现了聚类、分类、协同过滤、进化编程等数据挖掘 算法,能够高效地运行在Hadoop云计算框架上,方便开发人员快捷地创建基于云计算的海量数据挖掘应用,以较低的成本实现高性能、可扩展的电子商务推荐应用。
4 应用云计算技术构建中国电信的电子商务推荐系统
4.1 中国电信发展电子商务推荐应用面临的问题 中国电信电子商务应用主要集中在网上营业厅和号 码百事通业务,电子商务推荐应用的发展面临以下问题。
(1)高性能计算的需求。中国电信的电子商务平台涉及EDC和BSS、MSS、OSS、EDI等业务支撑系统,彼此
独立的系统无法共享计算资源,资源利用率低下;电子商务的商品信息和用户信息是海量级的,且分布存储在彼此 独立的系统中,需要构建高性能的分布式数据挖掘台。
(2)可伸缩性的需求。推荐系统的数据分析任务具有 阶段性和突发性,在特定的时间窗口下需要大量的计算资源,要求可以按需分配资源;电子商务的应用场景非常复 杂,要求推荐系统根据业务型态的不同需求,搭配出不同 的推荐模型。
(3)混合型推荐的需求。由于中国电信的商品资源还 没有获得足够多的用户评价,存在数据稀疏和冷开始的问 题,因此不能够采用单纯的协同过滤技术,需要结合内容
T 过滤技术;推荐模型还需要对用户位置、访问日志和账单等业务信息进行数据挖掘,提高推荐质量。
(4)复杂数据结构的分析需求。随着用户数和商品的 快速增长网上营业厅和号码百事通业务等电子商务应用的数据结构越来越复杂,产品更新变化快,产品之间的直接关联度也比较低,需要围绕用户信息构建动态扩展的推荐模型,并利用动态扩展的云计算平台进行海量数据挖掘。
4.2 基于云计算的电子商务推荐平台的应用意义 针对中国电信发展电子商务推荐应用面临的问题, 本文提出利用Mahout和Hadoop等云计算技术构建中国电信的电子务推荐系统的解决方案,对于中国电信发展电子商务业务具有以下重大的应用意义。
(1)提升电子商务的交易量。针对不同的电子商务应用场景,能够搭配出相应的推荐模型,并且根据不同用户的需求,高效精确地推荐商品,提升电子商务的交易量,促进转型业务的发展。
(2)提升各类电子商务产品的交叉销售能力。各种相关的业务系统通过Hadoop基础平台共享计算和存储资源,并且利用Mahout中间件对来自于不同业务系统的各类产品和用户信息进行数据分析,进行交叉推荐或套餐定制,提升交叉销售能力,在产品销售上促进业务融合。
(3)用户社群发现。利用Mahout的聚类算法分析用户的交易行为,形成有相似兴趣和需求的用户社群,进行细分营销,推荐用户社群共同关注的商品。
(4)提升用户忠诚度。分析潜在流失的用户,根据关联规则挖掘其潜在的兴趣点,进行推荐,提升用户的忠诚度。
(5)用户价值发现。分析用户在电子商务社交网络中的位置对其价值的影响,从而有效挖掘出VIP用户,进行重点推荐。
4.3 基于云计算的电子商务推荐平台的运营体系架构基于云计算的中国电信电子商务推荐平台的运营体系架构(如图1)包括分布式文件系统层、分布式计算层、数据分析中间件层和业务应用层,其中分布式文件系统层和分布式计算层是利用Hadoop构建的,而数据分析中间件层是根据业务应用在Mahout的基础上定制,并且以服务方式供用户访问。平台的每一层都有相应的云计算管理模块,包括数据安全、资源监控、资源动态调度、资源动态部署、资源规划和虚拟化等功能,保证每一层都具有高可靠性和可伸缩性。电子商务平台的相关业务系统可以直接在此平台上搭建,也可以集成到此平台上共享计算和存储资源,构建所需的推荐模型。在数据集成方面,可以利用数据分析中间件层导入业务系统的源数据进行分析,也可以把业务系统的数据直接存储到分布式文件系统层进行管理和访问。
(1)分布式文件系统层
本文提出利用Hadoop HDFS实现高可靠的分布式数据文件存储功能,将海量数据分布存储在多台计算机集群上,把文件进行分块存储,为实现容错自动进行分块复制。
HDFS由一个管理节点(Namenode)和多个数据节点(Datanode)组成。管理节点是中心服务器,负责管理文件系统的名字空间以及客户端对文件的访问,比如打开、关闭、重命名文件或目录,同时它还决定了数据块和数据节点的映射关系,即文件系统的元数据。集群中每一个节点配置一个数据节点,负责管理本节点上的数据存储,并处理客户端的读写请求,进行数据块的创建、删除和复制。从内部看,一个文件被分成一个或多个数据块,存储在一组数据节点上。HDFS为上层的分布式计算层提供输入数据、中间结果以及输出数据的载体,发挥MapReduce可伸缩性的优势;也可以把业务系统的数据直接存储到分布式文件系统层进行管理和访问。
(2)分布式计算层
本方案采用MapReduce作为分布式并行计算模型,将大型任务分成很多细粒度的子任务,这些子任务分布式且并行地在多个计算节点上进行调度和计算,从而在云平台上获得对海量数据的处理能力。在Hadoop MapReduce 中,Map 操作和Reduce 操作的执行被包裹为任务(task),而任务又以Map-Reduce 对的形式被包裹为作业(job)。负责在Hadoop集群节点上安排任务执行的软件被称作TaskTracker,每个计算节点上部署一个。负责在集群范围内调度作业和任务执行的软件被称作JobTracker,在Hadoop 集群内挑选独立的机器来部署。
(3)数据分析中间件层
Mahout已经实现了聚类、分类、协同过滤、进化编程等数据挖掘算法,并且允许扩展,根据推荐应用层的业务需求定制中国电信的Mahout算法库,并且以服务方式供推荐应用层调用。Taste是Mahout 提供的一个协同过滤算法的高效实现,它是一个基于 Java 实现的可扩展的,高效的推荐引擎中间件。Taste 既实现了最基本的基于用户的和基于内容的推荐算法,同时也提供了扩展接口,使用户可以方便的定义和实现自己的推荐算法。同时,Taste 不仅仅只适用于 Java 应用程序,它可以作为内部服务器的一个组件以HTTP和Web服务的形式向外界提供推荐的逻辑。Taste的设计使它能满足企业对推荐引擎在性能、灵活性和可扩展性等方面的要求。除了Taste推荐模型,还可以进一步定制、扩展和组合Mahout的聚类、关联规则、进化编程等数据挖掘算法,为推荐应用层生成更多的推荐模型。典型的电子商务推荐内容的生成流程包括数据建模、数据导入、数据预处理、推荐模型处理、数据输出等过程。数据分析中间件层依托下层的分布式计算层和分布式文件系统层,可以处理海量数据集和快速增长的数据集,比如每日更新的用户访问日志。由于Mahout是依附于最通用的云计算平台Hadoop上,可有效地与其它云计算中间件进行协调整合。
(4)推荐应用层
实现内容过滤推荐、协同过滤推荐、混合推荐、用户群发现、用户价值分析、用户流失分析等电子商务推荐应用,满足中国电信电子商务的业务需求。
4.4 基于云计算的电子商务推荐平台的发展重点
(1)资源整合
以现有的电子商务推荐系统为基础,进行资源整合,实现物理资源的虚拟化,通过虚拟化技术实现资源池化和资源动态扩展等功能,利用分布式文件系统动态存储各个电子商务系统的数据,实现基础平台与应用平台的扩展。
(2)依托号百平台推出亮点应用
目前中国电信最主要的电子商务系统是号码百事通平台,基于云计算的电子商务推荐平台可以依托号百平台推出亮点应用,以亮点应用带动基础平台的发展。
(3)应用扩展
在整合的基础上扩展平台,开发和部署更多的推荐模型提供给推荐业务,并且将开发接口和运行时接口标准化,提供较为完善的开发套件,鼓励和吸引合作伙伴共同丰富平台和应用的功能,与其它电子商务服务提供商合作共赢。
5 难点和风险
(1) 数据稀疏性问题和冷开始问题
在推荐系统建立初期,由于系统资源还没有获得足够多的评价,系统很难利用这些评价来发现相似的用户,这就是数据稀疏性问题;而如果一个新项目没有人去评价它,那么它便得不到推荐,推荐系统就失去了作用,也就是冷开始问题。因此推荐系统建立初期,不能够采用单纯的协同过滤
技术,需要结合内容过滤技术定制混合型推荐模型。
(2)实时性与推荐质量之间的平衡
推荐系统的推荐精度和实时性是一对矛盾。大部分推荐技术在保证实时性要求的同时,是以牺牲推荐系统的推荐质量为前提的。在保证推荐质量的基础上,为了提高实时性可以预先对用户行为信息进行聚类,定制混合型推荐模型。
(3)用户隐私保护研究
由于推荐系统需要分析用户的购买习惯和兴趣爱好,涉及到用户隐私问题,必须提出一个有效的保护用户隐私的机制,才能顺利实现个性化推荐服务。
6 总结
应用Hadoop和Mahout等云计算技术构建中国电信的电子商务推荐系统,能够以较低的成本实现高性能、动态扩展的电子商务推荐基础平台,提升百事购、网上商城等电子商务业务的交易量,提升各类电子商务产品的交叉销售能力,提升用户忠诚度和用户价值。由于Mahout是依附于最通用的云计算平台Hadoop上,可以通过整合其它
云计算中间件,扩展平台的功能,促进中国电信云计算基础架构的发展,并且进一步地应用到物联网中,为三网融合下的电子商务提供高性能、动态扩展的推荐基础平台。
参考文献
1 张敏 陈云海 林立宇 电信运营商云计算数据中心的构建分析. 电信技术, 2009, (6):100-104
2 赵晨婷, 马春娥. 基于 Apache Mahout 构建社会化推荐引擎. http://www.ibm.com/developerworks/cn/java/j-lo-mahout/
3 邓秀勤, 姜莲花. 电子商务推荐系统研究. 辽东学院学报, 2005, (7): 43-38
4 多雪松, 张晶, 高强. 基于Hadoop 的海量数据管理系统. 微计算机信息, 2010, (26):1-5