CN104503967A - 一种基于hadoop的网络推荐方法 - Google Patents
一种基于hadoop的网络推荐方法 Download PDFInfo
- Publication number
- CN104503967A CN104503967A CN201410574528.XA CN201410574528A CN104503967A CN 104503967 A CN104503967 A CN 104503967A CN 201410574528 A CN201410574528 A CN 201410574528A CN 104503967 A CN104503967 A CN 104503967A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- hadoop
- user
- recommendation
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Abstract
本发明公开了一种基于hadoop的网络推荐方法,基于hadoop平台的网络,根据实际的计算需求增加集群的规模,利用HDFS分布式文件系统为海量数据集提供动态的存储空间来存储不断增长的海量数据集,并通过MapReduce框架将大任务分解为小任务,通过并行计算的方式提高算法的计算速度,利用物质扩散算法和热传导算法实现网络推荐。本发明解决了传统算法在单机模式运行,容易受到处理器速度、存储容量等诸多计算机硬件性能的阻碍,不能很好地达到大型电子商务网站的问题,解决了海量的用户日志可靠,高效地推荐系统进行计算、分析和挖掘问题,解决了其他推荐算法耗时长,可扩展性较差,随着用户和商品数量的增加,算法的复杂度呈多项式增长,算法性能越来越差等问题。
Description
技术领域
本发明涉及推荐方法领域,具体涉及一种基于hadoop的网络推荐方法。
背景技术
随着互联网技术日新月异的革新,全世界的网页服务器总数不断增加,网页的数量也因此呈现爆炸性的增长趋势。人们可以在线阅读文章、聆听音乐、社交交流、分享照片、购买商品,但同样带来了一系列困扰:一方面,用户很难从爆炸性累积的海量信息中搜寻到对自己有价值的部分;另一方面,信息的自身质量良莠不齐,部分可能有价值的信息由于缺乏辅助工具而被埋没,该现象被称为“信息超载”。为了有效地应对上述问题,人们研发了搜索引擎,如Google、百度、Bing等,使用网络爬虫收集网页信息,并对其进行筛选、分析、提取、组织和处理,为用户提供搜索服务。但这还远远不够,因为搜索引擎需要用户能够明确自己需求,输入关键字,所以反馈的信息都限制了用户已知的信息范围中,而不能帮助用户找到其不知道但有价值或感兴趣的内容。而推荐系统能够从一定程度上可以弥补搜索引擎的缺陷,比较传统的搜索引擎,推荐系统分析用户的历史操作,建立了用户偏好模型,依靠算法计算预测用户对未知商品的偏好权重,并根据权重对商品排序,向用户推送一个可能令其感兴趣的商品推荐列表。随着推荐系统在电子商务网站取得广泛公认的成功,巨大的顾客和商品数量对现有的推荐系统提出巨大的关键性挑战,如何提供高质量的推荐结果,如何能在每一秒能为数以万计的用户做出推荐,如何能在极度稀疏的数据的情况下满足用户高命中率和个性化需求,这是都是亟待解决的问题。在现代电子商务网站中,响应速度是Web应用用户体验的重要指标之一,而推荐系统扩展性差和耗费大量计算时间是令人无法容忍的,推荐系统如何能够在很短时间内将商品推荐给数以万计的在线用户,这是一项严峻的挑战。新一代的推荐系统需要解决即使在海量数据的情况下,如何快速做出高质量的推荐。
发明内容
本发明要解决的技术问题是:为了更好地解决推荐系统的可扩展性问题,本发明采用Hadoop作为算法的实现平台,一方面HDFS可以通过分布式文件系统为海量数据集提供动态的存储空间,更重要的方面是MapReduce框架可以将大任务分解为小任务,通过并行计算的方式提高算法的计算速度。Hadoop能够有效解决物质扩散算法的可扩展性问题。
本发明所采用的技术方案为:
一种基于hadoop的网络推荐方法,基于hadoop平台的网络,根据实际的计算需求增加集群的规模,利用HDFS分布式文件系统为海量数据集提供动态的存储空间来存储不断增长的海量数据集,并通过MapReduce框架将大任务分解为小任务,通过并行计算的方式提高算法的计算速度,利用物质扩散算法和热传导算法实现网络推荐。
所述推荐方法的设计结构包括:(1)推荐应用接口模块(Tomcat,JSP,JDBC等模块),(2)推荐系统模块(hadoop平台及相应算法实现),(3)数据存储模块(MySql等数据库),其中
推荐应用接口模块,负责用户数据的收集和推荐结果的返回,用户对商品的打分信息会通过JSP调用JDBC写入数据存储模块的数据库,并接收用户的请求从数据存储模块中接收推荐的结果;
推荐系统模块,以Hadoop平台为基础,定时从数据存储模块导入用户历史数据到HDFS中以保证保持数据的实时性,利用已经MapReduce并行化的推荐算法后台程序生成推荐模型,进一步计算推荐的结果,并存储到数据存储模块;
数据存储模块,将用户历史数据和推荐计算的结果存储使用关系型数据库。
所述推荐方法融合了基于物质扩散法的剪切策略,对极度活跃的用户历史商品选择记录进行长度限制,随机保留该位用户与已选择过的商品的P条连边,多余的连边则进行删除。“剪切”只应用于推荐系统中的小部分极度活跃用户,而不会影响绝大部分的非极度活跃用户,所以剪切操作的时间开销几乎可以忽略不计。
本发明有益效果:本发明解决了传统算法在单机模式运行,容易受到处理器速度、存储容量等诸多计算机硬件性能的阻碍,不能很好地达到大型电子商务网站的问题。解决了海量的用户日志可靠,高效地推荐系统进行计算、分析和挖掘问题,解决了其他推荐算法耗时长,可扩展性较差,随着用户和商品数量的增加,算法的复杂度呈多项式增长,算法性能越来越差等问题。
本发明是基于Hadoop的网络推荐方法,hadoop支持在大规模商用硬件集群上运行应用,使用简易的编程模型来分布式处理分布在集群机器上的大规模数据集,通过部署廉价的机器集群可以与任何高性能的计算机并驾齐驱,以横向扩展的斜线战胜纵向扩展的曲线,可扩展的对海量数据的存储为海量数据的处理任务带来了便宜等优点,是大数据处理的首选,网络推荐算法在MapReduce并行化处理之后,随着集群机器的数量增加,其计算效率正比例增加,因此对提高推荐系统的可扩展性很有帮助。
附图说明
图1为Hadoop配置参数设置示意图;
图2为本发明的方法工作原理图;
图3为热传导计算商品度算法伪代码;
图4为热传导计算用户已选择的商品列表算法伪代码;
图5为热传导计算资源分配矩阵算法伪代码;
图6为热传导计算推荐列表算法伪代码;
图7为Pair算法伪代码;
图8为Stripe算法的伪代码。
具体实施方式
下面根据说明书附图,结合具体实施例,对本发明进一步说明:
一种基于hadoop的网络推荐方法,所述推荐方法的设计结构包括:(1)推荐应用接口模块,(2)推荐系统模块,(3)数据存储模块。
其中,Hadoop的运行模式采用完全分布式的运行模式,由4台PC组成,1台作为master控制节点,其余3台作为slaver计算节点。每台PC硬件都是Intel Dual-core 2.6GHz CPU,2G内存和100G硬盘,操作系统采用Ubuntu-10.10-server-i386,JDK版本为1.6.0_27,MySQL版本为5.6.10,Hadoop版本采用0.20.2,hadoop具体配置如图1所示。
如图2所示,推荐系统安装Apache,tomcat,Sqoop,Mahout,Ganglia,MySQL等组件程序,为了实现apache和tomcat的整合,apache直接处理静态页面的展示,而将动态页面请求转发给tomcat。在方法实现中,在Hadoop运行的前提下,输入如下命令行可以将MySQL中ratings表中的用户历史打分记录并行导入到HDFS数据的指定文件夹input中(Sqoop默认会同时开启4个进程同时进行数据的导入,m参数可以设置,实质上是并行的map任务数):
$sqoop import--connect jdbc:mysql://localhost--dataset movielens--username{用户名}--password{密码}--table ratings--target-dir input--column"userId,movieId,rating"--where{导入数据的条件}--m{并行导入数}
在计算推荐结果结束后,需要将HDFS中output文件夹中的预测结果导回MySQL的recommenders表中以备返回推荐,则输入如下命令行:
$sqoop export--connect jdbc:mysql://localhost/--dataset movielens--username{用户名}--password{密码}--export-dir output--table recommenders--m{并行导入数}
在所述推荐方法的部署上,应用程序开发平台Eclipse-3.4.2 SDK,安装hadoop-0.20.2-eclipse-3.4-plugin插件并配置。原始数据可能会有多个与算法无关的属性列,则需要在应用程序中,对数据进行清洗和提取。
根据图3,4,5,6,7,8中的算法伪代码,使用java语言编程实现具体算法,开发调试完成后将应用程序打成JAR包,上传到NameNode节点机器上的Hadoop的指定目录下,以物质扩散算法为例,Dinput为输入,Doutput为输出,JAR名为recommender.jar,NBI为算法名,则输入shell命令运行推荐算法:Hadoop jar recommender.jar NBI Dinput Doutput。
Claims (3)
1.一种基于hadoop的网络推荐方法,其特征在于:基于hadoop平台的网络,根据实际的计算需求增加集群的规模,利用HDFS分布式文件系统为海量数据集提供动态的存储空间来存储不断增长的海量数据集,并通过MapReduce框架将大任务分解为小任务,通过并行计算的方式提高算法的计算速度,利用物质扩散算法和热传导算法实现网络推荐。
2.根据权利要求1所述一种基于hadoop的网络推荐方法,其特征在于:所述推荐方法的设计结构包括:1)推荐应用接口模块,2)推荐系统模块,3)数据存储模块,其中
推荐应用接口模块,负责用户数据的收集和推荐结果的返回,用户对商品的打分信息会通过JSP调用JDBC写入数据存储模块的数据库,并接收用户的请求从数据存储模块中接收推荐的结果;
推荐系统模块,以Hadoop平台为基础,定时从数据存储模块导入用户历史数据到HDFS中以保证保持数据的实时性,利用已经MapReduce并行化的推荐算法后台程序生成推荐模型,进一步计算推荐的结果,并存储到数据存储模块;
数据存储模块,将用户历史数据和推荐计算的结果存储使用关系型数据库。
3.根据权利要求1或2所述一种基于hadoop的网络推荐方法,其特征在于:所述推荐方法融合了基于物质扩散法的剪切策略,对极度活跃的用户历史商品选择记录进行长度限制,随机保留该位用户与已选择过的商品的P条连边,多余的连边则进行删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410574528.XA CN104503967A (zh) | 2014-10-24 | 2014-10-24 | 一种基于hadoop的网络推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410574528.XA CN104503967A (zh) | 2014-10-24 | 2014-10-24 | 一种基于hadoop的网络推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104503967A true CN104503967A (zh) | 2015-04-08 |
Family
ID=52945365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410574528.XA Pending CN104503967A (zh) | 2014-10-24 | 2014-10-24 | 一种基于hadoop的网络推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104503967A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919697A (zh) * | 2017-03-07 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种将数据同时导入多个Hadoop组件的方法 |
CN107241422A (zh) * | 2017-06-23 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种实时将外部用户及用户组信息同步进Apache Ranger的方法 |
CN112287199A (zh) * | 2020-10-29 | 2021-01-29 | 黑龙江稻榛通网络技术服务有限公司 | 一种基于云服务器的大数据中心处理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169505A (zh) * | 2011-05-16 | 2011-08-31 | 苏州两江科技有限公司 | 基于云计算的推荐系统构建方法 |
CN102298650A (zh) * | 2011-10-18 | 2011-12-28 | 东莞市巨细信息科技有限公司 | 一种海量数字信息的分布式推荐方法 |
US8484226B2 (en) * | 2011-07-09 | 2013-07-09 | Yahoo! Inc. | Media recommendations for a social-software website |
CN103345698A (zh) * | 2013-07-09 | 2013-10-09 | 焦点科技股份有限公司 | 电子商务环境下基于云计算处理模式的个性化推荐方法 |
CN103577403A (zh) * | 2012-07-19 | 2014-02-12 | 镇江雅迅软件有限责任公司 | 基于云计算技术的推荐系统实现方法 |
CN104021483A (zh) * | 2014-06-26 | 2014-09-03 | 陈思恩 | 旅客需求推荐方法 |
-
2014
- 2014-10-24 CN CN201410574528.XA patent/CN104503967A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169505A (zh) * | 2011-05-16 | 2011-08-31 | 苏州两江科技有限公司 | 基于云计算的推荐系统构建方法 |
US8484226B2 (en) * | 2011-07-09 | 2013-07-09 | Yahoo! Inc. | Media recommendations for a social-software website |
CN102298650A (zh) * | 2011-10-18 | 2011-12-28 | 东莞市巨细信息科技有限公司 | 一种海量数字信息的分布式推荐方法 |
CN103577403A (zh) * | 2012-07-19 | 2014-02-12 | 镇江雅迅软件有限责任公司 | 基于云计算技术的推荐系统实现方法 |
CN103345698A (zh) * | 2013-07-09 | 2013-10-09 | 焦点科技股份有限公司 | 电子商务环境下基于云计算处理模式的个性化推荐方法 |
CN104021483A (zh) * | 2014-06-26 | 2014-09-03 | 陈思恩 | 旅客需求推荐方法 |
Non-Patent Citations (1)
Title |
---|
唐真: ""基于hadoop的推荐系统设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919697A (zh) * | 2017-03-07 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种将数据同时导入多个Hadoop组件的方法 |
CN106919697B (zh) * | 2017-03-07 | 2020-09-25 | 浪潮云信息技术股份公司 | 一种将数据同时导入多个Hadoop组件的方法 |
CN107241422A (zh) * | 2017-06-23 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种实时将外部用户及用户组信息同步进Apache Ranger的方法 |
CN112287199A (zh) * | 2020-10-29 | 2021-01-29 | 黑龙江稻榛通网络技术服务有限公司 | 一种基于云服务器的大数据中心处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180239781A1 (en) | Automatically obtaining real-time, geographically-relevant product information from heterogeneus sources | |
Jugovac et al. | Streamingrec: a framework for benchmarking stream-based news recommenders | |
Pereira et al. | NoSQL real-time database performance comparison | |
Vinagre et al. | Forgetting mechanisms for scalable collaborative filtering | |
US20150058334A1 (en) | Presentation of items based on a theme | |
CN103345698A (zh) | 电子商务环境下基于云计算处理模式的个性化推荐方法 | |
TW201737131A (zh) | 提供推薦詞的方法及裝置 | |
Salehi et al. | SensorDB: a virtual laboratory for the integration, visualization and analysis of varied biological sensor data | |
TWI539306B (zh) | Information delivery method, processing server and merge server | |
Shah et al. | Big data analytics architecture for agro advisory system | |
Kowald et al. | The tagrec framework as a toolkit for the development of tag-based recommender systems | |
US20160196579A1 (en) | Dynamic deep links based on user activity of a particular user | |
CN109977312A (zh) | 一种基于内容标签的知识库推荐系统 | |
Sahu et al. | Comparative study of tools for big data analytics: An analytical study | |
Saldhi et al. | Big data analysis using Hadoop cluster | |
CN104503967A (zh) | 一种基于hadoop的网络推荐方法 | |
Sejdiu et al. | A scalable framework for quality assessment of RDF datasets | |
Vrbić | Data mining and cloud computing | |
Suryawanshi et al. | Big data mining using map reduce: a survey paper | |
Wang et al. | Using cloud computing platform of 6G IoT in e-commerce personalized recommendation | |
Dang et al. | Evaluating session-based recommendation approaches on datasets from different domains | |
Islam | A cloud based platform for big data science | |
Wang et al. | MapReduce-based frequent pattern mining framework with multiple item support | |
Amen et al. | Sketch of big data real-time analytics model | |
Jayasree | Data Mining: Exploring Big Data Using Hadoop and Map Reduce |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150408 |