本发明专利技术在对传统推荐算法进行比较研究的基础上,提出了一种基于云计算的推荐系统(CCBRS),该系统能根据不同的推荐需求采用不同的推荐策略,本发明专利技术属于云计算技术领域。结合CCBRS系统对单机环境、伪分布式平台以及分布式平台下多种推荐算法进行了测试和分析,实现不同场景下推荐策略的选取。本发明专利技术在对传统个性化推荐算法进行比较研究的基础上,提出了一种基于云计算的个性化推荐系统(CCBRS),该系统能根据不同的推荐需求采用不同的推荐策略,具有较好的通用性和可扩展性,并且能对大规模数据的处理提供很好的支持。
【技术实现步骤摘要】
本专利技术涉及一种推荐系统的实现方法,特别涉及一种基于云计算技术的推荐系统,本专利技术属于计算机网络
。
技术介绍
个性化推荐系统(简称推荐系统)的目标在于针对一组用户可能感兴趣的产品或项目(items),产生并向他们提供有意义的推荐信息。与数据库、搜索引擎等传统信息系统工具和技术相比,关于推荐系统的研究起步较晚,大约从上世纪90年代中期开始它才成为一个相对独立的研究领域,尽管如此,在短短二十年间,推荐系统的研究和应用取得了长足的进步。近年来,随着Amazon、Yahoo、Google、YouTube、Netflix、IMDb等热门网站及其代表的新型互联网应用形式的飞速发展,人们对于推荐系统的研究与开发热情也与日俱增。尤其在电子商务领域,随着商品数量和种类的快速增长,以及商品质量和品位的千差万别,顾客往往需要花费大量的时间才能找到自己想要的商品。因此,电子商务网站为了在激烈的竞争中吸引顾客以实现盈利,必须设计高效的个性化推荐系统,依据顾客的偏好或需求,为顾客购物提供完全个性化的决策支持和信息服务。目前,已经有许多商用推荐系统在实际中得到广泛应用,它们为用户提供诸如热销商品推荐、新品推荐、产品关联推荐以及用户群同兴趣推荐等,比较有代表性的如Amazon> eBay> CDNow>GroupLens>NetfIix 和 Moviefinder 等。其中,Amazon 主要通过利用用户偏好或其他用户的购买信息,来向用户推荐相关书籍或其他产品;M0Viefinder主要采用协同过滤技术依据用户偏好进行电影或音乐唱片推荐AroupLens主要利用基于数据集的自动系统过滤向用户提供新闻推荐服务等。总的来说,目前已有的推荐系统还存在一些问题,如:推荐系统常常需要定制开发而不够灵活、多数未能充分考虑商业策略、难以根据推荐需求的变化采用不同推荐策略等。同时,随着电子商务系统规模的进一步扩大,在大规模数据集上为数以万计的用户提供实时推荐服务变得越来越困难。近年来,在分布式计算、网格计箅、并行计算和网络存储等的基础上发展出了云计算(cloud computing)。云计算技术可以通过网络把多个成本相对较低的计算实体,整合成一个具有强大计算能力的分布式系统,并借助基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)和托管服务提供商(MSP)等概念,把强大的计算能力和存储能力分布到终端用户手中。基于云计算构建个性化推荐系统的优势非常明显,例如:云计算有助于在海量的数据集上进行高效的大规模数据挖掘;云计算易于实现低成本的分布并行计算环境,降低推荐系统的数据处理成本和对高性能服务器的依赖性;云计算可为推荐系统的开发屏蔽底层异构性,并能有效利用原有设备提高对大规模数据的处理能力和速度,提高推荐系统的移植性和容错性。因此,本专利技术在对传统个性化推荐算法进行比较研究的基础上,提出了一种基于云计算的个性化推荐系统(CCBRS),该系统能根据不同的推荐需求采用不同的推荐策略,具有较好的通用性和可扩展性,并且能对大规模数据的处理提供很好的支持。
技术实现思路
本专利技术应用Hadoop和Mahout等云计算技术处理大规模数据,提出了一种基于云计算的个性化推荐系统(CCBRS),该系统可以根据不同的情况和不同的推荐需求来定制不同的推荐策略。基于云计算的CCBRS系统主要包括三个子系统,即数据存储系统、推荐计算系统和业务应用系统。其中数据存储系统主要包括两个部分:实时交互数据库(供业务应用系统使用,基于普通的关系型数据库)、分布式文件系统(利用Hadoop HDFS实现高可靠的分布式数据文件存储功能,将海量数据分布存储在多台计算机集群上)。推荐计算系统包括数据预处理模块(对异构数据进行清洗、转换、加载等)、数据挖掘模块(经过聚类和关联规则算法分别产生用户聚类和商品聚类)和推荐模块(应用内容过滤算法、协同过滤算法、混合推荐算法等计算出推荐的结果),上述模块中的算法在运行时都结合MapReduce分布式计算框架进行,同时主要采用Mahout机器学习框架构建相应推荐算法,Mahout已经实现了聚类、分类、协同过滤、进化编程等数据挖掘算法,并且允许扩展,因此可以根据推荐应用层的业务需求来定制相应的Mahout算法库。业务应用系统将根据实际的业务需求进行推荐策略定制,具体计算由推荐计算系统完成,计算结果则供业务系统进行调用。在CCBRS系统中,一般业务应用系统是实时在线工作,而推荐计算系统则采用离线工作,这样可以尽可能减小服务器的压力,并能提高推荐系统的执行效率。【附图说明】:图1:单机环境各算法推荐时间图2:单机环境Item Clustering运行时间图3:伪分布式SlopeOne运行时间图4:分布式执行改进Item-Based运行时间`【具体实施方式】:基于Hadoop的分布式云环境主要有两种模式:一种是基于单机的Hadoop伪分布式模式,另一种是Hadoop完全分布式模式。在构建实验环境时采用Hadoop 0.2版本,由于Hadoop在运行时需要JDK支持,因此选用了相应的jdkl.6.0_24。具体的开发环境是 Eclipse+Hadoopeclipse plugin,硬件实验平台的配置为 OS:CentOS5.5 x64 ;CPU:Intel (R)Xeon(R)E542002.50GHz ;Memory:4GB RAM。测试中主要采用四台 PC(即 PCI ~PC4)来搭建云计算环境,其中PCl作为namenode和Jobtracker,而PC2~POi则作为datanode 和 tasktracker。对每台PC 的 /etc/hosts 目录配置如下:masters: 192.168.10.1, slaves:192.168.10.1,192.168.10.2,192.168.10.3,192.168.10.4? 此外,在 PCl 上利用ssh-keygen生成PCl的密钥对,然后将其公钥拷贝至各机器/home/, s sh目录里,从而使得从PCl可以完成到各机器的无密码ssh登录。在Hadoop的关键配置方面,将每台机器的conf/masters 和 slaves 下的 1calhost 修改为相应的 IP 地址,并在 conf/mapred-site.xml下配置namenode和jobtracker的IP地址。表3列出了与相关的hadoop关键配置参数,具体配置时可以通过修改 conf/core-site.xml、conf/mapred-site.xml 和 conf/hdfs-site.xml 筹实现。测试中所采用的数据集来自于MovieLens [181和Libimset j [19],其中来自MovieLens有三份数据,即10万条、100万条和1000万条关于电影的评价信息(大小分别为1.88MB、23.4MB和234MB),而来自Libimseti的数据集则是由14万用户生成的1736万条匿名评偷信息(大小为253MB)。首先,在单机环境下执行前述六种推荐算法向任意指定用户推荐5个物品,其中SVD算法中的K值取10,改进的KNN算法中的邻居数取10。而由于I本文档来自技高网...
【技术保护点】
一种基于云计算技术的推荐系统实现方法,其主要特征在于包括如下功能模块:数据存储系统、推荐计算系统和业务应用系统。
【技术特征摘要】
1.一种基于云计算技术的推荐系统实现方法,其主要特征在于包括如下功能模块:数据存储系统、推荐计算系统和业务应用系统。2.基于权利要求1的提出的一种云计算技术的推荐系统实现方法,其特征还在于: 实时交互数据库(供业务应用系统使用,基于普通的关系型数据库)、分布式文件系统(利用HadoopHDFS实现高可靠的分布式数据文件存储功能,将海量数据分布存...
【专利技术属性】
技术研发人员:王志刚,
申请(专利权)人:镇江雅迅软件有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。