商品搜索引擎—推荐系统设计

认证主体:宁夏凯米世纪网络科技有限公司

IP属地:宁夏

统一社会信用代码/组织机构代码

91640100MA774ECW4K

1、商品搜索引擎一推荐系统设计-编程开发技术商品搜索引擎一推荐系统设计原文出处:小宝鸽结合目前已存在的商品推荐设计(如淘宝、京东等),推荐系统主要包含系统推荐和个性化推荐两个模块。系统推荐:根据大众行为的推荐引擎,对每个用户都给出同样的推荐,这些推荐可以是静态的曲系统管理员人工设定的,或者基于系统所冇用户的反馈统计计算出的当下比较流行的物品。个性化推荐:对不同的用户,根据他们的口味和喜好给出更加精确的推荐,这时,系统需要了解需推荐内容和用户的特质,或者基于社会化网络,通过找到与当前用户相同喜好的用户,实现推荐。下面具体介绍系统推荐和个性化推荐的设计方案。、系统推荐2.1、系统推荐目的针对

3、推荐的设计。三、个性化推荐31、个性化推荐目的对不同的用户,根据他们的口味和喜好给出更加精确的推荐,系统需要了解需推荐内容和用户的特质,或者基于社会化网络,通过找到与当前用户相同喜好的用户,实现推荐,以促进商品的销售量。3.2、三种推荐模式的介绍据推荐引擎的数据源有三种模式:基于人口统计学的推荐、基于内容的推荐、基于协同过滤的推荐。(1)基于人口统计学的推荐:针对用户的“性别、年龄范围、收入情况、学历、专业、职业”进行推荐。(2)基于内容的推荐:如下图,这里没冇考虑人对物品的态度,仅仅是因为电影a刀电影c相似,因此将电影c推荐给用户a。这是与后面讲到的协同过滤推荐最大的不同。相似

4、(3)基于协同过滤的推荐:如卜图,这里我们并不知道物品a和物品d是否相似,仅仅考虑人对物品的喜好进行推荐。用户c模式采用:这三种模式可以单独使用,也可结合使用。结合我们实际情况,采用基于协同过滤的推荐更加合适,看后期情况是否结合另外两种模式实现推荐。但基于协同过滤的推荐这种模式,会引发“冷启动”问题。关于,冷启动问题,后续会讨论解决方案。3.3、用户喜好设计(1)判断用户喜好因素:丿力史购买、丿力史购物车、丿力史搜索、丿力史浏览等,待确定我们可用数据再进一步细化。(2)用户对某个商品的喜好程度,通过不同行为对应不同分值权重,女口:历史购买(10)、历史购物车(8)、历史搜索(5

5、)、历史浏览(6),确定用户喜好因素后再进-步对各个因素评分权重进行合理的设计。(3)用户对商品的喜好程度最终体现:结合某个商品的不同行为统计出最终对该商品的喜好程度,即对商品的喜好程度,最终以一个数字体现。3.4、mahout介绍目前选择采用协同过滤框架mahout进行实现。mahout是一个很强大的数据挖掘工貝,是一个分布式机器学习算法的集合,包括:被称为taste的分布式i办同过滤的实现、分类、聚类等。mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了mapreduce模式,这样大大提升了算法可处理的数据量和处理性能。mahout是

7、-core09org.apache.mahoutmahout-math09org.apache.hadoop&

9、y=newpearsoncorre1ationsimi1arity(model);/指定用户邻居数量,这里为2uscrncighborhoodncighborhood二newncarcstnuscrncighborhood(2,similarity,model);/构建基于用户的推荐系统recommenderrecommender二newgenericuserbasedrecommender(model,ncighborhood,similarity);/得到指定用户的推荐结果,这里是得到用户1的两个推荐listre

10、commendations二recommender,recommend(1,2);/打印推荐结果for(recommendedltemrecommendation:recommendations)system.out.printin(recommendation);catch(exceptione)system,out.printin(e);3.5.3>data,csv内容(用户id、商品id,评分)1,101,51,102,31,103,2.52,101,22,102,2.52,103,52,104,23,101,2.53,104

11、,43,105,4.53,107,54,101,54,103,34,104,4.54,106,45,101,45,102,35,103,25,104,45,105,3.55,106,43.5.4、运行结果jproblemsjavadoc凰declaration貝console茨egprogressservers协debugappjavaapplicationd:luoguohuijavajdkl.abinjavaw.exe(20164月8日上午10:54:07)3.6、mahout协

12、同过滤算法选用3.6.1、mahout协同过滤自带算法介绍mahout算法框架自带的推荐器有下面这些:genericuserbasedrecommender:基于用户的推荐器,用户数量少卩寸速度快;genericitembcisedrecommender:基于商品推荐器,商品数量少时速度快,尤其当外部提供了商品相似度数据后效率更好;slopeonerecommender:基于slope-one算法的推荐器,在线推荐或更新较快,需要事先大量预处理运算,物品数量少时较好;svdrecommender:奇异值分解,推荐效果较好,但之前需要大量预处理运算;knnrecommender:基于k近邻

13、算法(knn),适合于物品数量较小时;trccclustcringrcconimendcr:基于聚类的推荐器,在线推荐较快,之/前需要大量预处理运算,用户数量较少时效果好;mahout最常用的三个推荐器是上述的前三个,本文主要讨论前两种的使用。362、考虑使用算法(1)genericuserbasedrecommender(推荐)一个很简单的user-based模式的推荐器实现类,根据传入的datamodcl和userneighborhood进行推荐。其推荐流程分成三步:第一步,使用userneighborhood获取跟指定用户ui最和似的k个用户u1uk;第二步,uluk喜欢的it

14、em集合中排除掉ui喜欢的item,得到一个item集合itemo*itemm第三步,对itemo-itemm每个itemj计算ui可能喜欢的程度值pcrf(ui,itemj),并把item按这个数值从高到低排序,把前n个item推荐给ui。其中perf(ui,itemj)的计算公式如下:其中是用户u1对ttemj的喜好值。(2)genericttembasedrecommender一个简单的item-based的推荐器,根据传入的datcmodcl和itcmsimilarity去推荐。基于item的相似度计算比基于user的相似度计算冇个好处是,item数量较少,计算量也就

15、少了,另外itemz间的相似度比较固定,所以相似度可以事先算好,这样可以大幅提高推荐的速度。其推荐流程可以分成三步:第一步,获取用户ui喜好的item集合itl-itm第二步,使用mostsimilarttemscandidatettemsstrategy(冇多种策略,功能类似uscrneighborhood)获取跟用户喜好集合里每个item最相似的其他item构成集合iteml-*itemk;第三步,对iteml-itemk里的每个itemj计算ui可能喜欢的程度值perf(ui,ttemj),并把item按这个数值从高到低排序,把前n个item推荐给ui。其中perf(

16、ui,itemj)的计算公式如下:其中是用户u1对itcml的喜好值。(3)slopeonerecommender基于slopeone算法的推荐器,slopeone算法适用于用户对item的打分是具体数值的情况。slopeone算法不同于前面提到的基于相似度的算法,他计算简单快速,对新用户推荐效果不错,数据更新和扩展性都很不错,预测能达到和基于相似度的算法差不多的效果,很适合在实际项口小使用。综合考虑,我们使用genericuserbasedrecommender(基于用户的推荐器)比较合适。3.5、mahout实现协同过滤实例就是采用这种算法实现的。3.7、mahout数据

17、源获取方式datamodel是用户喜好信息的抽象接口,它的具体实现支持从任意类型的数据源抽取用户喜好信息。taste默认提供jdbcdatamodel和filcdatamodel,分别支持从数据库和文件屮读取用户的喜好信息。目前,mahout为datamodel提供了以下儿种实现:org.apache,mahout,cf.taste,impl.model.genericdatamodelorg.apache,mahout,cf.taste,impl.model.genericbooleanprefdatamodelorg.apachc.mahout.cf

18、.tasteimp1.mode1.plusanonymoususcrdatamodelorg.apachemahoutcf.tasteimp1.mode1.filefiledatamodelorg.apache,mahout,cf.taste,impl.model.hbase.hbasedatamodelorg.apache,mahout,cf.taste,impl.model,cassandracassandradatamodelorg.apache,mahout,cf.taste,impl.model.mongo

19、db.mongodbdatamodelorg.apache,mahout,cf.taste,impl.model,jdbc.sql92jdbcdatamodelorg.apachemahoutcf.tasteimp1.mode1.jdbcmysqljdbcdatamodelorg.apache,mahout,cf.taste,impl.model,jdbc.postgresqljdbcdatamodelorg.apache,mahout,cf.taste,impl.model,jdbc.genericjdbcdatamo

20、delorg.apache,mahout,cf.taste,impl.model,jdbc.sql92booleanprefjdbcdatamodelorg.apache,mahout,cf.taste,impl.model,jdbc.mysqlbooleanprefjdbcdatamodelorg.apache,mahout,cf.taste,impl.model,jdbc.postgrcboolconprcfsqljdbcdatamodelorg.apache,mahout,cf.taste,impl.model,jdbc

22、点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了mapreduce模式,这样大大提升了算法可处理的数据量和处理性能。spark是ucberkeleyamplab所开源的类hadoopmapreduce的通用的并行计算框架,spark基于mapreduce算法实现的分布式计算,拥冇hadoopmapreduce所貝有的优点;但不同于mapreduce的是job中间输出结果可以保存在内存中,从而不再需要读写hdfs,因此spark能更好地适用丁数据挖掘与机器学习等需要迭代的mapreduce的算法。但spark没有提供文件管理系统,所以,它必须和其他的分布式文件系统进行集成才能运作。这里我们可以选择hadoop的hdfs,也可以

THE END
1.协同过滤算法的的儿童图书推荐系统+lw(源码+说明文档+mysql环境说明:开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat 开发软件:eclipse/myeclipse/idea Maven包:Maven 浏览器:谷歌浏览器。资源推荐 资源详情 资源评论 java毕业设计之基于协同过滤算法的图书推荐系统(ssm+vue完整源码+说明文档+LW+PPT).zip 浏览:142 https://download.csdn.net/download/wchg21131/90116128
2.javaee企业应用实战同意用户协议、隐私政策登录 立即注册忘记密码 公司简介|诚聘英才|网站联盟|当当招商|机构销售|手机当当|官方Blog|知识产权| 热词搜索 Copyright (C) 当当网 2004-2021, All Rights Reserved 京ICP证041189号|出版物经营许可证 新出发京批字第直0673号|食品经营许可证:JY11101050363440京ICP备17043473号-1|京公网http://product.dangdang.com/23572565.html
3.大数据毕设基于Hadoop的音乐推荐系统的设计和实现(六)随着音乐行业的不断发展和热爱音乐的人不断增加,为了适应当今社会人们追求质量和高标准的生活,从大量的歌曲中找到个人喜好的小部分歌曲成了当务之急,然而普通的系统已经无法处理这种相当大的数据,然而基于大数据的音乐推荐系统作为可以解决这个重要难题的主要解决办法,其方法的好用程度已经成为了人类高标准生活的重要的一https://developer.aliyun.com/article/1404874
4.基于协同过滤的电影推荐系统的设计与实现(协同过滤推荐算法伪代码)Taste 是 Apache Mahout 提供的一个协同过滤算法的高效实现,它是一个基于Java实现的可扩展的,高效的推荐引擎。Taste 既实现了最基本的基于用户的和基于内容的推荐算法,同时也提供了扩展接口,使用户可以方便的定义和实现自己的推荐算法。同时,Taste 不仅仅只适用于 Java 应用程序,它可以作为内部服务器的一个组件以 HThttps://cloud.tencent.com/developer/article/2059754
5.基于协同过滤算法的电影推荐系统的设计与实现.docx该系统在基于用户的协作过滤算法中使用欧几里得公式来计算用户之间的相似度,通过该方式可以得到用户之间的相似度,以达到找到用户的最佳邻居的目的,并实现向用户推荐相似电影的能力。与现有的基于内容的推荐算法相比,协同过滤推荐算法具有多种技巧,已在市场上得到了广泛的应用。该算法的最大优点是易于实现,因此可以方便地https://max.book118.com/html/2022/0610/6104050043004155.shtm
6.大数据时代试题综合题库D. 决策树算法 49)Web内容挖掘实现技术( 8 ABCD )。 A. 文本总结 B. 文本分类 C. 文本聚类 D. 关联规则 50)基于内容的推荐生成推荐的过程主要依靠( 9 ACD ) A. 内容分析器 B. 推荐系统 C. 文件学习器 D. 过滤部件 51)以下哪些管理规定对信息安全及个人隐私进行了保护( 10ABC ) https://www.360docs.net/doc/73fa81e4580102020740be1e650e52ea5418ce51.html
7.基于协同过滤算法的推荐系统推荐系统有着广泛的应用,电影推荐,商品推荐等都用到推荐系统。本文介绍协同过滤算法的基本原理,进而理解推荐系统的实现原理。 推荐系统的描述 我们以电影推荐系统来看一下怎么样以机器学习的角度来描述推荐系统。我们记 $n_u$ 为用户的数量,$n_m$ 为电影的数量,$r(i,j) = 1$ 表示用户 j 对电影 i 进行过https://www.jianshu.com/p/9b06ef8c79fa
8.基于协同过滤算法的推荐系统框架设计与实现现如今网络世界中一个用户可以通过电子商务系统获得很多便利,很多电子商务系统引入推荐引擎以求得类似实际生活中推销员的作用。推荐引擎的使用加快了协同过滤算法的研究,一个合适的算法将会为电子商务系统带来更多的收益。然而面对林林总总有关协同过滤的研究,大多只注重算法层,且研究过于理论,忽略了其在实际应用中的局限https://wap.cnki.net/touch/web/Dissertation/Article/1014008544.nh.html
9.GitHubRigoYao/GitHubChineseTop8 doocs/advanced-java 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识,后端同学必看,前端同学也可学习 47.5k Java 09/17 9 macrozheng/mall mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城https://github.com/RigoYao/GitHub-Chinese-Top-Charts
10.基于Java+SpringBoot+Vue+协同过滤算法的电影推荐系统(亮点:智能五、系统实现 5.1 前端界面实现 5.1.1 首页 5.1.2 付费电影 付费电影会根据购买的电影类型来进行协同过滤! 5.1.3 协同过滤算法的应用 原始推荐如下: 集成协同过滤算法之后,电影的推荐会随着用户的喜欢程度进行自动排序,排名靠前的为用户点击次数、点赞次数等行为来控制! https://blog.51cto.com/u_14519396/7609250