掌桥专利:专业的专利平台
掌桥专利
首页

行为预测系统的更新方法及装置、存储介质和计算设备

文献发布时间:2023-06-19 09:44:49


行为预测系统的更新方法及装置、存储介质和计算设备

技术领域

本说明书实施例涉及计算机技术领域,尤其涉及一种行为预测系统的更新方法及装置。

背景技术

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

显然,希望针对用户行为的预测结果越准确越好。然而,目前预测用户行为的方式较为单一,得到的预测结果准确度也十分有限。因此,需要提出一种合理的方案,可以有效提高用户行为预测结果的准确性。

发明内容

在本说明书描述的行为预测系统的更新方法及装置中,充分利用用户在源域和目标域的数据,采用联合注意力机制对用户行为进行建模,从而利用学习到的细粒度用户偏好表达,提升用户在两个域,尤其是目标域内行为预测结果的准确性。

根据第一方面,提供一种行为预测系统的更新方法,包括:

获取训练样本对,其中包括对应同一用户的源域样本和目标域样本,各域样本包括对应域的当前对象,用户已做出特定行为的M个历史对象,以及指示该用户是否对该当前对象做出特定行为的行为标签。将所述训练样本对输入所述行为预测系统,该行为预测系统包括源域编码层和目标域编码层;其中,所述源域编码层针对源域样本中的M+1个源域对象,基于目标域样本中M+1个目标域对象确定源域注意力,从而编码得到源域当前对象向量和M个源域历史对象向量;所述目标域编码层针对所述M+1个目标域对象,基于所述M+1个源域对象确定目标域注意力,从而编码得到目标域当前对象向量和M个目标域历史对象向量。基于所述M个源域历史对象向量以及M个目标域历史对象向量,分别进行第一融合和第二融合,对应得到源域用户向量和目标域用户向量。基于所述源域用户向量和所述源域当前对象向量,确定源域行为预测结果;基于所述目标域用户向量和目标域当前对象向量,确定目标域行为预测结果。基于所述源域行为预测结果和源域行为标签,以及所述目标域行为预测结果和目标域行为标签,更新所述行为预测系统。

在一个实施例中,所述源域编码层包括N个源域编码子层,其中第i个源域编码子层获取所述M+1个源域对象的上一层表征向量和所述M+1个目标域对象的上一层表征向量,至少基于对所述M+1个目标域对象的上一层表征向量的第一线性变换结果确定所述源域注意力,基于所述源域注意力编码得到所述M+1个源域对象的本层表征向量。所述目标域编码层包括N个目标域编码子层,其中第i个目标域编码子层获取所述M+1个源域对象的上一层表征向量和所述M+1个目标域对象的上一层表征向量,至少基于对所述M+1个源域对象的上一层表征向量的第二线性变换结果确定所述目标域注意力,基于所述目标域注意力编码得到所述M+1个目标域对象的本层表征向量。

根据第二方面,提供一种行为预测系统的更新装置,包括:

样本对获取单元,配置为获取训练样本对,其中包括对应同一用户的源域样本和目标域样本,各域样本包括对应域的当前对象,用户已做出特定行为的M个历史对象,以及指示该用户是否对该当前对象做出特定行为的行为标签。对象编码单元,配置为将所述训练样本对输入所述行为预测系统,该行为预测系统包括源域编码层和目标域编码层;其中,所述源域编码层针对源域样本中的M+1个源域对象,基于目标域样本中M+1个目标域对象确定源域注意力,从而编码得到源域当前对象向量和M个源域历史对象向量;所述目标域编码层针对所述M+1个目标域对象,基于所述M+1个源域对象确定目标域注意力,从而编码得到目标域当前对象向量和M个目标域历史对象向量。用户表征单元,配置为基于所述M个源域历史对象向量以及M个目标域历史对象向量,分别进行第一融合和第二融合,对应得到源域用户向量和目标域用户向量。行为预测单元,配置为基于所述源域用户向量和所述源域当前对象向量,确定源域行为预测结果;基于所述目标域用户向量和目标域当前对象向量,确定目标域行为预测结果。系统更新单元,配置为基于所述源域行为预测结果和源域行为标签,以及所述目标域行为预测结果和目标域行为标签,更新所述行为预测系统。

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

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

在本说明书实施例披露的行为预测系统的更新方法及装置中,充分利用用户在源域和目标域的数据,采用联合注意力机制对用户行为进行建模,从而利用学习到的细粒度用户偏好表达,提升用户在两个域,尤其是目标域内行为预测结果的准确性,进而实现对用户的精准推荐,有效提高用户体验。

附图说明

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

图1示出根据一个实施例的行为预测系统的系统架构示意图;

图2示出根据一个实施例的行为预测系统的更新方法流程图;

图3示出Transformer机制中编码器的结构示意图;

图4示出根据一个实施例的两个域的第i个编码子层间的数据流示意图;

图5示出根据一个实施例的行为预测系统的更新装置结构图。

具体实施方式

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

本说明书实施例披露一种行为预测系统的更新方法,基于此方法进行多次迭代更新后得到的行为预测系统,可以用于预测某一用户是否会对某一业务对象(如广告图片或商品)做出特定行为(如点击行为或购买行为)。

下面先对上述更新方法的发明构思进行介绍。具体地,为了提高用户体验,服务平台需要尽可能向用户推荐符合其需求的业务对象。在一种实施方式中,可以采集用户在单个业务领域中的历史行为数据,然后训练针对该领域的行为预测模型。然而,一方面,用户在单个业务领域中产生行为数据的业务对象数量有限,因此,基于单个域的用户数据建模会存在数据稀疏的问题;另一方面,针对一些新的用户,其在某个域中没有历史行为,因而基于单个域的建模会存在冷启动的问题。

此外,发明人观察到,用户通常在不同域内有行为数据,并且,不同域的行为数据之间往往存在一定、乃至较大的关联性。例如,用户在电商平台上有一些小孩衣物的购买行为,其同时会在音频播放平台中有一些儿童读物音频的播放行为;又例如,某些用户在电子书阅读平台看了一本小说,若向这些用户推送根据该小说改编的电影,大部分用户都选择了点击观看。由此,发明人提出,可以利用用户在某个域的行为数据,来提升用户在另一个域的预估效果。

基于以上观察和分析,本说明书实施例披露一种行为预测系统的更新方法,在此方法中,引入联合注意力机制,设计一种新的行为预测系统,基于该行为预测系统,可以实现对用户在源域和目标域中行为数据的充分利用,以及深层次交互、细粒度地表征,从而有效提升用户在两个域中行为预测结果的准确性。需说明,其中源域是指用户行为数据比较丰富的数据域或业务领域,目标域是指相对而言,用户行为数据比较少的数据域或业务领域。实际上,本说明书实施例披露的方法应用于跨域场景,不同域之间数据量的差距既可以较大,如源域和目标域的场景;或者较小或相当,如泛称为第一数据域和第二数据域、或第一业务域和第二业务域的场景,此时两个域的行为预测结果均可以得到有效提升,只是通常在源域和目标域的场景下,源域的丰富数据可以使得目标域的行为预测结果得到较为显著的提高。

为便于理解,图1示出根据一个实施例的行为预测系统的系统架构示意图。如图1所示,行为预测系统中可以包括对应源域和目标域的输入层、嵌入层、N个编码子层、用户表征层和输出层。其中,源域输入层用于获取源域当前对象s

如此,采用联合注意力机制,对M+1个源域对象和M+1个目标对象进行表征,实现了两个域内的行为对象被映射到同一向量空间内,使得后续在确定用户表征向量时,可以对两个域内的对象向量进行融合,得到充分反映用户细粒度偏好特征的用户向量,进而提升最终行为预测结果的准确性。

需要说明,上述行为预测系统的更新方法和使用方法类似,主要区别在于更新方法中需要将样本标签与预测结果进行比对,进而调整系统中的模型参数,而使用方法中使用的模型参数是调整后的,可以直接输出指导实际应用的预测结果。因此,本说明书实施例择一进行主要说明,具体地,以下主要对更新方法进行说明,使用方法可参照执行。

具体地,图2示出根据一个实施例的行为预测系统的更新方法流程图,所述更新方法的执行主体可以为任何具有计算、处理能力的计算平台、服务器或设备集群。如图2所示,所述方法包括以下步骤:

步骤S210,获取训练样本对,其中包括对应同一用户的源域样本和目标域样本,各域样本包括对应域的当前对象,用户已做出特定行为的M个历史对象,以及指示该用户是否对该当前对象做出特定行为的行为标签;步骤S220,将所述训练样本对输入所述行为预测系统,该行为预测系统包括源域编码层和目标域编码层;其中,所述源域编码层针对源域样本中的M+1个源域对象,基于目标域样本中M+1个目标域对象确定源域注意力,从而编码得到源域当前对象向量和M个源域历史对象向量;所述目标域编码层针对所述M+1个目标域对象,基于所述M+1个源域对象确定目标域注意力,从而编码得到目标域当前对象向量和M个目标域历史对象向量;步骤S230,基于所述M个源域历史对象向量以及M个目标域历史对象向量,分别进行第一融合和第二融合,对应得到源域用户向量和目标域用户向量;步骤S240,基于所述源域用户向量和所述源域当前对象向量,确定源域行为预测结果;基于所述目标域用户向量和目标域当前对象向量,确定目标域行为预测结果;步骤S250,基于所述源域行为预测结果和源域行为标签,以及所述目标域行为预测结果和目标域行为标签,更新所述行为预测系统。

针对以上步骤,首先需要说明的是,上述“第一融合”中的“第一”、“第二融合”中的“第二”,以及文中他处的类似用语,均是为了描述的清楚简洁,用于区分同类事物,不具有排序等其他限定作用。

以上步骤如下:

首先,在步骤S210,获取训练样本对。获取的训练样本对可以是一个样本对或多个样本对,为便于描述的清楚简洁,以下主要以一个训练样本对为主进行说明。训练样本对中包括对应同一用户的源域样本和目标域样本。源域样本是指来自源域的样本,目标域样本是指来自目标域的样本。源域和目标域是不同的数据域,其中生成的数据通常源自不同的业务领域。在一个实施例中,源域数据为图书业务产生的数据,目标域数据为电影业务产生的数据。在一个是实施例中,源域数据为电商平台中的商品交易数据,目标域数据为广告点击数据。

上述源域样本包括源域当前对象,用户已做出源域特定行为的M个源域历史对象,共计M+1个源域对象,以及指示该用户是否对该源域当前对象做出该源域特定行为的源域行为标签。相对应地,目标域样本包括目标域当前对象,用户已做出目标域特定行为的M个目标域历史对象,共计M+1个目标域对象,以及指示该用户是否对该目标域当前对象做出该目标域特定行为的目标域行为标签。

上述当前对象、历史对象均为对应域中的业务对象,业务对象可以属于以下中的任一种:商品、服务、用户、内容信息、业务登录界面、业务注册界面。在一些具体的例子中,业务对象可以是超链接文本(如链接到目标页面的广告文本)、超链接图片(如连接到目标页面的广告图片)、公众号的文章、支付宝登录和注册界面、服装、书籍(电子书或纸质书)、线上生活缴费服务、平台推荐关注的个人用户、公众号或内容领域。需说明,一方面,各域样本中的当前对象通常和历史对象是不同对象,在一个示例中,源域或目标域样本中的M个历史对象包括书籍甲、书籍乙和书籍丙,当前对象为书籍丁;另一方面,各域样本中包括对象,具体可以包括对象的标识信息,如对象名称或系统分配的对象标识(例如,由数字或字母组成的字符串)。

上述源域特定行为和目标域特定行为可能相同,也可能不相同,具体由工作人员根据不同域的业务对象和实际经验进行设定。例如,若业务对象为广告图片,则特定行为可以被设定为点击行为。又例如,若业务对象为商品,则特定行为可以被设定为购买行为。再例如,若业务对象为新闻资讯,则特定行为可以被设定为浏览时长达到预设时长(如5min)或评价行为。还例如,若业务对象为公众号,则特定行为可以被设定为关注行为。再又例如,若业务对象为应用APP,则特定行为可以被设定为登录行为或下载行为或注册行为。

对于上述行为标签,需理解,通常情况下,行为标签指示用户在对M个源域历史对象做出特定行为后,是否对当前对象做出该特定行为。在一个实施例中,行为标签为是或否。在另一个实施例中,行为标签为1(指示是)或0(指示否)。

此外需说明,上述M是正整数,具体数值可以由工作人员设定,例如,设定为5或10。在一个实施例中,其中M个源域历史对象在源域样本中按时间的先后顺序排列,M个目标域历史对象同样按时间的先后顺序排列。如此,考虑到历史对象的行为时序性,有助提高行为预测结果的准确性。在一个实施例中,考虑到源域的数据相较于目标域更加丰富,可能存在某个用户在源域的历史对象超过M个,而其在目标域的历史对象不足M个的情况,此时,可以对其在目标域的历史对象进行填充(padding)处理,例如,补充表示对象为空的字符。

根据一个具体的例子,源域数据为书籍交易数据,目标域数据为观影数据,训练样本对中的源域样本,包括当前书籍《沧海》,以及用户小红在最近半年内由远及近购买的3本书《月牙泉》、《葫芦岛》和《江流》,以及源域行为标签,此标签为1,指示用户在购买这3本书后,购买了当前书籍《沧海》;训练样本对中的目标域样本,包括当前电影《战警》,以及小红在最近半年内由远及近观看的3部电影《田野》、《发明人的幸福生活》和《飞天》,以及目标域行为标签,此标签为0,指示用户没有观看当前电影《战警》。

以上,对获取的训练样本对进行介绍。

接着,在步骤S220,将上述训练样本对输入行为预测系统,该行为预测系统中至少包括源域编码层和目标域编码层。其中,源域编码层针对源域样本中的M+1个源域对象,基于目标域样本中M+1个目标域对象确定源域注意力,从而编码得到M+1个源域对象向量,包括对应源域当前对象的源域当前对象向量和对应M个源域历史对象的M个源域历史对象向量;目标域编码层针对目标域样本中的M+1个目标域对象,基于源域样本中M+1个源域对象确定目标域注意力,从而编码得到M+1个目标域对象向量,包括对应目标域当前对象的目标域当前对象向量和对应M个目标域历史对象的M个目标域历史对象向量。如此,源域编码层和目标域编码层中通过采用联合注意力机制,实现了源域数据和目标域数据深层次的交互、细粒度特征的学习,并且,使得M+1个源域对象和M+1个目标对象被投射到相同的向量空间,具体得到位于相同向量空间的源域当前对象向量、M个源域历史对象向量、目标域当前对象向量和M个目标域历史对象向量。

上述源域编码层包括N个源域编码子层,目标域编码层包括N个目标域编码子层,其中N为正整数,也就是N个可以是1个或多个。对于N个源域编码子层和N个目标域编码子层中,可以在其中每个编码子层中引入联合注意力机制,也可以在部分编码子层中引入联合注意力机制。需理解,不论是在每个子层中引入还是在部分子层中引入,最终得到的编码结果均能体现联合注意力机制的引入,并且,引入联合注意力机制的子层数量越多,两个域之间的特征交互越充分。

以下以在第i个源域编码子层和第i个目标域编码子层中引入联合注意力机制为例,进行示例性说明,i为不大于N的正整数。

在一种实施方式中,第i个源域编码子层获取上述M+1个源域对象的上一层表征向量和M+1个目标域对象的上一层表征向量,针对其中任一的源域对象,分别计算其上一层表征向量和M+1个目标域对象的上一层表征向量之间的点积,得到M+1个源域注意力分数,对该M+1个源域注意力分数进行归一化处理,得到M+1个源域注意权重,再利用该M+1个源域注意力权重,对上述M+1个源域对象的上一层表征向量进行加权求和,得到该任一的源域对象的本层表征向量,由此类推,可以得到M+1个源域对象的本层表征向量。

相应地,第i个目标域编码子层获取上述M+1个源域对象的上一层表征向量和M+1个目标域对象的上一层表征向量,针对其中任一的目标域对象,分别计算其上一层表征向量和M+1个源域对象的上一层表征向量之间的点积,得到M+1个目标域注意力分数,对该M+1个目标域注意力分数进行归一化处理,得到M+1个目标域注意权重,再利用该M+1个目标域注意力权重,对上述M+1个目标域对象的上一层表征向量进行加权求和,得到该任一的目标域对象的本层表征向量,由此类推,可得到M+1个目标域对象的本层表征向量。

在一个实施例中,上述归一化处理可以利用softmax函数实现,或者其他可以将数值映射到区间[0,1],并且使得映射结果和值为1的归一化手段。

对于上述上一层表征向量的获取,在一个实施例中,上述行为预测系统还包括源域嵌入层和目标域嵌入层,其中源域嵌入层确定上述M+1个源域对象对应的M+1个源域对象嵌入向量,目标域嵌入层确定上述M+1个目标域对象对应的M+1个目标域对象嵌入向量。其中嵌入可以通过已有的查找嵌入表的方式实现,不作赘述,需理解,嵌入表中的元素是学习参数,会在训练过程中不断被更新。

进一步,在一个具体的实施例中,上述第i个为第1个,上述M+1个源域对象的上一层表征向量为源域嵌入层确定的M+1个源域对象嵌入向量,上述M+1个目标域对象的上一层表征向量为目标域嵌入层确定的M+1个目标域对象嵌入向量;在另一个具体的实施例中,上述第i个不是第1个,上述M+1个源域对象的上一层表征向量为第i-1个源域编码层输出的M+1个源域对象表征向量;上述M+1个目标域对象的上一层表征向量为第i-1个目标域编码层输出的M+1个目标域对象表征向量。

在另一种实施方式中,第i个源域编码子层获取上述M+1个源域对象的上一层表征向量和M+1个目标域对象的上一层表征向量,至少基于对M+1个目标域对象的上一层表征向量的第一线性变换结果确定上述源域注意力,基于该源域注意力编码得到M+1个源域对象的本层表征向量;相应地,第i个目标域编码子层获取M+1个源域对象的上一层表征向量和M+1个目标域对象的上一层表征向量,至少基于对M+1个源域对象的上一层表征向量的第二线性变换结果确定上述目标域注意力,基于目标域注意力编码得到M+1个目标域对象的本层表征向量。

在一个实施例中,第i个源域编码子层利用源域变换矩阵,对M+1个目标域对象的上一层表征向量进行第一线性变换,得到第一线性变换结果,其中包括M+1个源域线性变换向量;然后,针对其中任一的源域对象,分别计算其在上一层的表征向量和M+1个源域线性变换向量之间的点积,得到M+1个源域注意力分数,利用该M+1个源域注意力分数,对上述M+1个源域对象的上一层表征向量进行加权求和,得到该任一的源域对象的本层表征向量,由此类推,可以得到M+1个源域对象的本层表征向量。

相应地,第i个目标域编码子层利用目标域变换矩阵,对M+1个源域对象的上一层表征向量进行第二线性变换,得到第二线性变换结果,其中包括M+1个目标域线性变换向量;然后,针对其中任一的目标域对象,分别计算其在上一层的表征向量和M+1个目标域线性变换向量之间的点积,得到M+1个目标域注意力分数,利用该M+1个目标域注意力分数,对上述M+1个目标域对象的上一层表征向量进行加权求和,得到该任一的目标域对象的本层表征向量,由此类推,可以得到M+1个目标域对象的本层表征向量。

在另一个实施例中,上述源域编码层和目标域编码层均基于Transformer机制。为便于理解,图3示出Transformer机制中编码器的结构示意图。如图3所示,编码器中包括顺序连接的注意力层、残差模块、前馈层和另一残差模块,其中注意力层先将输入当前编码器的矩阵Z

在本说明书实施例中,第i个源域编码子层和第i个目标域编码子层的结构可以采用Transformer中编码器的结构,各域的第i个编码子层在计算本层查询矩阵、键矩阵,进而计算本层注意力时,不仅用到本域上一层的输出,还用到另一域在上一层的输出,如此实现两个域的编码数据流的交叉流动,对此可参见图4。

在一个具体的实施例中,上述第i个源域编码子层,利用源域查询变换矩阵对上述M+1个目标域对象的上一层表征向量进行上述第一线性变换,得到源域查询结果矩阵;分别利用源域键变换矩阵和源域值变换矩阵对上述M+1个源域对象的上一层表征向量进行变换,得到对应的源域键结果矩阵和源域值结果矩阵;基于上述源域查询结果矩阵和源域键结果矩阵的乘积确定上述源域注意力。

在一个更具体的实施例中,上述M+1个源域对象的上一层表征向量构成源域表征矩阵

上式中,

此外,上述利用源域键变换矩阵和源域值变换矩阵对上述M+1个源域对象的上一层表征向量进行变换,得到对应的源域键结果矩阵和源域值结果矩阵,可以采用下式实现:

在上式(2)和(3)中,

进一步,上述基于源域查询结果矩阵和源域键结果矩阵的乘积确定上述源域注意力,可以通过下式实现:

其中,

在一个例子中,其中对上述源域注意力分数矩阵进行进一步处理可以包括,先将源域注意力分数矩阵中各个分数除以预定数值,然后将各行商值进行归一化处理。在一个具体的例子中,其中预定数值可以由工作人员根据实际情况设定,例如,可以设定为上述维数d的算术平方根等,或者该算术平方根的预定倍数,等等。此外,归一化处理的目的是将数据映射到0-1的范围内,同时使映射后数据的和为1,以使后续的数据处理更加便捷快速。比如,可以利用softmax函数实现归一化。又比如,可以直接对上述源域注意力分数矩阵中各行的分数进行归一化处理。在一个示例中,可以通过下式得到源域注意力权重矩阵:

如此,可以得到源域注意力权重矩阵。进一步,利用源域注意力权重和源域值结果矩阵,得到上述M+1个源域对象的本层表征向量,可以利用以下公式实现:

其中,

与上述第i个源域编码子层的处理相对应地,上述第i个目标域编码子层,利用目标域查询变换矩阵对上述M+1个源域对象的上一层表征向量进行上述第二线性变换,得到目标域查询结果矩阵;分别利用目标域键变换矩阵和目标域值变换矩阵对上述M+1个目标域对象的上一层表征向量进行变换,得到对应的目标域键结果矩阵和目标域值结果矩阵;基于上述目标域查询结果矩阵和上述目标域键结果矩阵的乘积确定上述目标域注意力,基于上述目标域注意力和上述目标域值结果矩阵,得到上述M+1个目标域对象的本层表征向量。在一个示例中,可以通过以下公式实现:

在上式(7)至(12)中,

对于注意力以及本层表征向量的确定,在另一个具体的实施例中,在第i个源域编码子层,分别利用源域键变换矩阵和源域值变换矩阵对上述M+1个目标域对象的上一层表征向量进行上述第一线性变换,得到源域键结果矩阵和源域值结果矩阵;利用源域查询变换矩阵对上述M+1个源域对象的上一层表征向量进行变换,得到源域查询结果;基于上述源域查询结果矩阵和上述源域键结果矩阵的乘积确定上述源域注意力,基于上述源域注意力和上述源域值结果矩阵,得到上述M+1个源域对象的本层表征向量。在一个示例中,可以通过以下公式实现:

在上式(13)至(18)中,

与第i个源域编码子层中的处理相对应的,在第i个目标域编码子层,分别利用目标域键变换矩阵和目标域值变换矩阵对所述M+1个源域对象的上一层表征向量进行所述第二线性变换,得到目标域键结果矩阵和目标域值结果矩阵;利用目标域查询变换矩阵对所述M+1个目标域对象的上一层表征向量进行变换,得到目标域查询结果;基于所述目标域查询结果矩阵和所述目标域键结果矩阵的乘积确定所述目标域注意力,基于所述目标域注意力和所述目标域值结果矩阵,得到所述M+1个目标域对象的本层表征向量。在一个示例中,可以通过以下公式实现:

在上式(19)至(24)中,

由上,第i个源域编码子层和第i个目标域编码子层采用联合注意力机制,可以确定M+1个源域对象的本层表征向量和M+1个目标域对象的本层表征向量。进一步,将第N个源域编码子层输出的M+1个本层表征向量,对应作为源域当前对象向量和M个源域历史对象向量,并且,将第N个目标域编码子层输出的M+1个本层表征向量,对应作为目标域当前对象向量和M个目标域历史对象向量。

然后,在步骤S230,基于所述M个源域历史对象向量以及M个目标域历史对象向量,分别进行第一融合和第二融合,对应得到源域用户向量和目标域用户向量。

在一个实施例中,上述第一融合包括:利用第一组合权重,其中包括第一源域权重和第一目标域权重,对M个源域历史对象向量的源域平均向量,以及M个目标域历史对象向量的目标域平均向量进行加权求和,得到所述源域用户向量。上述第二融合包括:利用第二组合权重,其中包括第二源域权重和第二目标域权重,对M个源域历史对象向量的源域平均向量,以及M个目标域历史对象向量的目标域平均向量进行加权求和,得到目标域用户向量。进一步,在一个具体的实施例中,上述第一组合权重和第二组合权重可以是人工设定的,通常,设定的第一源域权重大于第二源域权重,第一目标域权重小于第二目标域权重。在另一个具体的实施例中,上述第一组合权重和第二组合权重也可以属于模型参数,是经过训练得到的。

在另一个实施例中,首先,为便于简洁描述,将上述M个源域历史对象向量和M个目标域历史对象向量共同称为2M个历史对象向量。上述第一融合包括:确定上述源域当前对象向量,对该2M个历史对象向量中各个向量分配的第一注意力权重;利用该第一注意力权重,对该2M个历史对象向量进行加权求和,得到上述源域用户向量;上述第二融合包括:确定上述目标域当前对象向量,对该2M个历史对象向量中各个向量分配的第二注意力权重;利用该第二注意力权重,对该2M个历史对象向量进行加权求和,得到上述目标域用户向量。

在一个具体的实施例中,行为预测系统还包括源域注意力打分网络和目标域注意力打分网络,上述第一注意力权重的确定包括:将上述源域当前对象向量分别与2M个历史对象向量中的各个历史向量进行拼接,得到2M个源域拼接向量;将2M个源域拼接向量分别输入该源域注意力打分网络,得到2M个源域注意力分数;对该2M个源域注意力分数进行归一化处理,得到各个历史向量对应的第一注意力权重;上述第二注意力权重的确定包括:将上述目标域当前对象向量分别与2M个历史对象向量中的各个历史向量进行拼接,得到2M个目标域拼接向量;将2M个目标域拼接向量分别输入该目标域注意力打分网络,得到2M个目标域注意力分数;对该2M个目标域注意力分数进行归一化处理,得到各个历史向量对应的第二注意力权重。在一个更具体的实施例中,上述源域注意力打分网络和目标域注意力打分网络可以具有相同的网络结构,具体可以实现为单层感知机或多层感知机。在一个更具体的实施例中,上述归一化处理可以采用softmax函数实现。

在另一个具体的实施例中,上述第一注意力权重的确定可以包括:分别计算上述源域当前对象向量与2M个历史对象向量中各个向量的点积,得到2M个源域点积结果,对该2M个源域点积结果进行归一化,得到2M个第一注意力权重。上述第二注意力权重的确定可以包括:分别计算上述目标域当前对象向量与2M个历史对象向量中各个向量的点积,得到2M个目标域点积结果,对该2M个目标域点积结果进行归一化,得到2M个第二注意力权重。

如此,通过对源域历史对象向量和目标域历史对象向量,分别进行针对源域和目标域的融合,可以得到同一用户在源域的源域用户向量,以及在目标域的目标域用户向量。需要理解,在前述源域编码层和目标域编码层,通过采用联合注意力机制,使得编码得到的源域对象向量和目标域对象向量被投射到相同的向量空间,从而保证本步骤中源域历史对象向量和目标域历史对象向量之间融合的可用性、可靠性和有效性,进而使得确定出的源域用户向量和目标域用户向量实现对用户细粒度偏好的准确表征。

以上,在步骤S220中确定出源域当前对象向量和目标域当前对象向量,并在步骤S230中,确定出源域用户向量和目标域用户向量。基于此,在步骤S240,基于该源域用户向量和源域当前对象向量,确定源域行为预测结果;基于该目标域用户向量和目标域当前对象向量,确定目标域行为预测结果。

在一个实施例中,上述行为预测系统还包括源域分类网络和目标域分类网络;上述源域行为预测结果的确定可以包括:对上述源域用户向量和源域当前对象向量进行拼接,得到源域拼接向量;将该源域拼接向量输入源域分类网络,得到源域行为预测结果;上述目标域行为预测结果的确定可以包括:对上述目标域用户向量和目标域当前对象向量进行拼接,得到目标域拼接向量;将该目标域拼接向量输入目标域分类网络,得到目标域行为预测结果。

在一个具体的实施例中,上述得到源域拼接向量可以进一步实施为:对上述源域当前对象向量、源域用户向量和目标域用户向量进行拼接,得到该源域拼接向量。在另一个具体的实施例中,上述得到目标域拼接向量可以进一步实施为:对上述目标域当前对象向量、目标域用户向量和源域用户向量进行拼接,得到该目标域拼接向量。如此,可以使得各域的拼接向量对用户进行更加全面的表征,从而提高分类结果的准确性。

在一个具体的实施例中,在步骤S210获取的各域样本中还包括用户的画像特征、当前对象对应的行为环境特征。其中画像特征可以包括用户信用,所属人群,例如青年、中年或老年,又例如,低消费人群或高消费人群,再例如,学生党、上班族或全职太太,等等。其中行为环境特征可以包括网络特征(如网络信号质量、IP地址)、终端设备的型号、地理位置、时间段等。

相应地,上述将源域拼接向量输入源域分类网络,得到源域行为预测结果,可以实施为:将源域样本中的源域画像特征和源域行为环境特征,以及该源域拼接向量共同输入源域分类网络,得到源域行为预测结果;上述将目标域拼接向量输入目标域分类网络,得到目标域行为预测结果,包括:将目标域样本中的目标域画像特征和目标域行为环境特征,以及该目标域拼接向量共同输入目标域分类网络,得到目标域行为预测结果。

在一个具体的实施例中,上述源域分类网络和目标域分类网络可以基于深度神经网络DNN或卷积神经网络CNN等实现。

以上,介绍通过分类网络确定行为预测结果。在另一个实施例中,上述源域行为预测结果的确定可以包括:计算源域用户向量和源域当前对象向量的相似度,作为源域行为预测结果,表示用户对源域当前对象做出源域特定行为的概率;上述目标域行为预测结果的确定可以包括:计算目标域用户向量和目标域当前对象向量的相似度,作为目标域行为预测结果,表示用户对目标域当前对象做出目标域特定行为的概率。在一个具体的实施例中,其中向量间相似度的计算可以采用计算余弦相似度的方式,或者,先计算两个向量之间的点乘结果,再利用sigmoid函数对该点乘结果进行归一化处理,得到取值范围在0到1之间的相似度。

以上,可以得到源域行为预测结果和目标域行为预测结果。然后,在步骤S250,基于所述源域行为预测结果和源域行为标签,以及所述目标域行为预测结果和目标域行为标签,更新所述行为预测系统。在一个实施例中,本步骤可以包括:基于所述源域行为预测结果和源域行为标签,确定源域预测损失;基于所述目标域行为预测结果和目标域行为标签,确定目标域预测损失;利用综合损失,更新所述行为预测系统,所述综合损失与源域预测损失和所述目标域预测损失均正相关。在一个具体的实施例中,上述源域预测损失和目标域预测损失的计算,可以采用交叉熵损失函数,或铰链损失函数等。在一个具体的实施例中,综合损失的确定可以采用以下公式:

上式中,L表示综合损失;

在确定出综合损失后,可以利用反向传播法,更新行为预测系统中的模型参数。需要理解,每次更新,可以基于利用一个训练样本对确定的综合损失进行,也可以基于利用多个训练样本对确定的综合损失进行,取决于训练过程中人为确定的批次样本对数量(batch size)。

基于训练样本对数据集,通过多次执行上述步骤S210至步骤S250,可以实现对行为预测系统的多次迭代更新,直到迭代至预定次数,或者,迭代至模型参数收敛。

综上,采用本说明书实施例披露的行为预测系统的更新方法,充分利用用户在源域和目标域的数据,采用联合注意力机制对用户行为进行建模,从而利用学习到的细粒度用户偏好表达,提升用户在两个域,尤其是目标域内行为预测结果的准确性,进而实现对用户的精准推荐,有效提高用户体验。

与上述更新方法相对应的,本说明书实施例还披露一种更新装置。具体如下:

图5示出根据一个实施例的行为预测系统的更新装置结构图,如图5所示,所述装置500包括:

样本对获取单元510,配置为获取训练样本对,其中包括对应同一用户的源域样本和目标域样本,各域样本包括对应域的当前对象,用户已做出特定行为的M个历史对象,以及指示该用户是否对该当前对象做出特定行为的行为标签。对象编码单元520,配置为将所述训练样本对输入所述行为预测系统,该行为预测系统包括源域编码层和目标域编码层;其中,所述源域编码层针对源域样本中的M+1个源域对象,基于目标域样本中M+1个目标域对象确定源域注意力,从而编码得到源域当前对象向量和M个源域历史对象向量;所述目标域编码层针对所述M+1个目标域对象,基于所述M+1个源域对象确定目标域注意力,从而编码得到目标域当前对象向量和M个目标域历史对象向量。用户表征单元530,配置为基于所述M个源域历史对象向量以及M个目标域历史对象向量,分别进行第一融合和第二融合,对应得到源域用户向量和目标域用户向量。行为预测单元540,配置为基于所述源域用户向量和所述源域当前对象向量,确定源域行为预测结果;基于所述目标域用户向量和目标域当前对象向量,确定目标域行为预测结果。系统更新单元550,配置为基于所述源域行为预测结果和源域行为标签,以及所述目标域行为预测结果和目标域行为标签,更新所述行为预测系统。

在一个实施例中,上述源域编码层包括N个源域编码子层,其中第i个源域编码子层获取上述M+1个源域对象的上一层表征向量和上述M+1个目标域对象的上一层表征向量,至少基于对上述M+1个目标域对象的上一层表征向量的第一线性变换结果确定上述源域注意力,基于上述源域注意力编码得到上述M+1个源域对象的本层表征向量。上述目标域编码层包括N个目标域编码子层,其中第i个目标域编码子层获取上述M+1个源域对象的上一层表征向量和上述M+1个目标域对象的上一层表征向量,至少基于对上述M+1个源域对象的上一层表征向量的第二线性变换结果确定上述目标域注意力,基于上述目标域注意力编码得到上述M+1个目标域对象的本层表征向量。

在一个具体的实施例中,上述行为预测系统还包括,源域嵌入层和目标域嵌入层,上述源域嵌入层确定上述M+1个源域对象对应的M+1个源域对象嵌入向量;上述目标域嵌入层确定上述M+1个目标域对象对应的M+1个目标域对象嵌入向量。上述第i个为第1个;上述M+1个目标域对象的上一层表征向量为上述M+1个目标域对象嵌入向量;上述M+1个源域对象的上一层表征向量为上述M+1个源域对象嵌入向量。

在另一个具体的实施例中,上述第i个不是第1个;上述M+1个目标域对象的上一层表征向量为,第i-1个目标域编码层输出的M+1个目标域对象表征向量;上述M+1个源域对象的上一层表征向量为,第i-1个源域编码层输出的M+1个源域对象表征向量。

另一方面,在一个具体的实施例中,上述源域编码层和目标域编码层均基于Transformer机制。上述第i个源域编码子层,利用源域查询变换矩阵对上述M+1个目标域对象的上一层表征向量进行上述第一线性变换,得到源域查询结果矩阵;分别利用源域键变换矩阵和源域值变换矩阵对上述M+1个源域对象的上一层表征向量进行变换,得到对应的源域键结果矩阵和源域值结果矩阵;基于上述源域查询结果矩阵和上述源域键结果矩阵的乘积确定上述源域注意力,基于上述源域注意力和上述源域值结果矩阵,得到上述M+1个源域对象的本层表征向量。上述第i个目标域编码子层,利用目标域查询变换矩阵对上述M+1个源域对象的上一层表征向量进行上述第二线性变换,得到目标域查询结果矩阵;分别利用目标域键变换矩阵和目标域值变换矩阵对上述M+1个目标域对象的上一层表征向量进行变换,得到对应的目标域键结果矩阵和目标域值结果矩阵;基于上述目标域查询结果矩阵和上述目标域键结果矩阵的乘积确定上述目标域注意力,基于上述目标域注意力和上述目标域值结果矩阵,得到上述M+1个目标域对象的本层表征向量。

在另一个具体的实施例中,上述源域编码层和目标域编码层均基于Transformer机制。上述第i个源域编码子层,分别利用源域键变换矩阵和源域值变换矩阵对上述M+1个目标域对象的上一层表征向量进行上述第一线性变换,得到源域键结果矩阵和源域值结果矩阵;利用源域查询变换矩阵对上述M+1个源域对象的上一层表征向量进行变换,得到源域查询结果;基于上述源域查询结果矩阵和上述源域键结果矩阵的乘积确定上述源域注意力,基于上述源域注意力和上述源域值结果矩阵,得到上述M+1个源域对象的本层表征向量。上述第i个目标域编码子层,分别利用目标域键变换矩阵和目标域值变换矩阵对上述M+1个源域对象的上一层表征向量进行上述第二线性变换,得到目标域键结果矩阵和目标域值结果矩阵;利用目标域查询变换矩阵对上述M+1个目标域对象的上一层表征向量进行变换,得到目标域查询结果;基于上述目标域查询结果矩阵和上述目标域键结果矩阵的乘积确定上述目标域注意力,基于上述目标域注意力和上述目标域值结果矩阵,得到上述M+1个目标域对象的本层表征向量。

在一个实施例中,上述用户表征单元530具体配置为:利用第一组合权重,对上述M个源域历史对象向量的源域平均向量,以及上述M个目标域历史对象向量的目标域平均向量进行加权求和,得到上述源域用户向量;利用第二组合权重,对上述源域平均向量和目标域平均向量进行加权求和,得到上述目标域用户向量。

在一个实施例中,上述M个源域历史对象向量和M个目标域历史对象向量共计2M个历史对象向量;上述用户表征单元530包括:源域注意力确定模块,配置为确定上述源域当前对象向量,针对上述2M个历史对象向量中各个向量分配的第一注意力权重;源域向量确定模块,配置为利用该第一注意力权重,对上述2M个历史对象向量进行加权求和,得到上述源域用户向量;目标域注意力确定模块,确定上述目标域当前对象向量,针对上述2M个历史对象向量中各个向量分配的第二注意力权重;目标域向量确定模块,利用该第二注意力权重,对上述2M个历史对象向量进行加权求和,得到上述目标域用户向量。

在一个具体的实施例中,上述行为预测系统还包括源域注意力打分网络和目标域注意力打分网络;上述源域注意力确定模块具体配置为:将上述源域当前对象向量分别与上述各个向量进行拼接,得到2M个源域拼接向量;将上述2M个源域拼接向量分别输入上述源域注意力打分网络,得到2M个源域注意力分数,对其进行归一化处理,得到上述第一注意力权重;上述目标域注意力确定模块具体配置为:将上述目标域当前对象向量分别与上述各个向量进行拼接,得到2M个目标域拼接向量;将上述2M个目标域拼接向量分别输入上述目标域注意力打分网络,得到2M个目标域注意力分数,对其进行归一化处理,得到上述第二注意力权重。

在一个实施例中,上述行为预测系统还包括源域分类网络和目标域分类网络;上述行为预测单元540包括:源域预测模块,配置为对该源域用户向量和源域当前对象向量进行拼接,得到源域拼接向量;将该源域拼接向量输入上述源域分类网络,得到上述源域行为预测结果;目标域预测模块,配置为对该目标域用户向量和目标域当前对象向量进行拼接,得到目标域拼接向量;将该目标域拼接向量输入上述目标域分类网络,得到上述目标域行为预测结果。

在一个具体的实施例中,上述源域预测模块进一步配置为:对该源域用户向量、源域当前向量和目标域用户向量进行拼接,得到上述源域拼接向量;上述目标域预测模块进一步配置为:对该目标域用户向量、目标域当前向量和源域用户向量进行拼接,得到上述目标域拼接向量。

在一个具体的实施例中,上述各域样本还包括上述用户的画像特征、上述当前对象对应的行为环境特征;上述源域预测模块进一步配置为:将上述源域样本中的源域画像特征和源域行为环境特征,以及该源域拼接向量共同输入上述源域分类网络,得到上述源域行为预测结果;上述目标域预测模块进一步配置为:将上述目标域样本中的目标域画像特征和目标域行为环境特征,以及该目标域拼接向量共同输入上述目标域分类网络,得到上述目标域行为预测结果。

在一个实施例中,上述系统更新单元550具体配置为:基于上述源域行为预测结果和源域行为标签,确定源域预测损失;基于上述目标域行为预测结果和目标域行为标签,确定目标域预测损失;利用综合损失,更新上述行为预测系统,上述综合损失与源域预测损失和上述目标域预测损失正相关。

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

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

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

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

相关技术
  • 行为预测系统的更新方法及装置、存储介质和计算设备
  • 行为预测系统的更新方法及装置
技术分类

06120112283155