训练用户行为预测模型的方法和装置转让专利

申请号 : CN202010276692.8

文献号 : CN111178987B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 辛超钱浩向彪周俊

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书实施例提供一种训练用户行为预测模型的方法和装置。训练方法包括,获取全量样本,其中包括指示用户是否实施目标行为的第一标签,和指示是否在时间窗口t内实施该行为的第二标签。将各个样本输入用户行为预测模型,通过其中的第一网络部分预测用户实施目标行为的第一概率,以及通过第二网络部分针对实施了目标行为的部分用户,预测其在窗口t内实施的第二概率。将各个样本的第一概率与第一标签进行比对,以及将上述部分用户的第一概率和第二概率的乘积与第二标签比对,确定总损失,据此更新该模型。进一步地,还可以利用仅具有第二标签的短期样本,对模型进行优化,优化时固定第二网络部分,仅对第一网络部分进行更新。

权利要求 :

1.一种训练用户行为预测模型的方法,包括:

获取多个第一样本,每个第一样本包括样本特征,第一标签和第二标签,其中,所述样本特征包括,样本用户和发生关联的业务对象各自的特征;所述第一标签以第一值和第二值分别示出,在发生关联之后,所述样本用户是否针对所述业务对象实施目标行为;所述第二标签示出,所述样本用户在发生关联后的预定时间窗口内是否实施所述目标行为;

将所述多个第一样本的样本特征输入所述用户行为预测模型,所述用户行为预测模型包括第一网络部分和第二网络部分,所述第一网络部分预测各个第一样本对应的样本用户实施所述目标行为的第一概率;所述第二网络部分针对所述第一标签为第一值的若干第一样本,预测其对应的第二概率;该第二概率表示,最终实施目标行为的样本用户在所述预定时间窗口内实施该目标行为的概率;

根据所述若干第一样本对应的第一概率和第二概率的乘积,得到第三概率;

根据各个第一样本的所述第一概率与所述第一标签的比对,确定第一损失项;以及根据所述若干第一样本的第三概率与所述第二标签的比对,确定第二损失项;

根据所述第一损失项和第二损失项,确定总损失;

根据所述总损失,更新所述用户行为预测模型。

2.根据权利要求1所述的方法,其中,

所述业务对象为用户权益,所述发生关联包括领取所述用户权益,所述目标行为包括使用所述用户权益;或者:所述业务对象为商品,所述发生关联包括将商品加入购物车,所述目标行为包括,支付所述商品。

3.根据权利要求1所述的方法,其中,所述第一标签通过统计所述样本用户在发生关联后的预定时长内,是否实施目标行为而得到,所述预定时长在数量级上大于所述预定时间窗口。

4.根据权利要求1所述的方法,其中,所述用户行为预测模型还包括特征处理层,用于将各个第一样本的所述样本特征处理为特征向量;

所述第一网络部分预测各个第一样本对应的样本用户实施所述目标行为的第一概率包括,所述第一网络部分基于各个第一样本对应的各个特征向量,预测对应的第一概率;

所述第二网络部分针对所述第一标签为第一值的若干第一样本,预测其对应的第二概率包括,所述第二网络部分获取所述若干第一样本对应的若干特征向量,基于所述若干特征向量,预测对应的第二概率。

5.根据权利要求4所述的方法,其中,所述样本特征包括,所述样本用户的用户特征,和所述业务对象的对象特征;

所述特征处理层包括嵌入层,池化层和融合层,其中所述嵌入层将用户特征处理为第一嵌入向量,将对象特征处理为第二嵌入向量;所述池化层分别对第一嵌入向量和第二嵌入向量进行池化处理,得到第一池化向量和第二池化向量;所述融合层将所述第一池化向量和第二池化向量融合为所述特征向量。

6.根据权利要求1所述的方法,其中,所述第一网络部分和第二网络部分实现为多层感知机。

7.根据权利要求1-6中任一项所述的方法,还包括:

获取多个第二样本,每个第二样本包括,所述样本特征和所述第二标签;

将所述多个第二样本的样本特征输入所述用户行为预测模型,利用所述第一网络部分,预测各个第二样本对应的第一概率;利用所述第二网络部分,预测各个第二样本对应的第二概率;

根据各个第二样本对应的第一概率和第二概率的乘积,得到各个第二样本对应的第三概率;

根据各个第二样本对应的第三概率与所述第二标签的比对,确定第三损失项;

根据所述第三损失项,更新所述第一网络部分。

8.一种预测用户行为的方法,包括:

获取根据权利要求1-7中任一项的方法训练得到的用户行为预测模型;

获取目标用户和发生关联的目标业务对象构成的目标样本所对应的目标样本特征;

将所述目标样本特征输入所述用户行为预测模型,得到所述第一网络部分输出的第一概率;

基于所述第一概率,预测所述目标用户是否对所述目标业务对象实施所述目标行为。

9.一种训练用户行为预测模型的装置,包括:

第一样本获取单元,配置为获取多个第一样本,每个第一样本包括样本特征,第一标签和第二标签,其中,所述样本特征包括,样本用户和发生关联的业务对象各自的特征;所述第一标签以第一值和第二值分别示出,在发生关联之后,所述样本用户是否针对所述业务对象实施目标行为;所述第二标签示出,所述样本用户在发生关联后的预定时间窗口内是否实施所述目标行为;

第一预测单元,配置为将所述多个第一样本的样本特征输入所述用户行为预测模型,所述用户行为预测模型包括第一网络部分和第二网络部分,所述第一网络部分预测各个第一样本对应的样本用户实施所述目标行为的第一概率;所述第二网络部分针对所述第一标签为第一值的若干第一样本,预测其对应的第二概率;该第二概率表示,最终实施目标行为的样本用户在所述预定时间窗口内实施该目标行为的概率;

第一结果确定单元,配置为根据所述若干第一样本对应的第一概率和第二概率的乘积,得到第三概率;

损失项确定单元,配置为根据各个第一样本的所述第一概率与所述第一标签的比对,确定第一损失项;以及根据所述若干第一样本的第三概率与所述第二标签的比对,确定第二损失项;

总损失确定单元,配置为根据所述第一损失项和第二损失项,确定总损失;

第一更新单元,配置为根据所述总损失,更新所述用户行为预测模型。

10.根据权利要求9所述的装置,其中,

所述业务对象为用户权益,所述发生关联包括领取所述用户权益,所述目标行为包括使用所述用户权益;或者:所述业务对象为商品,所述发生关联包括将商品加入购物车,所述目标行为包括,支付所述商品。

11.根据权利要求9所述的装置,其中,所述第一标签通过统计所述样本用户在发生关联后的预定时长内,是否实施目标行为而得到,所述预定时长在数量级上大于所述预定时间窗口。

12.根据权利要求9所述的装置,其中,所述用户行为预测模型还包括特征处理层,用于将各个第一样本的所述样本特征处理为特征向量;

所述第一网络部分用于,基于各个第一样本对应的各个特征向量,预测对应的第一概率;

所述第二网络部分用于,获取所述若干第一样本对应的若干特征向量,基于所述若干特征向量,预测对应的第二概率。

13.根据权利要求12所述的装置,其中,所述样本特征包括,所述样本用户的用户特征,和所述业务对象的对象特征;

所述特征处理层包括嵌入层,池化层和融合层,其中所述嵌入层用于将用户特征处理为第一嵌入向量,将对象特征处理为第二嵌入向量;所述池化层用于分别对第一嵌入向量和第二嵌入向量进行池化处理,得到第一池化向量和第二池化向量;所述融合层用于将所述第一池化向量和第二池化向量融合为所述特征向量。

14.根据权利要求9所述的装置,其中,所述第一网络部分和第二网络部分实现为多层感知机。

15.根据权利要求9-14中任一项所述的装置,还包括:

第二样本获取单元,配置为获取多个第二样本,每个第二样本包括,所述样本特征和所述第二标签;

第二预测单元,配置为将所述多个第二样本的样本特征输入所述用户行为预测模型,利用所述第一网络部分,预测各个第二样本对应的第一概率;利用所述第二网络部分,预测各个第二样本对应的第二概率;

第二结果确定单元,配置为根据各个第二样本对应的第一概率和第二概率的乘积,得到各个第二样本对应的第三概率;

第三损失确定单元,配置为根据各个第二样本对应的第三概率与所述第二标签的比对,确定第三损失项;

第二更新单元,配置为根据所述第三损失项,更新所述第一网络部分。

16.一种预测用户行为的装置,包括:

模型获取单元,配置为获取根据权利要求9-15中任一项的装置训练得到的用户行为预测模型;

样本特征获取单元,配置为获取目标用户和发生关联的目标业务对象构成的目标样本所对应的目标样本特征;

输入单元,配置为将所述目标样本特征输入所述用户行为预测模型,得到所述第一网络部分输出的第一概率;

预测单元,配置为基于所述第一概率,预测所述目标用户是否对所述目标业务对象实施所述目标行为。

17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。

18.一种训练用户行为预测模型的计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。

19.一种预测用户行为的计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求8所述的方法。

说明书 :

训练用户行为预测模型的方法和装置

技术领域

[0001] 本说明书一个或多个实施例涉及机器学习领域,尤其涉及训练用户行为预测模型的方法和装置。

背景技术

[0002] 在互联网环境中,存在大量的用户对业务对象的操作行为,例如用户浏览页面时对页面区块的点击行为,在电商平台中针对某个商品的支付行为,等等。在许多场景下,需要对用户的操作行为进行分析和预测,从而为用户提供更好的服务。例如,根据对点击对象的预测,可以向用户推荐更适合用户的内容,从而为用户提供定制化的服务;又例如,根据对用户访问网站时间的预测,可以预先确定流量高峰,从而提前部署好网络环境。因此,希望借助于机器学习的方式,对用户行为进行分析和预测。
[0003] 然而,有些用户行为具有一定的延迟性。例如,在向用户推送一定的用户权益(例如会员注册码),且用户领取该用户权益之后,可能过一段时间用户才会使用该用户权益。又例如,在用户将商品加入购物车之后,可能过一段时间才会真正针对该商品进行支付。再例如,在向用户推送一些推荐内容之后,可能需要过一段时间,用户才会对推荐内容点击、查看和阅读。
[0004] 在以上几种情况中,往往延迟的用户行为才是真正要分析的用户行为。但是这样的延迟性,为采用机器学习分析和预测用户行为带来很大困难。一方面,机器学习模型的训练需要大量的标注数据。而由于要分析的用户行为的延迟性,标注数据的采集需要很长的时间周期,因此标注数据采集更加困难,可用于训练的数据较少。另一方面,由于以上的延迟性,使得机器学习模型很难适用于对时效性要求较高的场景中。
[0005] 由此,希望能有改进的方案,更为有效地对具有延迟性的用户行为进行分析和预测。

发明内容

[0006] 本说明书一个或多个实施例描述了一种训练用户行为预测模型的方法和装置,可以针对有延迟性的目标行为,进行更准确的分析和预测。
[0007] 根据第一方面,提供了一种训练用户行为预测模型的方法,包括:
[0008] 获取多个第一样本,每个第一样本包括样本特征,第一标签和第二标签,其中,所述样本特征包括,样本用户和发生关联的业务对象各自的特征;所述第一标签以第一值和第二值分别示出,在发生关联之后,所述样本用户是否针对所述业务对象实施目标行为;所述第二标签示出,所述样本用户在发生关联后的预定时间窗口内是否实施所述目标行为;
[0009] 将所述多个第一样本的样本特征输入所述用户行为预测模型,所述用户行为预测模型包括第一网络部分和第二网络部分,所述第一网络部分预测各个第一样本对应的样本用户实施所述目标行为的第一概率;所述第二网络部分针对所述第一标签为第一值的若干第一样本,预测其对应的第二概率;该第二概率表示,最终实施目标行为的样本用户在所述预定时间窗口内实施该目标行为的概率;
[0010] 根据所述若干第一样本对应的第一概率和第二概率的乘积,得到第三概率;
[0011] 根据各个第一样本的所述第一概率与所述第一标签的比对,确定第一损失项;以及根据所述若干第一样本的第三概率与所述第二标签的比对,确定第二损失项;
[0012] 根据所述第一损失项和第二损失项,确定总损失;
[0013] 根据所述总损失,更新所述用户行为预测模型。
[0014] 在具体实施例中,业务对象可以是用户权益,所述发生关联包括领取所述用户权益,所述目标行为包括使用所述用户权益;或者:业务对象可以是商品,所述发生关联包括将商品加入购物车,所述目标行为包括,支付所述商品。
[0015] 在一个实施例中,所述第一标签通过统计所述样本用户在发生关联后的预定时长内,是否实施目标行为而得到,所述预定时长在数量级上大于所述预定时间窗口。
[0016] 根据一个实施例,用户行为预测模型还包括特征处理层,用于将各个第一样本的所述样本特征处理为特征向量;相应的,所述第一网络部分基于各个第一样本对应的各个特征向量,预测对应的第一概率;所述第二网络部分获取所述若干第一样本对应的若干特征向量,基于所述若干特征向量,预测对应的第二概率。
[0017] 进一步的,在一个实施例中,样本特征可以包括,所述样本用户的用户特征,和所述业务对象的对象特征;所述特征处理层包括嵌入层,池化层和融合层,其中所述嵌入层将用户特征处理为第一嵌入向量,将对象特征处理为第二嵌入向量;所述池化层分别对第一嵌入向量和第二嵌入向量进行池化处理,得到第一池化向量和第二池化向量;所述融合层将所述第一池化向量和第二池化向量融合为所述特征向量。
[0018] 根据一个实施例,所述第一网络部分和第二网络部分实现为多层感知机。
[0019] 根据一种实施方式,上述方法还包括:
[0020] 获取多个第二样本,每个第二样本包括,所述样本特征和所述第二标签;
[0021] 将所述多个第二样本的样本特征输入所述用户行为预测模型,利用所述第一网络部分,预测各个第二样本对应的第一概率;利用所述第二网络部分,预测各个第二样本对应的第二概率;
[0022] 根据各个第二样本对应的第一概率和第二概率的乘积,得到各个第二样本对应的第三概率;
[0023] 根据各个第二样本对应的第三概率与所述第二标签的比对,确定第三损失项;
[0024] 根据所述第三损失项,更新所述第一网络部分。
[0025] 根据第二方面,提供了一种预测用户行为的方法,包括:
[0026] 获取根据第一方面的方法训练得到的用户行为预测模型;
[0027] 获取目标用户和发生关联的目标业务对象构成的目标样本所对应的目标样本特征;
[0028] 将所述目标样本特征输入所述用户行为预测模型,得到所述第一网络部分输出的第一概率;
[0029] 基于所述第一概率,预测所述目标用户是否对所述目标业务对象实施所述目标行为。
[0030] 根据第三方面,提供了一种训练用户行为预测模型的装置,包括:
[0031] 第一样本获取单元,配置为获取多个第一样本,每个第一样本包括样本特征,第一标签和第二标签,其中,所述样本特征包括,样本用户和发生关联的业务对象各自的特征;所述第一标签以第一值和第二值分别示出,在发生关联之后,所述样本用户是否针对所述业务对象实施目标行为;所述第二标签示出,所述样本用户在发生关联后的预定时间窗口内是否实施所述目标行为;
[0032] 第一预测单元,配置为将所述多个第一样本的样本特征输入所述用户行为预测模型,所述用户行为预测模型包括第一网络部分和第二网络部分,所述第一网络部分预测各个第一样本对应的样本用户实施所述目标行为的第一概率;所述第二网络部分针对所述第一标签为第一值的若干第一样本,预测其对应的第二概率;该第二概率表示,最终实施目标行为的样本用户在所述预定时间窗口内实施该目标行为的概率;
[0033] 第一结果确定单元,配置为根据所述若干第一样本对应的第一概率和第二概率的乘积,得到第三概率;
[0034] 损失项确定单元,配置为根据各个第一样本的所述第一概率与所述第一标签的比对,确定第一损失项;以及根据所述若干第一样本的第三概率与所述第二标签的比对,确定第二损失项;
[0035] 总损失确定单元,配置为根据所述第一损失项和第二损失项,确定总损失;
[0036] 第一更新单元,配置为根据所述总损失,更新所述用户行为预测模型。
[0037] 根据第四方面,提供了一种预测用户行为的装置,包括:
[0038] 模型获取单元,配置为获取根据第三方面的装置训练得到的用户行为预测模型;
[0039] 样本特征获取单元,配置为获取目标用户和发生关联的目标业务对象构成的目标样本所对应的目标样本特征;
[0040] 输入单元,配置为将所述目标样本特征输入所述用户行为预测模型,得到所述第一网络部分输出的第一概率;
[0041] 预测单元,配置为基于所述第一概率,预测所述目标用户是否对所述目标业务对象实施所述目标行为。
[0042] 根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面所述的方法。
[0043] 根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
[0044] 根据本说明书实施例提供的方法和装置,利用全量样本数据集,同时对用户是否实施目标行为的概率,和实施目标行为的时间延迟性进行了建模。利用对时间延迟性的建模,可以在后续利用短期样本对用户行为预测模型进行再训练和优化。如此,一方面,可以基于较少的全量样本最终得到预测性能优异的用户行为预测模型,另一方面,在后续模型优化中由于仅需采集短期样本,也极大地提升了模型的时效性。

附图说明

[0045] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0046] 图1为本说明书披露的一个实施例的实施场景示意图;
[0047] 图2示出根据一个实施例的训练用户行为识别模型的方法;
[0048] 图3示出根据一个实施例的用户行为预测模型的结构示意图;
[0049] 图4示出根据一个实施例对用户行为训练模型进行优化的过程;
[0050] 图5示出根据一个实施例的预测用户行为的方法流程图;
[0051] 图6示出根据一个实施例的用户行为预测模型的训练装置的示意性框图;
[0052] 图7示出根据一个实施例的用户行为预测装置的示意性框图。

具体实施方式

[0053] 下面结合附图,对本说明书提供的方案进行描述。
[0054] 图1为本说明书披露的一个实施例的实施场景示意图。如最上方的图示,用户可以通过某种预设行为与业务对象发生关联。简单起见,下文中又将这样的预设行为称为关联行为。在这之后,用户可能针对该关联的业务对象实施后续的操作行为,该后续的有延迟的操作行为是要分析的目标行为。
[0055] 例如,在一个例子中,业务对象可以是推送的用户权益(例如,会员注册码,红包,折扣券)。一旦用户领取该用户权益,用户即与该用户权益发生了关联。对应地,要分析的目标行为是用户使用或称为核销该用户权益。
[0056] 在另一例子中,业务对象可以是一件商品。用户将商品加入购物车的行为,使得用户与该商品发生了关联。目标行为是,用户针对该商品进行支付的操作行为。还存在其他的目标行为具有延迟性的例子,在此不一一枚举。
[0057] 如果要对目标行为进行建模和机器学习,一般需要采集大量训练样本,其中包括对用户实施目标行为的情况进行标注的标注数据。然而,如前所述,该目标行为通常在关联到特定业务对象之后的一段时间才会发生,具有一定延迟性。将用户与业务对象关联的时间记为0时刻的话,目标行为发生的时间有时候会在几天,几个星期,甚至一个月的时长。这为训练样本的采集和模型的训练带来挑战。
[0058] 而发明人研究发现,为了构建和训练用户行为预测模型,可以将用户实施目标行为的延迟时间,作为建模的一个辅助因素。具体地,假定获取到用户实施目标行为的准确标注数据需要较长的时间T,在采集样本数据时,除了获取用户在T时长内是否实施目标行为的标注数据,还获取在相对较短的一个时间窗口t内,用户是否实施目标行为的标注数据,如图1中长期全量数据集所示。通过比照t时间窗口内和T时长内实施目标行为的标注数据,可以对用户实施目标行为的延迟时间进行建模分析。如此,后续可以仅采集较短时间窗口t内的标注数据(如阴影部分数据块所示的短期数据集),利用对延迟时间的建模,进一步优化模型,得到最终的用户行为预测模型。
[0059] 以上构思是基于发明人以下的分析。
[0060] 假定在不存在延迟的情况下,对于已经发生关联的用户和业务对象构成的样本i,可以获取到样本特征xi和用户是否实施目标行为的准确标签yi,即训练数据为(xi,yi),那么为了对用户行为进行预测,可以基于该训练数据训练一个模型,来预测概率P(yi=1|xi),其中yi=1表示用户实施目标行为。
[0061] 而在目标行为存在延迟的场景下,假定只能获取样本xi在一个较短时间窗口t以内的标签zi,即训练数据为(xi,zi),如图1中斜线阴影数据块所示。t时间内获取到的标签是否准确需要放在更长时间维度上去衡量,假设能够获取准确标签的时间为T,该时间中获取的准确标签仍然记为yi。由于t
[0062] 根据贝叶斯概率统计学知识,可以发现这两个概率可以通过以下公式联系起来:
[0063] P(zi=1|xi) = P(yi=1|xi) * P(zi=1|xi,yi=1)                  (1)[0064] 其中,P(zi=1|xi,yi=1)表示,用户在最终实施目标行为的情况下,在时间窗口t内发生目标行为的概率。这一概率反应了用户自身的行为规律,即用户愿意实施目标行为,不一定会立即实施,而会存在一定的延迟规律。P(zi=1|xi,yi=1)可以完成对该延迟时间规律的建模。
[0065] 基于对延迟时间规律的建模,就可以将较短时间窗口t内采集的标注数据与较长时间T内的数据进行关联,基于较短时间的标注数据,优化对长期行为的建模预测,从而得到优化的用户行为预测模型。
[0066] 下面描述以上构思的具体实现方式。
[0067] 图2示出根据一个实施例的训练用户行为识别模型的方法。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图2所示,训练用户行为识别模型的方法至少包括以下步骤。
[0068] 在步骤21,获取多个全量样本,每个全量样本包括样本特征xi,第一标签yi和第二标签zi,其中,样本特征xi包括,样本用户和发生关联的业务对象各自的特征;第一标签yi示出,在发生关联之后,样本用户是否针对业务对象实施了目标行为;第二标签zi示出,所述样本用户在发生关联后的预定时间窗口t内是否实施所述目标行为。在下文中,全量样本又可称为长期样本,或第一样本。
[0069] 具体的,当某个用户通过预设的关联行为与某个业务对象发生关联,该用户与该业务对象形成的用户-业务对象对,即可作为一个样本,其中的用户可称为样本用户。例如,当用户领取一项用户权益,则由用户和用户权益构成一个样本。当用户将一件商品加入购物车,则由用户和该商品构成一个样本。又或者,当用户接收到推送的一篇文章,或推荐的一首音乐,用户和该文章或音乐构成一个样本。
[0070] 相应的,如此形成的样本所对应的样本特征xi可以包括,样本用户的用户特征,以及业务对象的对象特征。用户特征可以包括,用户的基本属性特征,例如年龄,性别,注册时长,教育程度等,用户的历史行为特征,例如,最近浏览历史,最近购物历史等,还可以包括基于原始特征数据进行统计得到的累积特征,例如,最近一周的交易次数,最近10天的支付总额,等等。业务对象在不同场景下有所不同,对应的对象特征也有所不同。例如,在业务对象为用户权益的情况下,对象特征可以包括,用户权益的额度(例如优惠卷面值),用户权益的使用渠道(例如通过某种银行卡支付才可使用),用户权益的使用范围,等等。在业务对象为一件商品的情况下,对象特征可以包括,该商品的类别,销量,价格,等等。其他业务对象对应具有相应的对象特征,不再一一进行说明。
[0071] 针对样本用户和业务对象形成的样本i,其第一标签yi示出,样本用户是否针对业务对象实施了目标行为。在一个实施例中,该第一标签yi通过统计样本用户在发生关联后,足够长的时间T内是否实施目标行为而得到,因此可以认为是是否实施目标行为的准确标签。该足够长的时间T针对不同业务场景可以有不同的设定。在一个实施例中,针对特定业务对象实施目标行为有时间限制,例如,用户领取的红包有使用期限,在这样的情况下,上述足够长的时间T可以对应于上述时间限制。在某些情况下,实施目标行为没有明确的时间限制,那么可以根据具体的业务场景,设置该时间T的时长。例如,在一些电商平台中,用户将商品加入购物车后,并没有明确的支付时间限制。此时可以根据经验设置该时间T,例如,设置为3个月,使得该时间T内收集的数据基本等于准确标签。
[0072] 一般地,第一标签yi可以以两个标签值,第一值和第二值,分别表示样本用户是否实施了目标行为。通常,第一值取1,表示样本用户实施了目标行为,第二值取0,表示没有实施目标行为。当然,第一值和第二值也可以有其他取值方式。以下以第一值取1为例进行描述。
[0073] 第二标签zi则用于示出,样本用户在发生关联后的一个较短的时间窗口t内是否实施了目标行为。一般地,这里的时间窗口t远远小于前述较长的时间T,具体可以比前述时长T小预定的数量级。例如,当前述较长时长T为7天,时间窗口t可以为几个小时;当前述的较长时长T为一个月,时间窗口t可以为1天。
[0074] 由此,在步骤21,可以获得由N个全量样本构成的全量训练数据集S={xi,yi|i=1,2,…,N}。
[0075] 接着,在步骤22,将各个全量样本的样本特征xi输入用户行为预测模型。用户行为预测模型可设计为包括第一网络部分和第二网络部分,第一网络部分预测各个全量样本对应的样本用户实施目标行为的第一概率P1;第二网络部分则针对N个全量样本中第一标签为第一值的若干样本,预测其对应的第二概率P2;该第二概率P2表示,最终实施目标行为的样本用户在前述预定时间窗口t内实施该目标行为的概率。由此,第一网络部分用于对用户最终是否实施目标行为进行建模,P1= P(yi=1|xi);第二网络部分用于对样本用户实施目标行为的延迟性进行建模,得到的第二概率P2=P(zi=1|xi,yi=1)表示,最终实施目标行为的用户有多大概率在前述时间窗口t内就实施目标行为。
[0076] 用户行为预测模型,以及上述的第一网络部分和第二网络部分可以采用多种结构实现。图3示出根据一个实施例的用户行为预测模型的结构示意图。如图3所示,该实施例中的用户行为预测模型包括左侧的第一网络部分,右侧的第二网络部分,以及共享的特征处理层。特征处理层用于将样本特征xi处理为特征向量Ei,第一网络部分和第二网络部分分别基于该特征向量Ei,预测对应的第一概率P1和第二概率P2。
[0077] 更具体的,在一个实施例中,特征处理层可以包括嵌入层,池化层和融合层。嵌入层用于将输入的样本特征xi中的各个特征项编码为各个嵌入向量。编码过程可以采用,one-hot独热编码,基于预先建立的查找表进行编码,或者采用已有的嵌入模型或嵌入工具(例如word2vec)进行编码,等等。在样本特征xi包括用户特征和对象特征的情况下,嵌入层可以将各项用户特征编码处理为各个第一嵌入向量,将各项对象特征处理为各个第二嵌入向量。
[0078] 池化层用于对各个嵌入向量进行池化操作,例如采用最大池化,平均池化等方式。在以上嵌入层分别嵌入得到各个第一嵌入向量和各个第二嵌入向量的情况下,池化层可以通过对各个第一嵌入向量进行池化处理,得到第一池化向量;对各个第二嵌入向量进行池化处理,第二池化向量。然后,融合层将上述第一池化向量和第二池化向量进行融合,得到最终表征样本i的特征向量Ei。具体的,融合层可以将第一池化向量和第二池化向量相拼接,得到特征向量。或者,也可以采用其他融合方式,例如,按位相乘,相加,等等。
[0079] 以上结合图3的示例描述了特征处理层的具体处理过程。然而,特征处理层可以采用更多种方式实现。例如,在一个例子中,池化层可以对嵌入层得到的各个嵌入向量统一进行池化,将得到的池化向量作为特征向量Ei,此时,可以省去融合层。在另一例子中,特征处理层可以采用深度神经网络DNN来实现,逐层神经元地对各项特征进行处理,得到特征向量Ei。对于特征处理层的各种实现方式,在此不做限定。
[0080] 在特征处理层处理得到各个样本对应的特征向量的基础上,第一网络部分基于全量训练数据集S中各个样本i对应的各个特征向量Ei,预测该样本对应的第一概率P1,即,该样本中样本用户实施目标行为的概率P(yi=1|xi)。
[0081] 具体的,第一网络部分可以实现为多层感知机,对特征向量Ei进行进一步多层处理。在输出层,利用例如softmax函数,针对各个样本计算得到第一概率P1。
[0082] 另一方面,可以获取全量训练数据集S中,第一标签yi为第一值(例如yi=1)的部分样本,该部分样本对应于实施了目标行为的样本用户。将这部分样本对应的特征向量输入第二网络部分,由第二网络部分针对这部分样本,预测其第二概率P2,即预测最终实施目标行为的样本用户在前述预定时间窗口t内实施该目标行为的概率。因此,可以认为,第二网络部分用于对用户实施目标行为的延迟性进行建模和预测。
[0083] 在一个实施例中,第二网络部分可以具有与第一网络部分相同的网络结构,例如,也实现为多层感知机,但是具有不同的模型参数。在另一实施例中,第二网络部分可以具有与第一网络部分不同的网络结构和实现机制。
[0084] 由此,第一网络部分针对全量训练数据集S中各个样本,预测其样本用户实施目标行为的概率P1= P(yi=1|xi);第二网络部分对前述数据集中实施了目标行为的样本用户,预测其实施目标行为的时间落在前述时间窗口t内的概率,得到P2=P(zi=1|xi,yi=1)。
[0085] 在此基础上,在步骤23,根据实施了目标行为的部分样本用户(即第一标签值为第一值的样本)对应的第一概率和第二概率的乘积,得到第三概率。根据前述公式(1),可以得到:
[0086] P3=P1*P2=P(yi=1|xi) * P(zi=1|xi,yi=1)=P(zi=1|xi)              (2)[0087] 由此,可以看到,第一概率是对全量样本中第一标签的标签值的预测,而第三概率是对全量样本中第二标签的标签值的预测。
[0088] 于是,在步骤24,根据训练数据集S中各个样本对应的第一概率与第一标签的比对,确定第一损失项L1;并根据上述部分样本的第三概率与第二标签的比对,确定第二损失项L2。
[0089] 然后,在步骤25,根据上述第一损失项L1和第二损失项L2,确定总损失L。具体的,可以将总损失L确定为第一损失项L1和第二损失项L2的求和,加权求和等。例如:在一个例子中,总损失L确定为:
[0090] L=λ*L1+(1-λ)*L2                                          (3)[0091] 其中,λ为预设的权重系数。
[0092] 可以理解,第一损失项L1依赖于第一概率P1,进而依赖于第一网络部分的参数;第二损失项L2依赖于第三概率P3,而第三概率P3是第一概率和第二概率的乘积,因此,第二损失项L2同时依赖于第一网络部分的参数和第二网络部分的参数。通过调节公式(3)中的权重系数,可以调节总损失中第一网络部分和第二网络部分的模型参数因素占比。
[0093] 接着,在步骤26,可以根据上述总损失L,更新用户行为预测模型,也就是,在总损失L减小的方向,调整第一网络部分和第二网络部分的参数。
[0094] 通过以上过程,利用全量样本数据集S,同时对用户是否实施目标行为的概率P1和实施目标行为的时间延迟性P2进行了建模。或者说,在以上阶段,用户行为预测模型作为一个多任务预测模型,对相互关联的两个任务标签,即第一标签和第二标签,同时进行预测。基于全量样本数据集对该多任务模型的训练,可以得到一个初步训练的用户行为预测模型。
[0095] 根据一个实施例,基于该初步训练的用户行为预测模型,可以利用大量的短期样本(或称为非全量样本),对该用户行为预测模型进行再训练,从而对模型进行优化。图4示出根据一个实施例对用户行为训练模型进行优化的过程。如图4所示,优化过程包括以下步骤。
[0096] 在步骤41,获取短期样本集,其中每个短期样本包括,由发生关联的样本用户和业务对象构成的样本所对应的样本特征xi,以及第二标签zi,第二标签示出,对应样本用户是否在前述预定的时间窗口t内实施目标行为。由此,由M个短期样本构成的短期样本集可以表示为:D={xi,zi|i=1,2,…,M}。
[0097] 可以看到,短期样本中的样本特征和第二标签的含义与全量样本相同,只是短期样本缺乏需要较长时间才能采集的第一标签。因此,与全量样本相对照地,短期样本又可称为非全量样本,或第二样本。
[0098] 然后,在步骤42,将各个短期样本的样本特征xi输入初步训练的用户行为预测模型,利用第一网络部分,预测各个短期样本对应的第一概率P1;利用第二网络部分,预测各个短期样本对应的第二概率P2,其中第一概率P1和第二概率P2的含义与前述相同。
[0099] 然后,在步骤43,根据各个短期样本对应的第一概率P1和第二概率P2的乘积,得到各个短期样本对应的第三概率P3。如前所述,第三概率P3对应于对第二标签的预测。
[0100] 因此,在步骤44,根据各个短期样本对应的第三概率P3与第二标签的比对,确定第三损失项L3。并在步骤35,根据第三损失项L3,更新第一网络部分。
[0101] 需要理解的是,第三概率为第一概率和第二概率的乘积,因此,上述第三损失项L3依赖于第一网络部分和第二网络部分共同的运算。假定在图2的模型的初步训练阶段,已经基于全量训练数据集对用户实施目标行为的延迟性进行了建模,也就是,第二网络部分已经训练得到了可用的模型参数。那么,在利用短期样本进行模型优化的阶段,则可以固定第二网络部分的模型参数不变,根据第三损失项L3,仅仅更新第一网络部分。
[0102] 如前所述,短期样本仅需要采集样本用户在较短的时间窗口t内是否实施目标行为的标签(第二标签),因此,比较容易获得。如此,在对用户行为预测模型完成初步训练之后,可以基于大量的短期样本集,对其中的第一网络部分进行进一步优化和调参,得到更为理想的第一网络部分。而第一网络部分正是用于预测用户最终是否实施目标行为P(yi=1|xi)的网络部分,如此,可以使得第一网络部分的预测性能更为优化。
[0103] 在一个实施例中,在根据图2的方式对用户行为预测模型进行初步训练之后,可以定期地采集短期样本集,定期地根据图4的方式对模型进行优化。更具体的,在一个例子中,可以预先离线地进行用户行为预测模型的初步训练,之后,根据在线采集的短期样本集,在线地对模型进行优化。
[0104] 通过以上的方式,一方面,可以基于较少的全量样本最终得到预测性能优异的用户行为预测模型,另一方面,在后续模型优化中由于仅需采集短期样本,也极大地提升了模型的时效性。
[0105] 在得到如此训练的用户行为预测模型后,在预测和使用阶段,仅需要使用其中的第一网络部分即可。具体的,图5示出根据一个实施例的预测用户行为的方法流程图。如图5所示,预测阶段的过程如下。
[0106] 在步骤51,获取前述训练得到的用户行为预测模型。
[0107] 在步骤52,获取目标用户和发生关联的目标业务对象构成的目标样本所对应的目标样本特征X。具体的,当待测的目标用户与某个业务对象发生关联,该目标用户和发生关联的目标业务对象即构成目标样本。按照与训练阶段同样的特征采集方式,得到该目标样本的目标样本特征X。
[0108] 在步骤53,将该目标样本特征X输入前述用户行为预测模型,得到第一网络部分输出的第一概率P1。
[0109] 如前所述,第一概率P1表示对用户最终是否实施目标行为的概率预测,因此,该第一概率P1可以直接用作预测结果。即,在步骤54,基于该第一概率P1,预测目标用户是否会对目标业务对象实施目标行为。如此,实现了对用户行为的预测。
[0110] 根据又一方面的实施例,提供了一种用于训练用户行为预测模型的装置,该装置可以实现为任何具有数据存储、计算、处理能力的设备、平台或设备集群。图6示出根据一个实施例的用户行为预测模型的训练装置的示意性框图。如图6所示,该训练装置600包括:
[0111] 第一样本获取单元61,配置为获取多个第一样本,每个第一样本包括样本特征,第一标签和第二标签,其中,所述样本特征包括,样本用户和发生关联的业务对象各自的特征;所述第一标签以第一值和第二值分别示出,在发生关联之后,所述样本用户是否针对所述业务对象实施目标行为;所述第二标签示出,所述样本用户在发生关联后的预定时间窗口内是否实施所述目标行为;
[0112] 第一预测单元62,配置为将所述多个第一样本的样本特征输入所述用户行为预测模型,所述用户行为预测模型包括第一网络部分和第二网络部分,所述第一网络部分预测各个第一样本对应的样本用户实施所述目标行为的第一概率;所述第二网络部分针对所述第一标签为第一值的若干第一样本,预测其对应的第二概率;该第二概率表示,最终实施目标行为的样本用户在所述预定时间窗口内实施该目标行为的概率;
[0113] 第一结果确定单元63,配置为根据所述若干第一样本对应的第一概率和第二概率的乘积,得到第三概率;
[0114] 损失项确定单元64,配置为根据各个第一样本的所述第一概率与所述第一标签的比对,确定第一损失项;以及根据所述若干第一样本的第三概率与所述第二标签的比对,确定第二损失项;
[0115] 总损失确定单元65,配置为根据所述第一损失项和第二损失项,确定总损失;
[0116] 第一更新单元66,配置为根据所述总损失,更新所述用户行为预测模型。
[0117] 在具体实施例中,业务对象可以是用户权益,所述发生关联包括领取所述用户权益,所述目标行为包括使用所述用户权益;或者:业务对象可以是商品,所述发生关联包括将商品加入购物车,所述目标行为包括,支付所述商品。
[0118] 在一个实施例中,所述第一标签通过统计所述样本用户在发生关联后的预定时长内,是否实施目标行为而得到,所述预定时长在数量级上大于所述预定时间窗口。
[0119] 根据一种实施方式,所述用户行为预测模型还包括特征处理层,用于将各个第一样本的所述样本特征处理为特征向量。相应的,所述第一网络部分用于,基于各个第一样本对应的各个特征向量,预测对应的第一概率;所述第二网络部分用于,获取所述若干第一样本对应的若干特征向量,基于所述若干特征向量,预测对应的第二概率。
[0120] 进一步的,在一个实施例中,所述样本特征包括,所述样本用户的用户特征,和所述业务对象的对象特征;所述特征处理层包括嵌入层,池化层和融合层,其中所述嵌入层用于将用户特征处理为第一嵌入向量,将对象特征处理为第二嵌入向量;所述池化层用于分别对第一嵌入向量和第二嵌入向量进行池化处理,得到第一池化向量和第二池化向量;所述融合层用于将所述第一池化向量和第二池化向量融合为所述特征向量。
[0121] 在一个实施例中,所述第一网络部分和第二网络部分实现为多层感知机。
[0122] 根据一种实施方式,该训练装置600还包括(未示出):
[0123] 第二样本获取单元,配置为获取多个第二样本,每个第二样本包括,所述样本特征和所述第二标签;
[0124] 第二预测单元,配置为将所述多个第二样本的样本特征输入所述用户行为预测模型,利用所述第一网络部分,预测各个第二样本对应的第一概率;利用所述第二网络部分,预测各个第二样本对应的第二概率;
[0125] 第二结果确定单元,配置为根据各个第二样本对应的第一概率和第二概率的乘积,得到各个第二样本对应的第三概率;
[0126] 第三损失确定单元,配置为根据各个第二样本对应的第三概率与所述第二标签的比对,确定第三损失项;
[0127] 第二更新单元,配置为根据所述第三损失项,更新所述第一网络部分。
[0128] 通过以上装置,针对具有延迟性的目标行为,训练得到更为有效的用户行为预测模型。
[0129] 根据另一方面的实施例,提供了一种用于预测用户行为的装置,该装置可以实现为任何具有数据存储、计算、处理能力的设备、平台或设备集群。图7示出根据一个实施例的用户行为预测装置的示意性框图。如图7所示,该预测装置700包括:
[0130] 模型获取单元71,配置为获取根据图6的装置训练得到的用户行为预测模型;
[0131] 样本特征获取单元72,配置为获取目标用户和发生关联的目标业务对象构成的目标样本所对应的目标样本特征;
[0132] 输入单元73,配置为将所述目标样本特征输入所述用户行为预测模型,得到所述第一网络部分输出的第一概率;
[0133] 预测单元74,配置为基于所述第一概率,预测所述目标用户是否对所述目标业务对象实施所述目标行为。
[0134] 通过该装置,可以针对具有延迟性的目标行为,得到准确率更高的预测结果。
[0135] 根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2和图4所描述的方法。
[0136] 根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2和图4所述的方法。
[0137] 本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0138] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。