数据结构论坛

首页 » 分类 » 常识 » 基于大数据的购物推荐系统文献综述
TUhjnbcbe - 2025/6/28 18:20:00
北京看白癜风去哪家医院比较好 http://pf.39.net/bdfyy/bjzkbdfyy/

摘要:基于大数据的推荐系统的实现主要基于hadoop的mapreduce程序,利用数学上的共线矩阵算法,来求出商品之间的亲密度,这个是要由用户购买的历史数据,经过分析求出来的。现在大数据时代已经到来,现在比较流行的就是hadoop和spark,hadoop是针对于离线数据的分析,而spark可以实时的对数据作出分析,还有一种技术是storm,它也可以做到实时对数据做出分析,但是它具有不稳定性,所以大多数公司都不用它,目前我所知道的只有阿里巴巴在用storm,因为阿里巴巴有一支团队专门研究storm的,他们在storm研究上已经有所突破,但他们对外是保密的,所以别的公司都用spark和hadoop。我开发的这个系统,采用了C/S结构,前端页面与后台实时连接,同时与数据库也实时连接,我采用的是Mysql数据库,我之所以选择它,是因为Mysql数据库是一个免费的数据库,而且很好用,内存占用也特别小,好多公司都在使用Mysql数据库。在推荐算法部分,我选择的是免费开源的hadoop,因为它配置简单,开源,免费,用Java编程,网上教程多。登录注册部分,我采用的是SpringMvc框架,因为它只需要简单的配置就可以实现很多功能,如映射SQL语句,JDBC的配置文件,获取Servlet,扫描包文件,很容易就能实现登录和注册功能。页面部分,我采用的是CSS/DIV结合,还有JS设计出动感,优美的页面。

关键词:推荐系统;C/S结构;Mysql数据库;JSP;SpringMVC;Servlet

引言

近年来,互联网在飞速发展,可以说已经深入人心,到了今天,人们不可能在离开网络了。现在人们足不出户就可以购物,聊天,消费,我们的生活越来越智能,越来越人性化,随之而来的就是让它更懂你,给你推荐你可能喜欢的东西,这样你就不必再费力去找你喜欢的东西,既节约了你的宝贵时间,又让你感到这是一次愉快的经历。所以,最近几年,推荐系统很是受欢迎,在生活中也逐渐流行起来。

现在,当我们浏览视频网站,他们会给我们推荐我们可能喜欢的电影或者电视剧。当我们浏览歌曲网站的时候他们会给我们推荐我们可能喜欢的歌曲。当我们浏览购物网站时,他们就会推荐我们可能喜欢的商品。现阶段做的最好的就要数京东和淘宝了,他们可以做到实时推荐[1]。推荐系统有两种,一种是实时推荐,根据你浏览商品的痕迹来推断你可能喜欢的商品。还有一种就是离线推荐,它是根据商品与商品之间的联系来推断出你可能喜欢的商品,就行手机和手机保护壳的关系,它是根据大数据分析得来的商品与商品之间的亲密度。

1.推荐系统的发展

在国外,说起推荐系统大家就会想到机器学习和R语言,在机器学习方面国外确实很先进,这一点非常值得我们学习,因为国外机器学习的技术很成熟,以及他们对各种特别复杂特征的利用方式逐步达到成熟,所以他们在推荐算法这一块很先进,我们和他们还有一定的差距。现在国内较大的公司如阿里巴巴,京东和今日头条等,他们都在广泛的使用机器学习来构建属于他们的推荐系统。传统的协同过滤算法推荐[2]、tag推荐、和各种你可以看懂的它们基于规则的或者是群体智能还有甚至是物理学的传统的推荐算法它们都在逐渐被淘汰。它们这点在内容上的推荐表现的很明显,因为它们这些传统的推荐方法都不能解决针对长尾内容上的精细化推荐还有热度穿透等一系列的问题,而且在效果上也是远远的不如机器学习算法。

2.推荐系统的意义

就现在而言,虽然推荐系统很受欢迎,但大多数做的不够好,好多网站都是用的是别的公司的产品,所以在大数据推荐系统这一块还是很有前景的。大数据这门技术也是近几年刚刚兴起的,它的潜力和价值是无可限量的,它可以应用到各个领域,所以这对我们来说是个机遇,我们一定要抓紧,研究出属于我们自己的知识产权,创新技术。但是,随着推荐系统的流行,一些紧迫的问题也就出来了,比如说用户的隐私泄露问题,推荐算法的鲁棒性[3],冷启动问题[4]。解决用户隐私问题的关键就是要提高公民的道德,素质,认知。当然我们也可以从权限上尽量避免这个问题。对于推荐算法的鲁棒性,解决办法一般有两种。一种就是对攻击检测然后发现推荐系统中的攻击,再然后就可以消除或降低这些攻击对推荐系统的影响。另外一种方法是设计出更加健壮的推荐算法。而对于冷启动,解决办法就是发展大数据,是每个人的属性都存储在身份证里,这样你登录某个网站,这个网站通过你的身份证号就可以获取到你的信息,即使你是第一次登录也没关系,系统可以根据你身份证里的数据同样可以给你推荐你可能喜欢的东西或热点,当然这是未来发展的趋势,现在还不能实现。

3.推荐系统的设计

3.1系统总体设计

本系统主要包括用户登录注册模块的设计、推荐算法的设计、购物车设计、用户管理设计。

具体如下:

点击(最多18字)

图1推荐系统结构图

3.2系统架构设计

本设计的开发是基于C/S结构,采用本系统我采用的是JavaSpringMVC架构,它的优点就是好多功能都集成在了架构内,想用到什么功能直接配一下就好了。它的功能原理图如图2.1所示:

图2系统架构图

4.系统数据库设计

4.1数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理[2]不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储,有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

4.2概念结构设计

概念结构设计是将分析得到的用户需求抽象为概念模型的过程。即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系概念结构设计模型。这样才能更好地、更准确地用某一DBMS实现这些需求。它是整个数据库设计的关键。

概念结构的主要特点是能真实、充分地反映现实世界;易于理解;易于更改;易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R模型。

5.系统实现

5.1程序的实现

本系统为用户提供实现了以下功能:

(1)用户登录:

成功注册过的用户通过正确的用户名和密码可以进行登录

(2)用户注册:

用户在登录之前一定要先注册,注册要输入合法的用户名和密码,否则是不能注册成功的。

(3)推荐算法模块:

给用户推荐商品的算法实现,依据与用户购买的历史数据,通过大数据处理技术对数据进行挖掘,得到要推荐的商品写入数据库,再通过页面展示出来。

基于用户的协同过滤算法原理[5]的实现过程以及实现原理就如下图3所示:

图3协同过滤原理图

最后推荐结果运行效果图如图4所示:

图4推荐结果图

(4)购物车:

用户可以把喜欢的商品加入到购物车,在购物车里可以付款购买商品。购物车可以添加多个商品,很方便用户购物,方便用户体验。

购物车运行效果图如图5所示:

图5购物车效果图

(5)系统主页面:

用户可以查看商品分类,根据自己喜欢的类型查找商品,还有就是推荐部分页面展示,推荐有三种,一种是热门商品,一种新品首发,还有就是销量最多的商品。

推荐系统主页面如图6所示:

图6推荐系统界面

小结

通过几个月来资料的收集和系统设计,基于大数据的推荐系统终于完成。本项目注重推荐算法的开发和功能的实用性,在经历了一个系统开发要经历各个阶段,自己一个人完成各个阶段的工作。

以下是我对推荐系统做的总结:

首先是创新点

1.我在推荐系统的登录模块中用到了用户名唯一性标识,如果注册过的用户在此注册就会报错,提示用户手机号已经注册过了,还有就是对用户名的判断是否有效,我用了Java的正则表达式,来实现了这一功能。

2.系统中最关键的部分就是推荐部分,推荐部分我是利用了Hadoop,我在Hadoop集群上跑MapReduce作业,然后通过JDBCAPI写到Mysql数据库,然后通过网页显示出来,这样做的好处就是简单易懂,而且Hadoop开源免费,便于人们学习,网上的学习资料也多。Hadoop处理大数据的能力还是很乐观的,处理T级数据无压力。

系统优点

1.系统页面很漂亮,动感很强,值得体验。

2.页面设计很有目的性,让用户一眼就能看到自己想买的商品在哪。

3.用户体验性更好,操作更加简单

系统缺点

1.该系统所用的数据是离线的,需要先运行MapReduce作业才能获取数据写入数据库。不能实时推荐。

2.本系统数据未进行数据库加密,在安全形方面还有待于改进。

3.推荐系统的鲁棒性,和冷启动问题还存在。

4.推荐算法[6]过于复杂,设计多个MR作业。

存在问题及拟解决方案

问题一:

用户密码存入数据库没有通过MD5的方式来加密,到数据库是可以看到用户密码的,这样密码容易泄露。

解决方案:

为了安全性考虑,最好采用加密技术对密码加密。本人欲使用MD5加密技术进行加密。

问题二:

系统本身存在鲁棒性问题,这对推荐结果的影响还是很大的。

解决方案:

解决办法一般有两种。一种就是对攻击检测[12]然后发现推荐系统中的攻击,再然后就可以消除或降低这些攻击对推荐系统[5]的影响。另外一种方法是设计出更加健壮的推荐算法。

问题三:

受技术限制,推荐系统只能完成根据离线数据,分析离线数据,为用户做出合理的推荐。

解决方案:我会继续看关于大数据的资料,继续学习大数据技能,以后会继续完善系统,真心的希望有一天能做的像淘宝京东一样,真正的做到实时推荐。

参考文献

[1]TomWbite.Hadoop权威指南[M].清华大学出版社,.3.

[2]廖华.基于客户生命周期与交易偏好的商品推荐方法[J].大家,(8):12-20.

[3]赵亮,胡乃静,张守志.个性化推荐算法设计[J].算机研究与发展,(8):23-28.

[4]蔡浩.结合用户信任模型的协同过滤推荐方法[J].计算机工程与应用,(35):42-53.

[5]胡斌.一种基于用户特征和时间的协同过滤算法[J].武汉理工大学学报,(3):3-9.

[6]孙一林,彭波.Java数据库编程实例[M].清华大学出版社,.

[7]孙卫琴.Tomcat与JSPWeb开发技术详解[M].电子工业出版社,年6月:56-78.

[8]王宏宇.商务推荐系统的设计研究[D].中国科学技术大学.

[9]刘龙.一个实现个性化实时路径推荐服务的推荐系统框架[D].中国科学技术大学.

[10]徐浩.移动情景感知的实时推荐技术研究

[D].国防科学技术大学.

[11]甘冈.Linux/UNIX网络编程[M].北京:中国水利水电出版社,:43-.

[12]殷风景.个性化信息推荐中若干关键问题与技术研究[D].国防科学技术大学.

[13]胡亮.集成多元信息的推荐系统建模方法的研究[D].上海交通大学.

[14]于程远.基于QoS的Web服务推荐技术研究[D].上海交通大学.

[15]方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,。

1
查看完整版本: 基于大数据的购物推荐系统文献综述