(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202211050166.5
(22)申请日 2022.08.31
(65)同一申请的已公布的文献号
申请公布号 CN 115130008 A
(43)申请公布日 2022.09.30
(73)专利权人 喀斯玛 (北京) 科技有限公司
地址 100086 北京市海淀区中关村南 三街6
号四层425室
(72)发明人 户向伟 王昕 梁培利 于森
(74)专利代理 机构 北京中企鸿阳知识产权代理
事务所(普通 合伙) 11487
专利代理师 苏艳
(51)Int.Cl.
G06F 16/9535(2019.01)
G06N 20/20(2019.01)G06F 16/2458(2019.01)
G06F 16/28(2019.01)
G06K 9/62(2022.01)
(56)对比文件
CN 102306176 A,2012.01.04
CN 112100444 A,2020.12.18
CN 106777088 A,2017.0 5.31
CN 111597444 A,2020.08.28
CN 112749325 A,2021.0 5.04
CN 109189 904 A,2019.01.1 1
US 2020401948 A1,2020.12.24
US 20210 04379 A1,2021.01.07
赵晗等.基 于XGBoost的搜索结果智能排序
系统. 《软件导刊》 .2019,(第12期),
审查员 郭燕
(54)发明名称
一种基于机器学习模型算法的搜索排序方
法
(57)摘要
本发明提出了一种基于机器学习模型算法
的搜索排序方法, 包括: 数据加工: 利用数据仓库
处理加工 所需的商品和用户的静态特征、 统计特
征、 交互特征; 模型训练: 对数据仓库加工好的数
据进行探索性数据分析, 根据分析结果进行机器
学习的特征工程, 选用合适的模型进行调参训
练, 并进行模型评估, 将模型保存成为PMML模型
文件; 数据同步: 将特征数据同步到数据, 并定期
更新; 模型服务: 接收搜索服务传递过来的请求,
读取用户特征数据和加载读取PMML模型文件, 模
型服务进行预测, 对预测的排序结果进行相关的
策略处理, 最终模型服务返回排序结果给搜索服
务, 由搜索服 务将排序结果展示到前端。
权利要求书2页 说明书10页 附图4页
CN 115130008 B
2022.11.25
CN 115130008 B
1.一种基于 机器学习模型算法的搜索排序方法, 其特 征在于, 包括如下步骤:
步骤S1, 数据加工: 利用数据仓库处理加工所需的商品和用户的静态特征、 统计特征、
交互特征; 其中, 采用hive 数据仓库分层提取数据, 包括ODS层、 DIM层、 DWD层、 DWI层、 DWS层
和APP层, 所述数据仓库采用维度建模, 将数据分主题抽象为维度表和事实表, 使用事实表
关联维度表, 维度表之间互不关联;
其中, ODS层是业务数据存储层, DIM层是数仓维度表所在层, DWD层是数仓事实表所在
层, DWI层是数据仓库轻度汇总层, DWI层数据来源于DIM和DWD层, DWS层是数据仓库汇总层;
DWS层数据来源于DW I层, APP层是数据应用层;
步骤S2, 模型训练: 对步骤S1中数据仓库加工好的数据进行探索性数据分析, 根据分析
结果进行机器学习的特征工程, 选用合适的模型进 行调参训练, 并进 行模型评估, 将模型保
存成为PM ML模型文件;
步骤S3, 数据同步: 将特 征数据同步到数据, 并定期更新;
步骤S4, 模型服务: 接收搜索服务传递过来的请求, 读取用户特征数据和加载读取PMML
模型文件, 模型服务进 行预测, 对预测的排序结果进 行相关的策略处理, 最 终模型服务返回
排序结果给搜索服 务, 由搜索服 务将排序结果展示到前端。
2.如权利要求1所述的基于机器学习 模型算法的搜索排序方法, 其特征在于, 在所述步
骤S2中, 采用离线指标进行模型评估, 其中, 所述离线指标包括: AUC值、 召回率和准确率。
3.如权利要求1所述的基于机器学习 模型算法的搜索排序方法, 其特征在于, 所述数据
仓库的模型为星型模型。
4.如权利要求1所述的基于机器学习 模型算法的搜索排序方法, 其特征在于, 在所述步
骤S2中,
步骤S21, 读取数据: 使用JDBC方式连接hive, 从hive数据仓库APP层读取所需训练表数
据并处理成DataFrame类型;
步骤S22, 即数据探索性分析EDA, 首先查看搜索排序数据的大小和行列数量, 验证读取
数据准确有效, 查看各个特征 的中值、 均值、 唯一值数量、 每列特征 的频度和特征间的相关
性, 根据查看结果在特 征工程中对每列数据进行不同的处 理;
步骤S23, 特 征工程: 删除单一 值过多的特 征, 删除缺失值大于70%的特 征;
把object类型的数据值数量小于5的进行onehotencoder, 大于5的使用labelencoder,
将价格, 数量相关的多个特征进行离散化处理; 使用selectfrommo del进行特征选择, 使得
最终入模特征在100以内;
步骤S24, 模型训练: 采用LR模型、 xgboost模型或者xgboost+LR混合模型, 进行模型训
练, 比较3个模型的得分, 最终选用xgboost模型作为最终的训练模型, 使用交叉验证, 网格
搜索方式进行超参数选择;
步骤S25, 模型评估: 将数据集划分成训练集和测试集, 采用训练集训练模型, 采用测试
集计算离线二分类评估指标;
步骤S26, 模型保存: 将特征工程和模型统一成pipeline形式, 保存为PMML文件, PMML文
件跨环境使用模型, 以供模型服 务在java环境调用模型。
5.如权利要求4所述的基于机器学习 模型算法的搜索排序方法, 其特征在于, 在所述步
骤S23中, 缺 失值的处理方式包括对有实际含义的缺 失值不进 行处理, 对于缺 失值少的列直权 利 要 求 书 1/2 页
2
CN 115130008 B
2接对缺失值进行删除; 对缺 失值多的列采用均值、 中值、 众数和插值方法进 行填充; 其中, 异
常值的处理方式包括对异常值进行替换填充, 根据数据正常上下限, 对超范围异常值进行
删除。
6.如权利要求4所述的基于机器学习 模型算法的搜索排序方法, 其特征在于, 在所述步
骤S23中, 特 征选择方法包括以下三种: Fi lter、 Wrap per和Embed ded。
7.如权利要求4所述的基于机器学习 模型算法的搜索排序方法, 其特征在于, 在所述步
骤S25中, AUC值 为0.68, 召回率 为0.66, 准确率 为0.7。
8.如权利要求1所述的基于机器学习 模型算法的搜索排序方法, 其特征在于, 在所述步
骤S4中,
步骤S41, 接收搜索服务请求: 即前端发出请求到搜索服务, 搜索服务使用
Elasticsearch全文搜索引擎进行搜索数据的召回, 然后调用搜索排序模 型服务进行排序,
模型服务负责接收搜索服 务请求;
步骤S42, 读取特征数据: 根据搜索服务传递的参数, 从PostgreSQL数据库中读取所需
特征数据;
步骤S43, 加载PMML模型文件: 用第三方jpmml库将已经训练好的PMML模型文件加载到
内存中;
步骤S44, 模型预测: 用加载好的模型文件和统一格式的入参数据进行预测, 并将预测
结果进行排序, 并打印日志; 将预测的排序结果缓存到Redis, 并保留预设时长以减少用户
重复搜索时的压力;
步骤S45, 策略处理, 包括: 商品补全、 配送区匹配、 搜索关键词高亮、 关联平台标签的商
品数据不 参与排序;
步骤S46, 返回结果: 将最终处理后的结果返回给搜索服务, 由搜索服务统一返回给前
端进行展示。
9.如权利要求8所述的基于机器学习 模型算法的搜索排序方法, 其特征在于, 在所述步
骤S42中, 将分开读取的特 征表合并成统一格式的模型入参数据。权 利 要 求 书 2/2 页
3
CN 115130008 B
3
专利 一种基于机器学习模型算法的搜索排序方法
文档预览
中文文档
17 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:34:16上传分享