一种基于Flink的大数据离线与实时商品推荐方法技术

技术编号:32530341 阅读:11 留言:0更新日期:2022-03-05 11:24
本发明专利技术公开了一种基于Flink的大数据离线与实时商品推荐方法,包括对使用的数据集预处理,获取并将用户评分表与商品明细表导入Hbase数据库;根据用户评分表与商品明细表进行离线推荐,主要包括基于统计的推荐、基于商品的协同过滤、基于商品内容的推荐以及基于隐语义模型的协同过滤;根据用户实时行为数据流进行实时的商品推荐,主要包括基于Flink窗口机制统计实时热门商品topN和根据实时推荐原则,利用Flink和优先级实时推荐算法进行基于商品优先级的实时推荐。本发明专利技术通过离线推荐时,充分利用商品的有效信息,实现了基于内容的商品相似度计算;通过实时推荐时,引入商品推荐的优先级概念,在Flink中实现了基于优先级推荐算法进行基于推荐优先级的实时推荐。级推荐算法进行基于推荐优先级的实时推荐。级推荐算法进行基于推荐优先级的实时推荐。

【技术实现步骤摘要】
一种基于Flink的大数据离线与实时商品推荐方法


[0001]本专利技术涉及大数据离线与流式计算框架Flink
,具体来说,涉及一种基于Flink的大数据离线与实时商品推荐方法。

技术介绍

[0002]随着信息技术的快速发展,业务功能的不断扩展以及数据量的不断增大,用户在面对这样庞大的数据规模时,通常会被大量冗余、无效的信息冲击,从而陷入一种无法抉择的迷茫状态,这是信息时代带来的一种负面影响—“信息过载”(2018.国外网络环境中信息过载研究进展[J].情报科学,郭佳;黄程松,36(07):170

176)。推荐系统是解决此类信息过载问题的一种非常有效的手段,然而海量的数据信息对于系统的数据处理能力和存储能力造成了巨大挑战。Hadoop 平台通过HDFS和MapReduce实现了大数据的分布式存储与计算,然而基于MapReduce计算模型的执行速度往往过慢,导致计算时间很长,而且该模型无法满足有迭代特点的推荐算法(2017.基于MapReduce 的Kmeans聚类算法的并行化实现[J].九江学院学报(自然科学版), 张友海;李锋刚,32(01):73

75);目前主流的大数据计算引擎Spark 虽然支持批处理、流处理、交互式查询、图计算、机器学习等众多处理场景,但是其流式计算本质上来说是微批处理,导致流数据处理性能上难以突破(2018.基于Hadoop、Spark及Flink大规模数据分析的性能评价[J].中国电子科学院学报,代明竹,高嵩峰,13(02): 149/>‑
155)。
[0003]作为第三代大数据计算引擎,Flink可以提供准确的大规模流处理,具有高吞吐和低延迟等优良性能,并且实现了消息处理的 exactly

once语义,同时兼容批处理等多种应用场景。此外,Flink 支持Yarn或者Mesos等集群管理器上进行部署和运行,从而灵活实现集群伸缩和扩展能力(2020.基于Flink的电影推荐系统的研究与实现[D].电子科技大学,张廉月.)。目前基于Flink的推荐系统已经得到了迅速发展(2020.基于Flink的电影推荐系统的研究与实现 [D].电子科技大学,张廉月.)(2019

08

27.一种基于Flink的矩阵分解隐式反馈推荐方法和系统:中国,CN110175287A[P],李肯立等)(2021

06

11.用于实时推荐的Flink流式处理引擎方法、装置及计算机设备:中国,CN112948450A[P],何肖明;周睿.)。
[0004]在之前工作的基础上,本专利技术根据用户对于商品的行为数据,基于Flink提出了一种较为系统的离线与实时商品推荐系统。与之前工作相比,本专利技术具有以下创新点:首先,本专利技术首次提出了基于层次分析法的用户打分机制,通过构造用户行为成对比较矩阵求解用户行为的影响权重,并通过各个行为得分获取用户对商品的打分;离线推荐部分,根据商品的name、tag等有效信息,通过自定义的TFIDFMeasure实现了基于内容的商品相似度计算;实时推荐部分,通过引入商品的推荐优先级,实现了一种快速新颖的实时推荐算法。

技术实现思路

[0005]针对相关技术中的上述技术问题,本专利技术提出一种基于Flink 的大数据离线与实时商品推荐方法,能够克服现有技术方法的上述不足。
[0006]为实现上述技术目的,本专利技术的技术方案是这样实现的:
[0007]一种基于Flink的大数据离线与实时商品推荐方法,包括以下步骤:
[0008]S1:首先,对使用的数据集预处理,来获取用户的商品评分表,所述数据集包括用户行为数据与商品明细数据,先获取所有种类的用户行为对于商品的权重,再通过权重与商品的用户行为得分获取到用户评分表与商品明细表,并将用户评分表与商品明细表导入Hbase数据库;
[0009]S2:根据用户评分表与商品明细表以及Flink的大数据,进行离线推荐,主要包括基于统计的推荐、基于商品的协同过滤、基于商品内容的推荐以及基于隐语义模型的协同过滤,再根据用户所有的历史数据,调用设定的离线推荐方法进行周期性的数据分析;
[0010]S3:实现离线推荐后,根据用户实时行为数据流进行实时的商品推荐,主要包括基于Flink窗口机制统计实时热门商品topN 和根据实时推荐原则,利用Flink和优先级实时推荐算法进行基于商品优先级的实时推荐,需当用户给出一次或几次评分后,实时更新出推荐结果。
[0011]进一步地,步骤S1中,获取到用户对每个商品的评分表的具体步骤包括:
[0012]S21:构建包含用户行为的成对比较矩阵,即表示准则层或目标层所有因素针对上一层某一个因素的相对重要性的比较;
[0013]S22:利用一致性指标和一致性比率,对成对比较矩阵进行一致性检验,并根据一致性指标选择性的对数值进行调整;
[0014]S23:根据并利用成对比较矩阵的最大特征根求解其对应的归一化特征向量,获取到准则层各个行为对目标层的权重,求解出权重向量以及每个商品的用户行为得分,经过统计,即获取到用户评分表与商品明细表。
[0015]进一步地,步骤S2中,所述基于统计的推荐是数据集根据所述用户打分表、商品推荐,通过Flink Table&SQL API实现统计推荐,最后存入hbase离线推荐数据库,所述商品推荐分为历史热门商品、近期热门商品与历史好评商品三部分。
[0016]进一步地,所述历史热门商品是统计所有打分中打分数最多的商品,是按照从大到小排序;所述近期热门商品是分别按照打分数与时间戳排序,统计打分数最多的商品;所述历史好评商品是统计商品的平均打分数,再按照从大到小排序。
[0017]进一步地,步骤S2中,所述基于商品的协同过滤是用户商品根据用户打分表,和通过商品共现次数与商品出现次数计算商品之间的同现相似度,再将数据存入hbase离线推荐数据库。
[0018]进一步地,步骤S2中,所述基于商品内容的推荐是根据商品明细表,提取每个商品的Id、名称、种类以及标签字段内容,然后利用自定义TDIDF方法求解与某个商品相似度最高的前n个商品,并存入hbase离线推荐数据库中。
[0019]进一步地,步骤S2中,所述基于隐语义模型的协同过滤是根据用户打分表,通过FlinkML实现交替最小二乘算法ALS,获取离线的用户商品推荐列表,最后,存入hbase离线推荐数据库。
[0020]进一步地,步骤S3中,所述统计实时热门商品topN是数据源基于Flink滑动窗口机制,每隔几分钟输出最近一段时间内的用户产生行为次数最多的前N个商品,即实时热门商品topN。
[0021]进一步地,步骤S3中,所述优先级实时推荐算法的计算步骤包括:
[0022]S91:首先,用户对商品发生一次行为,计算对其打分,触发实时推荐的一次计算;
[0023]S9本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于Flink的大数据离线与实时商品推荐方法,其特征在于,包括以下步骤:S1:首先,对使用的数据集预处理,来获取用户的商品评分表,所述数据集包括用户行为数据与商品明细数据,先获取所有种类的用户行为对于商品的权重,再通过权重与商品的用户行为得分获取到用户评分表与商品明细表,并将用户评分表与商品明细表导入Hbase数据库;S2:根据用户评分表与商品明细表以及Flink的大数据,进行离线推荐,主要包括基于统计的推荐、基于商品的协同过滤、基于商品内容的推荐以及基于隐语义模型的协同过滤,再根据用户所有的历史数据,调用设定的离线推荐方法进行周期性的数据分析;S3:实现离线推荐后,根据用户实时行为数据流进行实时的商品推荐,主要包括基于Flink窗口机制统计实时热门商品topN和根据实时推荐原则,利用Flink和优先级实时推荐算法进行基于商品优先级的实时推荐,需当用户给出一次或几次评分后,实时更新出推荐结果。2.根据权利要求1所述的基于Flink的大数据离线与实时商品推荐方法,其特征在于,步骤S1中,获取到用户对每个商品的评分表的具体步骤包括:S21:构建包含用户行为的成对比较矩阵,即表示准则层或目标层所有因素针对上一层某一个因素的相对重要性的比较;S22:利用一致性指标和一致性比率,对成对比较矩阵进行一致性检验,并根据一致性指标选择性的对数值进行调整;S23:根据并利用成对比较矩阵的最大特征根求解其对应的归一化特征向量,获取到准则层各个行为对目标层的权重,求解出权重向量以及每个商品的用户行为得分,经过统计,即获取到用户评分表与商品明细表。3.根据权利要求1所述的基于Flink的大数据离线与实时商品推荐方法,其特征在于,步骤S2中,所述基于统计的推荐是数据集根据所述用户打分表、商品推荐,通过Flink Table&SQL API实现统计推荐,最后存入hbase离线推荐数据库,所述商品推荐分为历史热门商品、近期热门商品与历史好评商品三部分。4.根据权利要求3所述的基于Flink的大数据离线与实...

【专利技术属性】
技术研发人员:李小超谢水庚何伟郝志强刘雪妍
申请(专利权)人:北京航天云路有限公司
类型:发明
国别省市:

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

1