CN111539512A - 行为预测方法、装置、电子设备及可读存储介质 - Google Patents
行为预测方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111539512A CN111539512A CN202010246661.8A CN202010246661A CN111539512A CN 111539512 A CN111539512 A CN 111539512A CN 202010246661 A CN202010246661 A CN 202010246661A CN 111539512 A CN111539512 A CN 111539512A
- Authority
- CN
- China
- Prior art keywords
- vector
- layer
- behavior
- historical
- output
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种行为预测方法、装置、电子设备及可读存储介质,所述方法包括:获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象;将历史对象和目标对象输入至一行为预测模型中,得到用户在未来时刻对目标对象实施预设行为的概率;其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本。本公开有助于提高模型的预测准确度,降低训练难度以及减小模型规模。
Description
技术领域
本公开涉及深度学习技术领域,尤其涉及一种行为预测方法、装置、电子设备及可读存储介质。
背景技术
深度学习广泛应用于预估用户行为,具体可以根据用户的历史行为序列预测用户在未来时刻可能点击的对象。其中,预测所采用的模型通常包括Embedding层(嵌入层)和MLP层(Multi-Layer Perceptron,多层感知器)。在预测时,首先Embedding层生成历史行为序列中每个历史点击对象对应的Embedding向量,然后MLP层根据每个历史点击对象对应的Embedding向量预测未来时刻可能点击的对象。
现有技术中,在将Embedding层输出的Embedding向量输入至MLP层之前,需要对其进行预处理,以从历史行为序列中挖掘用户的变化特征。常用的预处理方法包括:采用Sumpooling(求和池化)层、Average_pooling(平均池化)层、Max_pooling(最大池化)层、RNN(Recurrent Neural Network,循环神经网络)层进行预处理。
发明人对上述方案进行研究之后发现,Sum pooling层进行预处理存在较大的信息损失,对用户的变化特征的表征准确度较低,导致预测准确度较低;而在用户行为序列较大时RNN存在训练困难、模型规模较大的问题。
发明内容
本公开提供一种行为预测方法、装置、电子设备及可读存储介质,用于提高模型的预测准确度,并且避免采用RNN有助于降低训练难度以及减小模型规模。
根据本公开的第一方面,提供了一种行为预测方法,所述方法包括:
获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象;
将所述历史对象和所述目标对象输入至一所述行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率;
其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。
根据本公开的第二方面,提供了一种行为预测装置,所述装置包括:
对象信息获取模块,用于获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象;
行为预测模块,用于将所述历史对象和所述目标对象输入至一行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率;
其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。
根据本公开的第三方面,提供了一种电子设备,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述行为预测方法。
根据本公开的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述行为预测方法。
本公开提供了一种行为预测方法、装置、电子设备及可读存储介质,所述方法包括:获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象;将所述历史对象和所述目标对象输入至一行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率;其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。所述方法在计算损失值时结合对不同时刻的对象样本之间的损失,有助于提高模型的预测准确度,并且仅需要简单的预测向量并对向量进行简单加权,避免使用RNN模型,有助于降低训练难度以及减小模型规模。
附图说明
为了更清楚地说明本公开的技术方案,下面将对本公开的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开的一种实施例中的行为预测方法的步骤流程图;
图2示出了本公开的一种MLP层的结构示意图;
图3示出了本公开的行为预测模型的结构示意图;
图4示出了本公开的确定第一损失值的步骤流程图;
图5示出了本公开的输入第五向量的步骤流程图;
图6示出了本公开的输入第六向量的步骤流程图;
图7A、7B分别示出了本公开的历史对象的两种时间间隔的示意图;
图8示出了本公开的一种Transformer层的结构示意图;
图9示出了本公开的另一种Transformer层的结构示意图;
图10示出了本公开的一种Attention层的结构示意图;
图11示出了本公开的另一种Attention层的结构示意图;
图12示出了本公开的确定损失值的步骤流程图;
图13示出了本公开的一种行为预测装置的结构图;
图14示出了本公开的确定第一损失值的模块框图;
图15示出了本公开的输入第五项量的模块框图;
图16示出了本公开的输入第六项量的模块框图;
图17示出了本公开的确定损失值的模块框图;
图18示出了本公开的一种实施例中的电子设备的结构图。
具体实施方式
下面将结合本公开中的附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
实施例一
参照图1,其示出了本公开的一种实施例中的行为预测方法的步骤流程图,具体如下:
步骤101,获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象。
其中,历史行为序列可以由用户在历史时间段内实施预设行为的历史对象构成。其中,预设行为可以为点击行为或下单行为等。例如,若用户在历史时间段内先后点击的历史对象包括:PG1、PG2、PG3、PG4,从而历史行为序列可以为{PG1、PG2、PG3、PG4}。
目标对象可以为任意一个对象,从而可以根据历史对象预测用户在未来时刻是否会对目标对象实施预设行为。需要说明的是,历史对象和目标对象是同一类对象,可以为网页、商户等。
本公开可以应用于如点击行为、下单行为等的预测。
步骤102,将所述历史对象和所述目标对象输入至一行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率。
其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。
其中,行为预测模型用于预测用户在未来时刻对所述目标对象实施预设行为的概率,预设行为是代表用户对目标对象有兴趣偏好的任意行为,包括但不限于:点击行为、下单行为、收藏行为和加购行为。例如,当预设行为是点击行为时,行为预测模型用于预测用户在未来时刻对目标对象实施点击行为的概率,对于单个用户而言,用户在未来时刻对目标对象实施点击行为的概率为用户在未来时刻点击目标对象的概率,对于大量用户而言,用户在未来时刻对目标对象实施点击行为的概率体现了大量用户中在未来时刻点击目标对象的用户数比例,即CTR(Click Through Rate,点击率)。又例如,当预设行为是下单行为时,行为预测模型用于预测用户在未来时刻对目标对象实施下单行为的概率,对于单个用户而言,用户在未来时刻对目标对象实施下单行为的概率为用户在未来时刻对目标对象下单的概率,对于大量用户而言,用户在未来时刻对目标对象实施下单行为的概率体现了大量用户中在未来时刻对目标对象下单的用户数比例,即为下单率,也称为CVR(ConversionRate,转化率)。
步骤102中的标注对象用于监督训练,标注对象的标注概率是用户对实施预设行为的真实概率,当标注对象是用户真实实施过预设行为的对象时,其标注概率为1;当标注对象是用户未实施过预设行为的对象时,其标注概率可以为0。
对象样本为在训练过程中用于预测时参考的对象。进一步的,对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本。例如,在网络销售的应用场景中,对象样本为商户,若预设行为为点击行为,则第一对象子样本为被用户点击的商户,第二对象子样本为未被用户点击的商户;若预设行为为下单行为,则第一对象子样本为用户下单的商户,第二对象子样本为用户未下单的商户。可以理解,对应于行为序列样本中的每个对象样本包括第一对象子样本和第二对象子样本,历史行为序列中的每个历史对象也同样包括实施预设行为的第一历史子对象和不实施预设行为的第二历史子对象。
在本申请的实施例可以基于对象样本对行为预测模型进行训练,行为预测模型可以针对每个对象样本中的第一对象子样本生成第二向量,以及针对每个对象样本中的第二对象子样本生成第三向量,并且对于同一个对象样本,将其中的第一对象子样本的第二向量和其中的第二对象子样本的第三向量加权得到对象样本的第一向量,基于这三个向量计算损失值。具体地,对于两个具有时间顺序的对象样本:第一时刻的对象样本和第二时刻的对象样本,将第二时刻的对象样本中第一对象子样本的第二向量和第一时刻的对象样本的第一向量计算第一子损失值,以及,将第二时刻的对象样本中第二对象子样本的第三向量和第一时刻的对象样本的第一向量计算第二子损失值,并将第一子损失值和第二子损失值加权得到最终的损失值。如此,损失值不仅考虑时间顺序上的损失,还考虑了加权导致的损失值,有助于提高损失值的准确度。
在对行为预测模型训练之后,可以采用行为预测模型预测用户在未来时刻对目标对象实施预设行为的概率,目标对象通常有多个,但在输入至行为预测模型时一次仅能输入一个。例如,对于网络销售场景,目标对象可以为网络销售平台上注册的所有商户,或该用户所在位置附近的商户。从而在预测得到用户在未来时刻对所述目标对象实施预设行为的概率之后,可以根据该概率从多个目标对象中选取部分目标对象,以作为用户最有可能进行预设行为的对象。其中,部分目标对象可以为概率大于或等于预设的概率阈值的目标对象,也可以为概率最大的至少一个目标对象。
可选地,在本公开的另一种实施例中,所述行为预测模型包括:Embedding层、Transformer层、MLP层;在对所述行为预测模型进行训练时,将所述对象样本输入至所述Embedding层,所述Embedding层的输出输入至所述Transformer层,所述Transformer层的输出输入至所述MLP层,所述行为预测模型在训练时的损失值是根据第一损失值和第二损失值确定的,所述第一损失值是根据所述Transformer层输出的第一时刻的所述对象样本对应的第一向量、所述Embedding层输出的第二时刻的所述第一对象子样本对应的第二向量、所述Embedding层输出的第二时刻的所述第二对象子样本对应的第三向量确定的,所述第二损失值是根据所述标注对象的标注概率和所述MLP层输出的所述标注对象的预测概率确定的。
其中,Embedding层为嵌入层,行为预测模型的输入为嵌入层的输入,从而针对输入的信息生成向量。其中,输入的信息在应用时为历史对象和目标对象,在训练时为第一对象子样本、第二对象子样本、标注对象和标注概率。
Transformer层为转换层,用于对Embedding层输出的向量进行变换,以提取特征。
MLP层用于将Transformer层输出的向量进一步进行转换,多层感知器从下往上由多个激活层组成,激活层的总数目和类型可以设定。例如,如图2所示的MLP层的结构示意图,MLP由三个LEAKY RELU激活层和一个Sigmoid激活层组成,最下面的LEAKY RELU激活层作为MLP层的输入,Sigmoid激活层的输出作为MLP层的输出。
参照图3所示的行为预测模型的结构示意图,Embedding层位于行为预测模型的最底层,为模型的输入层,在训练时,PG11、PG12为行为序列样本中时间最早的第一对象子样本和第二对象子样本,PG21、PG22为行为序列样本中时间第二早的第一对象子样本和第二对象子样本,PGT1、PGT2为行为序列样本中时间最晚的第一对象子样本和第二对象子样本。从而Embedding层分别对PG11、PG12、PG21、PG22、…、PGT1、PGT2输出向量PGE11、PGE12、PGE21、PGE22、…、PGET1、PGET2,然后Transformer分别对PGE11、PGE12、PGE21、PGE22、…、PGET1、PGET2输出向量PGT11、PGT12、PGT21、PGT22、…、PGTT1、PGTT2,最终将PGT11、PGT12、PGT21、PGT22、…、PGTT1、PGTT2按位叠加或拼接得到的向量输入至MLP层,MLP层的输出为行为预测模型的输出。在实际应用中,通常还可以将至少一个影响预测的其它特征OF输入至Embedding层,从而Embedding层对其输出的向量为OFE,然后Transformer层对OFE输出向量OFT,最后将OFT和PGT11、PGT12、PGT21、PGT22、…、PGTT1、PGTT2按位叠加或拼接得到的向量输入至MLP层按位叠加或拼接得到的向量输入至MLP层。
对于图3的行为预测模型,本公开在计算损失值时不仅考虑了标注对象的标注概率和MLP层输出的标注对象的预测概率之间的损失得到第二损失值,还考虑了Transformer引入的损失得到第一损失值。从而得到了更加准确的损失值,有助于提高行为预测模型的预测准确度。
可选地,在本公开的另一种实施例中,参照图4所示的确定第一损失值的步骤流程图,所述第一损失值通过如下步骤103至105确定:
步骤103,根据所述Transformer层输出的第一时刻的所述对象样本对应的第一向量、所述Embedding层输出的第二时刻的所述第一对象子样本对应的第二向量,确定所述对象样本的正样本子损失值。
具体地,对于第i个行为序列样本中的第一时刻t的对象样本OBJi,t,其正样本子损失值PLOSSi,t可以根据如下公式计算得到:
PLOSSi,t=log(FUNC(Yi,t·Pi,t+1)) (1)
其中,Yi,t为Transformer层输出的OBJi,t对应的第一向量,Pi,t+1为Embedding层输出的POBJi,t+1对应的第二向量,而POBJi,t+1为第i个行为序列样本中第二时刻t+1的第一对象子样本,从而Yi,t·Pi,t+1为Yi,t和Pi,t+1的内积,FUNC为选取的任意激活函数,在本公开中,FUNC可以优选Sigmoid激活函数,从而得到如下公式:
需要说明的是,第一时刻t和第二时刻t+1之间相差1,只是代表两个时刻是用户进行预设行为的相邻两个时刻的标识相差1,即第t个时刻作为第一时刻,第t+1个时刻作为第二时刻,而并不是两个时刻的时间差1。
步骤104,根据所述Transformer层输出的第一时刻的所述对象样本对应的第一向量、所述Embedding层输出的第二时刻的所述第二对象子样本对应的第三向量,确定所述对象样本的负样本子损失值。
具体地,对于第i个行为序列样本中第一时刻t的对象样本OBJi,t,其负样本子损失值NLOSSi,t可以根据如下公式计算得到:
NLOSSi,t=log(1-FUNC(Yi,t·Ni,t+1)) (3)
其中,Ni,t+1为Embedding层输出的NOBJi,t+1对应的第三向量,而NOBJi,t+1为第i个行为序列样本中第二时刻t+1的第二对象子样本,Yi,t·Ni,t+1为Yi,t和Ni,t+1的内积,FUNC与公式(1)中的FUNC相同,对应于公式(2),FUNC为Sigmoid函数时得到如下公式:
步骤105,根据所述正样本子损失值和所述负样本子损失值确定第一损失值。
具体地,第一损失值可以根据如下公式得到:
其中,I为行为序列样本的数目,T为每个行为序列样本中包含的对象样本的数目,当然,不同的行为序列样本可以包含不同数目的对象样本。
在实际应用中,还可以基于公式(5)中的LOSS1再除以T,得到平均每个对象样本对应的第一损失值,以避免不同序列样本长度对损失值的影响。
本公开可以分别计算正样本子损失值和负样本子损失值,以得到第一损失值,其中,负样本子损失值为Transformer层引入的损失,从而有助于提高模型的预测准确度。
可选地,在本公开的另一种实施例中,参照图5所示的输入第五向量的步骤流程图,所述方法还包括步骤106至108:
步骤106,根据所述历史对象在所述历史行为序列中的位置信息生成所述历史对象的位置向量。
其中,位置信息可以唯一表示每个历史对象在每个历史行为序列中的位置。例如,位置信息可以为位置编号,对于历史行为序列{PG1、PG2、PG3、PG4、PG5},由于其中包括五个历史对象,从而可以从1开始进行位置编号,得到:PG1的位置编号为1,PG2的位置编号为2,PG3的位置编号为3,PG4的位置编号为4,PG5的位置编号为5。
位置向量为历史对象的位置信息的向量表示,其可以唯一的表示每个位置信息。在本公开的一种实施例中,针对每个历史对象的位置信息,构成该位置信息对应的位置向量的每个项可以根据如下公式计算得到:
PE2k=sin(pos/100002k/K) (6)
PE2k+1=cos(pos/100002k/K) (7)
其中,PE2k、PE2k+1分别为位置向量的偶数位置项、奇数位置项,pos为历史对象的位置信息,k为取值0至K/2之间的数,K为预设的位置向量的长度。
当k取0时,基于上述公式(7)得到位置向量的第一项:PE1=cos(pos),当k取1时,基于上述公式(6)得到位置向量的第二项:PE2=sin(pos/100002/K),以此类推,确定位置向量的K个项。
步骤107,根据所述位置向量和所述Embedding层输出的所述历史对象的第四向量,确定所述历史对象的第五向量。
具体地,可以将位置向量和第四向量拼接为第五向量。例如,若位置向量为[PE1,PE2,PE3,PE4,PE5],第四向量为[VF1,VF2,VF3,VF4,VF5],则拼接得到的第五向量可以为[PE1,PE2,PE3,PE4,PE5,VF1,VF2,VF3,VF4,VF5],或,[VF1,VF2,VF3,VF4,VF5,PE1,PE2,PE3,PE4,PE5]。
此外,也可以将位置向量和第四向量按位叠加为第五向量。例如,若位置向量为[PE1,PE2,PE3,PE4,PE5],第四向量为[VF1,VF2,VF3,VF4,VF5],则按位叠加得到的第五向量可以为[PE1+VF1,PE2+VF2,PE3+VF3,PE4+VF4,PE5+VF5]。
可以看出,拼接可以不用考虑位置向量和第四向量的长度问题,而按位叠加需要位置向量和第四向量的长度相同。
可以理解,由于历史对象和目标对象可以用唯一的标识表示,从而将历史对象和目标对象输入至行为预测模型,即为将历史对象的标识和目标对象的标识输入至行为预测模型,使得行为预测模型的Embedding层输出历史对象的第四向量为历史对象的标识对应的向量,Embedding层输出的目标对象的向量为目标对象的标识对应的向量。而历史对象的第五向量为历史对象的向量表示,综合了标识和位置两个信息。
此外,位置向量还可以按照端对端的方式学习得到,例如端对端的方式学习位置向量,本公开对位置向量的生成方法不加以限制。
步骤108,将所述历史对象的第五向量输入至所述Transformer层。
本公开可以结合位置向量生成第五向量,从而可以使得Transformer层可以结合位置信息更加准确的进行预测。
需要说明的是,在训练时对象样本也需要按照上述步骤106生成得到位置向量,并按照上述步骤107相同的方法结合Embedding层针对对象样本输出的向量生成新的向量,以输入至Transformer层。
可选地,在本公开的另一种实施例中,参照图6所示的输入第六向量的步骤流程图,所述方法还包括步骤109至111:
步骤109,根据所述历史对象和前一历史对象之间的时间间隔生成所述历史对象的时间向量。
其中,时间间隔可以用秒、分钟、或小时等表示。例如,历史对象序列为{PG1、PG2、PG3、PG4、PG5},且PG1、PG2之间的时间间隔为1小时,PG2、PG3之间的时间间隔为1小时,PG3、PG4之间的时间间隔为1小时,PG4、PG5之间的时间间隔为6天。
时间向量为每个历史对象距离前一历史对象的时间间隔的向量表示,其可以唯一的表示每个时间间隔。在本公开的一种实施例中,针对每个历史对象对应的时间间隔,构成该时间间隔对应的时间向量的每个项可以根据如下公式计算得到:
TE2j=sin(t/100002j/J) (8)
TE2j+1=cos(t/100002j/J) (9)
其中,TE2j、TE2j+1分别为时间向量的偶数位置项、奇数位置项,t为历史对象距离前一历史对象的时间间隔,j为取值0至J/2之间的数,J为预设的时间向量的长度。
当j取0时,基于上述公式(9)得到时间向量的第一项:TE1=cos(t),当j=1时,基于上述公式(8)得到时间向量的第二项:TE2=sin(t/100002/J),以此类推,确定时间向量的J个项。
步骤110,根据所述时间向量和所述Embedding层输出的所述历史对象的第四向量,确定所述历史对象的第六向量。
具体地,可以将时间向量和第四向量拼接为第六向量。例如,若时间向量为[TE1,TE2,TE3,TE4,TE5],第四向量为[VF1,VF2,VF3,VF4,VF5],则拼接得到的第六向量可以为[TE1,TE2,TE3,TE4,TE5,VF1,VF2,VF3,VF4,VF5],或,[VF1,VF2,VF3,VF4,VF5,TE1,TE2,TE3,TE4,TE5]。
此外,也可以将时间向量和第四向量按位叠加为第六向量。例如,若时间向量为[TE1,TE2,TE3,TE4,TE5],第四向量为[VF1,VF2,VF3,VF4,VF5],则按位叠加得到的第六向量可以为[TE1+VF1,TE2+VF2,TE3+VF3,TE4+VF4,TE5+VF5]。
可以看出,拼接可以不用考虑时间向量和第四向量的长度问题,而按位叠加需要时间向量和第四向量的长度相同。
可以理解,历史对象的第六向量为历史对象的向量表示,综合了标识和时间两个信息。
此外,时间向量还可以按照其余方式确定,例如端对端的方式学习时间向量,本公开对时间向量的确定方法不加以限制。
步骤111,将所述历史对象的第六向量输入至所述Transformer层。
其中,第六向量中包含了时间向量,而多个历史对象的时间向量可以表示用户偏好是否稳定。例如,如图7A所示,历史对象PG1与历史对象PG2之间的时间间隔、历史对象PG2与历史对象PG3之间的时间间隔、历史对象PG3与历史对象PG4之间的时间间隔均为1小时,而历史对象PG4与历史对象PG5之间的时间间隔为6天;如图7B所示,历史对象PG1与历史对象PG2之间的时间间隔、历史对象PG2与历史对象PG3之间的时间间隔、历史对象PG3与历史对象PG4之间的时间间隔均为1天,而历史对象PG4与历史对象PG5之间的时间间隔为3天,从而图7A中体现了用户偏好的稳定性较差,图7B中体现了用户偏好的稳定性较好。
本公开可以结合时间向量生成第六向量,从而可以使得Transformer层可以结合时间信息更加准确的进行预测。
需要说明的是,在训练时对象样本也需要按照上述步骤109相同的方法生成得到时间向量,并按照上述步骤110相同的方法结合Embedding层针对对象样本输出的向量生成新的向量,以输入至Transformer层。
在实际应用中,还可以将步骤106生成的位置向量、109生成的时间向量、以及Embedding层输出的所述历史对象的第四向量,拼接或按位叠加得到第七向量,并将第七向量输入至Transformer层,从而实现了结合时间信息、位置信息的预测,使得预测结果更准确。可以理解,历史对象的第七向量为历史对象的向量表示,综合了标识、位置和时间三个信息。
可选地,在本公开的另一种实施例中,所述第一对象子样本、所述第二对象子样本均输入至所述Embedding层,根据所述Embedding层对所述第一对象子样本的输出和对所述第二对象子样本的输出生成的向量输入至所述Transformer层。
在本公开中,每个对象样本具体包括:第一对象子样本和第二对象子样本,从而Embedding层会分别对第一对象子样本、第二对象子样本生成向量,最终将第一对象子样本的向量和第二对象子样本的向量拼接或按位叠加为一个新的向量输入至Transformer层。例如,若第一对象子样本的向量为[PGV11,PGV12,PGV13,PGV14,PGV15],第二对象子样本的向量为[PGV21,PGV22,PGV23,PGV24,PGV25],则拼接得到的新的向量可以为[PGV11,PGV12,PGV13,PGV14,PGV15,PGV21,PGV22,PGV23,PGV24,PGV25],或,[PGV21,PGV22,PGV23,PGV24,PGV25,PGV11,PGV12,PGV13,PGV14,PGV15];按位叠加得到的新的向量为[PGV11+PGV21,PGV12+PGV22,PGV13+PGV23,PGV14+PGV24,PGV15+PGV25]。
相对于传统的算法仅将第一对象子样本的向量输入至Transformer层进行训练,本公开可以结合作为正样本的第一对象子样本和作为负样本的第二对象子样本,更加准确地学习模型,以使模型可以同时结合用户实施预设行为的第一历史子对象和用户不实施预设行为的第二历史子对象,预测用户在未来时刻是否对目标对象实施预设行为,可以提高预测的准确度。
可选地,在本公开的另一种实施例中,所述Transformer层包括:至少一个Transformer单元,所述Transformer单元包括:Attention层、前馈网络层、第一叠加和归一化层、第二叠加和归一化层,所述Attention层的输入为所述Transformer单元的输入,所述Transformer单元的输入和所述Attention层的输出输入至所述第一叠加和归一化层,所述第一叠加和归一化层的输出输入至所述前馈网络层,所述前馈网络层的输出输入至所述第二叠加和归一化层,所述第二叠加和归一化层的输出作为所述Transformer单元的输出。
在本公开中,如图8所示的一种Transformer层的结构示意图,若Transformer层仅由一个Transformer单元构成,则Transformer层的输入为Transformer单元中的Attention层的输入,第二叠加和归一化层的输出为Transformer层的输出;为了提高模型的泛化能力,可以采用如图9所示的另一种Transformer层的结构示意图,其由若干个Transformer单元构成,则Transformer层的输入为第一个Transformer单元中的Attention层的输入,最后一个Transformer单元中的第二叠加和归一化层的输出为Transformer层的输出。此外,在最后一个Transformer层之后还可以设置有激活层,例如,Softmax激活层、RELU激活层等。本公开对激活层的选取不加以限制。
其中,Attention层可以采用如图10所示的SDPA(Scaled Dot-ProductAttention,缩放点积注意力)结构示意图,也可以采用如图11所示的MHA(Multi-HeadAttention,多头关注度)结构。本公开对其不加以限制。
针对图11所示的MHA结构,输出和输入的关系可以由如下公式表示:
MH=Concat(head1,...,headh,...,headH)·WH (10)
其中,MH为MHA结构输出的向量,WH为MHA结构的参数组成的矩阵,H代表头像量的数目,为可以设置的超参数,Concat(head1,...,headh,...,headH)为将1至H个头向量拼接的向量,其中,headh为如图10所示的每个SDPA结构输出的头向量,具体可以由如下公式表示:
其中,向量E为输入至Transformer层的向量,可以为Embedding层的输出,或,根据Embedding层的输出与位置向量确定的向量,或,根据Embedding层的输出与时间向量确定的向量,或,根据Embedding层的输出与时间向量、位置向量确定的向量;矩阵WQh、矩阵WKh、矩阵WVh均为Attention结构需要训练的参数组成的矩阵,数值dh为向量E·WQh和向量E·WKh之间的距离,向量E·WQh为向量E和矩阵WQh的乘积,向量E·WKh为向量E和矩阵WKh的乘积,向量(E·WKh)T为向量E·WKh的转置向量,数值(E·WQh)·(E·WKh)T为向量E·WQh和向量(E·WKh)T的乘积,向量E·WVh为向量E和矩阵WVh的乘积。Softmax为激活函数,数值作为Softmax函数的变量,从而上述公式将Softmax输出的数值与向量(E·WVh)相乘得到头向量headh。基于不同的h得到:图11中的WQ1、WK1、WV1矩阵对应头向量head1,WQH、WKH、WVH矩阵对应头向量headH。
图8或图9中的前馈网络层可以为全连接网络层,前馈网络层可以简单的认为是如下的函数:
FFN=max(0,X1·W1+B1)·W2+B2 (12)
其中,FFN为前馈网络层的输出向量,X1为前馈网络层的输入向量,W1、B1、W2和B2均为前馈网络层的参数。
可选地,在本公开的另一种实施例中,参照图12所示的确定损失值的步骤流程图,所述损失值通过如下步骤112至113确定:
步骤112,计算预设的调整系数与所述第一损失值的乘积,得到调整损失值。
其中,调整系数可以根据经验值设定和调整,用于将第一损失值调整为与第二损失值在数量级上基本相当的调整损失值。
步骤113,计算所述乘积与所述第二损失值之和,得到所述损失值。
具体地,损失值TLOSS可以根据如下公式计算得到:
TLOSS=α·LOSS1+LOSS2 (13)
其中,α为预设的调整系数,LOSS1为公式(5)计算得到的第一损失值,LOSS2为第二损失值,第二损失值可以采用交叉熵损失函数、指数损失函数、平方损失函数、绝对值损失函数、0-1损失函数等计算得到,具体在选取损失函数时与任务的目标相关。例如,由于用户是否在未来时刻对目标对象实施预设行为的目标是分类,从而可以采用交叉熵计算第二损失值,具体如下公式:
其中,I为行为序列样本的数目,yi为第i个行为序列样本中的标注对象的标注概率,yi'为行为预测模型输出的第i个行为序列样本中标注对象对应的预测概率。
可以理解,相对于同时对第一损失值和第二损失值设置调整参数,本公开的运算量较小。
本公开可以通过较小的运算量将第一损失值调整为与第二损失值在数量级上基本相当的调整损失值,从而使得两者对训练的影响相当,避免第一损失值过大或第二损失值过大,导致过小的另一个损失值影响被忽略,有助于提高模型的预测准确度。
综上所述,本公开提供了一种行为预测方法,包括:获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象;将所述历史对象和所述目标对象输入至一行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率;其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。所述方法在计算损失值时结合对不同时刻的对象样本之间的损失,有助于提高模型的预测准确度,并且仅需要简单的预测向量并对向量进行简单加权,避免使用RNN模型,有助于降低训练难度以及减小模型规模。
实施例二
参照图13,其示出了在本公开的一种实施例中的行为预测装置的结构图,具体如下:
对象信息获取模块201,用于获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象。
行为预测模块202,用于将所述历史对象和所述目标对象输入至一行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率;
其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。
可选地,在本公开的另一种实施例中,参照图14所示的确定第一损失值的模块框图,所述第一损失值通过如下正样本子损失值确定模块203、负样本子损失值模块204、第一损失值确定模块确定205:
正样本子损失值确定模块203,用于根据所述Transformer层输出的第一时刻的所述对象样本对应的第一向量、所述Embedding层输出的第二时刻的所述第一对象子样本对应的第二向量,确定所述对象样本的正样本子损失值。
负样本子损失值模块204,用于根据所述Transformer层输出的第一时刻的所述对象样本对应的第一向量、所述Embedding层输出的第二时刻的所述第二对象子样本对应的第三向量,确定所述对象样本的负样本子损失值。
第一损失值确定模块205,用于根据所述正样本子损失值和所述负样本子损失值确定第一损失值。
可选地,在本公开的另一种实施例中,参照图15所示的输入第五向量的模块框图,所述装置还包括位置向量确定模块206、第五向量确定模块207、第五向量输入模块208:
位置向量确定模块206,用于根据所述历史对象在所述历史行为序列中的位置信息生成所述历史对象的位置向量。
第五向量确定模块207,用于根据所述位置向量和所述Embedding层输出的所述历史对象的第四向量,确定所述历史对象的第五向量。
第五向量输入模块208,用于将所述历史对象的第五向量输入至所述Transformer层。
可选地,在本公开的另一种实施例中,参照图16所示的输入第六向量的模块框图,所述装置还包括时间向量确定模块209、第六向量确定模块210、第六向量输入模块211:
时间向量确定模块209,用于根据所述历史对象和前一历史对象之间的时间间隔生成所述历史对象的时间向量。
第六向量确定模块210,用于根据所述时间向量和所述Embedding层输出的所述历史对象的第四向量,确定所述历史对象的第六向量。
第六向量输入模块211,用于将所述历史对象的第六向量输入至所述Transformer层。
可选地,在本公开的另一种实施例中,所述第一对象子样本、所述第二对象子样本均输入至所述Embedding层,根据所述Embedding层对所述第一对象子样本的输出和对所述第二对象子样本的输出生成的向量输入至所述Transformer层。
可选地,在本公开的另一种实施例中,所述Transformer层包括:至少一个Transformer单元,所述Transformer单元包括:Attention层、前馈网络层、第一叠加和归一化层、第二叠加和归一化层,所述Attention层的输入为所述Transformer单元的输入,所述Transformer单元的输入和所述Attention层的输出输入至所述第一叠加和归一化层,所述第一叠加和归一化层的输出输入至所述前馈网络层,所述前馈网络层的输出输入至所述第二叠加和归一化层,所述第二叠加和归一化层的输出作为所述Transformer单元的输出。
可选地,在本公开的另一种实施例中,参照图17所示的确定损失值的模块框图,所述损失值通过如下第一损失值调整模块212、损失值计算模块213:
第一损失值调整模块212,用于计算预设的调整系数与所述第一损失值的乘积,得到调整损失值。
损失值计算模块213,用于计算所述乘积与所述第二损失值之和,得到所述损失值。
综上所述,本公开提供了一种行为预测装置,所述装置包括:对象信息获取模块,用于获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象;行为预测模块,用于将所述历史对象和所述目标对象输入至一行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率;其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。所述装置在计算损失值时结合对不同时刻的对象样本之间的损失,有助于提高模型的预测准确度,并且仅需要简单的预测向量并对向量进行简单加权,避免使用RNN模型,有助于降低训练难度以及减小模型规模。
实施例二为实施例一对应的装置实施例,详细说明可以参照实施例一,在此不再赘述。
本公开还提供了一种电子设备,参照图18,包括:处理器301、存储器302以及存储在所述存储器302上并可在所述处理器上运行的计算机程序3021,所述处理器301执行所述程序时实现前述实施例的行为预测方法。
本公开还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的行为预测方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的内容,并且上面对特定语言所做的描述是为了披露本公开的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开的行为预测设备中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的保护范围之内。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种行为预测方法,其特征在于,所述方法包括:
获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象;
将所述历史对象和所述目标对象输入至一行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率;
其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。
2.根据权利要求1所述的方法,其特征在于,所述行为预测模型包括:Embedding层、Transformer层、MLP层;在对所述行为预测模型进行训练时,将所述对象样本输入至所述Embedding层,所述Embedding层的输出输入至所述Transformer层,所述Transformer层的输出输入至所述MLP层,所述行为预测模型在训练时的损失值是根据第一损失值和第二损失值确定的,所述第一损失值是根据所述Transformer层输出的第一时刻的所述对象样本对应的第一向量、所述Embedding层输出的第二时刻的所述第一对象子样本对应的第二向量、所述Embedding层输出的第二时刻的所述第二对象子样本对应的第三向量确定的,所述第二损失值是根据所述标注对象的标注概率和所述MLP层输出的所述标注对象的预测概率确定的。
3.根据权利要求1所述的方法,其特征在于,所述第一损失值通过如下步骤确定:
根据所述Transformer层输出的第一时刻的所述对象样本对应的第一向量、所述Embedding层输出的第二时刻的所述第一对象子样本对应的第二向量,确定所述对象样本的正样本子损失值;
根据所述Transformer层输出的第一时刻的所述对象样本对应的第一向量、所述Embedding层输出的第二时刻的所述第二对象子样本对应的第三向量,确定所述对象样本的负样本子损失值;
根据所述正样本子损失值和所述负样本子损失值确定第一损失值。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
根据所述历史对象在所述历史行为序列中的位置信息生成所述历史对象的位置向量;
根据所述位置向量和所述Embedding层输出的所述历史对象的第四向量,确定所述历史对象的第五向量;
将所述历史对象的第五向量输入至所述Transformer层。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
根据所述历史对象和前一历史对象之间的时间间隔生成所述历史对象的时间向量;
根据所述时间向量和所述Embedding层输出的所述历史对象的第四向量,确定所述历史对象的第六向量;
将所述历史对象的第六向量输入至所述Transformer层。
6.根据权利要求1所述的方法,其特征在于,所述第一对象子样本、所述第二对象子样本均输入至所述Embedding层,根据所述Embedding层对所述第一对象子样本的输出和对所述第二对象子样本的输出生成的向量输入至所述Transformer层。
7.根据权利要求1所述的方法,其特征在于,所述Transformer层包括:至少一个Transformer单元,所述Transformer单元包括:Attention层、前馈网络层、第一叠加和归一化层、第二叠加和归一化层,所述Attention层的输入为所述Transformer单元的输入,所述Transformer单元的输入和所述Attention层的输出输入至所述第一叠加和归一化层,所述第一叠加和归一化层的输出输入至所述前馈网络层,所述前馈网络层的输出输入至所述第二叠加和归一化层,所述第二叠加和归一化层的输出作为所述Transformer单元的输出。
8.根据权利要求1所述的方法,其特征在于,所述损失值通过如下步骤确定:
计算预设的调整系数与所述第一损失值的乘积,得到调整损失值;
计算所述乘积与所述第二损失值之和,得到所述损失值。
9.一种行为预测装置,其特征在于,所述装置包括:
对象信息获取模块,用于获取用户的历史行为序列和一目标对象,所述历史行为序列包括至少一个历史对象;
行为预测模块,用于将所述历史对象和所述目标对象输入至一行为预测模型中,得到所述用户在未来时刻对所述目标对象实施预设行为的概率;
其中,所述行为预测模型通过多个行为序列样本预先训练得到,所述行为序列样本包括:标注对象和对应的标注概率、至少两个具有时间顺序的对象样本,所述对象样本包括作为正样本的第一对象子样本和作为负样本的第二对象子样本,在对所述行为预测模型进行训练时,对所述第一对象子样本生成第二向量,对所述第二对象子样本生成第三向量,对所述第二向量和所述第三向量加权生成所述对象样本的第一向量,训练时的损失值包括根据第一时刻的第一向量、第二时刻的第二向量和第二时刻的第三向量确定的损失值,所述第一时刻早于所述第二时刻。
10.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一项所述的行为预测方法。
11.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-8中任一项所述的行为预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010246661.8A CN111539512A (zh) | 2020-03-31 | 2020-03-31 | 行为预测方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010246661.8A CN111539512A (zh) | 2020-03-31 | 2020-03-31 | 行为预测方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111539512A true CN111539512A (zh) | 2020-08-14 |
Family
ID=71978725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010246661.8A Pending CN111539512A (zh) | 2020-03-31 | 2020-03-31 | 行为预测方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111539512A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112700277A (zh) * | 2020-12-30 | 2021-04-23 | 北京爱笔科技有限公司 | 用户行为数据的处理方法和多行为序列转化模型训练方法 |
CN113297486A (zh) * | 2021-05-24 | 2021-08-24 | 广州虎牙科技有限公司 | 一种点击率预测方法及相关装置 |
CN114742569A (zh) * | 2021-01-08 | 2022-07-12 | 广州视源电子科技股份有限公司 | 用户生命阶段预测方法、装置、计算机设备及存储介质 |
CN116703553A (zh) * | 2023-08-07 | 2023-09-05 | 浙江鹏信信息科技股份有限公司 | 金融反欺诈风险监控方法、系统及可读存储介质 |
-
2020
- 2020-03-31 CN CN202010246661.8A patent/CN111539512A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112700277A (zh) * | 2020-12-30 | 2021-04-23 | 北京爱笔科技有限公司 | 用户行为数据的处理方法和多行为序列转化模型训练方法 |
CN112700277B (zh) * | 2020-12-30 | 2024-05-28 | 北京爱笔科技有限公司 | 用户行为数据的处理方法和多行为序列转化模型训练方法 |
CN114742569A (zh) * | 2021-01-08 | 2022-07-12 | 广州视源电子科技股份有限公司 | 用户生命阶段预测方法、装置、计算机设备及存储介质 |
CN113297486A (zh) * | 2021-05-24 | 2021-08-24 | 广州虎牙科技有限公司 | 一种点击率预测方法及相关装置 |
CN113297486B (zh) * | 2021-05-24 | 2024-04-19 | 广州虎牙科技有限公司 | 一种点击率预测方法及相关装置 |
CN116703553A (zh) * | 2023-08-07 | 2023-09-05 | 浙江鹏信信息科技股份有限公司 | 金融反欺诈风险监控方法、系统及可读存储介质 |
CN116703553B (zh) * | 2023-08-07 | 2023-12-05 | 浙江鹏信信息科技股份有限公司 | 金融反欺诈风险监控方法、系统及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539512A (zh) | 行为预测方法、装置、电子设备及可读存储介质 | |
US11586880B2 (en) | System and method for multi-horizon time series forecasting with dynamic temporal context learning | |
Laib et al. | Toward efficient energy systems based on natural gas consumption prediction with LSTM Recurrent Neural Networks | |
Chen et al. | Traffic flow imputation using parallel data and generative adversarial networks | |
Li et al. | LGM-Net: Learning to generate matching networks for few-shot learning | |
Gao et al. | Long short-term memory-based deep recurrent neural networks for target tracking | |
Alencar et al. | Hybrid approach combining SARIMA and neural networks for multi-step ahead wind speed forecasting in Brazil | |
CN110009384A (zh) | 预测业务指标的方法及装置 | |
Bontempi et al. | Local learning for iterated time series prediction | |
JP2019503540A (ja) | ローカライズ型のテンポラルモデル予測 | |
CN111553543A (zh) | 基于TPA-Seq2Seq的电力负荷预测方法及相关组件 | |
CN111461445B (zh) | 短期风速预测方法、装置、计算机设备及存储介质 | |
Revallo et al. | A neural network Dst index model driven by input time histories of the solar wind–magnetosphere interaction | |
Samin et al. | CapPlant: a capsule network based framework for plant disease classification | |
CN109934845A (zh) | 基于自注意力网络的时序行为捕捉框生成方法及装置 | |
CN113380340A (zh) | 飞灰浓度预测模型的训练方法、装置、计算机设备 | |
Zhou et al. | A dendritic neuron model for exchange rate prediction | |
Rotich | Forecasting of wind speeds and directions with artificial neural networks | |
Volna et al. | Prediction by means of Elliott waves recognition | |
Sahu et al. | Forecasting of Precipitation in India by Different Data Types using Investigation of Radial Basis Function Neural Network Model | |
CN115049458A (zh) | 基于用户人群建模的商品推送方法及装置、介质、设备 | |
KR102515608B1 (ko) | 태양광 발전량 예측 방법 및 시스템 | |
WO2022212031A1 (en) | Controlling asynchronous fusion of spatio-temporal multimodal data | |
Tai et al. | Long-term electricity demand forecasting for Malaysia using artificial neural networks in the presence of input and model uncertainties | |
Chiewchanwattana et al. | Time-series data prediction based on reconstruction of missing samples and selective ensembling of FIR neural networks |
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 |