CN112307762A - 搜索结果的排序方法及装置、存储介质、电子装置 - Google Patents

搜索结果的排序方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
CN112307762A
CN112307762A CN202011552782.1A CN202011552782A CN112307762A CN 112307762 A CN112307762 A CN 112307762A CN 202011552782 A CN202011552782 A CN 202011552782A CN 112307762 A CN112307762 A CN 112307762A
Authority
CN
China
Prior art keywords
data
feature
training
model
feature data
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.)
Granted
Application number
CN202011552782.1A
Other languages
English (en)
Other versions
CN112307762B (zh
Inventor
柳阳
张伟望
覃建策
陈邦忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Perfect World Beijing Software Technology Development Co Ltd
Original Assignee
Perfect World Beijing Software Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Perfect World Beijing Software Technology Development Co Ltd filed Critical Perfect World Beijing Software Technology Development Co Ltd
Priority to CN202011552782.1A priority Critical patent/CN112307762B/zh
Publication of CN112307762A publication Critical patent/CN112307762A/zh
Application granted granted Critical
Publication of CN112307762B publication Critical patent/CN112307762B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Abstract

本发明提供了一种搜索结果的排序方法及装置、存储介质、电子装置,其中,该方法包括:根据样本数据生成离线特征数据和在线特征数据,利用离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练得到已训练特征提取器,保持已训练特征提取器不变并采用在线特征对其与第二分类器组成第二组合模型进行在线实时训练,得到第二模型;接收职位搜索请求并获取对应的搜索结果列表,利用第二模型对所述搜索结果列表中的多条候选职位信息记录进行重新排序。通过本发明,解决了相关技术中搜索列表排序不合理的技术问题,在降低了训练模型占用的内存资源的同事缩短了模型的训练时长,提高了模型训练效率。

Description

搜索结果的排序方法及装置、存储介质、电子装置
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种搜索结果的排序方法及装置、存储介质、电子装置。
背景技术
相关技术中,排序是搜索业务中非常关键的一环,其主要功能是将从海量信息中召回的部分候选信息,按照与搜索字段的相关度对候选信息进行排序,使得更符合用户意图的信息尽可能排列在较前位置,以此实现更好的产品体验。
相关技术中,用于实现排序的方法采用是通过机器学习的方式去学习query(查询)意图,用户特征,检索信息特征等一系列信息与target(目标内容)之间的关系,根据target的不同设定以及Loss Function(损失函数)优化的不同,将排序方法分为pointwise、pairwise和list wise三种。Pointwise:pointwise在排序中采用的是机器学习中常见的分类和回归方法,因此其对应的target定义相对简单,根据用户的点击,浏览时间定义与query的相关度大小,一般多分为三类或五类。但这种方法的缺陷在于只学习到了特征与相关度大小的关系,忽略了检索信息之间排序的关系。Pairwise:pairwise针对检索信息的排列顺序对target进行了优化,通过两两之间的前后顺序来定义正负样本,即对样本对进行标注。Pairwise对样本的处理考虑到了顺序特征,相对pointwise要更加合理。其常用的算法包括rankNet、LambdaRank。Listwise:Listwise则对给定查询下的检索信息通过用户判断对整体序列进行了标注,考虑的是整体序列的排序。这种方法看起来是最合理的一种方式,但存在样本标注难度大的缺点。采用Listwise性能较为优越的算法有LambdaMART。
相关技术中的搜索排序大多都是通过机器学习方法进行训练的,并且分为三种类型,不同的类型存在各自的优劣势。但总的来说,模型性能的优越性不仅仅取决于模型方法,同时还包括通过分析数据建立的特征工程。
从模型上来说,单一模型的通用性不强,应用于排序的树模型有XGBoost和LGBM模型,两种模型可以挖掘组合高阶统计特征,但在排序任务中,单一的树模型针对id类特征不友好,性能表现较差,更多依赖于连续型的统计特征,这很大程度上是因为模型学习到了id特征的数值信息,但id特征的数值信息是无意义的,存在很大的干扰性。如果将id特征通过one-hot形式编码,则会造成特征高维稀疏,对于树模型同样不能很好地处理。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种搜索结果的排序方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种搜索结果的排序方法,包括:根据样本数据生成离线特征数据和在线特征数据,其中,所述样本数据包括:职位特征数据、用户特征数据、搜索特征数据;利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型;利用所述已训练特征提取器和第二分类器组成第二组合模型,保持所述已训练特征提取器不变并采用所述在线特征对所述第二组合模型进行在线实时训练,得到包括所述已训练特征提取器和已训练第二分类器的第二模型;接收携带用户属性信息和搜索词的职位搜索请求;获取对应于所述职位搜索请求的搜索结果列表,所述搜索结果列表包括多条候选职位信息记录;依据所述用户属性信息、所述搜索词、以及所述搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对所述搜索结果列表中的多条候选职位信息记录进行重新排序。
可选的,所述初始特征提取器为轻度梯度提升机LGBM模型,利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练包括:对所述LGBM模型的每个机器分配全量的所述离线特征数据;在所述LGBM模型的决策树的每次迭代周期,执行以下操作:每个机器在基于局部的特征集合找到最优分裂特征;机器间传输最优分裂特征,并得到全局最优分裂特征;每个机器基于全局最优分裂特征,在本地进行数据分裂,生成当前迭代周期的决策树,其中,每个机器运行在CPU的一个线程中。
可选的,利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练包括:利用所述离线特征数据构建第一训练集,设置增量参数将所述第一训练集拆分多个训练数据块,其中,所述初始特征提取器的增量参数为持续训练助推器参数,所述第一分类器的增量参数为热启动参数;按照训练管道流式读取所述多个训练数据块,以对应上一训练数据块得到的中间模型为基础模型,并基于当前训练数据块训练所述基础模型。
可选的,在利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练之前,所述方法还包括:判断所述离线特征数据是否存在ID类数据;若所述离线特征数据存在ID类数据,在初始特征提取器中对所述ID类数据进行特征字段指定,以使类别特征最优分割点计算时的单个区间对应一个类别。
可选的,在根据样本数据生成离线特征数据和在线特征数据之后,所述方法还包括:确定所述离线特征数据中的ID类数据的类别;若所述ID类数据为所述搜索特征数据中的Term数据,按照频率对所述Term数据进行降序排序,对序列前端的若干个Term数据进行one-hot编码,并对序列后端的预设数量个Term数据进行分桶处理,对分桶处理后的每桶Term数据进行one-hot编码;若所述ID类数据为所述职位特征数据中的职位ID,采用对应职位的历史平均点击率代替所述职位ID。
可选的,根据样本数据生成离线特征数据和在线特征数据包括:基于所述用户特征数据生成以下离线特征数据和在线特征数据:用户画像特征,用户行为特征,上下文特征;基于所述搜索特征数据生成以下离线特征数据和在线特征数据:搜索关键字的热度信息,搜索关键字的分词组合特征,搜索关键字的转化率,搜索过滤特征;基于所述职位特征数据生成以下离线特征数据和在线特征数据:职位基础信息,职位附属关系,职位描述信息,职位概率特征;基于所述职位特征数据和所述用户特征数据生成以下离线特征数据和在线特征数据:浏览状态信息,收藏状态信息,投递状态信息,用户与职位的匹配度;基于所述搜索特征数据和所述职位特征数据生成以下离线特征数据和在线特征数据:文本相似度,语义相似度。
可选的,根据样本数据生成离线特征数据包括:按照预设范围从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;采用数据仓库工具对所述业务数据进行数据预处理、特征筛选和样本标注,得到包括训练特征集和验证特征集的离线特征数据。
可选的,所述方法还包括:按照保活周期更新所述离线特征数据,并利用更新的离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练。
可选的,根据样本数据生成在线特征数据包括:实时从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;对所述业务数据进行特征向量化处理,得到与所述业务数据对应的特征集。
根据本发明的另一个实施例,提供了一种搜索结果的排序装置,包括:生成模块,用于根据样本数据生成离线特征数据和在线特征数据,其中,所述样本数据包括:职位特征数据、用户特征数据、搜索特征数据;提取模块,用于利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型;训练模块,用于利用所述已训练特征提取器和第二分类器组成第二组合模型,保持所述已训练特征提取器不变并采用所述在线特征对所述第二组合模型进行在线实时训练,得到包括所述已训练特征提取器和已训练第二分类器的第二模型;接收模块,用于接收携带用户属性信息和搜索词的职位搜索请求;获取模块,用于获取对应于所述职位搜索请求的搜索结果列表,所述搜索结果列表包括多条候选职位信息记录;排序模块,用于依据所述用户属性信息、所述搜索词、以及所述搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对所述搜索结果列表中的多条候选职位信息记录进行重新排序。
可选的,所述初始特征提取器为轻度梯度提升机LGBM模型,所述训练模块包括:分配单元,用于对所述LGBM模型的每个机器分配全量的所述离线特征数据;第一训练单元,用于在所述LGBM模型的决策树的每次迭代周期,执行以下操作:每个机器在基于局部的特征集合找到最优分裂特征;机器间传输最优分裂特征,并得到全局最优分裂特征;每个机器基于全局最优分裂特征,在本地进行数据分裂,生成当前迭代周期的决策树,其中,每个机器运行在CPU的一个线程中。
可选的,所述训练模块包括:拆分单元,用于利用所述离线特征数据构建第一训练集,设置增量参数将所述第一训练集拆分多个训练数据块,其中,所述初始特征提取器的增量参数为持续训练助推器参数,所述第一分类器的增量参数为热启动参数;第二训练单元,用于按照训练管道流式读取所述多个训练数据块,以对应上一训练数据块得到的中间模型为基础模型,并基于当前训练数据块训练所述基础模型。
可选的,所述装置还包括:判断模块,用于在所述训练模块利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练之前,判断所述离线特征数据是否存在ID类数据;第一处理模块,用于若所述离线特征数据存在ID类数据,在初始特征提取器中对所述ID类数据进行特征字段指定,以使类别特征最优分割点计算时的单个区间对应一个类别。
可选的,所述装置还包括:确定模块,用于在所述生成模块根据样本数据生成离线特征数据和在线特征数据之后,确定所述离线特征数据中的ID类数据的类别;第二处理模块,用于若所述ID类数据为所述搜索特征数据中的Term数据,按照频率对所述Term数据进行降序排序,对序列前端的若干个Term数据进行one-hot编码,并对序列后端的预设数量个Term数据进行分桶处理,对分桶处理后的每桶Term数据进行one-hot编码;若所述ID类数据为所述职位特征数据中的职位ID,采用对应职位的历史平均点击率代替所述职位ID。
可选的,所述生成模块包括:第一生成单元,用于基于所述用户特征数据生成以下离线特征数据和在线特征数据:用户画像特征,用户行为特征,上下文特征;第二生成单元,用于基于所述搜索特征数据生成以下离线特征数据和在线特征数据:搜索关键字的热度信息,搜索关键字的分词组合特征,搜索关键字的转化率,搜索过滤特征;第三生成单元,用于基于所述职位特征数据生成以下离线特征数据和在线特征数据:职位基础信息,职位附属关系,职位描述信息,职位概率特征;第四生成单元,用于基于所述职位特征数据和所述用户特征数据生成以下离线特征数据和在线特征数据:浏览状态信息,收藏状态信息,投递状态信息,用户与职位的匹配度;第五生成单元,用于基于所述搜索特征数据和所述职位特征数据生成以下离线特征数据和在线特征数据:文本相似度,语义相似度。
可选的,所述生成模块包括:获取单元,用于按照预设范围从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;第一处理单元,用于采用数据仓库工具对所述业务数据进行数据预处理、特征筛选和样本标注,得到包括训练特征集和验证特征集的离线特征数据。
可选的,所述装置还包括:更新模块,用于按照保活周期更新所述离线特征数据,并利用更新的离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练。
可选的,所述生成模块包括:采集单元,用于实时从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;第二处理单元,用于对所述业务数据进行特征向量化处理,得到与所述业务数据对应的特征集。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,根据样本数据生成离线特征数据和在线特征数据,利用离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型,利用已训练特征提取器和第二分类器组成第二组合模型,保持已训练特征提取器不变并采用在线特征对第二组合模型进行在线实时训练,得到包括已训练特征提取器和已训练第二分类器的第二模型,接收携带用户属性信息和搜索词的职位搜索请求,获取对应于职位搜索请求的搜索结果列表,搜索结果列表包括多条候选职位信息记录,依据用户属性信息、搜索词、以及搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对搜索结果列表中的多条候选职位信息记录进行重新排序,通过设置离线训练的特征提取器和在线训练的分类器,并对离线特征数据进行并行训练,将训练好的特征提取器传递给分类器,再固定特征提取器的参数对组合模型进行实时训练,解决了相关技术中训练职位搜索模型时间长的技术问题,缩短了模型的训练时长,降低了训练模型占用的内存资源,提高了模型训练效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种搜索结果的排序硬件结构框图;
图2是根据本发明实施例的一种搜索结果的排序方法的流程图;
图3是本发明实施例中特征数据分类的示意图;
图4是本发明实施例中职位搜索模型的系统框架图;
图5是本发明实施例中树节点数目对模型的影响示意图;
图6是本发明实施例中模型训练和融合的流程图;
图7是根据本发明实施例的一种搜索结果的排序装置的结构框图;
图8是本发明实施例的一种电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在服务器、计算机、客户端或者类似的电子设备中执行。以运行在计算机上为例,图1是本发明实施例的一种搜索结果的排序硬件结构框图。如图1所示,计算机可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种搜索结果的排序方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。在本实施例中,处理器104用于响应机器指令。存储器104用于存储程序脚本,配置信息等。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
可选的,输入输出设备108还包括人机交互屏幕用于通过人机交互接口获取人机交互指令;
在本实施例中提供了一种搜索结果的排序方法,图2是根据本发明实施例的一种搜索结果的排序方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据样本数据生成离线特征数据和在线特征数据,其中,样本数据包括:职位特征数据、用户特征数据、搜索特征数据;
本实施例的离线特征数据和在线特征数据是两个独立的特征集合,分别用于离线训练特征提取器,在线训练分类器,由于样本数据采集时间的差异,两个样本集的新鲜度可能不同。离线特征数据和在线特征数据包括基于单维度数据(职位属性数据、用户属性数据、搜索关键字数据)的特征和基于至少两个维度数据的组合特征。
步骤S204,利用离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型;
步骤S206,利用已训练特征提取器和第二分类器组成第二组合模型,保持已训练特征提取器不变并采用在线特征对第二组合模型进行在线实时训练,得到包括已训练特征提取器和已训练第二分类器的第二模型;
在本实施例中,第二分类器是训练前的初始分类器,在第二组合模型中,包括已训练特征提取器和初始分类器(第二分类器),第二模型中,包括已训练特征提取器和已训练第二分类器。离线训练第一组合模型,之后将训练好的特征提取器移植到第二组合模型中,进一步实时训练,实时模型中的特征提取器是离线训练移植来的,在第二组合模型中固定已训练特征提取器的参数。
步骤S208,接收携带用户属性信息和搜索词的职位搜索请求;
其中,用户属性信息可以是用户账号等信息,基于此,可以查找该用户的历史搜索记录,用户职位习惯等用户特征数据。
步骤S210,获取对应于职位搜索请求的搜索结果列表,搜索结果列表包括多条候选职位信息记录;
在本实施例中,可以基于搜索引擎以搜索词为关键字进行搜索,得到匹配的多条候选职位信息记录。
步骤S212,依据用户属性信息、搜索词、以及搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对搜索结果列表中的多条候选职位信息记录进行重新排序。
在重新排序过程中,已训练特征提取器对用户特征数据、职位特征数据、搜索特征数据进行特征提取,然后将提取结果输入已训练第二分类器进行分类排序,按序排列并输出匹配的职位信息列表。
通过上述步骤,根据样本数据生成离线特征数据和在线特征数据,利用离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型,利用已训练特征提取器和第二分类器组成第二组合模型,保持已训练特征提取器不变并采用在线特征对第二组合模型进行在线实时训练,得到包括已训练特征提取器和已训练第二分类器的第二模型,接收携带用户属性信息和搜索词的职位搜索请求,获取对应于职位搜索请求的搜索结果列表,搜索结果列表包括多条候选职位信息记录,依据用户属性信息、搜索词、以及搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对搜索结果列表中的多条候选职位信息记录进行重新排序,通过设置离线训练的特征提取器和在线训练的分类器,并对离线特征数据进行并行训练,将训练好的特征提取器传递给分类器,再固定特征提取器的参数对组合模型进行实时训练,解决了相关技术中训练职位搜索模型时间长的技术问题,缩短了模型的训练时长,降低了训练模型占用的内存资源,提高了模型训练效率。同时,利用组合模型的排序方式,通过树模型挖掘交互信息,扩充特征维度,使特征信息更加丰富,第二分类器在一定程度上也提升了模型处理高维稀疏样本的能力,从而对实现对搜索结果的更好排序。
在本实施例中,离线特征数据和在线特征数据包括五类特征,根据样本数据生成离线特征数据和在线特征数据包括:
基于用户属性数据生成以下离线特征数据和在线特征数据:用户画像特征,用户行为特征,上下文特征。可选的,上下文特征包括样本用户的登录设备信息、登录位置信息、登录时间信息;
基于搜索关键字数据生成以下离线特征数据和在线特征数据:搜索关键字的热度信息,搜索关键字的分词组合特征,搜索关键字的转化率,搜索过滤特征;
基于职位属性数据生成以下离线特征数据和在线特征数据:职位基础信息,职位附属关系,职位描述信息,职位概率特征。可选的,职位基础信息包括以下至少之一:职位名称、职级要求、职位类型、职位薪酬、所在行业、工作城市、工作位置,职位附属关系包括:职位所在公司和所在部门的运营信息,职位概率特征包括:搜索点击率、职位收藏率、职位投递率、职位的投递与点击的转化率;基于职位属性数据和用户属性数据生成以下离线特征数据和在线特征数据:浏览状态信息,收藏状态信息,投递状态信息,用户与职位的匹配度,其中,浏览状态信息用于表征样本用于浏览样本职位的状态,收藏状态信息用于表征样本用于收藏样本职位的状态,投递状态信息用于表征样本用于投递样本职位的状态;
基于搜索关键字数据和职位属性数据生成以下离线特征数据和在线特征数据:文本相似度,语义相似度。可选的,文本相似度用于表征搜索关键字与职位的文本相似度,语义相似度用于表征搜索关键字与职位的语义相似度。
下面结合附图进行说明,图3是本发明实施例中特征数据分类的示意图,分别五个类型,对应五个维度的样本特征(离线特征数据和在线特征数据),针对职位搜索的求职者用户信息,检索的公司职位信息对其进行了特征分析,分为三个大类:基于用户属性数据的用户特征,基于职位属性数据的职位特征,基于搜索关键字数据的query特征,以及基于组合属性的特征数据。
用户特征,是用户在使用产品时会根据自己的自身情况和习惯需求产生行为数据,这些数据在经用户允许的情况下可以作为分析用户特征的依据。从招聘产品的业务场景出发,具体包括以下特征数据:
用户画像特征:用户年龄、用户性别、用户学历、用户学校、用户专业、用户职级、用户曾就职公司、用户曾就职职位、用户工作年限、用户期望工作城市、用户的技能优势、用户侧重关注度(薪资、公司平台、行业、城市等)。
用户行为特征:用户浏览记录、用户浏览时长。
上下文特征:用户登录设备、用户定位(Location Based Services,LBS)信息、登录时间。
Query特征,指的是用户在搜索端输入的文本或者筛选字段信息,Query特征是搜索排序任务中较为关键的一环,通常结合召回步骤进行整合,具体包括以下特征数据:
Query搜索热度:根据近段时间搜索Query的频率表示query在一定时段内的热度,作为query的搜索热度特征。
Term:将搜索的query文本进行分词处理,作为Term特征,Term可以以词袋模型表示特征,也可以通过TF-IDF的形式计算单个Term的关键权重。
Query历史转化率:用户在一定时间段内使用同一query搜索时点击数目占召回数量的比例。
Filter:用户在搜索时设置的筛选字段,包括薪资范围、城市选择、行业选择、学历、公司规模、融资阶段等。
职位特征,是搜索排序的对象,在搜索中信息是最为丰富的,同时特征维度多,做好职位doc(文本)的特征挖掘是取决排序性能好坏的关键。具体包括以下粒度的特征数据:
基础特征:职位名称、职级要求、职位类型(全职,兼职,实习)、薪水、行业、城市、位置信息(LBS信息)
附属关系信息:从公司层面分析:公司上市情况、公司规模、公司类型、所在部门、部门团队规模。
深层文本信息解析:通过自然语言理解的形式,获取长文本的主题特征、关键词特征以及语义特征。包括职位描述、员工福利、能力要求、职位的优势等。
概率特征:包括,职位搜索历史点击率:职位在某一时段的实际点击次数/在某一时段召回并曝光的所有职位数量。职位的历史收藏率:职位在某一时段的实际收藏次数/在某一时段召回并曝光的所有职位数量。职位简历投递率:职位在某一时段的投递简历次数/在某一时段召回并曝光的所有职位数量。职位的历史转化率:职位在某一时段的投递简历次数/职位在某一时段的实际点击数。
用户-职位组合特征,是用户和职位之间的交互关系,在排序任务中,职位排列的顺序与用户对职位的历史反馈之间有着很大的关系。本文根据产品功能,分析了用户与职位之间可能存在的特征关系,具体包括以下特征数据:
用户浏览职位情况:反馈用户是否浏览过该职位,浏览次数。
用户职位收藏情况:根据用户对职位的打星反馈用户是否收藏该职位。
用户投递职位情况:根据用户简历投递行为反馈用户是否投递过该职位
用户-职位技能树匹配度:根据用户的技能树与职位所要求的技能建立相似度匹配,根据相似度分数判断两者之间的匹配度。
Query-职位组合特征,Query与职位之间的交互信息体现在搜索召回环节,在召回过程中,需要分析Query的文本信息,进而与职位之间计算相似度,返回相似度较高的职位doc。在召回过后的精排序阶段,相似度更高的职位doc应该尽可能排列在靠前的位置。考虑两者之间的关系,具体包括以下特征数据:
文本相似度:从字和词的粒度去计算query和doc之间的相似度,一般可以采用TF-IDF计算余弦相似度或者皮尔逊相关系数,也可以采用编辑距离计算方式。
语义相似度:通过分析query和doc的语义信息计算相似度,一般可以通过预训练语言模型对query和doc进行深层语义表征,生成embedding向量。通过embedding计算两者之间的相似度。
另外,在其他实施方式中,特征数据(离线特征数据和在线特征数据)的生成也可以在统一的特征平台中执行,在采用特征数据对模型进行训练和排序时,可通过接口获取对应特征来构造模型的输入。
在本实施例的一个实施方式中,特征提取器为LGBM(LightGradient BoostingMachine,轻度梯度提升机)模型(也可简称为LightGBM),利用离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练包括:对LGBM模型的每个机器(worker)分配全量的离线特征数据;在LGBM模型的决策树的每次迭代周期,执行以下操作:每个机器在基于局部的特征集合找到最优分裂特征;机器间传输最优分裂特征,并得到全局最优分裂特征;每个机器基于全局最优分裂特征,在本地进行数据分裂,生成当前迭代周期的决策树,其中,每个机器运行在CPU的一个单独线程中。
本实施例的LGBM模型使用的是histogram算法,占用的内存更低,数据分隔的复杂度更低。通过将连续的浮点特征离散成k个离散值,并构造宽度为k的Histogram。然后遍历训练数据,统计每个离散值在直方图中的累计统计量。在进行特征选择时,只需要根据直方图的离散值,遍历寻找最优的分割点。
由于LGBM并没有垂直的切分数据集,而是每个worker都有全量的训练数据,因此最优的特征分裂结果不需要传输到其他worker中,只需要将最优特征以及分裂点告诉其他worker,worker随后本地自己进行处理。处理过程如下:每个worker在基于局部的特征集合找到最优分裂特征;workder间传输最优分裂信息,并得到全局最优分裂信息;每个worker基于全局最优分裂信息,在本地进行数据分裂,生成决策树;然而,当数据量很大时,特征并行算法还是受限于特征分裂效率。因此,当数据量大时,推荐使用数据并行算法。
在特征并行训练的过程中,不同机器在不同的特征集合上分别寻找最优的分割点,然后在机器间同步最优的分割点,在特征并行算法中,通过在本地保存全部数据避免对数据切分结果的通信,提高训练效率。在训练过程中,在枚举分割点之前,先把直方图按每个类别的均值进行排序;然后按照均值的结果依次枚举最优分割点。为了防止过拟合,还可以在LGBM中加入约束条件和正则化规则。
在一个示例中,查找最优分裂特征的流程包括:建立离线特征数据的直方图,计算分裂阈值,每个机器基于阈值在基于局部的特征集合找到最优分裂特征。离散特征建立直方图的过程包括:统计该特征下每一种离散值出现的次数,并从高到低排序,并过滤掉出现次数较少的特征值, 然后为每一个特征值,建立一个bin(区间)容器, 对于在bin容器内出现次数较少的特征值直接过滤掉,不建立bin容器。
在一个示例中,计算分裂阈值的过程包括:先确定该特征下划分出的bin容器的个数,如果bin容器的数量小于4,直接使用one vs other方式, 逐个扫描每一个bin容器,找出最佳分裂点;对于bin容器较多的情况, 先进行过滤,只让子集合较大的bin容器参加划分阈值计算, 对每一个符合条件的bin容器进行公式计算(公式如下: 该bin容器下所有样本的一阶梯度之和/该bin容器下所有样本的二阶梯度之和 + 正则项(参数cat_smooth)),得到一个值,根据该值对bin容器从小到大进行排序,然后分从左到右、从右到左进行搜索,得到最优分裂阈值。但是有一点,没有搜索所有的bin容器,而是设定了一个搜索bin容器数量的上限值,程序中设定是32,即参数max_num_cat。LGBM中对离散特征实行的是many vsmany 策略,这32个bin中最优划分的阈值的左边或者右边所有的bin容器就是一个many集合,而其他的bin容器就是另一个many集合。对于连续特征,划分阈值只有一个,对于离散值可能会有多个划分阈值,每一个划分阈值对应着一个bin容器编号,当使用离散特征进行分裂时,只要数据样本对应的bin容器编号在这些阈值对应的bin集合之中,这条数据就加入分裂后的左子树,否则加入分裂后的右子树。
在本实施例的一个实施方式中,分类器为LR(逻辑回归)模型,逻辑回归由于存在易于实现、解释性好以及容易扩展等优点,被广泛应用。逻辑回归实际上却是一种分类学习模型,本实施例的LR模型基于Sigmoid函数,LR有很多优点,作为统计模型与机器学习的结合点,具有较好的预测结果以及可解释性。直接对分类的可能性建模,无需事先假设数据的分布,这就避免了假设分布不准确带来的影响。不仅预测得到分类,还有分类对应的概率,这对需要使用概率辅助决策的任务很有用。Sigmoid函数是高阶可导的凸函数,具有很好的数学性质,很多数值优化的算法都可以直接用于求解最优解。
在本实施例的一个实施方式中,利用离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练包括:利用离线特征数据构建第一训练集,设置增量参数将第一训练集拆分多个训练数据块,其中,初始特征提取器的增量参数为持续训练助推器(keep_training_booster)参数,第一分类器的增量参数为热启动(warm_start)参数;按照训练管道(pipeline)流式读取多个训练数据块,以对应上一训练数据块得到的中间模型为基础模型,并基于当前训练数据块训练基础模型。
考虑到组合模型在离线训练的时间与内存消耗,对训练步骤进行改进,对中间特征进行降维处理,采用增量学习节省存储空间,对模型训练过程采用特征并行和CPU并行计算的方式优化耗时。
在一个工程实例中,增量训练的流程包括:
第一步,初始化模型为None,设置模型参数;
gbm=None
params = {
'task': 'train',
'application': 'regression',
'boosting_type': 'gbdt',
'learning_rate': 0.2,
'num_leaves': 31,
'tree_learner': 'serial',
'min_data_in_leaf': 100,
'metric': ['l1','l2','rmse'], # l1:mae, l2:mse
'max_bin': 255,
'num_trees': 300
}
# 第二步,流式读取数据(如每次10万);
i=1
for sub_data in pd.read_csv(file, chunksize=100000)
# 区分特征x和结果Y
x_data = sub_data[x_cols]
y_data = sub_data[y_col]
# 创建lgb的数据集
lgb_train = lgb.Dataset(x_data, y_data.values)
lgb_eval = lgb.Dataset(test[x_cols], test[y_col].values, reference=lgb_train)
# 第三步:增量训练模型;
#通过 init_model 和 keep_training_booster 两个参数实现增量训练
gbm = lgb.train(params,
lgb_train,
num_boost_round=1000,
valid_sets=lgb_eval,
init_model=gbm, # 如果gbm不为None,那么就是在上次的基础上接着训练
feature_name=x_cols,
early_stopping_rounds=10,
verbose_eval=False,
keep_training_booster=True) # 增量训练
# 输出模型评估分数
score_train = dict([(s[1], s[2]) for s in gbm.eval_train()])
score_valid = dict([(s[1], s[2]) for s in gbm.eval_valid()])
print('当前模型在训练集的得分是:mae=%.4f, mse=%.4f, rmse=%.4f'%(score_train['l1'], score_train['l2'], score_train['rmse']))
print('当前模型在测试集的得分是:mae=%.4f, mse=%.4f, rmse=%.4f' %(score_valid['l1'], score_valid['l2'], score_valid['rmse']))
i += 1
在本实施例的一个实施方式中,在利用离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练之前,还包括:
S21,判断离线特征数据是否存在ID类数据;
ID类特征是通过字符等ID表征的特征,如电商里面的物品id,信息流里面的资讯id,用户的id等。
S22,若离线特征数据存在ID类数据,在初始特征提取器中对ID类数据进行特征字段指定,以使类别特征最优分割点计算时的单个区间(bin)对应一个类别。
在一个实例中,在根据样本数据生成离线特征数据和在线特征数据之后,还包括:确定离线特征数据中的ID类数据的类别;若ID类数据为搜索特征数据中的Term数据,按照频率对Term数据进行降序排序,对序列前端的若干个Term数据进行one-hot编码,并对序列后端的预设数量个Term数据进行分桶处理,对分桶处理后的每桶Term数据进行one-hot编码;若ID类数据为职位特征数据中的职位ID,采用对应职位的历史平均点击率代替职位ID。
由于取值较大的ID特征,直接输入模型进行训练,得到的模型效果较差,如果进行Onehot-Embedding也会导致特征矩阵非常巨大,本实施例通过改进ID类型特征对模型造成的不利影响,针对不同的id类特征进行处理,对搜索中Term特征的频率进行降序排序,因为考虑到搜索的频次越高,该特征表现越突出,对尾端的Term采取分桶处理,选择Top-N的Term和分桶处理的尾端Term进行one-hot编码。此外对于职位ID采用历史平均点击率代替,减小长字段ID的影响,使得模型效果得以提高。
在本实施例的一方面,根据样本数据生成离线特征数据包括:按照预设范围从日志采集系统获取业务数据,其中,日志采集系统中存储有点击日志、搜索日志、收藏日志;采用数据仓库工具对业务数据进行数据预处理、特征筛选和样本标注,得到包括训练特征集和验证特征集的离线特征数据。
可选的,预设范围可以按照时间和数据量进行分类,如时间周期为一天,单次采集的数据量为1000条数据。
在一个实施方式中,还可以对已训练特征提取器进行周期性更新,包括:按照保活周期更新离线特征数据,并利用更新的离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练。
在一个实例中,当前时间为第31号,保活周期为30天,在样本池中选择离线特征数据时,基于当前时间往前推30天,选择第2号~第31号采集的数据,对上一保活周期(第1号~第30号采集的数据)的已训练特征提取器进行更新。可选的,在更新完成后,还可以进一步基于更新后的已训练特征提取器和第二分类器组成第二组合模型,保持更新后的已训练特征提取器不变并采用在线特征对第二组合模型进行在线实时训练,得到包括更新后的已训练特征提取器和已训练第二分类器的第二模型,以对分类器和整个模型进行更新。当然,也可以用更新后的已训练特征提取器直接替换当前排序模型—第二模型(已训练特征提取器和已训练第二分类器)中的已训练特征提取器进行替换,生成更新的第二模型以用于排序。
在本实施例的另一方面,根据样本数据生成在线特征数据包括:实时从日志采集系统获取业务数据,其中,日志采集系统中存储有点击日志、搜索日志、收藏日志;对业务数据进行特征向量化处理,得到与业务数据对应的特征集。
考虑到线上业务数据的更新,为保证数据新鲜度,本实施例采用模型实时更新的方式,对LGBM采用按天调度进行离线训练,对拟合较快的LR模型结合FTRL(Follow-the-regularized-Leader)方法进行实时更新。
图4是本发明实施例中职位搜索模型的系统框架图,排序系统如图4所示,在线训练模型和离线训练模型分别进行,采集数据的方式也不同,离线训练通过按天调度从日志采集系统中获取业务数据,在特征平台中进行数据预处理,特征计算,样本标注等操作。比如在用用户历史搜索term表达用户画像特征中,通过t+1的形式去计算term在不同用户样本中的逆文档频率(idf)。由此经过特征平台的处理离线部分可以得到能够输入模型训练的训练集和验证集。线上训练和反馈通过Flink等方法实时获得相应特征。本实施例描述了LGBM-LR组合模型如何结合线上线下环境进行训练并对训练时间和存储空间进行优化。
在离线训练环境,LGBM-LR的组合是将LGBM的迭代子树视作一个离散特征,其叶节点的编号为特征的取值并执行one-hot编码。如果LGBM的迭代次数过多,叶子节点设置过高时,那么中间得到的one-hot编码高维稀疏,而且在排序中,训练集用户的样本会以session长度的倍数扩充,以doc作为单条样本,session的长度作为group。由此整个训练集所占的存储空间是相当大的。为了降低数据规模,节省训练代价,本实施例采取了如下优化方法:
在LGBM-LR模型中,子树的数量越大,叶子节点的数目越多往往能够增加特征的维度,模型效果也相对提高,但经过实验测试,随着子树的增多以及叶子节点(也可指树的深度)的增加,模型的收益率是递减的。因此子树数量和叶子节点数目与模型性能之间存在一个均衡点。横轴为子树个数,当子树和叶子节点同时增加时模型的性能会逐渐趋向饱和,即模型的增长收益比是逐渐下降的,通过调整子树和叶子节点的参数,在保证模型性能的情况下使得中间特征维度最小。图5是本发明实施例中树节点数目对模型的影响示意图。
采用增量训练模型的方法,增量训练利用的原理是通过保存前一轮模型训练时的部分统计量,包括梯度等数据,在原有的模型基础上,加入增量数据进行进一步训练,通过对LGBM设置keep_training_booster(持续训练助推器)参数以及LR设置warm_start(热启动)参数,对训练集分块拆分,以pipeline的形式训练模型。
本实施例的增量训练属于串行训练,以时间换空间,在数据量巨大的情况下节省了存储空间,但频繁的IO增加了训练的耗时,因此通过模型并行的方式弥补这个不足,LGBM提供特征并行和数据并行两种方式进行树的学习,由于在增量训练的情况下已经对数据进行了裁剪,因此采用特征并行的方式,同时在CPU的使用上也对两种模型进行多核并行计算的方式。大大缩减了模型训练耗时。
图6是本发明实施例中模型训练和融合的流程图,采用LGBM按天调度进行更新,LR采用实时更新的形式,LR通过FTRL-LR的方法进行在线实时训练,融合得到LGBM-LR组合模型,使得模型能够适应数据的新鲜度。
通过本实施例的方案,可以解决LGBM、XGBoost等单模型在训练ID类特征时出现的性能较差问题,也可以解决LGBM-LR组合模型耗时时间长,内存占用过大的问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种搜索结果的排序装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的一种搜索结果的排序装置的结构框图,如图7所示,该装置包括:生成模块70,提取模块72,训练模块74,接收模块76,获取模块78,排序模块80,其中,
生成模块70,用于根据样本数据生成离线特征数据和在线特征数据,其中,所述样本数据包括:职位特征数据、用户特征数据、搜索特征数据;
提取模块72,用于利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型;
训练模块74,用于利用所述已训练特征提取器和第二分类器组成第二组合模型,保持所述已训练特征提取器不变并采用所述在线特征对所述第二组合模型进行在线实时训练,得到包括所述已训练特征提取器和已训练第二分类器的第二模型;
接收模块76,用于接收携带用户属性信息和搜索词的职位搜索请求;
获取模块78,用于获取对应于所述职位搜索请求的搜索结果列表,所述搜索结果列表包括多条候选职位信息记录;
排序模块80,用于依据所述用户属性信息、所述搜索词、以及所述搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对所述搜索结果列表中的多条候选职位信息记录进行重新排序。
可选的,所述初始特征提取器为轻度梯度提升机LGBM模型,所述训练模块包括:分配单元,用于对所述LGBM模型的每个机器分配全量的所述离线特征数据;第一训练单元,用于在所述LGBM模型的决策树的每次迭代周期,执行以下操作:每个机器在基于局部的特征集合找到最优分裂特征;机器间传输最优分裂特征,并得到全局最优分裂特征;每个机器基于全局最优分裂特征,在本地进行数据分裂,生成当前迭代周期的决策树,其中,每个机器运行在CPU的一个线程中。
可选的,所述训练模块包括:拆分单元,用于利用所述离线特征数据构建第一训练集,设置增量参数将所述第一训练集拆分多个训练数据块,其中,所述初始特征提取器的增量参数为持续训练助推器参数,所述第一分类器的增量参数为热启动参数;第二训练单元,用于按照训练管道流式读取所述多个训练数据块,以对应上一训练数据块得到的中间模型为基础模型,并基于当前训练数据块训练所述基础模型。
可选的,所述装置还包括:判断模块,用于在所述训练模块利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练之前,判断所述离线特征数据是否存在ID类数据;第一处理模块,用于若所述离线特征数据存在ID类数据,在初始特征提取器中对所述ID类数据进行特征字段指定,以使类别特征最优分割点计算时的单个区间对应一个类别。
可选的,所述装置还包括:确定模块,用于在所述生成模块根据样本数据生成离线特征数据和在线特征数据之后,确定所述离线特征数据中的ID类数据的类别;第二处理模块,用于若所述ID类数据为所述搜索特征数据中的Term数据,按照频率对所述Term数据进行降序排序,对序列前端的若干个Term数据进行one-hot编码,并对序列后端的预设数量个Term数据进行分桶处理,对分桶处理后的每桶Term数据进行one-hot编码;若所述ID类数据为所述职位特征数据中的职位ID,采用对应职位的历史平均点击率代替所述职位ID。
可选的,所述生成模块包括:第一生成单元,用于基于所述用户特征数据生成以下离线特征数据和在线特征数据:用户画像特征,用户行为特征,上下文特征;第二生成单元,用于基于所述搜索特征数据生成以下离线特征数据和在线特征数据:搜索关键字的热度信息,搜索关键字的分词组合特征,搜索关键字的转化率,搜索过滤特征;第三生成单元,用于基于所述职位特征数据生成以下离线特征数据和在线特征数据:职位基础信息,职位附属关系,职位描述信息,职位概率特征;第四生成单元,用于基于所述职位特征数据和所述用户特征数据生成以下离线特征数据和在线特征数据:浏览状态信息,收藏状态信息,投递状态信息,用户与职位的匹配度;第五生成单元,用于基于所述搜索特征数据和所述职位特征数据生成以下离线特征数据和在线特征数据:文本相似度,语义相似度。
可选的,所述生成模块包括:获取单元,用于按照预设范围从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;第一处理单元,用于采用数据仓库工具对所述业务数据进行数据预处理、特征筛选和样本标注,得到包括训练特征集和验证特征集的离线特征数据。
可选的,所述装置还包括:更新模块,用于按照保活周期更新所述离线特征数据,并利用更新的离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练。
可选的,所述生成模块包括:采集单元,用于实时从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;第二处理单元,用于对所述业务数据进行特征向量化处理,得到与所述业务数据对应的特征集。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本申请实施例还提供了一种电子设备,图8是本发明实施例的一种电子设备的结构图,如图8所示,包括处理器81、通信接口82、存储器83和通信总线84,其中,处理器81,通信接口82,存储器83通过通信总线84完成相互间的通信,存储器83,用于存放计算机程序;
处理器81,用于执行存储器83上所存放的程序时,实现如下步骤:根据样本数据生成离线特征数据和在线特征数据,其中,所述样本数据包括:职位特征数据、用户特征数据、搜索特征数据;利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型;利用所述已训练特征提取器和第二分类器组成第二组合模型,保持所述已训练特征提取器不变并采用所述在线特征对所述第二组合模型进行在线实时训练,得到包括所述已训练特征提取器和已训练第二分类器的第二模型;接收携带用户属性信息和搜索词的职位搜索请求;获取对应于所述职位搜索请求的搜索结果列表,所述搜索结果列表包括多条候选职位信息记录;依据所述用户属性信息、所述搜索词、以及所述搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对所述搜索结果列表中的多条候选职位信息记录进行重新排序。
可选的,所述初始特征提取器为轻度梯度提升机LGBM模型,利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练包括:对所述LGBM模型的每个机器分配全量的所述离线特征数据;在所述LGBM模型的决策树的每次迭代周期,执行以下操作:每个机器在基于局部的特征集合找到最优分裂特征;机器间传输最优分裂特征,并得到全局最优分裂特征;每个机器基于全局最优分裂特征,在本地进行数据分裂,生成当前迭代周期的决策树,其中,每个机器运行在CPU的一个线程中。
可选的,利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练包括:利用所述离线特征数据构建第一训练集,设置增量参数将所述第一训练集拆分多个训练数据块,其中,所述初始特征提取器的增量参数为持续训练助推器参数,所述第一分类器的增量参数为热启动参数;按照训练管道流式读取所述多个训练数据块,以对应上一训练数据块得到的中间模型为基础模型,并基于当前训练数据块训练所述基础模型。
可选的,在利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练之前,所述方法还包括:判断所述离线特征数据是否存在ID类数据;若所述离线特征数据存在ID类数据,在初始特征提取器中对所述ID类数据进行特征字段指定,以使类别特征最优分割点计算时的单个区间对应一个类别。
可选的,在根据样本数据生成离线特征数据和在线特征数据之后,所述方法还包括:确定所述离线特征数据中的ID类数据的类别;若所述ID类数据为所述搜索特征数据中的Term数据,按照频率对所述Term数据进行降序排序,对序列前端的若干个Term数据进行one-hot编码,并对序列后端的预设数量个Term数据进行分桶处理,对分桶处理后的每桶Term数据进行one-hot编码;若所述ID类数据为所述职位特征数据中的职位ID,采用对应职位的历史平均点击率代替所述职位ID。
可选的,根据样本数据生成离线特征数据和在线特征数据包括:基于所述用户特征数据生成以下离线特征数据和在线特征数据:用户画像特征,用户行为特征,上下文特征;基于所述搜索特征数据生成以下离线特征数据和在线特征数据:搜索关键字的热度信息,搜索关键字的分词组合特征,搜索关键字的转化率,搜索过滤特征;基于所述职位特征数据生成以下离线特征数据和在线特征数据:职位基础信息,职位附属关系,职位描述信息,职位概率特征;基于所述职位特征数据和所述用户特征数据生成以下离线特征数据和在线特征数据:浏览状态信息,收藏状态信息,投递状态信息,用户与职位的匹配度;基于所述搜索特征数据和所述职位特征数据生成以下离线特征数据和在线特征数据:文本相似度,语义相似度。
可选的,根据样本数据生成离线特征数据包括:按照预设范围从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;采用数据仓库工具对所述业务数据进行数据预处理、特征筛选和样本标注,得到包括训练特征集和验证特征集的离线特征数据。
可选的,所述方法还包括:按照保活周期更新所述离线特征数据,并利用更新的离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练。
可选的,根据样本数据生成在线特征数据包括:实时从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;对所述业务数据进行特征向量化处理,得到与所述业务数据对应的特征集。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的搜索结果的排序方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的搜索结果的排序方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种搜索结果的排序方法,其特征在于,包括:
根据样本数据生成离线特征数据和在线特征数据,其中,所述样本数据包括:职位特征数据、用户特征数据、搜索特征数据;
利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型;
利用所述已训练特征提取器和第二分类器组成第二组合模型,保持所述已训练特征提取器不变并采用所述在线特征对所述第二组合模型进行在线实时训练,得到包括所述已训练特征提取器和已训练第二分类器的第二模型;
接收携带用户属性信息和搜索词的职位搜索请求;
获取对应于所述职位搜索请求的搜索结果列表,所述搜索结果列表包括多条候选职位信息记录;
依据所述用户属性信息、所述搜索词、以及所述搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对所述搜索结果列表中的多条候选职位信息记录进行重新排序。
2.根据权利要求1所述的方法,其特征在于,所述初始特征提取器为轻度梯度提升机LGBM模型,利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练包括:
对所述LGBM模型的每个机器分配全量的所述离线特征数据;
在所述LGBM模型的决策树的每次迭代周期,执行以下操作:每个机器在基于局部的特征集合找到最优分裂特征;机器间传输最优分裂特征,并得到全局最优分裂特征;每个机器基于全局最优分裂特征,在本地进行数据分裂,生成当前迭代周期的决策树,其中,每个机器运行在CPU的一个线程中。
3.根据权利要求1所述的方法,其特征在于,利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练包括:
利用所述离线特征数据构建第一训练集,设置增量参数将所述第一训练集拆分多个训练数据块,其中,所述初始特征提取器的增量参数为持续训练助推器参数,所述第一分类器的增量参数为热启动参数;
按照训练管道流式读取所述多个训练数据块,以对应上一训练数据块得到的中间模型为基础模型,并基于当前训练数据块训练所述基础模型。
4.根据权利要求1所述的方法,其特征在于,在利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练之前,所述方法还包括:
判断所述离线特征数据是否存在ID类数据;
若所述离线特征数据存在ID类数据,在初始特征提取器中对所述ID类数据进行特征字段指定,以使类别特征最优分割点计算时的单个区间对应一个类别。
5.根据权利要求1所述的方法,其特征在于,在根据样本数据生成离线特征数据和在线特征数据之后,所述方法还包括:
确定所述离线特征数据中的ID类数据的类别;
若所述ID类数据为所述搜索特征数据中的Term数据,按照频率对所述Term数据进行降序排序,对序列前端的若干个Term数据进行one-hot编码,并对序列后端的预设数量个Term数据进行分桶处理,对分桶处理后的每桶Term数据进行one-hot编码;若所述ID类数据为所述职位特征数据中的职位ID,采用对应职位的历史平均点击率代替所述职位ID。
6.根据权利要求1所述的方法,其特征在于,根据样本数据生成离线特征数据和在线特征数据包括:
基于所述用户特征数据生成以下离线特征数据和在线特征数据:用户画像特征,用户行为特征,上下文特征;
基于所述搜索特征数据生成以下离线特征数据和在线特征数据:搜索关键字的热度信息,搜索关键字的分词组合特征,搜索关键字的转化率,搜索过滤特征;
基于所述职位特征数据生成以下离线特征数据和在线特征数据:职位基础信息,职位附属关系,职位描述信息,职位概率特征;
基于所述职位特征数据和所述用户特征数据生成以下离线特征数据和在线特征数据:浏览状态信息,收藏状态信息,投递状态信息,用户与职位的匹配度;
基于所述搜索特征数据和所述职位特征数据生成以下离线特征数据和在线特征数据:文本相似度,语义相似度。
7.根据权利要求1所述的方法,其特征在于,根据样本数据生成离线特征数据包括:
按照预设范围从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;
采用数据仓库工具对所述业务数据进行数据预处理、特征筛选和样本标注,得到包括训练特征集和验证特征集的离线特征数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
按照保活周期更新所述离线特征数据,并利用更新的离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练。
9.根据权利要求1所述的方法,其特征在于,根据样本数据生成在线特征数据包括:
实时从日志采集系统获取业务数据,其中,所述日志采集系统中存储有点击日志、搜索日志、收藏日志;
对所述业务数据进行特征向量化处理,得到与所述业务数据对应的特征集。
10.一种搜索结果的排序装置,其特征在于,包括:
生成模块,用于根据样本数据生成离线特征数据和在线特征数据,其中,所述样本数据包括:职位特征数据、用户特征数据、搜索特征数据;
提取模块,用于利用所述离线特征数据对包括初始特征提取器和第一分类器的第一组合模型进行离线特征并行训练,得到包括已训练特征提取器和已训练第一分类器的第一模型;
训练模块,用于利用所述已训练特征提取器和第二分类器组成第二组合模型,保持所述已训练特征提取器不变并采用所述在线特征对所述第二组合模型进行在线实时训练,得到包括所述已训练特征提取器和已训练第二分类器的第二模型;
接收模块,用于接收携带用户属性信息和搜索词的职位搜索请求;
获取模块,用于获取对应于所述职位搜索请求的搜索结果列表,所述搜索结果列表包括多条候选职位信息记录;
排序模块,用于依据所述用户属性信息、所述搜索词、以及所述搜索结果列表确定对应的用户特征数据、职位特征数据、搜索特征数据并根据第二模型对所述搜索结果列表中的多条候选职位信息记录进行重新排序。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至9任一项中所述的方法。
CN202011552782.1A 2020-12-24 2020-12-24 搜索结果的排序方法及装置、存储介质、电子装置 Active CN112307762B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011552782.1A CN112307762B (zh) 2020-12-24 2020-12-24 搜索结果的排序方法及装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011552782.1A CN112307762B (zh) 2020-12-24 2020-12-24 搜索结果的排序方法及装置、存储介质、电子装置

Publications (2)

Publication Number Publication Date
CN112307762A true CN112307762A (zh) 2021-02-02
CN112307762B CN112307762B (zh) 2021-04-30

Family

ID=74487665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011552782.1A Active CN112307762B (zh) 2020-12-24 2020-12-24 搜索结果的排序方法及装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN112307762B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800317A (zh) * 2021-02-04 2021-05-14 北京易车互联信息技术有限公司 面向汽车垂直领域的搜索平台架构
CN113342983A (zh) * 2021-06-30 2021-09-03 中国平安人寿保险股份有限公司 基于机器学习的简历分配方法、装置、设备及存储介质
CN114282106A (zh) * 2021-12-22 2022-04-05 北京网聘咨询有限公司 一种职位信息快速投递方法
CN115051955A (zh) * 2022-06-22 2022-09-13 东北大学 一种基于三重特征选择和增量学习的在线流分类方法
CN115186163A (zh) * 2022-06-27 2022-10-14 北京百度网讯科技有限公司 搜索结果排序模型的训练与搜索结果排序方法、装置
CN116226114A (zh) * 2023-05-09 2023-06-06 荣耀终端有限公司 一种数据处理方法、系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991829A (zh) * 2005-12-29 2007-07-04 陈亚斌 一种搜索引擎系统的搜索方法
CN102243631A (zh) * 2010-05-13 2011-11-16 吴春尧 超关键字分布式搜索方法
CN109726696A (zh) * 2019-01-03 2019-05-07 电子科技大学 基于推敲注意力机制的图像描述生成系统及方法
CN111815681A (zh) * 2020-09-04 2020-10-23 中国科学院自动化研究所 基于深度学习和判别式模型训练的目标跟踪方法及存储器
CN111967675A (zh) * 2020-08-19 2020-11-20 京东方科技集团股份有限公司 光伏发电量的预测方法以及预测装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991829A (zh) * 2005-12-29 2007-07-04 陈亚斌 一种搜索引擎系统的搜索方法
CN102243631A (zh) * 2010-05-13 2011-11-16 吴春尧 超关键字分布式搜索方法
CN109726696A (zh) * 2019-01-03 2019-05-07 电子科技大学 基于推敲注意力机制的图像描述生成系统及方法
CN111967675A (zh) * 2020-08-19 2020-11-20 京东方科技集团股份有限公司 光伏发电量的预测方法以及预测装置
CN111815681A (zh) * 2020-09-04 2020-10-23 中国科学院自动化研究所 基于深度学习和判别式模型训练的目标跟踪方法及存储器

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800317A (zh) * 2021-02-04 2021-05-14 北京易车互联信息技术有限公司 面向汽车垂直领域的搜索平台架构
CN113342983A (zh) * 2021-06-30 2021-09-03 中国平安人寿保险股份有限公司 基于机器学习的简历分配方法、装置、设备及存储介质
CN114282106A (zh) * 2021-12-22 2022-04-05 北京网聘咨询有限公司 一种职位信息快速投递方法
CN114282106B (zh) * 2021-12-22 2023-07-25 北京网聘咨询有限公司 一种职位信息快速投递方法
CN115051955A (zh) * 2022-06-22 2022-09-13 东北大学 一种基于三重特征选择和增量学习的在线流分类方法
CN115051955B (zh) * 2022-06-22 2023-12-19 东北大学 一种基于三重特征选择和增量学习的在线流分类方法
CN115186163A (zh) * 2022-06-27 2022-10-14 北京百度网讯科技有限公司 搜索结果排序模型的训练与搜索结果排序方法、装置
CN116226114A (zh) * 2023-05-09 2023-06-06 荣耀终端有限公司 一种数据处理方法、系统及存储介质
CN116226114B (zh) * 2023-05-09 2023-10-20 荣耀终端有限公司 一种数据处理方法、系统及存储介质

Also Published As

Publication number Publication date
CN112307762B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN112307762B (zh) 搜索结果的排序方法及装置、存储介质、电子装置
US11580104B2 (en) Method, apparatus, device, and storage medium for intention recommendation
WO2017097231A1 (zh) 话题处理方法及装置
CN109255586B (zh) 一种面向电子政务办事的在线个性化推荐方法
CN111611488B (zh) 基于人工智能的信息推荐方法、装置、电子设备
CN103838833A (zh) 基于相关词语语义分析的全文检索系统
CN105335391A (zh) 基于搜索引擎的搜索请求的处理方法和装置
CN110458324B (zh) 风险概率的计算方法、装置和计算机设备
CN110543598A (zh) 信息推荐方法、装置及终端
WO2020233344A1 (zh) 一种搜索方法、装置及存储介质
CN112818230B (zh) 内容推荐方法、装置、电子设备和存储介质
CN111143684A (zh) 基于人工智能的泛化模型的训练方法及装置
CN112632405A (zh) 一种推荐方法、装置、设备及存储介质
CN111914159A (zh) 一种信息推荐方法及终端
CN103778206A (zh) 一种网络服务资源的提供方法
CN111881666B (zh) 一种信息处理方法、装置、设备及存储介质
CN112508743A (zh) 技术转移办公室通用信息交互方法、终端及介质
CN108228787A (zh) 按照多级类目处理信息的方法和装置
CN113761291A (zh) 标签分类的处理方法和装置
CN110083766B (zh) 一种基于元路径引导嵌入的查询推荐方法及装置
CN109062551A (zh) 基于大数据开发命令集的开发框架
CN114282119A (zh) 一种基于异构信息网络的科技信息资源检索方法及系统
CN113821657A (zh) 基于人工智能的图像处理模型训练方法及图像处理方法
CN113792163B (zh) 多媒体推荐方法、装置、电子设备及存储介质
CN112508609B (zh) 人群扩量的预测方法、装置、设备及存储介质

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
GR01 Patent grant
GR01 Patent grant