一种事件预测方法和装置
技术领域
本公开涉及机器学习技术领域,特别涉及一种事件预测方法和装置。
背景技术
事件预测在多种场景中都有所应用。例如,以个性化智能营销场景为例,在针对特定的产品或服务制定营销策略时,往往希望能提供给用户更好的使用体验,来提高公司的竞争力。此时,可以使用事件预测,预测用户接下来可能会发生的行为,并针对用户的不同需求,进行个性化的营销服务。这种个性化营销能够精准服务每个客户,节省公司成本,并且还能够提高用户使用体验。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种用于预测用户接下来可能会发生的行为的事件预测方法和装置。
具体地,本说明书一个或多个实施例是通过如下技术方案实现的:
第一方面,提供一种事件预测方法,所述方法基于编码器-解码器框架,所述方法用于预测目标用户将要执行的行为事件;所述方法包括:
所述编码器接收所述目标用户的用户特征;
所述编码器对所述用户特征进行编码得到特征表示信息,并将所述特征表示信息输入所述解码器;
所述解码器接收所述目标用户的用户行为序列;
所述解码器根据所述用户行为序列和特征表示信息,预测得到所述目标用户将执行的目标事件。
第二方面,提供一种事件预测装置,所述装置用于预测目标用户将要执行的行为事件;所述装置包括:编码器和解码器;
所述编码器,用于接收所述目标用户的用户特征;并对所述用户特征进行编码得到特征表示信息,并将所述特征表示信息输入所述解码器;
所述解码器,用于接收所述目标用户的用户行为序列;并根据所述用户行为序列和特征表示信息,预测得到目标用户将执行的目标事件。
第三方面,提供一种事件预测设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令;所述处理器用于在执行所述计算机指令时实现基于编码器-解码器框架的事件预测,包括以下步骤:
所述编码器接收所述目标用户的用户特征;
所述编码器对所述用户特征进行编码得到特征表示信息,并将所述特征表示信息输入所述解码器;
所述解码器接收所述目标用户的用户行为序列;
所述解码器根据所述用户行为序列和特征表示信息,预测得到所述目标用户将执行的目标事件。
本说明书一个或多个实施例的事件预测方法和装置,通过基于编码器-解码器的框架,由编码器对输入的用户特征进行编码得到特征表示信息,并由解码器根据该特征表示信息和用户行为序列预测接下来的用户行为事件,实现了对用户接下来可能会发生的行为的事件预测。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书至少一个实施例提供的一种编码器-解码器框架的结构示意;
图2为本说明书至少一个实施例提供的一种预测用户的行为事件的流程;
图3为本说明书至少一个实施例提供的一种编码器-解码器框架的结构示意;
图4为本说明书至少一个实施例提供的一种LSTM网络的网络结构;
图5为本说明书至少一个实施例提供的一种预测用户的行为事件的流程;
图6为本说明书至少一个实施例提供的一种事件预测装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
本说明书至少一个实施例提供了一种事件预测方法,可以应用于针对不同特征的用户以及该用户的近期行为序列,对该用户接下来可能会做的事情进行预测。
该事件预测方法可以基于编码器(Encoder)-解码器(Decoder)框架,图1示例了该框架的结构,如图1所示,该框架中可以包括编码器11,X可以作为编码器11的输入,该X可以是一个序列,例如,X={x1,x2,…..xm}。编码器11可以对输入的X进行编码,得到特征表示信息12。该特征表示信息12是由编码器11由X中提取并编码得到的信息,是一种对输入X中信息的表示。解码器13可以根据编码器11输出的特征表示信息12、以及之前已经生成的历史信息序列,例如,该历史信息序列可以是{y1,y2,….yi-1},来预测下一个时刻i时刻将要发生的事件yi。每个yi都依次这么预测产生,那么看起来就是整个系统根据输入X得到了输出Y。
可以将上述图1的编码器-解码器框架应用于对用户将要执行的行为事件的预测,该用户可以称为目标用户,所述的行为事件在不同的应用场景中可以是不同类型的事件,例如,在购物营销场景中,该事件可以是“购买化妆品”。
图2示例了基于编码器-解码器框架预测用户的行为事件的流程,可以包括:
在步骤200中,编码器接收所述目标用户的用户特征。
例如,当要预测用户U将要执行的行为事件时,该用户U可以称为目标用户。本步骤中,可以向编码器中输入用户U的用户特征。该用户特征可以包括:例如,用户的消费行为统计信息、借贷行为统计信息、个人基本信息等。可以将这些用户特征形成一个用户特征序列输入编码器。
在步骤202中,编码器对所述用户特征进行编码得到特征表示信息,并将所述特征表示信息输入所述解码器。
本步骤中,编码器可以对输入的用户特征进行编码处理,输出特征表示信息,该特征表示信息可以是对输入的用户特征的一种编码表示形式,并且是由编码器由输入的用户特征中提取得到。
该特征表示信息又可以作为解码器的输入。
在步骤204中,解码器接收所述目标用户的用户行为序列。
本步骤中,解码器还可以接收用户U的用户行为序列,该用户行为序列可以是用户U在近期一段时间内(例如,一个月内)发生的行为序列,该序列中包括了用户U的多个行为事件及其时序关系。
在步骤206中,解码器根据所述用户行为序列和特征表示信息,预测得到所述目标用户将执行的目标事件。
本步骤中,解码器可以根据用户行为序列和特征表示信息,预测得到用户U下一步要执行的行为事件,该事件可以称为目标事件。
本例子的事件预测方法,通过基于编码器-解码器的框架,由编码器对输入的用户特征进行编码得到特征表示信息,并由解码器根据该特征表示信息和用户行为序列预测接下来的用户行为事件,实现了对用户接下来可能会发生的行为的事件预测。
在图1所示的编码器-解码器框架中,其中的编码器可以使用多种网络结构,例如,编码器可以采用LSTM(Long Short-Term Memory,长短期记忆网络)模型,还可以采用全连接网络,或者决策树结构,或者Wide&Deep网络结构。其中的解码器例如可以使用LSTM模型。
请参见图3的示例,以编码器11和解码器13都采用LSTM模型(也可以称作LSTM单元)为例:将用户特征序列作为编码器11的输入,该编码器11对用户特征序列编码处理后,输出的特征表示信息12可以包括两部分,一部分是长期记忆信息cell state,还有一部分是短期依赖信息hidden state。该长期记忆信息和短期依赖信息可以传递给解码器13,为解码器13创造一个针对用户特征构建的个性化环境,以达到个性化预测的目的。并且,解码器13中的LSTM单元不仅可以接收上述的长期记忆信息和短期依赖信息作为预测个性化环境,还可以接收历史时间段内的(例如,近期一段时间内)用户行为序列,并在该用户行为序列和特征表示信息的基础上分析得出用户下一个可能发生的事件。
此外,还需要说明的是,即使编码器11使用LSTM模型以外的其他网络结构,比如决策树结构或者全连接结构等,仍然可以通过网络结构的学习将输入信息编码,并将输入信息压缩进长期记忆信息和短期依赖信息。
如图3所示,解码器13在包括LSTM单元之外,还可以包括:全连接单元和softmax激活函数单元。通过所述全连接单元和softmax激活函数单元,可以得到多个可能的事件的概率,并可以将概率最高的事件作为预测将要发生的目标事件。
其中,LSTM网络的网络结构可以参见图4的示意,LSTM是一种长短期记忆网络,LSTM区别于RNN的地方,主要就在于它在算法中加入了一个判断信息有用与否的“处理器”,这个处理器作用的结构被称为cell。一个cell当中被放置了三扇门,分别叫做输入门、遗忘门和输出门。一个信息进入LSTM的网络当中,可以根据规则来判断是否有用。只有符合算法认证的信息才会留下,不符的信息则通过遗忘门被遗忘。信息被保存在cell state和hidden state中。
在图4的结构中,xt是输入信息。ft决定了什么信息要从现有信息中抛弃,遗忘门通过观察ht-1和xt,决定什么信息要由Ct-1中抛弃,参见公式:ft=σ(Wf·[ht-1,xt]+bf)。其中,it决定了什么信息要从新的信息中保留,即输入门将新的信息存储进Ct-1中。例如,it=σ(Wi·[ht-1,xt]+bi)。记录了新的输入信息。ot表示输出的信息。输出将会基于目前的元胞状态,并且会加入一些过滤,通过输出门来决定将输出元胞的哪些部分。并且,可以将元胞状态通过tanh之后(使得输出值在-1到1之间),与输出门相乘,这样只会输出我们想输出的部分。Ct是cell state,记录了LSTM结构的长期记忆信息,相当于一个memory,ht是hidden state,记录了短期工作中要用的信息。Ct=ft*Ct-1+it*Ct;ot=σ(Wo[ht-1,xt]+bo);ht=ot*tahn(Ct)。
图5示例了本说明书至少一个实施例提供的事件预测方法,该方法以图3和图4的框架架构为例,可以包括:
在步骤500中,编码器的LSTM单元接收目标用户的用户特征。
例如,可以将包括用户的消费行为统计信息、借贷行为统计信息、个人基本信息等的用户特征序列,输入编码器的LSTM单元。
在步骤502中,编码器的LSTM单元对用户特征进行编码处理,得到长期记忆信息cell state和短期依赖信息hidden state。
本步骤中,LSTM单元可以对用户特征序列处理,输出hidden state和cell state,该hidden state和cell state中保存了编码器由用户特征序列中提取出的用户个性化特征,可以称为特征表示信息,传递给解码器。
在步骤504中,解码器的LSTM单元接收用户行为序列。
例如,该用户行为序列可以是目标用户在历史时间段内发生的多个事件及其时序关系。该历史时间段例如可以是近期的一段时间。
在步骤506中,解码器的LSTM单元根据用户行为序列、长期记忆信息和短期依赖信息,预测得到目标用户将执行的目标事件。
本步骤中,解码器可以将编码器输入的长期记忆信息和短期依赖信息作为用户特征环境,在此基础上分析用户行为序列,进行用户行为的预测。即将用户特征与用户近期行为序列作为输入,共同预测用户潜在的行为事件。
例如,解码器中还可以包括全连接单元和softmax激活函数单元;可以通过所述全连接单元和softmax激活函数单元,得到多个可能的事件的概率,并将概率最高的事件作为所述目标事件。
此外,还需要说明的是,编码器和解码器中使用的模型,比如LSTM单元,或者全连接网络结构等,可以预先进行模型训练,可以将编码器和解码器中的模型进行联合训练。训练完成的模型可以应用在编码器或解码器进行事件预测。
本例子的事件预测方法,通过利用长期记忆信息和短期依赖信息将用户特征传递给解码器,作为预测的个性化特征环境,并在此环境下结合用户行为序列预测用户可能的行为事件,实现了一种预测用户行为事件的方法。
通过利用编码器-解码器结构将用户特征信息和用户行为序列结合在一起共同预测用户行为,更加全面的考虑了用户近期行为和用户特征对用户需求的刻画。并且,用户行为序列是用户近期累计行为的统计量达到一定量时才进行触发模型,即使是新用户也会具有用户行为序列,所以没有冷启动的问题。此外,将编码后的用户特征作为预测的个性化特征环境,使得能够针对每个用户的特征特点识别个性化行为模式来进行预测。
图6是本说明书至少一个实施例提供的事件预测装置的结构示意图,如图6所示,该装置可以用于预测目标用户将要执行的行为事件。该装置可以包括:编码器61和解码器62。
所述编码器61,用于接收所述目标用户的用户特征;并对所述用户特征进行编码得到特征表示信息,并将所述特征表示信息输入所述解码器;
所述解码器62,用于接收所述目标用户的用户行为序列;并根据用户行为序列和特征表示信息,预测得到目标用户将执行的目标事件。
在一个例子中,所述编码器61,在用于对所述用户特征进行编码得到特征表示信息时,包括:对所述用户特征进行处理,得到长期记忆信息和短期依赖信息作为所述特征表示信息。
在一个例子中,所述编码器包括如下任一项:长短期记忆LSTM单元;或者,全连接网络;或者,决策树结构;或者,Wide&Deep网络。
在一个例子中,所述解码器包括:LSTM单元。
在一个例子中,所述解码器还包括:全连接单元和softmax激活函数单元;所述解码器在用于预测得到所述目标用户将执行的目标事件时,包括:通过所述全连接单元和softmax激活函数单元,得到多个可能的事件的概率;将概率最高的事件作为所述目标事件。
本说明书至少一个实施例还提供了一种事件预测设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令;所述处理器用于在执行所述计算机指令时实现基于编码器-解码器框架的事件预测,包括以下步骤:
所述编码器接收所述目标用户的用户特征;
所述编码器对所述用户特征进行编码得到特征表示信息,并将所述特征表示信息输入所述解码器;
所述解码器接收所述目标用户的用户行为序列;
所述解码器根据所述用户行为序列和特征表示信息,预测得到所述目标用户将执行的目标事件。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。