CN116664219A - 一种基于机器学习的科研电商平台智能推荐系统 - Google Patents
一种基于机器学习的科研电商平台智能推荐系统 Download PDFInfo
- Publication number
- CN116664219A CN116664219A CN202310396540.5A CN202310396540A CN116664219A CN 116664219 A CN116664219 A CN 116664219A CN 202310396540 A CN202310396540 A CN 202310396540A CN 116664219 A CN116664219 A CN 116664219A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- commodity
- unit
- recall
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 19
- 238000011160 research Methods 0.000 title claims abstract description 19
- 238000001914 filtration Methods 0.000 claims abstract description 80
- 230000000295 complement effect Effects 0.000 claims abstract description 44
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 43
- 238000012549 training Methods 0.000 claims abstract description 43
- 230000006399 behavior Effects 0.000 claims abstract description 27
- 238000012163 sequencing technique Methods 0.000 claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims abstract description 7
- 230000001502 supplementing effect Effects 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 39
- 230000008859 change Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 8
- 241001481833 Coryphaena hippurus Species 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 6
- 239000000047 product Substances 0.000 claims description 6
- 239000013589 supplement Substances 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 claims description 3
- 230000003442 weekly effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 230000002354 daily effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 229920001971 elastomer Polymers 0.000 description 2
- 239000000806 elastomer Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/26—Discovering frequent patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于机器学习的科研电商平台智能推荐系统,包括:数据召回模块:使用协同过滤算法进行数据召回,根据用户的下单行为,构建评分矩阵,找出相似行为用户,为用户推荐相似用户曾经购买过的商品。数据补全模块:对召回的数据进行补充,使数据量满足要求;数据过滤模块:对不符合要求的数据进行过滤;排序模型训练模块:训练排序模型对召回、补全和过滤之后的数据进行排序;服务上线模块:推荐服务进行配送区灰度上线,接收用户请求。本发明通过用户购买行为寻找相似用户进行推荐,根据用户订单商品寻找共同购买商品进行推荐,本发明为每个用户提供了个性化的推荐结果,达到了千人千面的效果,增强了用户的购买体验。
Description
技术领域
本发明涉及软件开发技术领域,特别涉及一种基于机器学习的科研电商平台智能推荐系统。
背景技术
随着移动互联网的快速发展,我们进入了信息爆炸时代,商品信息的爆炸使用户很难通过商品目录的方式找到所需的商品。随着社会的进步,物质生活条件的改善,越来越多的用户需求是个性化的,无意识的,自己不知道自己需要什么。当今时代可选择的商品和服务这么多,而不同人的兴趣偏好又是截然不同,并且在特定场景下,个人对自己的需求不是很明确。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的目的在于提出一种基于机器学习的科研电商平台智能推荐系统。
为了实现上述目的,本发明的实施例一种基于机器学习的科研电商平台智能推荐系统,其特征在于,包括:
数据召回模块:使用协同过滤算法进行数据召回,根据用户的下单行为,构建评分矩阵,找出相似行为用户,为用户推荐相似用户曾经购买过的商品;使用关联规则算法,使用订单表根据支持度找出频繁项集,再根据置信度得到商品间的关联规则,当用户购买相关联产品时,为用户推荐。
数据补全模块:对召回的数据进行补充,使数据量满足要求。
数据过滤模块:对不符合要求的数据进行过滤。
排序模型训练模块:训练排序模型对召回、补全和过滤之后的数据进行排序。
服务上线模块:推荐服务进行配送区灰度上线,接收用户请求。
优选的是,数据召回模块包括:
数据加工单元:利用数据仓库Hive中的订单表和订单商品表,使用SQL加工出订单商品表和用户商品表作为协同过滤和关联规则的数据源。
关联规则召回单元:使用Spark-ML构建关联规则算法进行下单相关推荐的召回;读取订单商品表,设置支持度为0.00001,使用FP-growth算法进行训练,找出频繁项集,设置置信度为0.1,从频繁项集中得出类似的关联规则,将关联规则写回Hive关联规则初始表,并进一步加工成关联规则表,以供后续步骤使用。
协同过滤召回单元:使用Spark-ML构建协同过滤算法进行精选推荐的召回;读取用户商品表,制定打分策略,有购买行为为1分,否则为0分,将用户商品表数据转化为用户商品行为评分矩阵,设置迭代次数为10次,隐藏因子个数为10个,为每个推荐商品个数为200,训练ALS模型,为每个用户推荐相似用户历史购买的商品;将预测结果写回Hive协同过滤初始表,并进一步加工成协同过滤表,以供后续步骤使用。
调度Jar包单元:将两个召回算法的Spark-ML程序打包成jar包,使用dolphinscheduler定时从Spark客户端提交到YARN上运行。
在上述任一方案中优选的是,数据补全模块包括:
补全数据分析单元:加入数据对召回的数据进行补充,选择反应用户购买倾向的策略,选用用户历史购买数据、用户同一配送区商家热销商品数据和商城热销商品数据进行补全。
用户历史购买数据补全单元:从数据仓库中根据订单表和订单商品表找出近一年用户购买商品数据加工成用户历史购买表。
用户同一配送区商家热销商品补全单元:从数据仓库中根据用户表和商品表找到同一配送区的用户与商家,再通过订单表统计出商家热销商品,按销量进行排序,生成用户同一配送区商家热销商品表。
商城热销商品补全单元:如果补全推荐展示数据量无法达到预设的需求,根据订单表生成商城热销商品进行补充,保证推荐数据量至少有100个商品。
补全数据去重单元:将补全数据表按照用户历史购买、用户同一配送区商家热销商品和商城热销商品的顺序依次使用,并统一的对补全数据进行去重。
数据补全脚本调度单元:使用dolphinScheduler对数据补全SQL脚本进行每日调度;以保证线上服务数据每日更新。
在上述任一方案中优选的是,数据过滤模块包括:
离线过滤单元:在数据仓库使用SQL把经过召回算法计算和策略补全的商品根据用户与推荐商品是否在同一配送区进行过滤。
实时过滤单元:从redis实时读取商品下架,商品修改等商品变动信息,对数仓中召回和补全数据进行过滤。
在上述任一方案中优选的是,排序模型训练模块包括:
特征选取单元:从数仓中已加工好的用户行为特征中选取用户购买、用户搜索点击、用户收藏和用户购买点击关键特征,生成推荐排序特征表。
特征处理单元:对特征表中的特征进行单一值处理、重复值处理、缺失值处理和异常值处理。
模型训练单元:采用XGBoost模型进行训练,设置树个数为100,树深度为6,学习率为0.3。
模型评价单元:将数据集划分成训练集和测试集,用数据集训练模型,用测试集计算离线二分类评估指标。模型保存单元:将特征工程和模型统一成pipeline形式,将满足离线指标的模型保存为PMML文件。
定时调度单元:将排序模型训练python脚本每周定时训练出新的PMML文件,并同步到线上模型目录下。
在上述任一方案中优选的是,服务上线模块包括:
灰度配送区上线单元:采取配送区灰度上线的方式,根据指标变化逐步在配送区上线。
读取召回算法表单元:推荐服务根据不同的请求参数,读取精选推荐协同过滤表或者下单相关推荐关联规则表。
读取补全数据单元:如果召回算法数据不满足设定的数据量,则依次读取用户历史购买数据、用户所属配送区热销数据和商城热销数据直至满足设定的数据量。
执行ES实时过滤单元:将召回数据和补全数据进行实时ES查询,过滤掉不在线上的商品,保证推荐数据的准确性。
排序模型排序单元:读取排序特征,读取训练的排序模型文件,预测商品点击的概率,根据商品的得分从高到低依次排序。
返回推荐结果单元:将排序好的商品推荐结果返回给用户。
根据本发明实施例的推荐系统,采用个性化推荐技术,辅助用户更快地发现自己喜欢的东西。通过用户购买行为寻找相似用户进行推荐,根据用户订单商品寻找共同购买商品进行推荐,本发明为每个用户提供了个性化的推荐结果,达到了千人千面的效果,增强了用户的购买体验。据用户在产品上的行为记录,结合用户自身和商品的信息,利用推荐技术来为用户推荐可能感兴趣的物品。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述附加方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的一种基于机器学习的科研电商平台智能推荐系统的模块的结构示意图;
图2为根据本发明实施例的一种基于机器学习的科研电商平台智能推荐系统的模块处理阶段的流程示意图;
图3为根据本发明实施例的一种基于机器学习的科研电商平台智能推荐系统的概要流程图;
图4为根据本发明实施例的一种基于机器学习的科研电商平台智能推荐系统的架构设计图;
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
如图1至图4所示,一种基于机器学习的科研电商平台智能推荐系统,包括:
数据召回模块:使用协同过滤算法进行数据召回,根据用户的下单行为,构建评分矩阵,找出相似行为用户,为用户推荐相似用户曾经购买过的商品;使用关联规则算法,使用订单表根据支持度找出频繁项集,再根据置信度得到商品间的关联规则,当用户购买相关联产品时,为用户推荐。
数据召回模块进行召回阶段的处理,为精选推荐使用推荐召回算法协同过滤中的ALS,根据用户的下单行为,找出具有相似行为的用户,为用户推荐相似用户曾经购买过的商品。为下单相关推荐使用推荐召回算法关联规则中的FP-growth,根据同一订单同时购买商品数据,找出最大概率同时购买的商品,当用户购买相关联产品时,为用户推荐。
其中,关联规则是形如X→Y的蕴涵式,X和Y分别称为关联规则的先导(antecedent或left-hand-side,LHS)和后继(consequent或right-hand-side,RHS)。关联规则在D中的支持度(support)是D中事务同时包含X、Y的百分比,即概率;置信度(confidence)是D中事务已经包含X的情况下,包含Y的百分比,即条件概率。如果满足最小支持度阈值和最小置信度阈值,即为一个关联规则。
其中,协同过滤是利用拥有相同的兴趣的群体的喜好来推荐用户感兴趣的信息,用户给予信息相当程度的回应并记录下来以达到过滤的目的进而帮助别人筛选信息,方法步骤如下:
1.收集用户信息
收集可以代表用户兴趣的信息。一般的网站系统使用评分的方式,被称为“主动评分”。另外一种是“被动评分”,是根据用户的行为由系统代替用户完成评价。电子商务网站在被动评分的数据获取上有其优势,用户购买的商品记录是相当有用的数据。
2.最近邻搜索(Nearest neighbor search,NNS)
以用户为基础(User-based)的协同过滤的出发点是与用户兴趣爱好相同的另一组用户,就是计算两个用户的相似度。例如:查找n个和A有相似兴趣用户,把他们对M的评分作为A对M的评分预测。一般会根据数据的不同选择不同的算法,较多使用的相似度算法有Pearson Correlation Coefficient、Cosine-based Similarity、Adjusted CosineSimilarity。
3.产生推荐结果
有了最近邻集合,就可以对目标用户的兴趣进行预测,产生推荐结果。Top-N推荐是针对个体用户产生,对每个人产生不一样的结果,例如:通过对A用户的最近邻用户进行统计,选择出现频率高且在A用户的评分项目中不存在的,作为推荐结果。
数据补全模块:对召回的数据进行补充,使数据量满足要求。
数据补全模块进行数据补全阶段的处理,因为用户冷启动,用户商品配送区不匹配,商品下架缺失等因素会过滤召回数据,导致召回的数据量不满足要求的展示量,所以使用用户历史购买数据,商城热销商品数据,用户同一配送区商家热销商品数据对召回数据进行补充,使数据量满足要求。数据补全阶段,因为协同过滤和关联规则本身召回的商品数量有限,还会因为业务规则如用户商品配送区匹配,商品下架缺失等因素过滤掉部分数据,导致部分用户推荐展示量不足,所以本阶段根据业务规则进行更大量的召回,作为对第一阶段召回的有效补充,召回数据包括用户历史购买数据,商城热销商品数据,用户同一配送区商家热销商品数据等。
数据过滤模块:对不符合要求的数据进行过滤。
数据过滤模块进行过滤阶段的处理,召回数据因为新用户无行为,用户商品配送区不匹配,商品下架缺失等因素不能直接展示给用户,需要对不符合要求的数据进行过滤。离线过滤将不与用户同一配送区的商品进行过滤。实时过滤,从redis实时读取商品下架,商品修改等商品变动数据,进行过滤。因为是T+1召回(T为整数),召回池里的部分商品会下架缺失,还有召回阶段为用户召回的商品也没有考虑配送区匹配等业务因素,所以需要对之前召回补全的数据进行过滤。过滤阶段分为离线过滤和实时过滤两部分,离线过滤将不与用户同一配送区的商品进行过滤。实时过滤,从redis实时读取商品下架,商品修改等商品变动数据,进行过滤。
排序模型训练模块:训练排序模型对召回、补全和过滤之后的数据进行排序。
排序模型训练模块进行排序模型训练阶段的处理,训练排序模型对召回,补全,过滤之后的商品进行排序,排序模型使用XGBoost,数据使用数仓已加工好的用户行为特征,对用户点击概率进行预测。模型保存为PMML文件以供线上服务跨环境调用。排序模型训练阶段,推荐服务召回足量的商品,展示给用户的时候,还需要对商品进行排序,我们使用XGBoost模型预测用户点击概率对商品进行排序,特征复用数仓中搜索排序已加工好的部分行为特征,进行训练,将训练好的模型保存为PMML文件以供线上服务跨环境调用。
服务上线模块:推荐服务进行配送区灰度上线,接收用户请求。
服务上线模块进行服务上线阶段的处理,推荐服务进行配送区灰度上线。推荐服务接受用户请求,根据不同参数读取精选推荐协同过滤表或者下单相关推荐关联规则表,然后执行es实时过滤,保证推荐数据与线上数据一致,最后读取排序模型进行排序,给用户返回推荐结果。服务上线阶段,推荐服务进行配送区灰度上线,根据请求,读取离线推荐表,然后执行ES实时过滤,保证推荐数据与线上数据一致,最后读取PMML模型文件和排序特征表,对召回结果进行排序,给用户返回推荐结果。
进一步的,数据召回模块包括:
数据加工单元:利用数据仓库Hive中的订单表和订单商品表,使用SQL加工出订单商品表和用户商品表作为协同过滤和关联规则的数据源;利用数据仓库Hive中的订单表和订单商品表,使用SQL加工出订单商品表(字段为订单号,商品id列表)和用户商品表(字段为用户id,商品id列表)作为协同过滤和关联规则的数据源。
关联规则召回单元:使用Spark-ML构建关联规则算法进行下单相关推荐的召回;读取订单商品表,设置支持度为0.00001,使用FP-growth算法进行训练,找出频繁项集,设置置信度为0.1,从频繁项集中得出类似的关联规则,将关联规则写回Hive关联规则初始表,并进一步加工成关联规则表,以供后续步骤使用;使用Spark-ML构建关联规则算法进行下单相关推荐的召回。读取订单商品表(字段为订单号,商品id列表),设置支持度为0.00001,使用FP-growth算法进行训练,找出频繁项集,设置置信度为0.1,从频繁项集中得出类似(商品A->商品B,商品C)的关联规则,将关联规则写回Hive关联规则初始表(字段为商品id,关联商品id列表),并进一步加工成关联规则表(字段为商品id,关联商品id),以供后续步骤使用。
协同过滤召回单元:使用Spark-ML构建协同过滤算法进行精选推荐的召回;读取用户商品表,制定打分策略,有购买行为为1分,否则为0分,将用户商品表数据转化为用户商品行为评分矩阵,设置迭代次数为10次,隐藏因子个数为10个,为每个推荐商品个数为200,训练ALS模型,为每个用户推荐相似用户历史购买的商品;将预测结果写回Hive协同过滤初始表,并进一步加工成协同过滤表,以供后续步骤使用;供精选推荐调用。使用Spark-ML构建协同过滤算法进行精选推荐的召回。读取用户商品表(字段为用户id,商品id列表),将预测结果写回Hive协同过滤初始表(字段为用户id,推荐商品id列表),并进一步加工成协同过滤表(字段为用户id,推荐商品id),以供后续步骤使用。
调度Jar包单元:将两个召回算法的Spark-ML程序打包成jar包,使用dolphinscheduler定时从Spark客户端提交到YARN上运行。
进一步的,数据补全模块包括:
补全数据分析单元:加入数据对召回的数据进行补充,选择反应用户购买倾向的策略,选用用户历史购买数据、用户同一配送区商家热销商品数据和商城热销商品数据进行补全;因为用户冷启动,用户商品配送区不匹配,商品下架缺失等因素会过滤召回数据,导致召回的数据量不满足要求的展示量,所以要加入其他数据对召回数据进行补充,选择能在一定程度上反应用户购买倾向的策略,最终选用用户历史购买数据,用户同一配送区商家热销商品数据,商城热销商品数据进行补全。
用户历史购买数据补全单元:从数据仓库中根据订单表和订单商品表找出近一年用户购买商品数据加工成用户历史购买表。将数据仓库中订单表和订单商品表进行关联,得到近一年用户购买商品的记录加工成用户历史购买表(字段为用户id,购买商品id),供后续步骤调用。
用户同一配送区商家热销商品补全单元:从数据仓库中根据用户表和商品表找到同一配送区的用户与商家,再通过订单表统计出商家热销商品,按销量进行排序,生成用户同一配送区商家热销商品表;根据用户表的配送区字段和商品表的商家配送区字段,将同一配送区的用户和商家进行匹配,在通过订单表统计出每个配送区商家的热销商品,根据销量进行排序,得到用户同一配送区商家热销商品表(字段为用户id,购买商品id),供后续步骤调用。
商城热销商品补全单元:如果补全推荐展示数据量无法达到预设的需求,根据订单表生成商城热销商品进行补充,保证推荐数据量至少有100个商品。如果经过上述补全仍不能满足召回数据量要求,使用商城热销商品进行最终的补全,以保证召回数据量满足需求,根据订单商品表统计出全商城热销商品,得到热销商品表(字段为用户id,热销商品id),供后续步骤调用。
补全数据去重单元:将补全数据表按照用户历史购买、用户同一配送区商家热销商品和商城热销商品的顺序依次使用,并统一的对补全数据进行去重;上述补全数据表按照用户历史购买,用户同一配送区商家热销商品,商城热销商品的顺序依次使用,并统一的对补全数据进行去重。经过上述补全步骤召回的商品可能存在重复商品的情况,将上述表按照用户历史购买,同一配送区商家热销商品,商城热销商品的顺序排序后,统一的去除所有召回数据中的重复值。
数据补全脚本调度单元:使用dolphinscheduler对数据补全SQL脚本进行每日调度;以保证线上服务数据每日更新。以保证线上服务数据最新。将上述补全SQL脚本在dolphinscheduler定时每日调度,以保证给线上服务提供最新的数据。
进一步的,经过召回算法计算和策略补全的商品数据与线上商品数据并不完全一致,因为存在新用户无行为,无法进行推荐,用户商品配送区更改后无法实时同步到数仓导致的配送区不匹配,商品下架信息无法实时同步到数仓等因素,所以需要对不符合要求的数据进行过滤。因为是T+1召回,召回池里的部分商品会下架缺失,还有召回阶段为用户召回的商品也没有考虑配送区匹配等业务因素,所以算法召回和补全策略召回的的商品数据与线上商品数据并不完全一致,所以需要根据业务规则对召回商品进行过滤。数据过滤模块包括:
离线过滤单元:在数据仓库使用SQL把经过召回算法计算和策略补全的商品根据用户与推荐商品是否在同一配送区进行过滤;离线过滤主要是对配送区进行过滤,因为配送区相对稳定,且不符合要求的配送区数据量相对较大,实时过滤不满足时效性要求,所以在离线阶段提前对配送区进行过滤。
实时过滤单元:从redis实时读取商品下架,商品修改等商品变动信息,对数仓中召回和补全数据进行过滤。实时过滤是因为T+1时效的召回,不能实时同步商品下架,商品修改等商品变动信息,所以需要实时的对修改过的商品进行过滤,使用java程序,实时从redis读取商品变动信心,进行过滤。
进一步的,排序模型训练模块包括:
特征选取单元:从数仓中已加工好的用户行为特征中选取用户购买、用户搜索点击、用户收藏和用户购买点击关键特征,生成推荐排序特征表;使用数仓中搜索排序加工好的特征表中选取部分用户行为相关特征,如用户购买,用户搜索点击,用户收藏,用户购买点击等,重新加工成推荐排序训练表,每日调度。还要加工推荐排序预测表,每日同步到线上,供线上服务调用。
特征处理单元:对特征表中的特征进行单一值处理、重复值处理、缺失值处理和异常值处理;
模型训练单元:采用XGBoost模型进行训练,设置树个数为100,树深度为6,学习率为0.3;
模型评价单元:将数据集划分成训练集和测试集,用数据集训练模型,用测试集计算离线二分类评估指标;将数据集划分成训练集和测试集,用数据集训练模型,用测试集计算离线二分类评估指标,包括auc,召回率,精确率,准确率,f1等指标。
模型保存单元:将特征工程和模型统一成pipeline形式,将满足离线指标的模型保存为PMML文件。
定时调度单元:将排序模型训练python脚本每周定时训练出新的PMML文件,并同步到线上模型目录下。
其中,排序阶段涉及到的相关字段如下(表1):
表1排序相关字段表
其中,pipeline把多个模型&特征工程组合成一个模型。便于上线调用。pipeline和模型对象一样,可以进行训练、预测、评价、超参数搜索、持久化、部署。
其中,PMML是一种跨多语言平台的序列化格式,可以用来跨语言环境部署模型。
进一步的,服务上线模块包括:
灰度配送区上线单元:采取配送区灰度上线的方式,根据指标变化逐步在配送区上线;上线采用配置灰度配送区分配送区批次上线,灰度粒度可精准到用户,根据模型在灰度配送区的线上指标变化情况,逐步上线模型。新模型上线,也采用灰度配送区方式进行ABTest上线。读取召回算法表单元:推荐服务根据不同的请求参数,读取精选推荐协同过滤表或者下单相关推荐关联规则表。
读取补全数据单元:如果召回算法数据不满足设定的数据量,则依次读取用户历史购买数据、用户所属配送区热销数据和商城热销数据直至满足设定的数据量;如果召回算法数据不满足需求的数据量,则依次读取用户历史购买数据,用户所属配送区热销数据,商城热销数据直至满足需求数据量。
执行ES实时过滤单元:将召回数据和补全数据进行实时ES查询,过滤掉不在线上的商品,保证推荐数据的准确性;
排序模型排序单元:读取排序特征,读取训练的排序模型文件,预测商品点击的概率,根据商品的得分从高到低依次排序;将得分更高的商品排在前面。
返回推荐结果单元:将排序好的商品推荐结果返回给用户。
术语解释:
ALS:协同过滤算法
FP-growth:关联分析算法
XGBoost:全称“Extreme Gradient Boosting”,梯度提升模型
Hive:基于Hadoop的一个数据仓库工具
Spark-ML:聚类算法
dolphin scheduler:分布式易扩展的可视化DAG工作流任务调度系统
YARN:Hadoop资源管理器
Redis:远程字典服务
Pipeline:部署流水线
ES:全称Elasticsearch,位于Elastic Stack核心的分布式搜索和分析引擎
本发明提出了基于机器学习的科研电商平台智能推荐系统,包括:数据召回模块,根据用户下单行为数据和订单商品贡献数据,采用ALS协同过滤和FP-growth关联规则算法,分别为精选推荐和下单相关推荐提供数据;数据补全模块,为防止用户冷启动,用户商品配送区不匹配等问题造成的召回数据不足,使用用户历史购买数据,商城热销商品数据,用户同一配送区商家热销商品数据进行补全;数据过滤模块,离线过滤将不与用户同一配送区的商品进行过滤。实时过滤,从redis实时读取商品下架,商品修改等商品变动数据,进行过滤;排序模型训练模块,使用XGBoost算法和数仓中已经过处理的特征,训练模型,保存为PMML文件;服务上线模块,线上服务进行配送区灰度上线,接受用户请求,读取精选推荐数据和下单相关推荐数据,进行最终的ES实时过滤,保证推荐数据与线上数据同步,最后经过排序模型排序,给用户返回推荐结果。
本发明的一种基于机器学习的科研电商平台智能推荐系统,减少用户的搜索次数,提升用户的购买效率。通过用户行为,预测用户可能购买的商品,提升用户的购买倾向。通过推荐关联商品,提升用户打包购买商品的概率,提升下单效率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。
Claims (6)
1.一种基于机器学习的科研电商平台智能推荐系统,其特征在于,包括:
数据召回模块:使用协同过滤算法进行数据召回,根据用户的下单行为,构建评分矩阵,找出相似行为用户,为用户推荐相似用户曾经购买过的商品;使用关联规则算法,使用订单表根据支持度找出频繁项集,再根据置信度得到商品间的关联规则,当用户购买相关联产品时,为用户推荐;
数据补全模块:对召回的数据进行补充,使数据量满足要求;
数据过滤模块:对不符合要求的数据进行过滤;
排序模型训练模块:训练排序模型对召回、补全和过滤之后的数据进行排序;
服务上线模块:推荐服务进行配送区灰度上线,接收用户请求。
2.如权利要求1所述的一种基于机器学习的科研电商平台智能推荐系统,其特征在于,所述数据召回模块包括:
数据加工单元:利用数据仓库Hive中的订单表和订单商品表,使用SQL加工出订单商品表和用户商品表作为协同过滤和关联规则的数据源;
关联规则召回单元:使用Spark-ML构建关联规则算法进行下单相关推荐的召回;读取订单商品表,设置支持度为0.00001,使用FP-growth算法进行训练,找出频繁项集,设置置信度为0.1,从频繁项集中得出类似的关联规则,将关联规则写回Hive关联规则初始表,并进一步加工成关联规则表,以供后续步骤使用;
协同过滤召回单元:使用Spark-ML构建协同过滤算法进行精选推荐的召回;读取用户商品表,制定打分策略,有购买行为为1分,否则为0分,将用户商品表数据转化为用户商品行为评分矩阵,设置迭代次数为10次,隐藏因子个数为10个,为每个推荐商品个数为200,训练ALS模型,为每个用户推荐相似用户历史购买的商品;将预测结果写回Hive协同过滤初始表,并进一步加工成协同过滤表,以供后续步骤使用;
调度Jar包单元:将两个召回算法的Spark-ML程序打包成jar包,使用dolphinscheduler定时从Spark客户端提交到YARN上运行。
3.如权利要求1所述的一种基于机器学习的科研电商平台智能推荐系统,其特征在于,所述数据补全模块包括:
补全数据分析单元:加入数据对召回的数据进行补充,选择反应用户购买倾向的策略,选用用户历史购买数据、用户同一配送区商家热销商品数据和商城热销商品数据进行补全;
用户历史购买数据补全单元:从数据仓库中根据订单表和订单商品表找出近一年用户购买商品数据加工成用户历史购买表;
用户同一配送区商家热销商品补全单元:从数据仓库中根据用户表和商品表找到同一配送区的用户与商家,再通过订单表统计出商家热销商品,按销量进行排序,生成用户同一配送区商家热销商品表;
商城热销商品补全单元:如果补全推荐展示数据量无法达到预设的需求,根据订单表生成商城热销商品进行补充,保证推荐数据量至少有100个商品;
补全数据去重单元:将补全数据表按照用户历史购买、用户同一配送区商家热销商品和商城热销商品的顺序依次使用,并统一的对补全数据进行去重;
数据补全脚本调度单元:使用dolphinScheduler对数据补全SQL脚本进行每日调度;以保证线上服务数据每日更新。
4.如权利要求1所述的一种基于机器学习的科研电商平台智能推荐系统,其特征在于,所述数据过滤模块包括:
离线过滤单元:在数据仓库使用SQL把经过召回算法计算和策略补全的商品根据用户与推荐商品是否在同一配送区进行过滤;
实时过滤单元:从redis实时读取商品下架,商品修改等商品变动信息,对数仓中召回和补全数据进行过滤。
5.如权利要求1所述的一种基于机器学习的科研电商平台智能推荐系统,其特征在于,所述排序模型训练模块包括:
特征选取单元:从数仓中已加工好的用户行为特征中选取用户购买、用户搜索点击、用户收藏和用户购买点击关键特征,生成推荐排序特征表;
特征处理单元:对特征表中的特征进行单一值处理、重复值处理、缺失值处理和异常值处理;
模型训练单元:采用XGBoost模型进行训练,设置树个数为100,树深度为6,学习率为0.3;
模型评价单元:将数据集划分成训练集和测试集,用数据集训练模型,用测试集计算离线二分类评估指标;
模型保存单元:将特征工程和模型统一成pipeline形式,将满足离线指标的模型保存为PMML文件;
定时调度单元:将排序模型训练python脚本每周定时训练出新的PMML文件,并同步到线上模型目录下。
6.如权利要求1所述的一种基于机器学习的科研电商平台智能推荐系统,其特征在于,所述服务上线模块包括:
灰度配送区上线单元:采取配送区灰度上线的方式,根据指标变化逐步在配送区上线;
读取召回算法表单元:推荐服务根据不同的请求参数,读取精选推荐协同过滤表或者下单相关推荐关联规则表;
读取补全数据单元:如果召回算法数据不满足设定的数据量,则依次读取用户历史购买数据、用户所属配送区热销数据和商城热销数据直至满足设定的数据量;
执行ES实时过滤单元:将召回数据和补全数据进行实时ES查询,过滤掉不在线上的商品,保证推荐数据的准确性;
排序模型排序单元:读取排序特征,读取训练的排序模型文件,预测商品点击的概率,根据商品的得分从高到低依次排序;
返回推荐结果单元:将排序好的商品推荐结果返回给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310396540.5A CN116664219A (zh) | 2023-04-14 | 2023-04-14 | 一种基于机器学习的科研电商平台智能推荐系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310396540.5A CN116664219A (zh) | 2023-04-14 | 2023-04-14 | 一种基于机器学习的科研电商平台智能推荐系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116664219A true CN116664219A (zh) | 2023-08-29 |
Family
ID=87708686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310396540.5A Pending CN116664219A (zh) | 2023-04-14 | 2023-04-14 | 一种基于机器学习的科研电商平台智能推荐系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116664219A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694652A (zh) * | 2009-09-30 | 2010-04-14 | 西安交通大学 | 一种基于极速神经网络的网络资源个性化推荐方法 |
CN109848992A (zh) * | 2019-02-19 | 2019-06-07 | 武汉理工大学 | 一种用于校园小区范围内的全自主混合动力外卖配送装置 |
CN111815351A (zh) * | 2020-05-29 | 2020-10-23 | 杭州览众数据科技有限公司 | 一种基于协同过滤与关联规则的服装推荐方法 |
CN112015990A (zh) * | 2020-08-31 | 2020-12-01 | 广州市百果园信息技术有限公司 | 待推荐网络资源的确定方法、装置、计算机设备及介质 |
CN112232880A (zh) * | 2019-12-23 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa与ai的商品推荐方法和装置 |
CN112613948A (zh) * | 2020-12-25 | 2021-04-06 | 喀斯玛(北京)科技有限公司 | 一种基于严选策略的商品推送管理方法 |
CN114186121A (zh) * | 2021-02-02 | 2022-03-15 | 寿带鸟信息科技(苏州)有限公司 | 一种基于服务记录的混合型推荐算法系统 |
CN114547453A (zh) * | 2022-02-21 | 2022-05-27 | 重庆长安汽车股份有限公司 | 一种通用top-n智能推荐系统及方法 |
CN115130008A (zh) * | 2022-08-31 | 2022-09-30 | 喀斯玛(北京)科技有限公司 | 一种基于机器学习模型算法的搜索排序方法 |
-
2023
- 2023-04-14 CN CN202310396540.5A patent/CN116664219A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694652A (zh) * | 2009-09-30 | 2010-04-14 | 西安交通大学 | 一种基于极速神经网络的网络资源个性化推荐方法 |
CN109848992A (zh) * | 2019-02-19 | 2019-06-07 | 武汉理工大学 | 一种用于校园小区范围内的全自主混合动力外卖配送装置 |
CN112232880A (zh) * | 2019-12-23 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa与ai的商品推荐方法和装置 |
CN111815351A (zh) * | 2020-05-29 | 2020-10-23 | 杭州览众数据科技有限公司 | 一种基于协同过滤与关联规则的服装推荐方法 |
CN112015990A (zh) * | 2020-08-31 | 2020-12-01 | 广州市百果园信息技术有限公司 | 待推荐网络资源的确定方法、装置、计算机设备及介质 |
CN112613948A (zh) * | 2020-12-25 | 2021-04-06 | 喀斯玛(北京)科技有限公司 | 一种基于严选策略的商品推送管理方法 |
CN114186121A (zh) * | 2021-02-02 | 2022-03-15 | 寿带鸟信息科技(苏州)有限公司 | 一种基于服务记录的混合型推荐算法系统 |
CN114547453A (zh) * | 2022-02-21 | 2022-05-27 | 重庆长安汽车股份有限公司 | 一种通用top-n智能推荐系统及方法 |
CN115130008A (zh) * | 2022-08-31 | 2022-09-30 | 喀斯玛(北京)科技有限公司 | 一种基于机器学习模型算法的搜索排序方法 |
Non-Patent Citations (1)
Title |
---|
王哲 等: "《Hadoop与大数据挖掘 第2版》", 机械工业出版社, pages: 237 - 239 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106339383B (zh) | 一种搜索排序方法及系统 | |
US6236985B1 (en) | System and method for searching databases with applications such as peer groups, collaborative filtering, and e-commerce | |
CN101408885B (zh) | 利用统计分布对主题进行建模 | |
US8438052B1 (en) | Automated selection of three of more items to recommend as a bundle | |
CN101661487B (zh) | 对信息项进行搜索的方法和系统 | |
AU2017200585A1 (en) | System and engine for seeded clustering of news events | |
CN103886487A (zh) | 基于分布式的b2b平台的个性化推荐方法与系统 | |
CN101408886A (zh) | 通过分析文档的段落来选择该文档的标签 | |
CN101124575A (zh) | 用于生成推荐的方法和系统 | |
CN110175895B (zh) | 一种物品推荐方法及装置 | |
US7680697B2 (en) | Searching for a seller of a product | |
CN103020240A (zh) | 一种在线购物平台的商品检索方法 | |
CN111429203A (zh) | 基于用户行为数据的商品推荐方法和装置 | |
CN103853802B (zh) | 用于索引电子内容的装置和方法 | |
Chalyi et al. | The method of constructing recommendations online on the temporal dynamics of user interests using multilayer graph | |
CN111914163A (zh) | 一种药品组合推荐方法、装置、电子设备及存储介质 | |
CN107368501B (zh) | 数据的处理方法及装置 | |
Prasetyo | Searching cheapest product on three different e-commerce using k-means algorithm | |
Trivonanda et al. | Sequential pattern mining for e-commerce recommender system | |
CN115130008B (zh) | 一种基于机器学习模型算法的搜索排序方法 | |
CN106777405A (zh) | 基于SaaS服务促进低频类交易的电子商业方法 | |
CN116664219A (zh) | 一种基于机器学习的科研电商平台智能推荐系统 | |
Hung | Using Cloud Services to Develop Marketing Information System Applications | |
Kabir | Data mining framework for generating sales decision making information using association rules | |
Wasilewski et al. | Clustering Methods for Adaptive e-Commerce User Interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |