预测用户行为的方法及装置与流程

文档序号:18743286发布日期:2019-09-21 02:02阅读:149来源:国知局
预测用户行为的方法及装置与流程

本说明书实施例涉及机器学习领域,具体地,涉及一种利用机器学习模型预测用户行为的方法及装置。



背景技术:

当今,人们越来越频繁地使用服务平台向用户提供的多种多样的服务,相应地,为了提高用户的服务体验,服务平台可以选择利用预测模型对用户在使用服务时的相关行为进行预测,进而根据预测结果为用户定制服务方案。例如,新闻资讯网站可以通过预测某用户针对各类新闻板块的点击概率,确定向该用户推送的新闻资讯页面中所包括新闻板块的类别和排序。又例如,购物网站可以通过预测某用户针对某一商品的感兴趣程度,确定是否向该用户推荐该商品。

显然,希望预测模型输出的预测结果的准确性越高越好,进一步地,提高预测结果准确性的关键点之一,在于提高预测模型中特征组合的有效性。

然而,目前特征组合的有效性十分有限。因此,需要提出一种合理的方案,可以有效地进行特征组合,进而得到更加准确的预测结果。



技术实现要素:

在本说明书描述的预测用户行为的方法中,基于新设计的多层神经网络更加有效地进行特征组合,以提高预测结果的准确性。

根据第一方面,提供一种预测用户行为的方法,所述方法基于预先训练的多层神经网络而执行,所述多层神经网络中至少包括输入层,多个特征层和输出层。该方法包括:在所述输入层获取原始特征矩阵,其中包括与多个基础特征对应的多个基础特征向量,所述多个基础特征中至少包括与用户相关的用户特征;

基于所述多个基础特征向量,在所述多个特征层中逐层进行特征向量组合,具体包括:

在所述多个特征层中的当前特征层,获取上一层输出的第一特征矩阵,所述第一特征矩阵中包括第一数量N个第一特征向量;

将所述第一特征矩阵转换为第二特征矩阵,所述第二特征矩阵中包括N个第二特征向量,所述N个第二特征向量中的第i个第二特征向量,是以各个第一特征向量与第i个第一特征向量之间的关联度为权重,对各个第一特征向量的对应向量组合得到;

将所述第二特征矩阵转换为第三特征矩阵作为下一层神经网络的输入,所述第三特征矩阵中包括第二数量M个第三特征向量,所述第二数量M小于所述第一数量N;所述M个第三特征向量中的第j个第三特征向量,是利用M个N维权重向量中的第j个N维权重向量中的权重,对所述N个第二特征向量组合得到;

在所述输出层获取最终特征矩阵,基于所述最终特征矩阵,输出针对用户行为的预测结果,其中所述最终特征矩阵至少基于所述特征向量组合的结果而确定。

在一个实施例中,所述用户行为包括用户对页面信息的点击行为,所述多个基础特征还包括与所述页面信息相关的页面特征;所述用户特征包括用户年龄、用户性别、用户职业和用户住址,所述页面特征包括所述页面信息的类别、展示所述页面信息的终端类型。

在一个实施例中,所述上一层为所述输入层,所述获取上一层输出的第一特征矩阵,包括:获取所述输入层输出的所述原始特征矩阵。

在一个实施例中,所述第一特征向量、第二特征向量和第三特征向量具有相同的维度。

在一个实施例中,所述将所述第一特征矩阵转换为第二特征矩阵,包括:至少基于所述第一特征矩阵,确定关联度矩阵,所述关联度矩阵中包括N个关联度向量,所述N个关联度向量中的第i个关联度向量,由所述各个第一特征向量与第i个第一特征向量之间的关联度组成;至少基于所述关联度矩阵和所述第一特征矩阵,确定所述第二特征矩阵。

进一步地,在一个具体的实施例中,所述至少基于所述第一特征矩阵,确定关联度矩阵,包括:将所述第一特征矩阵分别乘以预先训练得到的对应于所述当前特征层的第一转换矩阵WQ和第二转换矩阵WK,得到第一中间矩阵Q和第二中间矩阵K;将所述第一中间矩阵Q乘以所述第二中间矩阵K的转置,得到待处理矩阵A;对所述待处理矩阵A进行归一化处理,得到所述关联度矩阵。

另一方面,在一个具体的实施例中,所述至少基于所述关联度矩阵和所述第一特征矩阵,确定所述第二特征矩阵,包括:将所述第一特征矩阵乘以预先训练得到的对应于所述当前特征层的第三转换矩阵WV,得到第三中间矩阵V,所述第三中间矩阵V中的第i个向量为所述第i个第一特征向量的对应向量;将所述关联度矩阵乘以所述第三中间矩阵V,得到所述第二特征矩阵。

在一个实施例中,所述将所述第二特征矩阵转换为第三特征矩阵,包括:基于预先训练得到的对应于所述当前特征层的第二数量M的参数向量中的各个参数向量,分别对所述第二特征矩阵进行计算,得到所述M个N维权重向量,组成权重矩阵;将所述权重矩阵的转置乘以所述第二特征矩阵,得到所述第三特征矩阵。

进一步地,在一个具体的实施例中,所述基于所述预先训练得到的对应于所述当前特征层的第二数量的参数向量中的各个参数向量,分别对所述第二特征矩阵进行计算,包括:将所述第二特征矩阵分别乘以所述第二数量的参数向量中的各个参数向量。

在一个实施例中,所述方法中还包括,在所述当前特征层为所述多个特征层中的最后一层的情况下,所述第三特征矩阵用于作为所述输出层的输入。

在一个实施例中,所述多层神经网络中还包括至少一个续接特征层;所述方法中还包括:

在所述当前特征层为所述多个特征层中的最后一层的情况下,所述第三特征矩阵用于作为所述至少一个续接特征层中第一个续接特征层的输入;所述最终特征矩阵基于所述第三特征矩阵和所述至少一个续接特征层而确定。

在一个实施例中,在所述当前特征层为所述多个特征层中的最后一层的情况下,所述第二数量为1。

根据第二方面,提供一种预测用户行为的装置,所述装置基于预先训练的多层神经网络而执行,所述多层神经网络中至少包括输入层,多个特征层和输出层,所述装置包括:

获取单元,配置为在所述输入层获取原始特征矩阵,其中包括与多个基础特征对应的多个基础特征向量,所述多个基础特征中至少包括与用户相关的用户特征;

组合单元,配置为基于所述多个基础特征向量,在所述多个特征层中逐层进行特征向量组合,所述组合单元具体包括:

获取模块,配置为在所述多个特征层中的当前特征层,获取上一层输出的第一特征矩阵,所述第一特征矩阵中包括第一数量N个第一特征向量;

第一转换模块,配置为将所述第一特征矩阵转换为第二特征矩阵,所述第二特征矩阵中包括N个第二特征向量,所述N个第二特征向量中的第i个第二特征向量,是以各个第一特征向量与第i个第一特征向量之间的关联度为权重,对各个第一特征向量的对应向量组合得到;

第二转换模块,配置为将所述第二特征矩阵转换为第三特征矩阵作为下一层神经网络的输入,所述第三特征矩阵中包括第二数量M个第三特征向量,所述第二数量M小于所述第一数量N;所述M个第三特征向量中的第j个第三特征向量,是利用M个N维权重向量中的第j个N维权重向量中的权重,对所述N个第二特征向量组合得到;

输出单元,配置为在所述输出层获取最终特征矩阵,基于所述最终特征矩阵,输出针对用户行为的预测结果,其中所述最终特征矩阵至少基于所述特征向量组合的结果而确定。

根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所描述的方法。

根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所描述的方法。

在本说明书实施例披露的用于预测用户行为的特征组合方法中,通过在多个特征层中对特征进行逐层组合,可以提高特征组合的有效性,进而提高预测结果的准确性。

附图说明

为了更清楚地说明本说明书披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示出根据一个实施例的用户行为预测场景下的层次特征体系示意图;

图2示出根据一个实施例的特征层中特征向量的组合过程示意图;

图3示出根据一个实施例的预测用户行为的方法流程图;

图4示出根据一个实施例的预测用户行为的装置结构图。

具体实施方式

下面结合附图,对本说明书披露的多个实施例进行描述。

本说明书实施例披露一种预测用户行为的方法,所述方法基于发明人设计的新的深度学习模型(下文中还称为预测模型,或多层神经网络)而实现,通过新的多层神经网络,可以有效地实现特征组合,进而得到具有较高准确度的预测结果。下面,首先对发明人设计新的多层神经网络的构思进行介绍,设计构思具体如下:

在预测用户行为的场景下,为了提高模型的准确性,通常会引入丰富的特征数据,同时,这些特征数据之间通常具有非线性关系。为了使模型能够完成对特征数据之间非线性关系的刻画,需要对其中部分单一特征进行组合,也就是进行特征组合。

传统的特征组合是由工程人员根据业务经验手动设计的,成本高、业务扩展性差,而且特征组合的有效性受限于工程人员自身对业务的理解。随着深度学习时代的到来,开始出现卓有成效的自动学习高阶特征组合的深度模型,如Wide&Deep、DeepFM、DCN、xDeepFM、AutoInt等,都是这方面的代表性工作,然而,其中自动学习特征组合的过程具备一定的盲目性。由此可知,现有的实现特征组合方式的有效性十分有限。

此外,发明人注意到,上述丰富的特征数据之间往往存在层次结构,例如,如图1所示,用户性别、用户年龄和用户职业等构成用户基本信息,用户做出的具体历史行为(例如,用户购买的商品种类)可以视为用户兴趣的具体表达,而用户基本信息和用户兴趣特征则构成了更高层次的用户特征表示。同时,用户特征、行为对象(如,页面信息)的特征、行为场景特征(如,可以包括展示页面信息的终端设备所在场所的场所信息)等,共同组成用户行为预测场景的特征体系。

进一步地,发明人受到如上所述的大量特征之间具有层次结构这一特点的启发,提出一种新的多层神经网络,用于实现更加有效地特征组合。具体地,多层神经网络中包括多个特征层,可以实现对特征的逐层组合,反映到实际计算中,就是对特征向量的逐层组合。如图2所示,在多个特征层中任意的第t层,获取输入矩阵Xt,再基于对应nt个向量之间的关联关系,将其中第i个特征向量xi深度表达为中间矩阵Zt中的特征向量zi,接着从nt+1(<nt)个不同的角度对Zt中的nt个特征向量进行组合,得到nt+1个特征向量,构成输出矩阵Xt+1。如此,通过多个特征层对特征进行逐层组合,可以提高特征组合的有效性,进而提高预测结果的准确性。

具体地,在对上述新的多层神经网络训练后,即可使用训练后的多层神经网络预测用户行为。相应地,本说明书披露一种基于训练后的多层神经网络进行用户行为预测的方法,需要说明的是,因所述多层神经网络的训练过程与实际使用过程类似,区别主要在于,一方面,训练时采用的样本数据(如,用户历史行为数据)同时具有样本特征和样本标签(对应于标定出的用户行为),而实际使用时采用的样本数据只具有样本特征;另一方面,训练的目的在于对多层神经网络进行调参,而在实际使用过程中不涉及调参。由此,对多次神经网络的训练过程可以参见下述对其使用过程的描述,在此不作赘述。接下来,描述用户行为预测方法的具体实施步骤。

图3示出根据一个实施例的预测用户行为的方法流程图,所述方法基于上述预先训练的多层神经网络而执行,所述多层神经网络中至少包括顺序排布的输入层、多个特征层和输出层。

如图3所示,所述方法包括以下步骤:步骤S310,在所述输入层获取原始特征矩阵,其中包括与多个基础特征对应的多个基础特征向量,所述多个基础特征中至少包括与用户相关的用户特征。步骤S320,基于所述多个基础特征向量,在所述多个特征层中逐层进行特征向量组合,进一步的,步骤S320中具体包括:步骤S321,在所述多个特征层中的当前特征层,获取上一层输出的第一特征矩阵,所述第一特征矩阵中包括第一数量N个第一特征向量;步骤S322,将所述第一特征矩阵转换为第二特征矩阵,所述第二特征矩阵中包括N个第二特征向量,所述N个第二特征向量中的第i个第二特征向量,是以各个第一特征向量与第i个第一特征向量之间的关联度为权重,对各个第一特征向量的对应向量组合得到;步骤S323,将所述第二特征矩阵转换为第三特征矩阵作为下一层神经网络的输入,所述第三特征矩阵中包括第二数量M个第三特征向量,所述第二数量M小于所述第一数量N;所述M个第三特征向量中的第j个第三特征向量,是利用M个N维权重向量中的第j个N维权重向量中的权重,对所述N个第二特征向量组合得到。步骤S330,在所述输出层获取最终特征矩阵,基于所述最终特征矩阵,输出针对用户行为的预测结果,其中所述最终特征矩阵至少基于所述特征向量组合的结果而确定。以上步骤具体如下:

首先,在步骤S310,在所述输入层获取原始特征矩阵,其中包括与多个基础特征对应的多个基础特征向量,所述多个基础特征中至少包括与用户相关的用户特征。

关于上述多个基础特征,在一个实施例中,本方法用于预测的用户行为包括用户对页面信息的点击行为,例如,是否会进行点击,或者,进行点击的概率等。相应地,上述多个基础特征中可以包括上述用户特征以及与所述页面信息相关的页面特征。

进一步的,在一个具体的实施例中,上述用户特征可以包括用户基本信息和用户兴趣。在一个例子中,所述用户基本信息可以包括用户年龄、用户性别、用户职业和用户住址等。在另一个例子中,所述用户兴趣可以包括用户在社交平台关注的公共账号所属的类别(如娱乐或时尚)、用户浏览的历史页面信息所属的类别。

另一方面,在一个具体的实施例中,上述页面特征可以包括页面信息的类别、展示所述页面信息的终端类型等。在一个例子中,上述页面信息可以为页面中的资讯板块,相应的页面特征可以包括资讯板块中的资讯类别(如体育或娱乐等),展示资讯的终端类型(如手机或电脑等)。在另一个例子中,上述页面信息可以为页面中的广告信息,相应的页面特征可以包括广告信息的类别(如服装或电器等)。

在另一个实施例中,本方法用于预测的用户行为包括用户对某项服务的使用行为,例如,是否会选择使用,或者,选择使用的概率等。相应地,上述多个基础特征中可以包括上述用户特征以及与所述某项服务相关的服务特征。在一个具体的实施例中,其中用户特征可以包括用户使用的历史服务所属的类别等。在一个具体的实施例中,所述服务特征可以包括服务类别、服务时长、服务价格、服务的限制条件,等等。

对于上述多个基础特征,其中的每个基础特征都可以用一个基础特征向量表示,并且,可以表示成相同的向量维度。由此,可以将多个基础特征对应的多个基础特征向量组成原始特征矩阵。在一个具体的实施例中,可以将n1个基础特征对应的n1个基础特征向量组成原始特征矩阵X1,其中各个基础特征向量的维度为d,因此X1满足

基于以上,可以在输入层获取原始特征矩阵。接着,在步骤S320,基于所述原始特征矩阵中包括的多个基础特征向量,在多个特征层中逐层进行向量组合。

需要说明的是,对于顺序连接的多个特征层,可以将上一特征层的输出作为下一特征层的输入。比较特殊地,对于多个特征层中排在第一个的特征层,其输入来自上述输入层,因输入层的输入和输出相同,也就是说,输入层输出的是其获取的原始特征矩阵,相应地,在第一个特征层中获取的是输入层输出的原始特征矩阵。此外,对于排在最后一个的特征层,其输出可以作为排在该特征层之后的下一层神经网络的输入。

基于此,以下将多个特征层中任意一个特征层作为当前特征层,对本步骤中通过特征层进行特征向量组合的方法进行描述,具体包括以下步骤S321-步骤S323:

首先在步骤S321,在所述多个特征层中的当前特征层,获取上一层输出的第一特征矩阵,所述第一特征矩阵中包括第一数量N个第一特征向量。

在一种情况下,当前特征层为多个特征层中的第一个特征层,上一层为输入层。相应地,可以获取输入层输出的原始特征矩阵。在另一种情况下,当前特征层不是第一个特征层,相应地,可以获取上一特征层输出的特征矩阵。如此,可以在当前特征层获取上一层输出的第一特征矩阵。

接着在步骤S322,将所述第一特征矩阵转换为第二特征矩阵,所述第二特征矩阵中包括N个第二特征向量,所述N个第二特征向量中的第i个第二特征向量,是以各个第一特征向量与第i个第一特征向量之间的关联度为权重,对各个第一特征向量的对应向量组合得到。

需要说明的是,考虑到上述第一特征矩阵中包括的N个第一特征向量(对应N个特征)之间通常不是互相独立的,而是具有关联关系。根据这一特点,发明人提出可以引入SelfAttention机制,即自注意力机制,SelfAttention机制可以用于在没有外界信息介入的情况下,寻找序列内部元素的关系,例如,在自然语言处理中,可以用于寻找一句话中各个词语之间的内部关系。由此,在本步骤S322中,基于SelfAttention机制的思想,可以根据N个第一特征向量之间的关联关系,将其转换为N个第二特征向量,从而实现对浅层特征的深层表达。

在一个具体的实施例中,第一特征矩阵转换为第二特征矩阵可以通过以下函数式表达:

上述公式(1)中,t表示当前特征层在多个特征层中的层数,Xt表示在第t层获取的第一特征矩阵,Zt表示在第t层得到的第二特征矩阵,nt表示Xt和Zt中特征向量的数量,d表示Xt和Zt中特征向量的维度。

为了方便理解,下面先介绍以第一特征矩阵中任意的第i个第一特征向量xi为出发点进行计算,得到第二特征矩阵中对应的第i个第二特征向量zi的计算过程。

在一个实施例中,首先,针对第i个第一特征向量,分别创建对应的一个query向量,一个key向量和一个value向量,以下分别简写为q、k和v。以及,针对N个第一特征向量中的其他第一特征向量,分别创建对应的一个k向量和一个v向量。向量q、k和v是通过第一特征向量乘以预先训练得到的对应于当前特征层的转换矩阵得到的。在一个具体的实施例中,对于第一特征向量xi,可以通过以下公式计算出与其对应的向量qi、ki和vi:

以上公式(2)-(4)中,WQ、WK和WV分别表示第一转换矩阵、第二转换矩阵和第三转换矩阵。由此,可以得到第一特征向量xi所对应的向量qi,以及N个第一特征向量对应的N个k向量和N个v向量。

然后,根据第一特征向量xi对N个第一特征向量中的各个特征向量进行评分,评分的分数决定了将第一特征向量xi编码为对应的第二特征向量zi时,对各个第一特征向量分配的“注意力”。具体地,将向量qi分别与各个第一特征向量对应的k向量进行点积,得到对各个第一特征向量的评分,由此可以得到对应于N个第一特征向量的N个评分。

接着对计算得到的分数进行进一步处理。在一个具体的实施例中,可以先将上述N个评分中的各个分数除以预定数值,然后将得到的N个商值进行归一化处理。在一个例子中,其中预定数值可以由工作人员根据实际情况设定,例如,可以设定为第一特征向量xi的向量维度的算术平方根等,或者所述算术平方根的预定倍数,等等。此外,归一化处理的目的是将数据映射到0-1的范围内,同时使映射后数据的和为1,以使后续的数据处理更加便捷快速。在一个具体的实施中,可以利用softmax函数实现归一化。在另一个具体的实施例中,可以直接对上述N个评分中的各个分数进行归一化处理。如此,将对N个评分进行进一步处理后的得到的N个数值作为对应的N个权值。

再然后根据上述N个权值,确定与第一特征向量xi对应的第二特征向量zi。具体地,利用针对第一特征向量xi的N个权值中的第j个权值乘以上述N个v向量中的第j个向量,其中j的取值为1至N,由此得到N个向量,再对这N个向量进行累加,从而得到第二特征向量zi。

以上,可以实现将第一特征向量xi转换为对应的第二特征向量zi,进而实现将第一特征矩阵中N个第一特征向量转换为对应的N个第二特征向量,构成第二特征矩阵。然而在实际的计算过程中,为了能够更快地处理,通常会以第一特征矩阵为出发点并采用矩阵的形式完成计算。

下面再结合具体的实施例,介绍如何以矩阵的形式完成上述的相关计算。

在一个实施例中,首先,至少基于所述第一特征矩阵,确定关联度矩阵,所述关联度矩阵中包括N个关联度向量,所述N个关联度向量中的第i个关联度向量,由所述各个第一特征向量与第i个第一特征向量之间的关联度组成;然后,至少基于所述关联度矩阵和所述第一特征矩阵,确定所述第二特征矩阵。

在一个具体的实施例中,上述至少基于所述第一特征矩阵,确定关联度矩阵,可以包括:先将第一特征矩阵分别乘以所述预先训练得到的对应于所述当前特征层的第一转换矩阵WQ和第二转换矩阵WK,得到第一中间矩阵Q和第二中间矩阵K(可参见以下公式(5)和(6));接着将所述第一中间矩阵Q乘以所述第二中间矩阵K的转置,得到待处理矩阵A(可参见以下公式(7));再对待处理矩阵A进行归一化处理,得到所述关联度矩阵(可参见以下公式(8))。根据一个例子,当前特征层为多个特征层中的第t层,具体可以通过以下公式确定关联度矩阵:

以上公式(5)-(8)中,Xt表示在第t层获取的第一特征矩阵,nt和d分别表示Xt中第一特征向量的数量和维度,和分别表示对应于第t层的第一转换矩阵和第二转换矩阵,Qt和Kt分别表示在第t层得到的第一中间矩阵和第二中间矩阵,T表示矩阵的转置,At表示在第t层得到的待处理矩阵。

在另一个具体的实施例中,上述至少基于所述第一特征矩阵,确定关联度矩阵,可以包括:将第一特征矩阵乘以第一特征矩阵的转置,得到所述关联度矩阵。

另一方面,在一个具体的实施例中,上述至少基于所述关联度矩阵和所述第一特征矩阵,确定所述第二特征矩阵,可以包括:先将所述第一特征矩阵乘以所述预先训练中得到的对应于所述当前特征层的第三转换矩阵WV,得到第三中间矩阵V,所述第三中间矩阵V中的第i个向量为所述第i个第一特征向量的对应向量(可以参见以下公式(9));再将所述关联度矩阵乘以所述第三中间矩阵V,得到所述第二特征矩阵(可以参见以下公式(10))。根据一个例子,当前特征层为多个特征层中的第t层,具体可以通过以下公式确定第二特征矩阵:

以上公式(9)-(10)中,Xt表示在第t层获取的第一特征矩阵,nt和d分别表示Xt中第一特征向量的数量和维度,表示对应于第t层的第三转换矩阵,Vt表示在第t层得到的第三中间矩阵,Zt表示在第t层得到的第二特征矩阵。

在另一个具体的实施例中,上述至少基于所述关联度矩阵和所述第一特征矩阵,确定所述第二特征矩阵,可以包括:将所述关联度矩阵乘以所述第一特征矩阵,得到所述第二特征矩阵。

以上,可以得到第二特征矩阵。然后在步骤S323,将所述第二特征矩阵转换为第三特征矩阵作为下一层神经网络的输入,所述第三特征矩阵中包括第二数量M个第三特征向量,所述第二数量M小于所述第一数量N;所述M个第三特征向量中的第j个第三特征向量,是利用M个N维权重向量中的第j个N维权重向量中的权重,对所述N个第二特征向量组合得到。

在本步骤S323中通过引入MultiHeadAttention机制(即多头注意力机制)实现特征的聚合。其中,多头注意力机制中的“多头”就是指有多组不同的加权系数,每一组加权系数代表一个角度,通过多组加权系数可以从不同角度抓住特征的不同细节。具体地,每利用一组加权系数做一次特征加权,就实现了一次特征组合,如此可以增强模型的表达能力。在一个具体的实施例中,第二特征矩阵转换为第三特征矩阵可以通过以下函数式表达:

Xt+1=Multihead-Attention(Zt),

上述公式(11)中,t表示当前特征层在多个特征层中的层数,Zt表示在第t层得到的第二特征矩阵,Xt+1表示在第t层得到的第三特征矩阵,nt表示Zt中第二特征向量的数量,nt+1表示Xt+1中第三特征向量的数量,d表示第二特征向量和第三特征向量的维度。

以下介绍本步骤S323中的具体计算过程:

在一个实施例中,可以先确定出上述M个N维权重向量;接着,分别利用其中的各个N维权重向量中的权重,对第二特征矩阵中的N个第二特征向量进行加权组合,对应得到各个第三特征向量;然后将得到的M个第三特征向量进行拼接,得到第三特征矩阵。

在一个具体的实施例中,上述确定出上述M个N维权重向量可以包括:基于预先训练得到的对应于当前特征层的第二数量M的参数向量中的各个参数向量,分别对所述第二特征矩阵进行计算,得到所述M个N维权重向量。

在一个例子中,可以通过以下公式,计算出M个N维权重向量中的任意一个N维权重向量:

上述公式(12)中,t表示当前特征层为多个特征层中的第t层,表示在第t层中的第i个N维权重向量,Zt表示在第t层得到的第二特征矩阵,表示第t层中预先训练的M个参数向量中的第i个参数向量,nt表示第二特征向量的数量,d表示第二特征向量的维度,并且,在第t层中N=nt。

在另一个例子中,还可以通过以下公式,计算出M个N维权重向量中的任意一个N维权重向量:

上述公式(13)-(14)中,t表示当前特征层为多个特征层中的第t层,Zt表示在第t层得到的第二特征矩阵,Zt′表示通过扁平化函数对矩阵Zt进行计算后得到的矩阵,表示在第t层中的第i个N维权重向量,表示第t层中预先训练的M个参数向量中的第i个参数向量。

由上可以确定出上述M个N维权重向量。接着,在一个具体的实施例中,先对各个N维权重向量分别进行归一化处理,再利用处理得到的向量对N个第二特征向量进行加权组合,得到对应得到各个第三特征向量。在一个例子中,可以通过以下公式实现对N维权重向量的归一化处理:

上述公式(15)中,表示对进行归一化处理后得到的权重向量。

在另一个具体的实施例中,可以直接利用其中的各个N维权重向量对第二特征矩阵中的N个第二特征向量进行加权组合,得到对应得到各个第三特征向量。进一步地,在一个例子中,可以通过以下公式得到M个第三特征向量中的任意一个特征向量:

上述公式(16)中,t表示当前特征层为多个特征层中的第t层,表示在第t层得到的第i个第三特征向量,表示在第t层得到的第i个维权重向量,Zt表示在第t层得到的第二特征矩阵。

由上可以得到M个第三特征向量。再对M个第三特征向量进行拼接,可以得到第三特征矩阵。在一个具体的实施例中,可以将M个d维第三特征向量拼接成M×d维的第三特征矩阵。

在另一个实施例中,可以先确定出上述M个N维权重向量,组成权重矩阵;再将权重矩阵的转置乘以所述第二特征矩阵,得到所述第三特征矩阵。在一个具体的实施例中,可以将基于上述公式(12)得到的M个N维权重向量拼接成如下的权重矩阵:

上述公式(17)中,Bt表示在第t层得到的权重矩阵;而且,在第t层中,M=nt+1,N=nt。

进一步地,可以基于以下公式计算出第三特征矩阵:

上述公式(18)中,Xt+1表示在第t层得到的第三特征矩阵,Zt表示在第t层得到的第二特征矩阵。

需要说明的是,对于多个特征层中各个特征层中第二数量,可以由工作人员根据实际情况进行设定和调整。在一个具体的实施例中,对于多个特征层中的最后一层,其中的第二数量可以为1,也就是说最后一个特征层输出的是一个特征向量。

由上可以得到第三特征矩阵,作为下一层神经网络的输入。

以上,通过将多个特征层中的各个特征层依次作为当前特征层执行上述步骤S321-步骤S323,可以实现在多个特征层中逐层进行向量组合。

然后,在步骤S330,在所述输出层获取最终特征矩阵,基于所述最终特征矩阵,输出针对用户行为的预测结果,其中所述最终特征矩阵至少基于所述特征向量组合的结果而确定。

需要说明的是,上述输出层的超参数可以由工作人员根据实际需要进行设定,包括设定其中神经单元的数量,以及神经单元的连接方式等。此外,其中的权重参数可以在训练过程中确定,用于对最终特征矩阵进行计算,以输出针对用户行为的预测结果。

在一个实施例中,在上述多层神经网络中,接在多个特征层之后的为输出层。相应地,在输出层获取的最终特征矩阵是多个特征层中的最后一层输出的矩阵。在另一个实施例中,在上述多层神经网络中,接在多个特征层之后的为至少一个续接特征层,接在所述至少一个续接特征层之后的为输出层。相应地,在输出层获取的最终特征矩阵是至少一个续接特征层中的最后一层输出的矩阵。需要说明的是,上述至少一个续接特征层可以由工作人员根据实际情况进行设定,用于对上述多个特征层中最后一个特征层输出的特征矩阵进行进一步的特征处理,在此种情况下,所述特征处理通常不同于前述多个特征层中实现的特征聚合。

基于以上,可以在输出层输出针对用户行为的预测结果。在一个具体的实施例中,预测结果可以为用户会进行点击,或者用户不会点击,或者用户进行点击的概率。在另一个具体的实施例中,预测结果可以为用户会使用该项服务或者不会使用该项服务。

综上可知,在本说明书实施例披露的预测用户行为的方法中,通过在多个特征层中对特征进行逐层组合,可以提高特征组合的有效性,进而提高预测结果的准确性。

此外,由上述实施例中描述的计算过程可知,相比于目前深度学习中涉及的上百万级别的参数量,本说明书实施例中的计算涉及的参数量大大降低,并且,针对输出层中的计算得到的任意一个数值,用于得到该数值的计算过程都是线性的,由此可以方便快捷地回溯出对于预测结果,多个基础特征中各个基础特征对预测结果的影响比重,进而使预测结果具有很高的可解释性。同时,根据影响比重,可以向用户解释出现该预测结果的原因,或者,向用户提供用于改变预测结果的建议。例如,当预测结果为用户的透支额度时,可以向用户解释决定该透支额度的各个因素的影响占比。

根据再一方面的实施例,还提供一种预测装置。图4示出根据一个实施例的预测用户行为的装置结构图,所述装置基于预先训练的多层神经网络而执行,所述多层神经网络中至少包括输入层,多个特征层和输出层。如图4所示,该装置4000包括:

获取单元4100,配置为在所述输入层获取原始特征矩阵,其中包括与多个基础特征对应的多个基础特征向量,所述多个基础特征中至少包括与用户相关的用户特征;

组合单元4200,配置为基于所述多个基础特征向量,在所述多个特征层中逐层进行特征向量组合,所述组合单元具体包括:

获取模块4210,配置为在所述多个特征层中的当前特征层,获取上一层输出的第一特征矩阵,所述第一特征矩阵中包括第一数量N个第一特征向量;

第一转换模块4220,配置为将所述第一特征矩阵转换为第二特征矩阵,所述第二特征矩阵中包括N个第二特征向量,所述N个第二特征向量中的第i个第二特征向量,是以各个第一特征向量与第i个第一特征向量之间的关联度为权重,对各个第一特征向量的对应向量组合得到;

第二转换模块4230,配置为将所述第二特征矩阵转换为第三特征矩阵作为下一层神经网络的输入,所述第三特征矩阵中包括第二数量M个第三特征向量,所述第二数量M小于所述第一数量N;所述M个第三特征向量中的第j个第三特征向量,是利用M个N维权重向量中的第j个N维权重向量中的权重,对所述N个第二特征向量组合得到;

输出单元4300,配置为在所述输出层获取最终特征矩阵,基于所述最终特征矩阵,输出针对用户行为的预测结果,其中所述最终特征矩阵至少基于所述特征向量组合的结果而确定。

在一个实施例中,所述用户行为包括用户对页面信息的点击行为,所述多个基础特征还包括与所述页面信息相关的页面特征;所述用户特征包括用户年龄、用户性别、用户职业和用户住址,所述页面特征包括所述页面信息的类别、展示所述页面信息的终端类型。

进一步的,在一个具体的实施例中,所述上一层为所述输入层,所述获取模块4210具体配置为:获取所述输入层输出的所述原始特征矩阵。

在一个具体的实施例中,所述第一特征向量、第二特征向量和第三特征向量具有相同的维度。

在一个实施例中,所述第一转换模块4220具体包括:第一确定子模块4221,配置为至少基于所述第一特征矩阵,确定关联度矩阵,所述关联度矩阵中包括N个关联度向量,所述N个关联度向量中的第i个关联度向量,由所述各个第一特征向量与第i个第一特征向量之间的关联度组成;第二确定子模块4222,配置为至少基于所述关联度矩阵和所述第一特征矩阵,确定所述第二特征矩阵。

进一步地,在一个具体的实施例中,所述第一确定子模块4221具体配置为:将所述第一特征矩阵分别乘以预先训练得到的对应于所述当前特征层的第一转换矩阵WQ和第二转换矩阵WK,得到第一中间矩阵Q和第二中间矩阵K;将所述第一中间矩阵Q乘以所述第二中间矩阵K的转置,得到待处理矩阵A;对所述待处理矩阵A进行归一化处理,得到所述关联度矩阵。

另一方面,在一个具体的实施例中,所述第二确定子模块4222具体配置为:将所述第一特征矩阵乘以预先训练得到的对应于所述当前特征层的第三转换矩阵WV,得到第三中间矩阵V,所述第三中间矩阵V中的第i个向量为所述第i个第一特征向量的对应向量;将所述关联度矩阵乘以所述第三中间矩阵V,得到所述第二特征矩阵。

在一个实施例中,所述第二转换模块4230具体包括:第一计算子模块4231,配置为基于预先训练得到的对应于所述当前特征层的第二数量M的参数向量中的各个参数向量,分别对所述第二特征矩阵进行计算,得到所述M个N维权重向量,组成权重矩阵;第二计算子模块4232,配置为将所述权重矩阵的转置乘以所述第二特征矩阵,得到所述第三特征矩阵。

进一步地,在一个具体的实施例中,所述第一计算子模块4231,具体配置为:将所述第二特征矩阵分别乘以所述第二数量的参数向量中的各个参数向量。

在一个实施例中,在所述当前特征层为所述多个特征层中的最后一层的情况下,所述第三特征矩阵用于作为所述输出层的输入。

在一个实施例中,所述多层神经网络中还包括至少一个续接特征层;在所述当前特征层为所述多个特征层中的最后一层的情况下,所述第三特征矩阵用于作为所述至少一个续接特征层中第一个续接特征层的输入;所述最终特征矩阵基于所述第三特征矩阵和所述至少一个续接特征层而确定。

在一个实施例中,在所述当前特征层为所述多个特征层中的最后一层的情况下,所述第二数量为1。

综上可知,在本说明书实施例披露的预测用户行为的装置中,通过在多个特征层中对特征进行逐层组合,可以提高特征组合的有效性,进而提高预测结果的准确性。

如上,根据又一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3所描述的方法。

根据又一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3所描述的方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1