本文作者:kaifamei

基于大数据的商品混合推荐系统的制作方法

更新时间:2024-11-15 14:05:05 0条评论

基于大数据的商品混合推荐系统的制作方法



1.本发明涉及商品推荐技术领域,具体为基于大数据的商品混合推荐系统。


背景技术:

2.生鲜电商平台的商品比其他电商平台中的商品更加细分,对于具体的推荐算法而言,除了需要分析生鲜类商品、用户之间的联系之外,也需要分析细分生鲜类目下的商品关联,在数据打标时需要注意贴合度和目标精准度,从而增加成交总额,此外由于对于用户来说是较新平台,导致用户积累相对较少,因此还需处理冷启动问题,单一的推荐方式无法有效满足此类生鲜电商平台对于推荐系统的要求,单一的推荐算法都存在各自的缺点或局限性,当新的用户或者新的物品进入系统时,由于没有浏览、点击等交互数据,难以形成推荐,就会出现冷启动问题,如果用户的交互数据过少,则会出现数据稀疏性问题,在类似“用户-物品”这样的交互矩阵中,如果非零项过少,不仅会耗费计算资源,也不会形成太好的推荐效果。因此,设计适应生鲜电商平台业务需求和快速精准推荐的基于大数据的商品混合推荐系统是很有必要的。


技术实现要素:

3.本发明的目的在于提供基于大数据的商品混合推荐系统,以解决上述背景技术中提出的问题。
4.为了解决上述技术问题,本发明提供如下技术方案:基于大数据的商品混合推荐系统,包括商品数据模块、数据分析处理模块和推荐服务模块,所述商品数据模块用于进行所需商品数据的埋点采集和数据落盘,所述数据分析处理模块用于对接收的商品数据进行集成管理并处理推荐数据中存在的问题,所述推荐服务模块用于利用算法进行商品推荐计算实现离线和实时两组推荐服务,所述包括商品数据模块与数据分析处理模块网络连接,所述数据分析处理模块与推荐服务模块网络连接;
5.所述推荐服务模块包括离线推荐服务模块和实时推荐服务模块,所述离线推荐服务模块与实时推荐服务模块电连接,所述离线推荐服务模块用于利用als协同过滤推荐和近期热门统计推荐进行离线服务,所述实时推荐服务模块用于进行基于窗口的实时topn推荐和基于动态感知的实时商品推荐服务,所述离线推荐服务模块包括历史数据集子模块,所述历史数据集子模块用于离线推荐服务主要根据数据仓库中存储记录的历史数据集进行计算推荐,所述实时推荐服务模块包括动态感知子模块,所述动态感知子模块用于根据用户的评分行为进行动态感知的实时推荐触发。
6.根据上述技术方案,所述商品数据模块包括用户交互数据收集模块、数据层、日志系统模块和分布式环境模块,所述用户交互数据收集模块与数据层、日志系统模块电连接,所述日志系统模块与分布式环境模块电连接,所述用户交互数据收集模块用于收集用户和商品相关的属性信息即静态数据以及用户评分和浏览的动态数据,所述数据层用于对数据集中的数据进行封装计算,所述日志系统模块用于将通过埋点采集的日志数据放入日志系
统的消息中间件和消息队列中,所述分布式环境模块用于搭建部署分布式运行环境,所述分布式环境模块包括分布式并行计算子模块,所述分布式并行计算子模块用于利用分布式环境实现分布式并行计算;
7.所述数据层包括原始数据层、中间数据层和应用数据层,所述原始数据层、中间数据层与应用数据层电连接,所述原始数据层用于将数据集中的数据进行二次封装,所述中间数据层用于存储推荐服务的中间结果和一些汇总数据,所述应用数据层用于存储各个推荐服务产生的混合推荐结果。
8.根据上述技术方案,所述数据分析处理模块包括数据仓库建立模块、冷启动处理模块和关联规则模块,所述数据仓库建立模块与冷启动处理模块、关联规则模块网络连接,所述数据仓库建立模块用于建立负责存储业务数据、中间数据和最终数据的数据仓库,所述冷启动处理模块用于利用统计学推荐规避给新用户推荐过程中遇到的冷启动问题,所述关联规则模块用于利用关联规则发掘用户的潜在购物对象。
9.根据上述技术方案,所述商品混合推荐方法包括以下运行步骤:
10.步骤a1:通过日志系统采集用户在系统中的交互行为,利用相似度计算和评分预测构造出用户画像;
11.步骤a2:部署分布式环境;
12.步骤a3:搭建大数据处理中台,利用hive数据仓库管理工具实现数据仓库的分层建模;
13.步骤a4:将离线和实时推荐服务按照一定的规则混合输出,通过动态调整实现对于不同用户的推荐服务的个性化;
14.步骤a5:推荐服务的执行结果经过结果分类处理后触达用户,同时根据需要将推荐服务的输出写入数据仓库。
15.根据上述技术方案,所述步骤a1中,由事先定义在web用户交互端的数据埋点采集用户交互的日志数据。
16.根据上述技术方案,所述步骤a4中,离线和实时推荐服务的具体推荐方法包括以下运行步骤:
17.步骤a41:面向历史数据采用协同过滤推荐和近期热门统计推荐的离线推荐服务;
18.步骤a42:进行基于窗口的实时topn推荐和基于动态感知的商品实时推荐服务;
19.步骤a43:推荐服务的数据经过数据仓库和分析处理解耦后,根据推荐场景需要可以进行推荐服务的替换。
20.根据上述技术方案,所述步骤a41中,基于协同过滤推荐和近期热门统计推荐的具体步骤如下:
21.步骤a411:对用户评分数据进行预处理,通过随机数将数据集切分为训练数据和测试数据,并将切分的数据输出,
22.步骤a412:使用命令启动als算法流程,进行迭代运算后输出推荐结果;
23.步骤a413:将近期热门统计采用周期快照事实表的更新方式进行统计最近一个月所有商品中被评论最多的前10个商品。
24.根据上述技术方案,所述步骤a413中,采用周期快照事实表的更新方式进行统计的具体步骤如下:
25.s1:构建中间表,用于汇总单日评论数统计;
26.s2:对日度中间表进行汇总;
27.s3:得到每日的最近一个月热门商品统计结果,将结果进行处理后写入近期热门统计推荐结果表并输出。
28.根据上述技术方案,所述步骤a42中,基于窗口的实时topn推荐和基于动态感知的商品推荐的具体步骤如下:
29.步骤a421:使用flink实现实时topn推荐,接入日志系统的数据源,过滤出点击事件并设置时间类型;
30.步骤a422:根据业务时间做窗口,过滤出用户的点击行为数据,按照60分钟的窗口大小,每隔5分钟统计一次;
31.步骤a423:通过对商品进行分组以及对每个商品做滑动窗口,对数据做增量聚合,统计窗口中数据的条数,并将商品id、窗口和商品点击量封装,得到各个商品在各个窗口的点击量的数据流;
32.步骤a424:再次按窗口进行分组,统计每个窗口下最热门的top10个商品并进行输出;
33.步骤a425:同步用户在系统中的评分行为会触发基于动态感知的实时推荐,系统会根据用户的评分对象和对应评分计算优先级。
34.根据上述技术方案,所述步骤a425中,触发基于动态感知的实时推荐的具体步骤如下:
35.步骤一:在用户进行评分时触发业务埋点,由业务服务器将用户行为写入到redis队列中,从redis中获取用户的最近评分表;
36.步骤二:将商品相似度取出并广播,使得所有节点能够获得数据,并从广播中获取当前商品的相似度列表,将列表中用户已经评分过的商品进行过滤与排序;
37.步骤三:根据用户的最近评分商品,对推荐列表的商品进行相关度计算并评分;
38.步骤四:当相关度计算完成之后会将结果发送给web后台服务器,服务器进行合并,当合并过程中重复出现的商品时,将保留的上一次推荐服务生成的结果替换成更新后的最新结果,在结果集中选取出预测评分最高的10个商品。
39.与现有技术相比,本发明所达到的有益效果是:本发明,通过设置有商品数据模块、数据分析处理模块和推荐服务模块,通过服务的方式将推荐算法封装成推荐服务,充分利用离线计算框架和实时计算框架的优势,对基于用户评分的实时推荐算法进行改进与优化,结合用户的兴趣漂移现象进行推荐,且优化了离线与实时的指标统计方式,实现多样化且高效的推荐。
附图说明
40.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
41.图1是本发明的系统模块组成示意图。
具体实施方式
42.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.请参阅图1,本发明提供技术方案:基于大数据的商品混合推荐系统,包括商品数据模块、数据分析处理模块和推荐服务模块,商品数据模块用于进行所需商品数据的埋点采集和数据落盘,数据分析处理模块用于对接收的商品数据进行集成管理并处理推荐数据中存在的问题,推荐服务模块用于利用算法进行商品推荐计算实现离线和实时两组推荐服务,包括商品数据模块与数据分析处理模块网络连接,数据分析处理模块与推荐服务模块网络连接;
44.推荐服务模块包括离线推荐服务模块和实时推荐服务模块,离线推荐服务模块与实时推荐服务模块电连接,离线推荐服务模块用于利用als协同过滤推荐和近期热门统计推荐进行离线服务,实时推荐服务模块用于进行基于窗口的实时topn推荐和基于动态感知的实时商品推荐服务,离线推荐服务模块包括历史数据集子模块,历史数据集子模块用于离线推荐服务主要根据数据仓库中存储记录的历史数据集进行计算推荐,实时推荐服务模块包括动态感知子模块,动态感知子模块用于根据用户的评分行为进行动态感知的实时推荐触发,实时的统计商品的热度,采用基于窗口的实时topn推荐和基于动态感知的实时推荐混合实现实时推荐服务,由分布式计算框架驱动实时推荐服务,反应用户短期内的兴趣变化和实时商品趋势。
45.商品数据模块包括用户交互数据收集模块、数据层、日志系统模块和分布式环境模块,用户交互数据收集模块与数据层、日志系统模块电连接,日志系统模块与分布式环境模块电连接,用户交互数据收集模块用于收集用户和商品相关的属性信息即静态数据以及用户评分和浏览的动态数据,数据层用于对数据集中的数据进行封装计算,日志系统模块用于将通过埋点采集的日志数据放入日志系统的消息中间件和消息队列中,分布式环境模块用于搭建部署分布式运行环境,分布式环境模块包括分布式并行计算子模块,分布式并行计算子模块用于利用分布式环境实现分布式并行计算;
46.数据层包括原始数据层、中间数据层和应用数据层,原始数据层、中间数据层与应用数据层电连接,原始数据层用于将数据集中的数据进行二次封装,中间数据层用于存储推荐服务的中间结果和一些汇总数据,应用数据层用于存储各个推荐服务产生的混合推荐结果。
47.数据分析处理模块包括数据仓库建立模块、冷启动处理模块和关联规则模块,数据仓库建立模块与冷启动处理模块、关联规则模块网络连接,数据仓库建立模块用于建立负责存储业务数据、中间数据和最终数据的数据仓库,冷启动处理模块用于利用统计学推荐规避给新用户推荐过程中遇到的冷启动问题,关联规则模块用于利用关联规则发掘用户的潜在购物对象,当有新用户注册时,应用统计学推荐规避会遇到的“冷启动”问题,更适合用来给新用户推荐,但等新用户积累了足够多的行为数据之后,采用协同过滤就发掘用户行为的相似性,同步加入关联规则发掘用户的潜在购物对象,提升推荐的个性化,这些推荐服务虽然要求解耦,但很多数据都可以实现共用,比如计算用户之间的相似度供topn实时
推荐使用,相似度计算这部分涉及的数据量和计算量都很大,需要较长的耗时,但又和最终推荐目标无关,因此可以做离线计算结果存储,放入数据仓库中,实时推荐服务可以直接拿到相似度结果,从而大大加快计算速度。
48.商品混合推荐方法包括以下运行步骤:
49.步骤a1:通过日志系统采集用户在系统中的交互行为,利用相似度计算和评分预测构造出用户画像;
50.步骤a2:部署分布式环境,考虑到推荐系统需要处理海量数据,利用分布式环境下的分布式并行运算,可以保证大数据推荐服务稳定高效的运行;
51.步骤a3:搭建大数据处理中台,利用hive数据仓库管理工具实现数据仓库的分层建模,数据仓库为整个系统提供了数据服务的基础,方便推荐服务获取数据,也方便写入中间结果和最终结果,按层有序,减少重复开发,同时也能起到隔离数据的作用,为推荐服务和结果处理模块提供数据支持,为推荐系统的运行提供了保障;
52.步骤a4:将离线和实时推荐服务按照一定的规则混合输出,通过动态调整实现对于不同用户的推荐服务的个性化,通过服务的方式将推荐算法封装成推荐服务,充分利用离线计算框架和实时计算框架的优势,对基于用户评分的实时推荐算法进行改进与优化,结合用户的兴趣漂移现象进行推荐,且优化了离线与实时的指标统计方式,多样化结合以实现高效的推荐;
53.步骤a5:推荐服务的执行结果经过结果分类处理后触达用户,同时根据需要将推荐服务的输出写入数据仓库。
54.步骤a1中,由事先定义在web用户交互端的数据埋点采集用户交互的日志数据,商品推荐系统作为连接用户和购物平台的媒介,既需要收集包括用户属性信息和商品属性信息的静态数据,也需要收集包括用户评分、用户浏览的动态数据,从而使得推荐系统能够使用不同的推荐策略,给用户推荐可能感兴趣的商品。
55.步骤a4中,离线和实时推荐服务的具体推荐方法包括以下运行步骤:
56.步骤a41:面向历史数据采用协同过滤推荐和近期热门统计推荐的离线推荐服务,现推荐服务由于面向整个历史数据集,因此计算量较大,但离线推荐的计算结果更新频率较低,一般随着离线任务调度周期而发生变化,需要预先计算一些指标供实时推荐服务使用,比如商品的相似度;
57.步骤a42:进行基于窗口的实时topn推荐和基于动态感知的商品实时推荐服务,实时推荐服务要求有非常快速的数据获取与计算,因此需要将业务数据存在redis中,包括每个用户最近评分的n个商品,以及半小时内的浏览记录,此外由于离线推荐服务已经计算好了商品相似度矩阵,因此无需再计算商品相似度,省去了大量计算时间;
58.步骤a43:推荐服务的数据经过数据仓库和分析处理解耦后,根据推荐场景需要可以进行推荐服务的替换,根据具体场景调整推荐服务的种类、数量、结果比重等,实现个性化、多样化的推荐。
59.步骤a41中,基于协同过滤推荐和近期热门统计推荐的具体步骤如下:
60.步骤a411:对用户评分数据进行预处理,通过随机数将数据集切分为训练数据和测试数据,并将切分的数据输出,
61.步骤a412:使用命令启动als算法流程,进行迭代运算后输出推荐结果;
62.步骤a413:将近期热门统计采用周期快照事实表的更新方式进行统计最近一个月所有商品中被评论最多的前10个商品,如果每天都对历史全量数据做排名,数据量极大,会导致无法执行,即使能够执行,每天这样的统计也会耗费集资源,因此选取近期热门统计推荐。
63.步骤a413中,采用周期快照事实表的更新方式进行统计的具体步骤如下:
64.s1:构建中间表,用于汇总单日评论数统计;
65.s2:对日度中间表进行汇总;
66.s3:得到每日的最近一个月热门商品统计结果,将结果进行处理后写入近期热门统计推荐结果表并输出,由于热门统计推荐对所有用户适用,因此无需标注用户id,热度即为推荐结果得分。
67.步骤a42中,基于窗口的实时topn推荐和基于动态感知的商品推荐的具体步骤如下:
68.步骤a421:使用flink实现实时topn推荐,接入日志系统的数据源,过滤出点击事件并设置时间类型;
69.步骤a422:根据业务时间做窗口,过滤出用户的点击行为数据,按照60分钟的窗口大小,每隔5分钟统计一次;
70.步骤a423:通过对商品进行分组以及对每个商品做滑动窗口,对数据做增量聚合,统计窗口中数据的条数,并将商品id、窗口和商品点击量封装,得到各个商品在各个窗口的点击量的数据流;
71.步骤a424:再次按窗口进行分组,统计每个窗口下最热门的top10个商品并进行输出;
72.步骤a425:同步用户在系统中的评分行为会触发基于动态感知的实时推荐,系统会根据用户的评分对象和对应评分计算优先级,由于实时推荐和具体的推荐目标紧密相关,并且可以使用离线计算的部分结果,因此能获得理想的推荐速度,实时推荐涉及的计算量和数据量较离线推荐而言比较少,实时推荐的结果也由实时推荐服务输出后,经过结果处理模块加工处理后再返回给前台触达用户。
73.步骤a425中,触发基于动态感知的实时推荐的具体步骤如下:
74.步骤一:在用户进行评分时触发业务埋点,由业务服务器将用户行为写入到redis队列中,从redis中获取用户的最近评分表;
75.步骤二:将商品相似度取出并广播,使得所有节点能够获得数据,并从广播中获取当前商品的相似度列表,将列表中用户已经评分过的商品进行过滤与排序;
76.步骤三:根据用户的最近评分商品,对推荐列表的商品进行相关度计算并评分;
77.步骤四:当相关度计算完成之后会将结果发送给web后台服务器,服务器进行合并,当合并过程中重复出现的商品时,将保留的上一次推荐服务生成的结果替换成更新后的最新结果,在结果集中选取出预测评分最高的10个商品。
78.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
79.最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-8-1050-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-11-27 21:27:57

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论