一种用于商品推荐的排序模型的训练方法、装置及系统与流程

文档序号:23386183发布日期:2020-12-22 13:51阅读:88来源:国知局
一种用于商品推荐的排序模型的训练方法、装置及系统与流程
本说明书涉及机器学习模型
技术领域
,更具体地,涉及一种用于商品推荐的排序模型的训练方法、一种用于商品推荐的排序模型的训练装置、一种包括至少一个计算装置和至少一个存储装置的系统及一种计算机可读存储介质。
背景技术
:随着大数据技术的普及,利用数据挖掘的方法构建商品推荐系统越来越普及。通常来说推荐系统一般分为两个部分:召回和排序。召回负责减少商品量,对某个具体用户而言,召回模块负责提供该用户的产品候选集。排序模块则将这些产品候选集进行排序,将排序靠前的商品推荐给对应的客户。训练排序模块中的排序模型需要构建正负样本,通常正负样本维持在一个合适的比例可以让排序模型取得较优的效果。但是在实际场景中,负样本的数量通常不能满足正负样本的比例,这时需要人工的构建负样本。传统方法在构建负样本时,通常先构建用户和商品的笛卡尔乘积,然后从笛卡尔乘积结果中进行采样选出部分作为负样本。但是,当传统方法在对笛卡尔乘积采样较少样本时,样本信息量通常不足以使排序模型学到有用的信息。让采样较多时,采集的样本中又可能混入了大量的正样本,这使得用来训练模型的样本标签不够准确。技术实现要素:本说明书的一个目的是提供一种训练用于商品推荐的排序模型的新技术方案。根据本说明书的第一方面,提供了一种用于商品推荐的排序模型的训练方法,包括:获取反映用户信息的用户数据表、反映商品信息的商品数据表、及反映目标用户针对目标商品执行指定操作的用户行为数据表;根据所述用户数据表、所述商品数据表和所述用户行为数据表,生成初始样本集;根据预先选定的机器学习算法,基于所述初始样本集进行机器学习模型训练,得到评分模型;根据所述评分模型,从所述初始样本集中筛选符合预设条件的样本,生成最终样本集;基于所述最终样本集进行机器学习训练,得到用于商品推荐的排序模型。可选的,所述根据所述用户数据表、所述商品数据表和所述用户行为数据表,生成初始样本集包括:根据所述用户数据表、所述商品数据表和所述用户行为数据表,生成标签为第一设定值的正样本集和标签为第二设定值的负样本集;根据所述用户数据表和所述商品数据表生成第一样本集;将所述第一样本集中的每条第一样本的标签标记为第二设定值;将所述第一样本集、所述正样本集和所述负样本集进行合并,得到所述初始样本集。可选的,所述根据所述用户数据表、所述商品数据表和所述用户行为数据表,生成标签为第一设定值的正样本集和标签为第二设定值的负样本集包括:根据所述用户行为数据表,确定目标用户针对目标商品执行第一指定操作的第一用户商品对,和所述目标用户针对目标商品执行第二指定操作、且未执行所述第一指定操作的第二用户商品对;根据所述用户数据表中所述第一用户商品对所对应的目标用户的用户信息、及所述商品数据表中所述第一用户商品对所对应的目标商品的商品信息,生成所述正样本集,并将所述正样本集中的每条正样本的标签标记为所述第一设定值;根据所述用户数据表中所述第二用户商品对所对应的目标用户的用户信息、及所述商品数据表中所述第二用户商品对所对应的目标商品的商品信息,生成所述负样本集,并将所述负样本集中的每条负样本的标签标记为所述第二设定值。可选的,所述根据所述用户数据表和所述商品数据表生成第一样本集包括:确定所述用户数据表中用户和所述商品数据表中商品的笛卡尔积,得到用户商品对集合;从所述用户商品对集合中删除所述第一用户商品对和所述第二用户商品对,得到第三用户商品对;根据所述用户数据表中所述第三用户商品对所对应的用户的用户信息、及所述商品数据表中所述第三用户商品对所对应的商品的商品信息,生成第二样本集;从所述第二样本集中选取第一设定数量条第二样本,得到所述第一样本集。可选的,还包括:获取所述正样本集中正样本的第一数量和预设的第一倍数;根据所述第一数量和所述第一倍数,确定所述第一设定数量。可选的,所述根据所述评分模型,从所述初始样本集中筛选符合预设条件的样本,生成最终样本集包括:根据所述评分模型,对所述初始样本集中的所述初始样本进行评分;根据所述初始样本的评分,从所述初始样本集中筛选符合预设条件的样本,生成最终样本集。可选的,所述根据所述初始样本的评分,从所述初始样本集中筛选符合预设条件的样本,生成最终样本集包括:根据所述正样本集中每条正样本的评分,确定第一评分阈值;根据所述负样本集中每条负样本的评分,确定第二评分阈值;根据所述第一样本集中每条第一样本的评分、所述第一评分阈值和所述第二评分阈值,从所述第一样本集中筛选符合预设条件的样本,生成第三样本集,并根据所述第三样本集中的每条第三样本的评分,对对应的第三样本的标签进行标记;将所述第三样本集、所述正样本集和所述负样本集进行合并,得到所述最终样本集。可选的,所述根据所述正样本集中每条正样本的评分,确定第一评分阈值;根据所述负样本集中每条负样本的评分,确定第二评分阈值包括:确定所述正样本集中每条正样本的评分的平均值,作为所述第一评分阈值;确定所述负样本集中每条负样本的评分的平均值,作为第二评分阈值;或者,确定所述正样本集中每条正样本的评分的分位数,作为所述第一评分阈值;确定所述负样本集中每条负样本的评分的分位数,作为第二评分阈值。可选的,所述根据所述第一样本集中每条第一样本的评分、所述第一评分阈值和所述第二评分阈值,从所述第一样本集中筛选符合预设条件的样本,生成第三样本集,并根据所述第三样本集中的每条第三样本的评分,对对应的第三样本的标签进行标记包括:获取所述第一样本集中评分大于或等于所述第一评分阈值的第一样本作为第四样本,并将所述第四样本的标签标记为所述第一设定值;获取所述第一样本集中评分小于或等于所述第二评分阈值的第一样本作为第五样本,并将所述第五样本的标签标记为所述第二设定值;选取第二设定数量条其他第一样本作为第六样本,并将所述第六样本的标签标记为所述第二设定值;其中,所述其他第一样本为所述第一样本集中除所述第四样本和所述第五样本以外的第一样本;将所述第四样本、所述第五样本和所述第六样本进行合并,得到所述第三样本集。可选的,还包括:获取所述正样本的第一数量、所述负样本的第二数量、所述第四样本的第三数量、所述第五样本的第四数量和预设的第二倍数;根据所述第一数量、所述第二数量、所述第三数量、所述第四数量和所述第二倍数,确定所述第二设定数量。可选的,所述机器学习算法为支持向量机算法,gbdt算法,神经网络中的任意一种。可选的,所述基于所述最终样本集进行机器学习训练,得到用于商品推荐的排序模型包括:根据预设的二分类算法,基于所述最终样本集进行机器学习训练,得到所述商品推荐模型;或者,基于所述最终样本集对所述评分模型进行迭代更新训练,得到所述排序模型。可选的,还包括:获取待推荐用户的用户信息和预设的至少一个候选商品的商品信息;基于所述排序模型,根据所述待推荐用户的用户信息和每一候选商品的商品信息,得到每个候选商品对应所述待推荐用户的推荐分;选取所述推荐分符合预设的推荐条件的候选商品,作为推荐商品推荐给所述待推荐用户。可选的,所述选取所述推荐分符合预设的推荐条件的候选商品,作为推荐商品推荐给所述待推荐用户的步骤包括:根据所述推荐分对所述候选商品进行降序排序,并获取每个候选商品的排序次序;选取排序次序符合预设的排序范围的候选商品,作为推荐商品推荐给所述待推荐用户。可选的,还包括:展示所述候选商品、及每个候选商品的排序次序。根据本说明书的第二方面,提供了一种用于商品推荐的排序模型的训练装置,包括:数据表获取模块,用于获取反映用户信息的用户数据表、反映商品信息的商品数据表、及反映目标用户针对目标商品执行指定操作的用户行为数据表;初始样本生成模块,用于根据所述用户数据表、所述商品数据表和所述用户行为数据表,生成初始样本集;第一模型训练模块,用于根据预先选定的机器学习算法,基于所述初始样本集进行机器学习模型训练,得到评分模型;最终样本生成模块,用于根据所述评分模型,从所述初始样本集中筛选符合预设条件的样本,生成最终样本集;第二模型训练模块,用于基于所述最终样本集进行机器学习训练,得到用于商品推荐的排序模型。可选的,所述初始样本生成模块用于:根据所述用户数据表、所述商品数据表和所述用户行为数据表,生成标签为第一设定值的正样本集和标签为第二设定值的负样本集;根据所述用户数据表和所述商品数据表生成第一样本集;将所述第一样本集中的每条第一样本的标签标记为第二设定值;将所述第一样本集、所述正样本集和所述负样本集进行合并,得到所述初始样本集。可选的,所述根据所述用户数据表、所述商品数据表和所述用户行为数据表,生成标签为第一设定值的正样本集和标签为第二设定值的负样本集包括:根据所述用户行为数据表,确定目标用户针对目标商品执行第一指定操作的第一用户商品对,和所述目标用户针对目标商品执行第二指定操作、且未执行所述第一指定操作的第二用户商品对;根据所述用户数据表中所述第一用户商品对所对应的目标用户的用户信息、及所述商品数据表中所述第一用户商品对所对应的目标商品的商品信息,生成所述正样本集,并将所述正样本集中的每条正样本的标签标记为所述第一设定值;根据所述用户数据表中所述第二用户商品对所对应的目标用户的用户信息、及所述商品数据表中所述第二用户商品对所对应的目标商品的商品信息,生成所述负样本集,并将所述负样本集中的每条负样本的标签标记为所述第二设定值。可选的,所述根据所述用户数据表和所述商品数据表生成第一样本集包括:确定所述用户数据表中用户和所述商品数据表中商品的笛卡尔积,得到用户商品对集合;从所述用户商品对集合中删除所述第一用户商品对和所述第二用户商品对,得到第三用户商品对;根据所述用户数据表中所述第三用户商品对所对应的用户的用户信息、及所述商品数据表中所述第三用户商品对所对应的商品的商品信息,生成第二样本集;从所述第二样本集中选取第一设定数量条第二样本,得到所述第一样本集。可选的,还包括:用于获取所述正样本集中正样本的第一数量和预设的第一倍数的模块;用于根据所述第一数量和所述第一倍数,确定所述第一设定数量的模块。可选的,所述根据所述评分模型,从所述初始样本集中筛选符合预设条件的样本,生成最终样本集包括:根据所述评分模型,对所述初始样本集中的所述初始样本进行评分;根据所述初始样本的评分,从所述初始样本集中筛选符合预设条件的样本,生成最终样本集。可选的,所述最终样本生成模块还用于:根据所述正样本集中每条正样本的评分,确定第一评分阈值;根据所述负样本集中每条负样本的评分,确定第二评分阈值;根据所述第一样本集中每条第一样本的评分、所述第一评分阈值和所述第二评分阈值,从所述第一样本集中筛选符合预设条件的样本,生成第三样本集,并根据所述第三样本集中的每条第三样本的评分,对对应的第三样本的标签进行标记;将所述第三样本集、所述正样本集和所述负样本集进行合并,得到所述最终样本集。可选的,所述根据所述正样本集中每条正样本的评分,确定第一评分阈值;根据所述负样本集中每条负样本的评分,确定第二评分阈值包括:确定所述正样本集中每条正样本的评分的平均值,作为所述第一评分阈值;确定所述负样本集中每条负样本的评分的平均值,作为第二评分阈值;或者,确定所述正样本集中每条正样本的评分的分位数,作为所述第一评分阈值;确定所述负样本集中每条负样本的评分的分位数,作为第二评分阈值。可选的,所述根据所述第一样本集中每条第一样本的评分、所述第一评分阈值和所述第二评分阈值,从所述第一样本集中筛选符合预设条件的样本,生成第三样本集,并根据所述第三样本集中的每条第三样本的评分,对对应的第三样本的标签进行标记包括:获取所述第一样本集中评分大于或等于所述第一评分阈值的第一样本作为第四样本,并将所述第四样本的标签标记为所述第一设定值;获取所述第一样本集中评分小于或等于所述第二评分阈值的第一样本作为第五样本,并将所述第五样本的标签标记为所述第二设定值;选取第二设定数量条其他第一样本作为第六样本,并将所述第六样本的标签标记为所述第二设定值;其中,所述其他第一样本为所述第一样本集中除所述第四样本和所述第五样本以外的第一样本;将所述第四样本、所述第五样本和所述第六样本进行合并,得到所述第三样本集。可选的,还包括:用于获取所述正样本的第一数量、所述负样本的第二数量、所述第四样本的第三数量、所述第五样本的第四数量和预设的第二倍数的模块;用于根据所述第一数量、所述第二数量、所述第三数量、所述第四数量和所述第二倍数,确定所述第二设定数量的模块。可选的,所述机器学习算法为支持向量机算法,gbdt算法,神经网络中的任意一种。可选的,所述第二模型训练模块还用于:根据预设的二分类算法,基于所述最终样本集进行机器学习训练,得到所述商品推荐模型;或者,基于所述最终样本集对所述评分模型进行迭代更新训练,得到所述排序模型。可选的,还包括:用于获取待推荐用户的用户信息和预设的至少一个候选商品的商品信息的模块;用于基于所述排序模型,根据所述待推荐用户的用户信息和每一候选商品的商品信息,得到每个候选商品对应所述待推荐用户的推荐分的模块;用于选取所述推荐分符合预设的推荐条件的候选商品,作为推荐商品推荐给所述待推荐用户的模块。可选的,所述选取所述推荐分符合预设的推荐条件的候选商品,作为推荐商品推荐给所述待推荐用户包括:根据所述推荐分对所述候选商品进行降序排序,并获取每个候选商品的排序次序;选取排序次序符合预设的排序范围的候选商品,作为推荐商品推荐给所述待推荐用户。可选的,还包括:用于展示所述候选商品、及每个候选商品的排序次序的模块。根据本说明书的第三方面,提供了一种包括至少一个计算装置和至少一个存储装置的系统,其中,所述至少一个存储装置用于存储指令,所述指令用于控制所述至少一个计算装置执行根据本说明书第一方面所述的方法。根据本说明书的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本说明书第一方面所述的方法。通过本实施例的方法,构造出初始样本集,用初始样本集训练评分模型,然后用评分模型从初始样本集中筛选出符合预设条件的样本,得到最终样本集,并基于最终样本集来进行用于商品推荐的排序模型的训练,可以在增加用于训练排序模型的最终样本的数量,并提高最终样本的标签的准确性,进而使得训练得到的排序模型更加准确。通过以下参照附图对本说明书的示例性实施例的详细描述,本说明书的其它特征及其优点将会变得清楚。附图说明被结合在说明书中并构成说明书的一部分的附图示出了本说明书的实施例,并且连同其说明一起用于解释本说明书的原理。图1是可用于实现本说明书的实施例的电子设备的硬件配置的一个例子的框图。图2是根据本说明书实施例的用于商品推荐的排序模型的训练方法的流程示意图;图3是根据本说明书实施例的排序模型的应用方法的流程示意图;图4根据本说明书实施例的用于商品推荐的排序模型的训练方法的一个例子的流程示意图;图5是根据本说明书实施例的用于商品推荐的排序模型的训练装置的一个例子的方框原理图;图6是根据本说明书实施例的系统的方框原理图。具体实施方式现在将参照附图来详细描述本说明书的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本说明书的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本说明书及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。下面,参照附图描述根据本说明书实施例的各个实施例和例子。<硬件配置>图1是示出可以实现本说明书的实施例的电子设备1000的硬件配置的框图。电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器cpu、微处理器mcu等。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括usb接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括wifi通信、蓝牙通信、2g/3g/4g/5g通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。图1所示的电子设备仅仅是说明性的并且决不意味着对本说明书、其应用或使用的任何限制。应用于本说明书的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本说明书实施例提供的任意一项方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本说明书可以仅涉及其中的部分装置,例如,电子设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本说明书所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。<方法实施例>在本实施例中,提供了一种用于商品推荐的排序模型的训练方法。该用于商品推荐的排序模型的训练方法可以是由电子设备实施。该电子设备可以是如图1所示的电子设备1000。根据图2所示,本实施例的用于商品推荐的排序模型的训练方法可以包括如下步骤s2100~s2500:步骤s2100,获取反映用户信息的用户数据表、反映商品信息的商品数据表、及反映目标用户针对目标商品执行指定操作的用户行为数据表。本实施例的用户数据表中,可以记录有多个用户的用户信息,例如可以包括年龄、存款余额、是否买房等,如下表1所示:表1表1中是否买房的用户信息中,1表示对应用户买房,0表示对应用户未买房。本实施例的商品数据表中,可以记录有多个商品的商品信息,例如可以包括商品价格、销售量、折扣等,如下表2所示:表2商品id商品价格销售量折扣p0109220.9p14330.88p2323160.7p31357750.6p4234320.9本实施例的用户行为数据表中,可以记录有目标用户针对目标商品执行第一指定操作,或者是执行第二指定操作且未执行第一指定操作,如下表3所示:表3用户id商品id行为类型u0p0购买u1p2购买u2p4购买u3p1浏览且未购买u4p2浏览且未购买u4p4浏览且未购买u1p3浏览且未购买u2p3浏览且未购买在本实施例中,并不是每一个用户均会针对每一个商品执行指定操作,因此,用户行为数据表通常无法反映所有用户针对所有商品执行指定操作,而仅能反映出目标用户针对目标商品执行指定操作。步骤s2200,根据用户数据表、商品数据表和用户行为数据表,生成初始样本集。在本说明书的一个实施例中,根据用户数据表、商品数据表和用户行为数据表,生成初始样本集可以包括如下所示的步骤s2210~s2240:步骤s2210,根据用户数据表、商品数据表和用户行为数据表,生成标签为第一设定值的正样本集和标签为第二设定值的负样本集。在本说明书的实施例中,第一设定值和第二设定值可以是分别预先根据应用场景或具体需求所设定的。例如,该第一设定值可以是1,该第二设定值可以是0。本实施例以第一设定值大于第二设定值为例进行说明,本领域技术人员应当明白,以上示例并不是为了对本公开的保护范围进行限定。在一个例子中,根据用户数据表、商品数据表和用户行为数据表,生成标签为第一设定值的正样本集和标签为第二设定值的负样本集可以包括如下所示的步骤s2211~s2213:步骤s2211,根据用户行为数据表,确定目标用户针对目标商品执行第一指定操作的第一用户商品对,和目标用户针对目标商品执行第二指定操作、且未执行第一指定操作的第二用户商品对。在本实施例中,如果其中一个目标用户针对其中一个目标商品执行了第一指定操作,则可以将该目标用户和该目标商品作为第一用户商品对。如果其中一个目标用户针对其中一个目标商品执行第二指定操作、且未执行第一指定操作,则可以将该目标用户和该目标商品作为第二用户商品对。在本说明书的实施例中,用户商品对即包括一个用户和一个商品。在用户行为数据表中,记录了目标用户针对目标商品执行第一指定操作,也记录了目标用户针对目标商品未执行第一指定操作但执行了第二指定操作,因此,根据用户行为数据表,可以得到第一商品对和第二商品对。本实施例中的第一指定操作和第二指定操作可以是预先根据应用场景或具体需求所设定的。在用户行为数据表如上表3所示的情况下,第一指定操作可以是购买,第二指定操作可以是浏览。那么,第一用户商品对可以包括:用户u0和商品p0,用户u1和商品p2,用户u2和商品p4。第二用户商品对可以包括:用户u3和商品p1,用户u4和商品p2,用户u4和商品p4,用户u1和商品p3,用户u2和商品p3。步骤s2212,根据用户数据表中第一用户商品对所对应的目标用户的用户信息、及商品数据表中第一用户商品对所对应的目标商品的商品信息,生成正样本集,并将正样本集中的每条正样本的标签标记为第一设定值。步骤s2213,根据用户数据表中第二用户商品对所对应的目标用户的用户信息、及商品数据表中第二用户商品对所对应的目标商品的商品信息,生成负样本集,并将负样本集中的每条负样本的标签标记为第二设定值。在本说明书的实施例中,每条样本对应于一个用户商品对,可以包括对应用户商品对中用户的用户特征和商品的商品特征。用户特征可以是根据用户信息确定,商品特征可以是根据商品信息确定。步骤s2220,根据用户数据表和商品数据表生成第一样本集。在本说明书的一个实施例中,根据用户数据表和商品数据表生成第一样本集的步骤可以包括如下所示的步骤s2221~s2224:步骤s2221,确定用户数据表中用户和商品数据表中商品的笛卡尔积,得到用户商品对集合。在如表1所示的用户数据表中,用户数据表中用户可以包括:用户u0、用户u1,用户u2,用户u3和用户u4。在如表2所示的商品数据表中,商品数据表中商品可以包括:商品p0,商品p1,商品p2,商品p3和商品p4。那么,通过确定用户数据表中用户和商品数据表中商品的笛卡尔积所得到的用户商品对集合中可以包括由每个用户和每个商品所构成的用户商品对,包括:用户u0和商品p0,用户u0和商品p1,用户u0和商品p2,用户u0和商品p3,用户u0和商品p4,用户u1和商品p0,用户u1和商品p1,用户u1和商品p2,用户u1和商品p3,用户u1和商品p4,用户u2和商品p0,用户u2和商品p1,用户u2和商品p2,用户u2和商品p3,用户u2和商品p4,用户u3和商品p0,用户u3和商品p1,用户u3和商品p2,用户u3和商品p3,用户u3和商品p4,用户u4和商品p0,用户u4和商品p1,用户u4和商品p2,用户u4和商品p3,用户u4和商品p4。步骤s2222,从用户商品对集合中删除第一用户商品对和第二用户商品对,得到第三用户商品对。在上述表1、表2和表3的实施例中,从用户商品对集合中删除第一用户商品对和第二用户商品对,所得到第三用户商品对可以包括:用户u0和商品p1,用户u0和商品p2,用户u0和商品p3,用户u0和商品p4,用户u1和商品p0,用户u1和商品p1,用户u1和商品p4,用户u2和商品p0,用户u2和商品p1,用户u2和商品p2,用户u3和商品p0,用户u3和商品p2,用户u3和商品p3,用户u3和商品p4,用户u4和商品p0,用户u4和商品p1,用户u4和商品p3。步骤s2223,根据用户数据表中第三用户商品对所对应的用户的用户信息、及商品数据表中第三用户商品对所对应的商品的商品信息,生成第二样本集。步骤s2224,从第二样本集中选取第一设定数量条第二样本,得到第一样本集。具体的,可以是将选取的第一设定数量条第二样本所构成的样本集,作为第一样本集。由于第三用户商品对在实际应用中通常会很大,导致第二样本集中第二样本的数量也很大,因此,对第二样本集抽样得到第一样本集,可以将第一样本集中第一样本的数量保证在一个可控范围内。在本说明书的一个实施例中,第一设定数量可以是预先根据应用场景或具体需求所设定的。例如,该第一设定数量可以是100。在本说明书的另一个实施例中,该方法还可以包括确定第一设定数量的步骤,包括:获取正样本集中正样本的第一数量和预设的第一倍数;根据第一数量和第一倍数确定第一设定数量。其中,第一倍数可以为样本抽取的超参数,可以根据最终的模型效果进行调整,第一倍数例如可以设为10,50,100等。具体的,可以是确定第一数量和第一倍数的乘积,作为第一设定数量。步骤s2230,将第一样本集中的每条第一样本的标签标记为第二设定值。步骤s2240,将第一样本集、正样本集和负样本集进行合并,得到初始样本集。步骤s2300,根据预先选定的机器学习算法,基于初始样本集进行机器学习模型训练,得到评分模型。具体的,评分模型具体可以是根据输入的用户信息和商品信息进行评分的模型。在一个例子中,该评分模型可以是二分类模型。在本说明书的一个实施例中,机器学习算法为支持向量机算法,gbdt算法,神经网络中的任意一种。步骤s2400,根据评分模型,从初始样本集中筛选符合预设条件的样本,生成最终样本集。在本说明书的一个实施例中,根据评分模型,从初始样本集中筛选符合预设条件的样本,生成最终样本集可以包括如下所示的步骤s2410和步骤s2420:步骤s2410,根据评分模型,对初始样本集中的初始样本进行评分。在本实施例中,根据评分模型对初始样本集中的初始样本进行评分,可以得到每条初始样本的评分。步骤s2420,根据初始样本的评分,从初始样本集中筛选符合预设条件的样本,生成最终样本集。在本说明书的一个实施例中,根据初始样本的评分,从初始样本集中筛选符合预设条件的样本,生成最终样本集可以包括如下所示的步骤s2421~s2423:步骤s2421,根据正样本集中每条正样本的评分,确定第一评分阈值;根据负样本集中每条负样本的评分,确定第二评分阈值。在本说明书的实施例中,初始样本集是由第一样本集、正样本集和负样本集合并得到。因此,初始样本集可以包括第一样本集中的第一样本、正样本集中的正样本和负样本集中的负样本。在本说明书的一个实施例中,根据正样本集中的正样本的评分确定第一评分阈值的方式,可以包括:确定正样本集中每条正样本的评分的平均值或分位数,作为第一评分阈值。对应的,根据负样本集中的负样本的评分确定第二评分阈值的方式,可以包括:确定负样本集中每条负样本的评分的平均值或分位数,作为第二评分阈值。例如,在第一设定值为1、第二设定值为0的情况下,所得到的第一评分阈值可以是0.85,第二评分阈值可以是0.15。步骤s2422,根据第一样本集中每条第一样本的评分、第一评分阈值和第二评分阈值,从第一样本集中筛选出符合预设条件的样本,生成第三样本集,并根据第三样本集中每条第三样本的评分,对对应的第三样本的标签进行标记。在本说明书的一个实施例中,根据第一样本集中每条第一样本的评分、第一评分阈值和第二评分阈值,从第一样本集中筛选出符合预设条件的样本,生成第三样本集,并根据第三样本集中每条第三样本的评分,对对应的第三样本的标签进行标记可以包括如下所示的步骤s2422-1~步骤s2422-4:步骤s2422-1,获取第一样本集中评分大于或等于第一评分阈值的第一样本作为第四样本,并将第四样本的标签标记为第一设定值。步骤s2422-2,获取第一样本集中评分小于或等于第二评分阈值的第一样本作为第五样本,并将第五样本的标签标记为第二设定值。步骤s2422-3,选取第二设定数量条其他第一样本作为第六样本,并将第六样本的标签标记为第二设定值。其中,其他第一样本为第一样本集中除第四样本和第五样本以外的第一样本。在本说明书的一个实施例中,第二设定数量可以是预先根据应用场景或具体需求设定好的。例如,该第二设定数量可以是100条。在本说明书的另一个实施例中,该方法还可以包括确定第二设定数量的步骤,包括:获取正样本的第一数量、负样本的第二数量、第四样本的第三数量、第五样本的第四数量和预设的第二倍数;根据第一数量、第二数量、第三数量、第四数量和第二倍数,确定第二设定数量。具体的,可以通过如下公式确定第二设定数量y:y=r2*d1-d2-d3-d4其中,r2为第二倍数,d1为第一数量,d2为第二数量,d3为第三数量,d4为第四数量。第二倍数可以为样本抽取的超参数,可以根据最终的模型效果进行调整,第二倍数例如可以设为10,50,100等。步骤s2422-4,将第四样本、第五样本和第六样本进行合并,得到第三样本集。步骤s2423,将第三样本集、正样本集和负样本集进行合并,得到最终样本集。步骤s2500,基于最终样本集进行机器学习训练,得到用于商品对接的排序模型。在本说明书的一个实施例中,可以是基于最终样本集对评分模型进行迭代更新,得到排序模型。在本说明书的另一个实施例中,还可以是根据预先选定的二分类算法,基于最终样本集进行机器学习模型训练,得到排序模型。其中,用于训练排序模型的二分类算法和用于训练评分模型的机器学习算法可以相同,也可以不同,本说明书对此不做限定。通过本实施例的方法,构造出初始样本集,用初始样本集训练评分模型,然后用评分模型从初始样本集中筛选出符合预设条件的样本,得到最终样本集,并基于最终样本集来进行用于商品推荐的排序模型的训练,可以在增加用于训练排序模型的最终样本的数量,并提高最终样本的标签的准确性,进而使得训练得到的排序模型更加准确。在本说明书的一个实施例中,可以根据最终的商品推荐模型对用户进行商品推荐。具体的,该方法还可以包括如图3所示的步骤s3100~s3300:步骤s3100,获取待推荐用户的用户信息和预设的至少一个候选商品的商品信息。步骤s3200,基于排序模型,根据待推荐用户的用户信息和每一候选商品的商品信息,得到每个候选商品对应待推荐用户的推荐分。具体的,可以是待推荐用户的用户信息和每一候选商品的商品信息生成对应于每一候选用户商品对的特征。其中,每一候选用户商品对包括待推荐用户和对应的候选商品。并将每一候选用户商品对的输入至最终的商品推荐模型中,就能够得到每个候选用户商品对的分数,即为每个候选商品对应待推荐用户的推荐分。步骤s3300,选取推荐分符合预设的推荐条件的候选商品,作为推荐商品推荐给待推荐用户。在本说明书的一个实施例中,选取推荐分符合预设的推荐条件的候选商品,作为推荐商品推荐给待推荐用户的步骤包括如下所示的步骤s3310和s3320:步骤s3310,根据推荐分对候选商品进行降序排序,并获取每个候选商品的排序次序。步骤s3320,选取排序次序符合预设的排序范围的候选商品,作为推荐商品推荐给待推荐用户。在本说明书的一个实施例中,该排序范围可以是预先根据应用场景或具体需求设定的好的,例如该排序范围可以是1~3,那么可以是选取排序次序为1、2、3的候选商品,作为推荐商品推荐给待推荐用户。在本说明书的一个实施例中,该方法还可以包括:展示候选商品、及每个候选商品的排序次序,以供待推荐用户挑选。<例子>图4为根据本说明书实施例的用于商品推荐的排序模型的训练方法的一个例子的流程示意图。如图4所示,该方法可以包括:步骤s4001,获取反映用户信息的用户数据表、反映商品信息的商品数据表、及反映目标用户针对目标商品执行指定操作的用户行为数据表。步骤s4002,根据用户行为数据表,确定目标用户针对目标商品执行第一指定操作的第一用户商品对,和目标用户针对目标商品执行第二指定操作、且未执行第一指定操作的第二用户商品对。步骤s4003,根据用户数据表中第一用户商品对所对应的目标用户的用户信息、及商品数据表中第一用户商品对所对应的目标商品的商品信息,生成正样本集,并将正样本集中的每条正样本的标签标记为第一设定值。步骤s4004,根据用户数据表中第二用户商品对所对应的目标用户的用户信息、及商品数据表中第二用户商品对所对应的目标商品的商品信息,生成负样本集,并将负样本集中的每条负样本的标签标记为第二设定值。步骤s4005,确定用户数据表中用户和商品数据表中商品的笛卡尔积,得到用户商品对集合。步骤s4006,从用户商品对集合中删除第一用户商品对和第二用户商品对,得到第三用户商品对。步骤s4007,根据用户数据表中第三用户商品对所对应的用户的用户信息、及商品数据表中第三用户商品对所对应的商品的商品信息,生成第二样本集。步骤s4008,从第二样本集中选取第一设定数量条第二样本,得到第一样本集。步骤s4009,将第一样本集中的每条第一样本的标签标记为第二设定值。步骤s4010,将第一样本集、正样本集和负样本集进行合并,得到初始样本集。步骤s4011,根据预先选定的机器学习算法,基于初始样本集进行机器学习模型训练,得到评分模型。步骤s4012,根据评分模型,对初始样本集中的初始样本进行评分。步骤s4013,根据正样本集中每条正样本的评分,确定第一评分阈值;根据负样本集中每条负样本的评分,确定第二评分阈值。步骤s4014,获取第一样本集中评分大于或等于第一评分阈值的第一样本作为第四样本,并将第四样本的标签标记为第一设定值。步骤s4015,获取第一样本集中评分小于或等于第二评分阈值的第一样本作为第五样本,并将第五样本的标签标记为第二设定值。步骤s4016,选取第二设定数量条其他第一样本作为第六样本,并将第六样本的标签标记为第二设定值。步骤s4017,将第四样本、第五样本和第六样本进行合并,得到第三样本集。步骤s4018,将第三样本集、正样本集和负样本集进行合并,得到最终样本集。步骤s4019,基于最终样本集进行机器学习训练,得到用于商品对接的排序模型。<装置实施例>在本实施例中,提供一种用于商品推荐的排序模型的训练装置5000,如图5所示,包括数据表获取模块5100、初始样本生成模块5200、第一模型训练模块5300、最终样本生成模块5400和第二模型训练模块5500。该数据表获取模块5100用于获取反映用户信息的用户数据表、反映商品信息的商品数据表、及反映目标用户针对目标商品执行指定操作的用户行为数据表;该初始样本生成模块5200用于根据用户数据表、商品数据表和用户行为数据表,生成初始样本集;该第一模型训练模块5300用于根据预先选定的机器学习算法,基于初始样本集进行机器学习模型训练,得到评分模型;该最终样本生成模块5400用于根据评分模型,从初始样本集中筛选符合预设条件的样本,生成最终样本集;该第二模型训练模块5500用于基于最终样本集进行机器学习训练,得到用于商品推荐的排序模型。在本说明书的一个实施例中,初始样本生成模块5200用于:根据用户数据表、商品数据表和用户行为数据表,生成标签为第一设定值的正样本集和标签为第二设定值的负样本集;根据用户数据表和商品数据表生成第一样本集;将第一样本集中的每条第一样本的标签标记为第二设定值;将第一样本集、正样本集和负样本集进行合并,得到初始样本集。在本说明书的一个实施例中,根据用户数据表、商品数据表和用户行为数据表,生成标签为第一设定值的正样本集和标签为第二设定值的负样本集包括:根据用户行为数据表,确定目标用户针对目标商品执行第一指定操作的第一用户商品对,和目标用户针对目标商品执行第二指定操作、且未执行第一指定操作的第二用户商品对;根据用户数据表中第一用户商品对所对应的目标用户的用户信息、及商品数据表中第一用户商品对所对应的目标商品的商品信息,生成正样本集,并将正样本集中的每条正样本的标签标记为第一设定值;根据用户数据表中第二用户商品对所对应的目标用户的用户信息、及商品数据表中第二用户商品对所对应的目标商品的商品信息,生成负样本集,并将负样本集中的每条负样本的标签标记为第二设定值。在本说明书的一个实施例中,根据用户数据表和商品数据表,生成第一样本集包括:确定用户数据表中用户和商品数据表中商品的笛卡尔积,得到用户商品对集合;从用户商品对集合中删除第一用户商品对和第二用户商品对,得到第三用户商品对;根据用户数据表中第三用户商品对所对应的用户的用户信息、及商品数据表中第三用户商品对所对应的商品的商品信息,生成第二样本集;从第二样本集中选取第一设定数量条第二样本,得到第一样本集。在本说明书的一个实施例中,还包括:用于获取正样本集中正样本的第一数量和预设的第一倍数的模块;用于根据第一数量和第一倍数,确定第一设定数量的模块。在本说明书的一个实施例中,根据评分模型,从初始样本集中筛选符合预设条件的样本,生成最终样本集包括:根据评分模型,对初始样本集中的初始样本进行评分;根据初始样本的评分,从初始样本集中筛选符合预设条件的样本,生成最终样本集。在本说明书的一个实施例中,最终样本生成模块5400还用于:根据正样本集中每条正样本的评分,确定第一评分阈值;根据负样本集中每条负样本的评分,确定第二评分阈值;根据第一样本集中每条第一样本的评分、第一评分阈值和第二评分阈值,从第一样本集中筛选符合预设条件的样本,生成第三样本集,并根据第三样本集中的每条第三样本的评分,对对应的第三样本的标签进行标记;将第三样本集、正样本集和负样本集进行合并,得到最终样本集。在本说明书的一个实施例中,根据正样本集中每条正样本的评分,确定第一评分阈值;根据负样本集中每条负样本的评分,确定第二评分阈值包括:确定正样本集中每条正样本的评分的平均值,作为第一评分阈值;确定负样本集中每条负样本的评分的平均值,作为第二评分阈值;或者,确定正样本集中每条正样本的评分的分位数,作为第一评分阈值;确定负样本集中每条负样本的评分的分位数,作为第二评分阈值。在本说明书的一个实施例中,根据第一样本集中每条第一样本的评分、第一评分阈值和第二评分阈值,从第一样本集中筛选符合预设条件的样本,生成第三样本集,并根据第三样本集中的每条第三样本的评分,对对应的第三样本的标签进行标记包括:获取第一样本集中评分大于或等于第一评分阈值的第一样本作为第四样本,并将第四样本的标签标记为第一设定值;获取第一样本集中评分小于或等于第二评分阈值的第一样本作为第五样本,并将第五样本的标签标记为第二设定值;选取第二设定数量条其他第一样本作为第六样本,并将第六样本的标签标记为第二设定值;其中,其他第一样本为第一样本集中除第四样本和第五样本以外的第一样本;将第四样本、第五样本和第六样本进行合并,得到第三样本集。在本说明书的一个实施例中,还包括:用于获取正样本的第一数量、负样本的第二数量、第四样本的第三数量、第五样本的第四数量和预设的第二倍数的模块;用于根据第一数量、第二数量、第三数量、第四数量和第二倍数,确定第二设定数量的模块。在本说明书的一个实施例中,机器学习算法为支持向量机算法,gbdt算法,神经网络中的任意一种。在本说明书的一个实施例中,第二模型训练模块5500还可以用于:根据预设的二分类算法,基于最终样本集进行机器学习训练,得到商品推荐模型;或者,基于最终样本集对评分模型进行迭代更新训练,得到排序模型。在本说明书的一个实施例中,还包括:用于获取待推荐用户的用户信息和预设的至少一个候选商品的商品信息的模块;用于基于排序模型,根据待推荐用户的用户信息和每一候选商品的商品信息,得到每个候选商品对应待推荐用户的推荐分的模块;用于选取推荐分符合预设的推荐条件的候选商品,作为推荐商品推荐给待推荐用户的模块。在本说明书的一个实施例中,选取推荐分符合预设的推荐条件的候选商品,作为推荐商品推荐给待推荐用户包括:根据推荐分对候选商品进行降序排序,并获取每个候选商品的排序次序;选取排序次序符合预设的排序范围的候选商品,作为推荐商品推荐给待推荐用户。在本说明书的一个实施例中,还包括:用于展示候选商品、及每个候选商品的排序次序的模块。本领域技术人员应当明白,可以通过各种方式来实现用于商品推荐的排序模型的训练装置5000。例如,可以通过指令配置处理器来实现用于商品推荐的排序模型的训练装置5000。例如,可以将指令存储在rom中,并且当启动设备时,将指令从rom读取到可编程器件中来实现用于商品推荐的排序模型的训练装置5000。例如,可以将用于商品推荐的排序模型的训练装置5000固化到专用器件(例如asic)中。可以将用于商品推荐的排序模型的训练装置5000分成相互独立的单元,或者可以将它们合并在一起实现。用于商品推荐的排序模型的训练装置5000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。在本实施例中,用于商品推荐的排序模型的训练装置5000可以具有多种实现形式,例如,用于商品推荐的排序模型的训练装置5000可以是任何的提供模型训练服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。<系统实施例>在本实施例中,如图6所示,还提供一种至少一个计算装置6100和至少一个存储装置6200的系统6000。该至少一个存储装置6200用于存储可执行的指令;该指令用于控制至少一个计算装置6100执行根据本说明书任意实施例的方法。在本实施例中,该系统6000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等设备,也可以是由多个设备构成的分布式系统。<计算机可读存储介质>在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本说明书任意实施例的方法。本说明书可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本说明书的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本说明书操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本说明书的各个方面。这里参照根据本说明书实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本说明书的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。附图中的流程图和框图显示了根据本说明书的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。以上已经描述了本说明书的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本
技术领域
的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本
技术领域
的其它普通技术人员能理解本文披露的各实施例。本说明书的范围由所附权利要求来限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1