具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
示例性的,如图1所示,图1是本申请实施例提供的一种信息推荐***100的***架构图。该信息推荐***100的物理形态可以是服务器集群和/或云计算资源,此处不做唯一限定。该信息推荐***100具体包括线上***10和线下***20,线下***可以是服务器集群,线上***可以是云计算资源或者服务器集群,其中,线上***10包括训练好的目标模型11和预估器12,该训练好的目标模型11用于处理实时在线的推荐任务,预估器12用于结合训练好的目标模型11和推荐任务关联的参考特征数据生成预估先验结果,线下***20包括训练数据库21、待训练的目标模型22,线下***20会定时使用训练数据库21中的训练数据来训练待训练的目标模型22,得到训练好的目标模型11,并将该训练好的目标模型11推送给线上***10使用。
一般设计中,在互联网产品领域,推荐及点击通过率(Click-Through-Rate,CTR)预估模型构建中,一般通过用户产生的动作(action)来提取目标模型的训练样本,但该样本由于用户作弊、误操作影响,往往噪音很大。
针对上述情况,本申请实施例提出一种模型训练方法,该方法中,线下***首先获取参考训练样本,其次,将参考训练样本输入样本模型,得到目标训练样本,再次,根据目标训练样本训练目标模型,得到更新后的目标模型,最后,将更新后的目标模型发送给线上***,更新后的目标模型用于线上***处理目标推荐任务。可见,线下***能够通过基于机器学习算法构建的样本模型替代人工规则,通过该样本模型对参考样本数据去噪提纯,可以提升目标模型精度、提升泛化能力及可迁移能力。
下面结合附图对本申请实施例进行介绍。
请参阅图2,图2是本申请实施例提供了一种模型训练方法的流程示意图,应用于信息推荐***,所述信息推荐***包括线上***和线下***,所述线下***包括样本模型和所述目标模型,如图所示,本模型训练方法包括:
S201,所述线下***获取参考训练样本。
其中,参考样本数据可以是线下***从预存的用户日志中提出的样本数据,或者由开发人员预设的样本数据,或者是线上***整合采集到的用户侧的交互信息而生成的样本数据等,此处不做唯一限定。
S202,所述线下***将所述参考训练样本输入所述样本模型,得到目标训练样本。
其中,样本模型可以对参考训练样本进行选择、去噪提纯得到目标训练样本,进而将目标训练样本输入到目标模型进行训练。
S203,所述线下***根据所述目标训练样本训练所述目标模型,得到更新后的目标模型。
其中,训练所述目标模型的具体方法包括梯度下降法、拟牛顿法等,此处不做唯一限定。
S204,所述线下***将更新后的所述目标模型发送给所述线上***,所述更新后的所述目标模型用于所述线上***处理目标推荐任务。
其中,目标推荐任务为针对一个或多个目标待推荐物品的推荐任务,如浏览器应用场景中针对10个新闻展位和2个广告展位的信息的推送。
可以看出,本申请实施例中,线下***首先获取参考训练样本,其次,将参考训练样本输入样本模型,得到目标训练样本,再次,根据目标训练样本训练目标模型,得到更新后的目标模型,最后,将更新后的目标模型发送给线上***,更新后的目标模型用于线上***处理目标推荐任务。可见,线下***能够通过基于机器学习算法构建的样本模型替代人工规则,通过该样本模型对参考样本数据去噪提纯,可以提升目标模型精度、提升泛化能力及可迁移能力。
在一个可能的示例中,所述方法还包括:
所述线下***从用户日志中提取上下文行为特征;
所述线下***获取所述目标模型的损失反馈;
所述线下***根据所述上下文行为特征和所述损失反馈,构建所述样本模型。
具体实现中,所述线下***可以基于预设的机器学习算法(如逻辑回归(logisticregression,LR)、梯度提升树(Gradient Boosting Decision Tree,GBDT)、深度学习算法等)构建样本模型。
具体实现中,由于损失反馈关联目标模型的特征,该特征关联样本数据,若损失反馈较大,则说明对应的特征对目标模型的准确度影响较大,若损失反馈较小,则说明对应的特征对目标模型的准确度影响较小,如此,线下***可以根据损失反馈,筛选出对目标模型的准确度影响加大或较小的特征,并将该特征作为构建样本模型的因素之一,提高样本模型的准确度。
可见,本示例中,线下***能够线下***结合用户上下文,目标模型的损失反馈等因素,构建样本模型,通过该样本模型能高效对参考样本数据进行去噪提纯,进而提升目标模型的精度。
在本可能的示例中,所述上下文行为特征包括:
所述线上***在通过目标模型向移动终端的预设应用推荐预设信息之前,获取到的所述移动终端记录的第一交互信息;和/或,
所述线上***在通过目标模型向移动终端的预设应用推荐预设信息之前,获取到的所述移动终端记录的第二交互信息,交互信息包括操作类型、操作时长。
其中,所述预设应用可以是移动终端的浏览器、应用商店等各类***应用程序或第三方应用程序,此处不做唯一限定。
举例来说,以移动终端的浏览器应用为例,移动终端响应用户操作,开启浏览器应用,在应用主界面上会呈现推送的新闻列表,线上***基于目标模型向浏览器应用推送新闻序列,该新闻列表包括新闻信息和广告信息,同时,移动终端会采集用户点击新闻之前的交互信息,以及采集用户点击新闻之后的交互信息,并将该采集到的交互信息实时发送给线上***,再由线上***发送给线下***,作为上下文行为特征,该交互信息包括操作信息、停留时长等。
可见,本示例中,由于上下文行为特征能够准确反映用户针对已推送物品的喜好程度等信息,从而线下***基于该部分信息构建样本数据时,可以基于该上下文行为特征更为准确的筛选有效特征数据,提高样本数据的精度,以此提高目标模型的训练质量。
在一个可能的示例中,所述线下***获取所述目标模型的损失反馈,包括:
所述线下***接收来自线上***的所述目标模型处理预设推荐任务的预估先验结果,所述预设推荐任务为针对所述预设信息的推荐任务;
所述线下***获取所述目标模型处理所述预设推荐任务的实际后验结果;
所述线下***根据所述预估先验结果和所述实际后验结果,确定所述目标模型的损失反馈。
其中,所述预设推荐任务为针对目标待推荐物品的推荐任务,如浏览器应用场景中,线上***推送新闻时,有一个广告需要推送,会生成针对该广告的推荐任务。
可见,本示例中,目标模型的损失反馈是结合预估先验结果和实际后验结果确定,符合实际用户群的使用习惯,准确度高。
在一个可能的示例中,所述预估先验结果是所述线上***在获取所述目标模型处理所述预设推荐任务所需要的特征参数,并将所述特征参数和所述目标模型输入至预估器而得到;
所述线下***获取所述目标模型处理所述预设推荐任务的实际后验结果,包括:
所述线下***获取所述预设推荐任务的实际推荐的第一用户数量和反馈交互记录的第二用户数量;
所述线下***根据所述第一用户数量和所述第二用户数量,确定所述目标模型的实际后验结果。
其中,所述特征参数包括用户画像信息(如偏好、兴趣、地理位置等),还包括待推荐物品的信息(如关键词、类别等),还包括场景信息(如节假日、旅游等)。实际后验结果可以是交互反馈的用户数量与推荐用户的总数量的比值。
举例来说,假设目标推荐任务中的待推荐物品推荐给了100个用户,其中由10个用户点击通过,则该目标推荐任务的实际后验结果为10/100即0.1。
可见,本示例中,预估先验结果可以由线上***的预估器得到,无需实时构建计算模型进行预估,计算效率和准确度高,且实际后验结果根据用户实际交互数据得到,准确度高。
与所述图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种模型训练方法的流程示意图,如图所示,本模型训练方法包括:
S301,所述线下***从用户日志中提取上下文行为特征。
S302,所述线下***获取所述目标模型的损失反馈。
S303,所述线下***根据所述上下文行为特征和所述损失反馈,构建所述样本模型。
S304,所述线下***获取参考训练样本。
S305,所述线下***将所述参考训练样本输入所述样本模型,得到目标训练样本。
S306,所述线下***根据所述目标训练样本训练所述目标模型,得到更新后的目标模型。
S307,所述线下***将更新后的所述目标模型发送给所述线上***,所述更新后的所述目标模型用于所述线上***处理目标推荐任务。
可以看出,本申请实施例中,线下***首先获取参考训练样本,其次,将参考训练样本输入样本模型,得到目标训练样本,再次,根据目标训练样本训练目标模型,得到更新后的目标模型,最后,将更新后的目标模型发送给线上***,更新后的目标模型用于线上***处理目标推荐任务。可见,线下***能够通过基于机器学习算法构建的样本模型替代人工规则,通过该样本模型对参考样本数据去噪提纯,可以提升目标模型精度、提升泛化能力及可迁移能力。
此外,线下***能够线下***结合用户上下文,目标模型的损失反馈等因素,构建样本模型,通过该样本模型能高效对参考样本数据进行去噪提纯,进而提升目标模型的精度。
与所述图2所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种模型训练方法的流程示意图。如图所示,本模型训练方法包括:
S401,所述线下***从用户日志中提取上下文行为特征,所述上下文行为特征包括:所述线上***在通过目标模型向移动终端的预设应用推荐预设信息之前,获取到的所述移动终端记录的第一交互信息;和/或,
所述线上***在通过目标模型向移动终端的预设应用推荐预设信息之前,获取到的所述移动终端记录的第二交互信息,交互信息包括操作类型、操作时长。
S402,所述线下***接收来自线上***的所述目标模型处理预设推荐任务的预估先验结果,所述预设推荐任务为针对所述预设信息的推荐任务。
其中,所述预估先验结果是所述线上***在获取所述目标模型处理所述预设推荐任务所需要的特征参数,并将所述特征参数和所述目标模型输入至预估器而得到。
S403,所述线下***获取所述预设推荐任务的实际推荐的第一用户数量和反馈交互记录的第二用户数量。
S404,所述线下***根据所述第一用户数量和所述第二用户数量,确定所述目标模型的实际后验结果。
S405,所述线下***根据所述预估先验结果和所述实际后验结果,确定所述目标模型的损失反馈。
S406,所述线下***根据所述上下文行为特征和所述损失反馈,构建所述样本模型。
S407,所述线下***获取参考训练样本。
S408,所述线下***将所述参考训练样本输入所述样本模型,得到目标训练样本。
S409,所述线下***根据所述目标训练样本训练所述目标模型,得到更新后的目标模型。
S4010,所述线下***将更新后的所述目标模型发送给所述线上***,所述更新后的所述目标模型用于所述线上***处理目标推荐任务。
可以看出,本申请实施例中,线下***首先获取参考训练样本,其次,将参考训练样本输入样本模型,得到目标训练样本,再次,根据目标训练样本训练目标模型,得到更新后的目标模型,最后,将更新后的目标模型发送给线上***,更新后的目标模型用于线上***处理目标推荐任务。可见,线下***能够通过基于机器学习算法构建的样本模型替代人工规则,通过该样本模型对参考样本数据去噪提纯,可以提升目标模型精度、提升泛化能力及可迁移能力。
此外,线下***能够线下***结合用户上下文,目标模型的损失反馈等因素,构建样本模型,通过该样本模型能高效对参考样本数据进行去噪提纯,进而提升目标模型的精度。
此外,由于上下文行为特征能够准确反映用户针对已推送物品的喜好程度等信息,从而线下***基于该部分信息构建样本数据时,可以基于该上下文行为特征更为准确的筛选有效特征数据,提高样本数据的精度,以此提高目标模型的训练质量。
此外,目标模型的损失反馈是结合预估先验结果和实际后验结果确定,符合实际用户群的使用习惯,准确度高。
此外,预估先验结果可以由线上***的预估器得到,无需实时构建计算模型进行预估,计算效率和准确度高,且实际后验结果根据用户实际交互数据得到,准确度高。
与所述图2至图4所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种线下***的结构示意图,该线下***运行有一个或多个应用程序和操作***,如图所示,该线下***包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序不同于所述一个或多个应用程序,且所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行以下步骤的指令;
获取参考训练样本;
将所述参考训练样本输入所述样本模型,得到目标训练样本;
根据所述目标训练样本训练所述目标模型,得到更新后的目标模型;
将更新后的所述目标模型发送给所述线上***,所述更新后的所述目标模型用于所述线上***处理目标推荐任务。
可以看出,本申请实施例中,线下***首先获取参考训练样本,其次,将参考训练样本输入样本模型,得到目标训练样本,再次,根据目标训练样本训练目标模型,得到更新后的目标模型,最后,将更新后的目标模型发送给线上***,更新后的目标模型用于线上***处理目标推荐任务。可见,线下***能够通过基于机器学习算法构建的样本模型替代人工规则,通过该样本模型对参考样本数据去噪提纯,可以提升目标模型精度、提升泛化能力及可迁移能力。
在一个可能的示例中,所述程序还包括用于执行以下操作的指令:从用户日志中提取上下文行为特征;以及获取所述目标模型的损失反馈;以及根据所述上下文行为特征和所述损失反馈,构建所述样本模型。
在一个可能的示例中,所述上下文行为特征包括:
所述线上***在通过目标模型向移动终端的预设应用推荐预设信息之前,获取到的所述移动终端记录的第一交互信息;和/或,
所述线上***在通过目标模型向移动终端的预设应用推荐预设信息之前,获取到的所述移动终端记录的第二交互信息,交互信息包括操作类型、操作时长。
在一个可能的示例中,在所述获取所述目标模型的损失反馈方面,所述程序中的指令具体用于执行以下操作:接收来自线上***的所述目标模型处理预设推荐任务的预估先验结果,所述预设推荐任务为针对所述预设信息的推荐任务;以及获取所述目标模型处理所述预设推荐任务的实际后验结果;以及根据所述预估先验结果和所述实际后验结果,确定所述目标模型的损失反馈。
在一个可能的示例中,所述预估先验结果是所述线上***在获取所述目标模型处理所述预设推荐任务所需要的特征参数,并将所述特征参数和所述目标模型输入至预估器而得到;
在所述获取所述目标模型处理所述预设推荐任务的实际后验结果方面,所述程序中的指令具体用于执行以下操作:获取所述预设推荐任务的实际推荐的第一用户数量和反馈交互记录的第二用户数量;以及根据所述第一用户数量和所述第二用户数量,确定所述目标模型的实际后验结果。
图6示出了所述实施例中所涉及的模型训练装置的一种可能的功能单元组成框图。模型训练装置600应用于信息推荐***,所述信息推荐***包括线上***和线下***,所述线下***包括样本模型和所述目标模型,所述模型训练装置包括第一获取单元601、处理单元602、训练单元603和发送单元604,其中,
所述第一获取单元601,用于获取参考训练样本;
所述处理单元602,用于将所述参考训练样本输入所述样本模型,得到目标训练样本;
所述训练单元603,用于根据所述目标训练样本训练所述目标模型,得到更新后的目标模型;
所述发送单元604,用于将更新后的所述目标模型发送给所述线上***,所述更新后的所述目标模型用于所述线上***处理目标推荐任务。
可以看出,本申请实施例中,线下***首先获取参考训练样本,其次,将参考训练样本输入样本模型,得到目标训练样本,再次,根据目标训练样本训练目标模型,得到更新后的目标模型,最后,将更新后的目标模型发送给线上***,更新后的目标模型用于线上***处理目标推荐任务。可见,线下***能够通过基于机器学习算法构建的样本模型替代人工规则,通过该样本模型对参考样本数据去噪提纯,可以提升目标模型精度、提升泛化能力及可迁移能力。
在一个可能的示例中,所述模型训练装置还包括提取单元、第二获取单元和构建单元,其中,
所述提取单元,用于从用户日志中提取上下文行为特征;
所述第二获取单元,用于获取所述目标模型的损失反馈;
所述构建单元,用于根据所述上下文行为特征和所述损失反馈,构建所述样本模型。
在一个可能的示例中,所述上下文行为特征包括:
所述线上***在通过目标模型向移动终端的预设应用推荐预设信息之前,获取到的所述移动终端记录的第一交互信息;和/或,
所述线上***在通过目标模型向移动终端的预设应用推荐预设信息之前,获取到的所述移动终端记录的第二交互信息,交互信息包括操作类型、操作时长。
在一个可能的示例中,在所述获取所述目标模型的损失反馈方面,所述第一获取单元601具体用于:接收来自线上***的所述目标模型处理预设推荐任务的预估先验结果,所述预设推荐任务为针对所述预设信息的推荐任务;以及获取所述目标模型处理所述预设推荐任务的实际后验结果;以及根据所述预估先验结果和所述实际后验结果,确定所述目标模型的损失反馈。
在一个可能的示例中,所述预估先验结果是所述线上***在获取所述目标模型处理所述预设推荐任务所需要的特征参数,并将所述特征参数和所述目标模型输入至预估器而得到;
在所述获取所述目标模型处理所述预设推荐任务的实际后验结果方面,所述第一获取单元601具体用于:获取所述预设推荐任务的实际推荐的第一用户数量和反馈交互记录的第二用户数量;以及根据所述第一用户数量和所述第二用户数量,确定所述目标模型的实际后验结果。
需要注意的是,本申请装置实施例所描述的模型训练装置是以功能单元的形式呈现。这里所使用的术语“单元”应当理解为尽可能最宽的含义,用于实现各个“单元”所描述功能的对象例如可以是集成电路ASIC,单个电路,用于执行一个或多个软件或固件程序的处理器(共享的、专用的或芯片组)和存储器,组合逻辑电路,和/或提供实现上述功能的其他合适的组件。
其中,所述第一获取单元601可以是接收器,所述处理单元602和所述训练单元603可以是处理器或控制器,发送单元604可以是发送器。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如所述方法实施例中记载的任一方法的部分或全部步骤,所述计算机包括移动终端。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如所述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,所述计算机包括移动终端。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解所述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。