一种推荐系统大数据处理方法技术方案

技术编号:14021236 阅读:62 留言:0更新日期:2016-11-18 15:06
本发明专利技术公开了一种推荐系统大数据处理方法,属于推荐系统技术领域,解决了传统的推荐系统大数据处理方法开发难度大,效率较低的技术问题。该方法包括:获取用户偏好效用矩阵和项目数据;基于所述效用矩阵进行分布式数据处理获得效用矩阵内用户评价的项目列表和每个项目对应的评价用户及其评分值列表,基于所述项目数据进行分布式数据处理获得每个项目的相似项目列表;基于每个项目对应的评价用户及其评分值列表和每个项目的相似项目列表进行分布式数据处理获得用户的推荐项目及其预测权重列表;基于用户评价的项目列表和用户的推荐项目及其预测权重列表进行分布式数据处理获得用户的项目推荐结果。

【技术实现步骤摘要】

本专利技术涉及推荐系统
,具体的说,涉及一种推荐系统大数据处理方法
技术介绍
推荐系统,也就是指个性化推荐,其根本实质就是根据用户的兴趣特点与历史行为记录,向用户推荐推荐用户感兴趣的商品或者项目信息。随着互联网的规模不断扩大,移动互联网的无所不在,用户体现在互联网中的信息也呈多样化发展,从基本的人口学信息到动态变化的地理位置信息,从简单的内容浏览者到成为内容的提供者。现实中的个人也将在互联网中成为真实的“虚拟人”。如何将用户大量的非结构化异构信息进行有效的分析并得出可靠满意的结果并且解决信息超载问题,从而诞生了个性化推荐系统。个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,核心是通过用户的大量信息建立起用户与项目之间的联系,从而达到一种信息发现的目的。推荐系统本质更多是指一种服务,是帮助用户从海量数据中解放出来,提供适合让用户更好决策的推荐服务,并且这种服务将会渗透到整个互联网世界以至未来人们生活的方方面面,比如新闻,旅行,饮食等。推荐系统是云计算本质即提供弹性服务的一个子集。推荐系统的实现必须依靠大数据处理支撑,而不再是一种传统的算法实现,将收集到的数据通过一个可扩展平台进行处理并得到一个可靠的模型,便是大数据处理在推荐系统中的根本所在。目前,开发推荐系统大数据处理的平台有较多选择,但是都需要比较复杂的编程技巧与体系架构,对开发人员要求高,需要开发者控制大量的设计细节,难度大,并且计算效率较低。
技术实现思路
本专利技术的目的在于提供一种推荐系统大数据处理方法,以解决的传统的推荐系统大数据处理方法开发难度大,效率较低的技术问题。本专利技术提供一种推荐系统大数据处理方法,该方法包括:获取用户偏好效用矩阵和项目数据;基于所述效用矩阵进行分布式数据处理获得效用矩阵内用户评价的项目列表和每个项目对应的评价用户及其评分值列表,基于所述项目数据进行分布式数据处理获得每个项目的相似项目列表;基于每个项目对应的评价用户及其评分值列表和每个项目的相似项目列表进行分布式数据处理获得用户的推荐项目及其预测权重列表;基于用户评价的项目列表和用户的推荐项目及其预测权重列表进行分布式数据处理获得用户的项目推荐结果。本专利技术提供的推荐系统大数据处理方法,还包括:基于效用矩阵内用户评价的项目列表进行分布式数据处理获得用户的相似用户列表;基于用户的相似用户列表与项目数据进行分布式数据处理获得用户的项目推荐结果。本专利技术提供的推荐系统大数据处理方法,还包括:获取用户数据并进行分布式聚类处理获得聚类结果;基于所述聚类结果、所述用户评价的项目列表和项目数据进行分布式数据处理获得每个聚类的物化特征;基于每个聚类的物化特征数据根据新用户的聚类选择获得新用户的物化特征;基于新用户的物化特征对项目索引进行分布式检索获得新用户的项目推荐结果。本专利技术提供的推荐系统大数据处理方法,还包括:获取包含有项目ID、对该项目评分的用户ID以及评分值信息的训练数据集与包含有用户ID和该用户要预测的项目ID信息的测试数据集;根据训练数据集进行分布式数据处理统计其中的项目对及其差值和产生差值的用户列表;基于训练数据集中的项目对及其差值和产生差值的用户列表进行分布式数据处理统计训练数据集中有差值关系的项目对、总用户数量、评分和以及平均差值;根据训练数据集和测试数据集进行分布式数据处理获得用户已经评分过的项目及其评分以及要预测的项目;基于训练数据集中有差值关系的项目对、总用户数量、评分、平均差值、用户已经评分过的项目及其评分和要预测的项目进行分布式数据处理获得SlopeOne预测计算所需的值;基于SlopeOne预测计算所需的值进行分布式数据处理计算用户需要预测的项目的预测值。在基于效用矩阵和项目数据进行分布式数据处理的步骤中包括:基于所述效用矩阵通过第一映射-归约模块获得键值对为用户:用户评价的项目列表的第一输出数据;基于所述效用矩阵通过第二映射-归约模块获得键值对为项目:项目对应的评价用户及其评分值列表的第二输出数据;基于所述项目数据通过第三映射-归约模块获得键值对为项目:项目的相似项目列表的第三输出数据;在获得用户的推荐项目及其预测权重列表的步骤中包括:基于所述第二和第三输出数据通过第四映射-归约模块获得键值对为用户:用户的推荐项目及其预测权重列表的第四输出数据;在获得用户的项目推荐结果的步骤中包括:基于所述第一和第四输出数据通过第四映射-归约模块获得键值对为用户:用户的项目推荐结果列表的输出结果。在获取用户的相似用户列表的步骤中包括:基于所述用户评价的项目列表通过第六映射-归约模块获得键值对为用户:用户的相似用户列表的第五输出数据;在基于用户的相似用户列表与项目数据进行分布式数据处理的步骤中包括:基于所述第五输出数据与所述项目数据通过第七映射-归约模块获得键值对为用户:用户的项目推荐结果列表的输出结果。在获得每个聚类的物化特征的步骤中包括:基于所述用户评价的项目列表和聚类结果数据通过第八映射-归约模块获得键值对为输出键值对为聚类:聚类对应的项目列表的第六输出数据;基于第六输出数据和项目数据通过第九映射-归约模块获得键值对为聚类:聚类的物化特征列表的第七输出数据;在获得新用户的项目推荐结果的步骤中包括:基于新用户的物化特征通过第十映射-归约模块对项目索引进行检索获得键值对为用户:用户的项目推荐结果列表的输出结果。在所述根据训练数据集进行分布式数据处理的步骤中包括:根据训练数据集数据通过第一映射模块和混洗模块获得键值对为用户:用户评分项目以及相应的评分值列表的输出数据;基于所述键值对为用户:用户评分项目以及相应的评分值列表的输出数据通过第一归约模块获得键值对为项目对:其差值及产生该差值的用户的输出数据。在统计训练数据集中有差值关系的项目对、总用户数量、评分和以及平均差值的步骤中包括:基于键值对为项目对:其差值及产生该差值的用户的输出数据通过合并模块生成键值对为项目对:其差值及产生该差值的用户的统计个数列表的输出数据;基于键值对为项目对:其差值及产生该差值的用户的统计个数列表的输出数据通过第二归约模块获得键值对为项目:已计算标示、有差值关系的项目对、总用户数量、评分和以及平均差值的输出数据。在根据训练数据集和测试数据集进行分布式数据处理的步骤中包括:对训练数据集与测试数据集通过第三映射模块进行连接处理获得键值对为用户:该用户的连接记录列表的输出数据;基于所述键值对为用户:该用户的连接记录列表的输出数据通过第三归约模块获得键值对为用户:预测需求标识、用户已经评分过的项目及其评分以及要预测的项目。本专利技术实施例提供的推荐系统大数据处理方法通过Hadoop平台实现基于内容推荐的大数据处理设计方案、基于项目协同推荐的大数据处理设计方案、冷启动优化方案大数据处理设计以及SlopeOne算法的大数据处理设计方案,通过并行执行机制,大大提高大数据处理的计算效率。且本专利技术提供的SlopeOne算法的大数据处理设计方案可实现并行化后的增量计算,并解决中间计算过程中可能会出现的内存不足的问题,同时利用合并模块Combiner实现对于算法的进一步优化,进一步的提高计算效率和可靠性。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实本文档来自技高网...
一种推荐系统大数据处理方法

【技术保护点】
一种推荐系统大数据处理方法,其特征在于,包括:获取用户偏好效用矩阵和项目数据;基于所述效用矩阵进行分布式数据处理获得效用矩阵内用户评价的项目列表和每个项目对应的评价用户及其评分值列表,基于所述项目数据进行分布式数据处理获得每个项目的相似项目列表;基于每个项目对应的评价用户及其评分值列表和每个项目的相似项目列表进行分布式数据处理获得用户的推荐项目及其预测权重列表;基于用户评价的项目列表和用户的推荐项目及其预测权重列表进行分布式数据处理获得用户的项目推荐结果。

【技术特征摘要】
1.一种推荐系统大数据处理方法,其特征在于,包括:获取用户偏好效用矩阵和项目数据;基于所述效用矩阵进行分布式数据处理获得效用矩阵内用户评价的项目列表和每个项目对应的评价用户及其评分值列表,基于所述项目数据进行分布式数据处理获得每个项目的相似项目列表;基于每个项目对应的评价用户及其评分值列表和每个项目的相似项目列表进行分布式数据处理获得用户的推荐项目及其预测权重列表;基于用户评价的项目列表和用户的推荐项目及其预测权重列表进行分布式数据处理获得用户的项目推荐结果。2.根据权利要求1所述的推荐系统大数据处理方法,其特征在于,还包括:基于效用矩阵内用户评价的项目列表进行分布式数据处理获得用户的相似用户列表;基于用户的相似用户列表与项目数据进行分布式数据处理获得用户的项目推荐结果。3.根据权利要求1所述的推荐系统大数据处理方法,其特征在于,还包括:获取用户数据并进行分布式聚类处理获得聚类结果;基于所述聚类结果、所述用户评价的项目列表和项目数据进行分布式数据处理获得每个聚类的物化特征;基于每个聚类的物化特征数据根据新用户的聚类选择获得新用户的物化特征;基于新用户的物化特征对项目索引进行分布式检索获得新用户的项目推荐结果。4.根据权利要求1所述的推荐系统大数据处理方法,其特征在于,还包括:获取包含有项目ID、对该项目评分的用户ID以及评分值信息的训练数据集与包含有用户ID和该用户要预测的项目ID信息的测试数据集;根据训练数据集进行分布式数据处理统计其中的项目对及其差值和产生差值的用户列表;基于训练数据集中的项目对及其差值和产生差值的用户列表进行分布式数据处理统计训练数据集中有差值关系的项目对、总用户数量、评分和以及平均差值;根据训练数据集和测试数据集进行分布式数据处理获得用户已经评分过的项目及其评分以及要预测的项目;基于训练数据集中有差值关系的项目对、总用户数量、评分、平均差值、用户已经评分过的项目及其评分和要预测的项目进行分布式数据处理获得SlopeOne预测计算所需的值;基于SlopeOne预测计算所需的值进行分布式数据处理计算用户需要预测的项目的预测值。5.根据权利要求1所述的推荐系统大数据处理方法,其特征在于,在基于效用矩阵和项目数据进行分布式数据处理的步骤中包括:基于所述效用矩阵通过第一映射-归约模块获得键值对为用户:用户评价的项目列表的第一输出数据;基于所述效用矩阵通过第二映射-归约模块获得键值对为项目:项目对应的评价用户及其评分值列表的第二输出数据;基于所述项目数据通过第三映射-归约模块获得键值对为项目:项目的相似项目列表的第三输出数据;在获得用户的推荐项目及其预测权重列表的步骤中包括:基于所述第二和第三输出数...

【专利技术属性】
技术研发人员:杨成李晨李星
申请(专利权)人:中国传媒大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1