具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开一些实施例的生成预测信息的方法的一个应用场景的示意图。
本公开的一些实施例提供的生成预测信息的方法一般由服务端执行。需要说明的是,服务端可以是硬件,也可以是软件。当服务端为硬件时,可以是提供各种服务的服务器,其可以实现成多个电子设备组成的分布式设备集群,也可以实现成单个电子设备。当服务端为软件时,可以安装在上述电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
如图1所示,生成预测信息的方法的执行主体可以是第一处理端101,也可以是第二处理端102。其中,第一处理端101以视频服务器(视频推荐类应用的后台服务器)为例,第二处理端102以电商服务器(电商类应用的后台服务器)为例。作为示例,用户A可以通过安装有视频推荐类应用的智能手机103与第一处理端101通信。此时,目标用户可以是用户A。
在此基础上,针对执行主体是第一处理端101的情况,第一处理端101可以基于用户A的第一用户特征信息104,生成用户A的匿名用户信息。其中,作为示例,第一用户特征信息可以是第一处理端中所存储的用户A的特征信息,包括但不限于:年龄、性别、地域、偏好的视频类型等等。作为示例,第一处理端101可以将用户A的第一用户特征信息104输入第一预测子模型1051,得到匿名用户信息。
在此基础上,第一处理端101可以将匿名用户信息发送至第二处理端102,以使第二处理端102基于匿名用户信息和第二用户特征信息106,生成预测信息107。作为示例,第二处理端102可以将匿名用户信息和第二用户特征信息106输入第二预测子模型1052,生成预测信息107。
针对执行主体是第二处理端102的情况,第二处理端102可以从第一处理端101接收用户A的匿名用户信息,其中,匿名用户信息是第一处理端101基于用户A的第一用户特征信息104生成的。从而第二处理端102可以基于匿名用户信息和第二用户特征信息106,生成预测信息107。实践中,预测信息107根据具体场景的不同而各不相同。作为示例,预测信息107可以是待展示物品的预测点击率。其中,第一预测子模型1051和第二预测子模型1052构成预测模型105。
应该理解,图1中的第一处理端、第二处理端的数目仅仅是示意性的。根据实现需要,可以具有任意非零数目的第一处理端、第二处理端。
继续参考图2,示出了根据本公开的生成预测信息的方法的一些实施例的流程200。该生成预测信息的方法,应用于第一处理端,包括以下步骤:
步骤201,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息。
在一些实施例中,上述生成预测信息的执行主体可以是第一处理端。实践中,第一处理端可以是各种类型的处理端。例如,可以是图1所示的视频服务器(视频推荐类应用的后台服务器)。从而用户可以通过终端与第一处理端通信。作为示例,用户可以通过终端(例如智能手机)上安装的视频流应用进行视频观看。当然,根据需要,第一处理端也可以是图1所示的电商服务器(电商类应用的后台服务器),对此本公开不作限定。
在一些实施例中,第一处理端可以基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息。其中,目标用户可以是任意的用户。实践中,目标用户的确定可以通过指定,也可以通过一定的条件筛选得到。例如,可以将当前通过终端与第一处理端通信的用户确定为目标用户。具体的,例如,第一处理端可以将目标用户的第一用户特征信息输入第一预测子模型,得到目标用户的匿名用户信息。其中,第一预测子模型其中,第一用户特征信息可以包括目标用户的一个或多个特征信息,包括但不限于年龄、性别、地域、偏好的视频类型等等。实践中,可以通过多种方式得到目标用户的第一用户特征信息。例如,可以预先从用户历史浏览信息(视频或图文等)或用户的登录信息中获取相关的特征信息。又如,还可以通过用户所接入的网络确定用户所处的地域等特征信息。
在一些实施例中,匿名用户信息可以通过用户特征信息生成,但一般无法通过匿名用户信息反解出用户特征信息,从而保证数据(尤其是用户特征信息)在传输过程中的安全性。实践中,匿名用户信息可以是多种形式的信息。作为示例,匿名用户信息可以是用户特征信息在另一个向量空间的映射。作为示例,匿名用户信息可以是在映射的基础上,经过压缩、拼接等处理后得到的信息。
在一些实施例的一些可选的实现方式中,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息,包括:将第一用户特征信息输入第一预测子模型,得到第一用户特征嵌入向量;将第一用户特征嵌入向量与上下文向量进行拼接,得到拼接向量;将拼接向量与第一预测模型的参数矩阵相乘,得到目标用户的匿名用户信息。在这些实现方式中,通过拼接、矩阵相乘的方式,实现对于第一用户特征信息的加密。此外,由于添加了上下文向量,增加了匿名用户信息的信息丰富程度。
在一些实施例的一些可选的实现方式中,将拼接向量与第一预测模型的参数矩阵相乘,得到目标用户的匿名用户信息,包括:将拼接向量与第一预测模型的参数矩阵相乘,得到相乘向量;对相乘向量进行数据压缩,得到目标用户的匿名用户信息。
在这些实现方式中,作为示例,可以利用数字信号处理中的Quantization技术,对于相乘向量进行压缩,从而得到目标用户的匿名用户信息。实践中,根据实际需要,可以采用1-bit Quantization或b-bit Quantization的方式对相乘向量进行压缩。具体的,采用1-bit Quantization可以将相乘向量中的每一维取值按照一定的概率赋值为相乘向量中的最小值或最大值,从而得到匿名用户信息。此时,匿名用户信息只包含最小值和最大值,对于原始信息进行了极大的压缩,从而保证数据的加密。此外,为了避免信息丢失过多,也可以采用b-bit Quantization的方式对相乘向量进行压缩。具体的,可以将相乘向量中的每一维取值按照一定的概率赋值为2*b个数值中的一个。其中,b的取值可以根据实际需要进行配置。从而在保证信息匿名的同时,避免信息丢失过多。
在一些实施例的一些可选的实现方式中,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息,包括:基于目标用户的第一用户特征信息和待展示对象的对象特征信息,得到目标用户的匿名用户信息。
在这些实现方式中,待展示对象可以各种形式的对象。例如,可以是待在电商类平台展示的各类实体或虚拟的物品(服饰、食品等等)。又如,也可以是待在资讯类平台展示的各类信息(视频、图像、文字及其组合等等)。基于第一用户特征信息和待展示对象的对象特征信息得到匿名用户信息,使得得到的匿名用户信息中融合了第一用户特征信息和待展示对象的对象特征信息,可以充分利用对象特征信息,以及增加适用场景。
步骤202,将匿名用户信息发送至第二处理端,以使第二处理端基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
在一些实施例中,上述执行主体可以通过各种方式将匿名用户信息发送至第二处理端。在此基础上,第二处理端可以通过各种方式,基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。作为示例,可以将匿名用户信息和目标用户的第二用户特征信息输入第二预测子模型,得到预测信息。其中,根据实现需要,预测信息可以是多种信息。作为示例,预测信息可以是点击率、展现量、转化率等等。
在一些实施例中,第一预测子模型和第二预测子模型构成预测模型。其中,第一预测子模型可以布设在第一处理端,第二预测子模型可以布设在第二处理端。也就是说,可以根据实际需要对预测模型进行分割,得到第一预测子模型和第二预测子模型。在此基础上,将两个子模型分别布设在不同的处理端。其中,预测模型可以是经过训练的用于预测信息的各种人工神经网络。
在一些实施例的一些可选的实现方式中,预测模型所包括的第一预测子模型和第二预测子模型基于第一样本集和第二样本集训练得到,第一样本集中的第一样本包括第一用户特征信息,第二样本集中的第二样本包括第二用户特征信息和样本预测信息。
在这些可选的实现方式中,第一样本集可以存储于第一处理端,而第二样本集可以存储于第二处理端。一般的,第一样本集和第二样本集中的样本可以通过一定的标识进行对齐。也就是说,对于第一样本集中的某个样本,第二样本集中一般也存在与该样本对应的样本。
在这些实现方式中,作为示例,预测模型通过以下步骤训练得到。可以理解,这些实现方式也可以作为一种生成第一预测子模型和第二预测子模型的方法的示例性的实现方式。具体包括:
第一步,将第一样本集中的第一样本输入第一预测子网络,得到样本匿名用户信息,第一样本集中的第一样本包括第一用户特征信息。
第二步,将样本匿名用户信息和第二样本集中与第一样本对应的第二样本中的第二用户特征信息输入第二预测子网络,得到实际预测信息,其中,第二样本集中的第二样本包括第二用户特征信息和样本预测信息。
第三步,基于实际预测信息和第二样本集中的与第一样本对应的第二样本中的样本预测信息,得到损失值。例如,可以基于预设的损失函数计算实际预测信息和第二样本中的样本预测信息的差异,得到损失值。
第四步,基于损失值对第二预测子网络进行优化,以及得到中间梯度值。实践中,作为示例,可以利用反向传播、随机梯度下降等方式将损失值从第二预测子网络的输出层向前传播,从而对第二子网络进行优化。此外,还可以得到第二预测子网络的输入层的梯度值,即中间梯度值。
第五步,基于中间梯度值对第一预测子网络进行优化。具体的,可以利用方向传播、随机梯度下降等方式将中间梯度值从第一预测子网络的输出层向前传播,从而对第一子网络进行优化。
第六步,响应于满足训练结束条件,可以将优化后的第一预测子网络确定为第一预测子模型,以及将优化后的第二预测子网络确定为第二预测子模型。可选的,若不满足训练条件,可以对优化后的第一预测子网络和优化后的第二预测子网络继续执行训练步骤。实践中,训练结束条件可以是达到一定的迭代次数、损失值小于预设阈值等等。
在这些实现方式中,第一预测子网络和第二预测子网络可以是各种人工神经网络结构。根据实际需要,可以选用不同的网络结构。
实践中,第一用户特征信息和第二用户特征信息中可以包括相同的特征信息,也可以不包含相同的特征信息,对此,本公开不做限定。可以理解,第一用户特征信息与第二用户特征信息一般可以存储在不同的处理侧。
本公开的一些实施例提供的方法,基于第一用户特征信息,生成匿名用户信息,进而生成预测信息。实践中,根据需要,第一用户特征信息可以是第一处理端的数据,而第二用户特征信息可以是第二处理端的数据。也就是说,第一处理端与第二处理端可以分别利用自己的数据,从而实现数据的交互和共享。与仅使用一端的数据相比,提高了预测信息的准确性。在此过程中,第一处理端和第二处理端通过匿名用户信息进行信息传递,从而保证数据的安全性。
进一步参考图3,其示出了生成预测信息的方法的又一些实施例的流程300。该生成预测信息的方法,应用于第一处理端,包括以下步骤:
步骤301,响应于接收到目标用户的用户请求,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息。
在一些实施例中,生成预测信息的方法的执行主体可以响应于接收到目标用户的用户请求,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息,明确了本方法执行的时机。
步骤302,将匿名用户信息发送至第二处理端,以使第二处理端基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
在一些实施例中,步骤302的具体实现及其所带来的技术效果,可以参考图2对应的那些实施例中的步骤202,在此不再赘述。
步骤303,从第二处理端接收预测信息。
步骤304,基于预测信息,生成推送信息。
在一些实施例中,执行主体可以基于预测信息,生成推送信息。具体的,根据预测信息的不同,可以利用不同的方式生成推送信息。作为示例,若预测信息为点击率,可以从候选信息中选取点击率大于预设阈值的候选信息作为推送信息。可选的,根据需要,可以将推送信息发送至终端,以对推送信息进行展示。
步骤305,接收针对推送信息的用户操作信息。
在一些实施例中,用户可以对于推送信息进行一定的操作。根据需要,用户可以进行不同的操作。例如,推送信息为资讯信息(例如新闻)时,用户可以进行浏览、收藏、分享等等操作。当然,用户也可以直接关闭推送信息,而不对推送信息进行操作。因此,用户操作信息可以用于表征用户是否执行操作,以及所执行的操作的类型等等。
步骤306,响应于用户操作信息表征用户针对推送信息执行操作,将用户请求的标识发送至第二处理端。
在一些实施例中,响应于用户操作信息表征用户针对推送信息执行操作,执行主体可以将用户请求的标识发送至第二处理端。
在一些实施例的一些可选的实现方式中,响应于接收到用户行为信息,可以将用户请求的标识和用户行为信息关联存储。
在这些可选的实现方式中,用户行为信息用于表征用户针对跳转页面所执行的行为,跳转页面为用户针对推送信息执行操作后跳转的页面。实践中,作为示例,推送信息可以是商品信息,用户对商品信息执行一定的操作(例如点击)后,第一处理端或第二处理端可以展示对应的跳转页面。作为示例,跳转页面可以是商品购买页面。用户可以在商品购买页面执行购买、收藏、分享、加购物车等等的行为。实践中,商品信息对应的跳转页面可以预先设定。
从图3中可以看出,与图2对应的一些实施例的描述相比,增加了生成推送信息的步骤,由于预测信息的准确性的提高,使得推送信息更具针对性。此外,对于用户操作信息、用户行为信息等进行存储可以丰富第一处理和第二处理端的数据,为进一步对预测模型进行优化提供了基础。在此过程中,通过用户请求的标识实现样本对齐,便于对模型进行进一步优化。
进一步参考图4,其示出了生成预测信息的方法的再一些实施例的流程400。该生成预测信息的方法的流程400,应用于第二处理端,包括以下步骤:
步骤401,从第一处理端接收目标用户的匿名用户信息,其中,匿名用户信息是第一处理端基于目标用户的第一用户特征信息生成的。
在一些实施例中,上述生成预测信息的执行主体可以是第二处理端。实践中,第二处理端可以是各种类型的处理端。第二处理端可以从第一处理端接收目标用户的匿名用户信息。其中,匿名用户信息是第一处理端基于目标用户的第一用户特征信息和第一预测子模型生成的。具体的,匿名用户信息生成方法可以参考图2对应的那些实施例,在此不再赘述。
步骤402,基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
在一些实施例中,第二处理端可以通过各种方式,基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。作为示例,可以将匿名用户信息和目标用户的第二用户特征信息输入第二预测子模型,得到预测信息。其中,根据实现需要,预测信息可以是多种信息。作为示例,预测信息可以是点击率、展现量、转化率等等。其中,第一预测子模型和第二预测子模型的具体实现可以参考图2对应的实施例,在此不再赘述。
在一些实施例的可选的实现方式中,上述方法还可以包括:基于预测信息,生成推送信息。
在一些实施例的可选的实现方式中,上述方法还可以包括:接收针对推送信息的用户操作信息;响应于用户操作信息表征用户针对推送信息执行操作,将用户请求的标识发送至第一处理端。
在一些实施例的可选的实现方式中,上述方法还可以包括:将用户请求的标识、推送信息和用户操作信息关联存储。
在一些实施例的可选的实现方式中,上述方法还可以包括:响应于接收到用户行为信息,将用户请求的标识和用户行为信息关联存储,其中,用户行为信息用于表征用户针对跳转页面所执行的行为,跳转页面为用户针对推送信息执行操作后跳转的页面。
在一些实施例中,通过从第一处理端接收目标用户的匿名用户信息,进而基于匿名用户信息和目标用户的第二用户特征信息,实现生成预测信息。在此过程中,由于匿名用户信息是第一处理端基于目标用户的第一用户特征信息生成的,从而实现了在保证数据的安全性的同时,利用多方数据,从而实现了数据的交互和共享,进而提高了预测信息的准确性。
进一步参考图5和图6,示出了根据本公开一些实施例的生成预测信息的方法的两个应用场景的示意图。
在图5所示的应用场景下,第一处理端为资讯服务器501(例如新闻类应用的后台服务器),第二处理端为视频服务器502(视频推荐类应用的后台服务器)。用户M可以通过安装有视频推荐类应用的智能手机503与视频服务器502通信。与此同时,智能手机503也可以安装有资讯类应用。从而用户M也可以通过智能手机503与资讯服务器501进行通信。在此过程中,目标用户可以是用户M。
在此基础上,作为示例,第二处理端可以将目标用户在该侧的特征信息转化为特征向量。在此基础上,可以将特征向量作为第一用户特征信息发送至第一处理端。从而第一处理端可以将第一用户特征信息与候选文章特征信息505输入第一预测子模型5041,得到目标用户的匿名用户信息。在此基础上,第一处理501端将匿名用户信息发送至第二处理端502。
从而第二处理端502可以接收到匿名用户信息。在此基础上,可以将匿名用户信息和用户M的第二用户特征信息输入第二预测子模型5042,生成预测信息506。在本应用场景下,预测信息506为用户针对候选文章的点击率。在此基础上,第二处理端基于预测信息506,生成推送信息507。在本应用场景下,推送信息507可以是根据点击率选出的推送文章。以及,可以将推送文章推送智能手机503。实践中,对于推送文章,用户M可以通过点击等操作可以进行查看。
在此基础上,智能手机503可以将用户操作信息发送至第二处理502。从而第二处理端502可以接收到针对推送信息的用户操作信息。响应于用户操作信息表征用户针对推送信息执行操作,第二处理端502可以将用户请求的标识发送至第一处理端501。此外,第二处理端502可以将用户请求的标识、推送信息507和用户操作信息关联存储。
可选的,实践中,用户在视频推荐类应用中针对推送文章可能只能执行一些简单的操作,对于更多操作,需要用户跳转至新闻类应用中进行执行。在此基础上,第一处理端501可以将用户请求标识、用户在新闻类应用中的行为数据关联存储。
继续参考图6,在图6所示的应用场景下,第一处理端为视频服务器601(视频推荐类应用的后台服务器),第二处理端为电商服务器602(例如电商类应用的后台服务器)。用户N可以通过安装有视频推荐类应用的智能手机603与视频服务器601通信。同样的,智能手机603也可以安装有电商类应用。用户N可以通过智能手机603与电商服务器602通信。在此过程中,目标用户可以是用户N。
在此基础上,视频服务器601可以将用户N的第一用户特征信息和候选商品特征信息605输入第一预测子模型6042,生成用户N的匿名用户信息。实践中,作为示例,候选商品特征信息605可以是预先获取的。在此基础上,视频服务器601可以将匿名用户信息发送至电商服务器602。
从而电商服务器602可以接收匿名用户信息。在此基础上,将匿名用户信息和第二用户特征信息输入第二预测子模型6041,生成预测信息606。在本应用场景下,预测信息606可以是对于所展示的商品信息的点击率。
在此基础上,电商服务器602可以将预测信息606发送至视频服务器601。从而视频服务器601可以根据选取点击率大于预设阈值的候选商品特征信息所对应的商品信息作为推送信息607。之后,与图5对应的应用场景类似,视频服务器601可以接收针对推送信息607的用户操作信息。响应于用户操作信息表征用户针对推送信息执行操作,视频服务器601可以将用户请求的标识发送至电商服务器602。视频服务器601可以将用户请求的标识、推送信息607和用户操作信息关联存储。进一步的,针对推送信息607,用户可以通过点击等操作进行进入跳转页面608。作为示例,跳转页面可以是电商类应用中的相关页面。用户可以在跳转页面608进行购买、收藏、分享等各种行为。响应于接收到用户行为信息,电商服务器602可以将用户请求的标识和用户行为信息关联存储。
进一步参考图7,示出了根据本公开一些实施例的生成预测信息的系统的一个示例性时序图。
如图7所示,生成预测信息的系统包括第一处理端和第二处理端。从而第一处理端和第二处理端可以执行以下步骤:
步骤701,第一处理端基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息。
步骤702,第一处理端向第二处理端发送匿名用户信息。
步骤703,第二处理端基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
在一些实施例中,步骤701-703的具体实现及其所带来的技术效果可以参考图2-图4中的阐述,在此不再赘述。
进一步参考图8,作为对上述各图所示方法的实现,本公开提供了一种生成预测信息的装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图8所示,一些实施例的生成预测信息的装置800包括:第一生成单元801和发送单元802。其中,第一生成单元801被配置成基于所述目标用户的第一用户特征信息,生成所述目标用户的匿名用户信息;发送单元802被配置成将所述匿名用户信息发送至第二处理端,以使所述第二处理端基于所述匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
在一些实施例中,装置800中的第一生成单元801和发送单元802的具体实现及其所带来的技术效果,可以参考图2对应的实施例,在此不再赘述。
在一些实施例的可选实现方式中,第一生成单元801进一步被配置成:基于目标用户的第一用户特征信息和待展示对象的对象特征信息,得到目标用户的匿名用户信息。
在一些实施例的可选实现方式中,装置800还可以包括:预测信息接收单元(图中未示出)和推送信息生成单元(图中未示出)。其中,预测信息接收单元被配置成从第二处理端接收预测信息。推送信息生成单元被配置成基于预测信息,生成推送信息。
在一些实施例的可选实现方式中,第一生成单元801进一步被配置成:将第一用户特征信息输入第一预测子模型,得到第一用户特征嵌入向量;将第一用户特征嵌入向量与上下文向量进行拼接,得到拼接向量;将拼接向量与第一预测模型的参数矩阵相乘,得到目标用户的匿名用户信息。
在一些实施例的可选实现方式中,第一生成单元801进一步被配置成:将拼接向量与第一预测模型的参数矩阵相乘,得到相乘向量;对相乘向量进行数据压缩,得到目标用户的匿名用户信息。
在一些实施例的可选实现方式中,第一生成单元801进一步被配置成:响应于接收到目标用户的用户请求,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息。在一些实施例的可选实现方式中,装置800还可以包括操作信息接收单元(图中未示出)和标识发送单元(图中未示出)。其中,操作信息接收单元被配置成接收针对推送信息的用户操作信息;标识发送单元被配置成响应于用户操作信息表征用户针对推送信息执行操作,将用户请求的标识发送至第二处理端。
在一些实施例中,基于第一用户特征信息,生成匿名用户信息,进而生成预测信息。实践中,根据需要,第一用户特征信息可以是第一处理端的数据,而第二用户特征信息可以是第二处理端的数据。也就是说,第一处理端与第二处理端可以分别利用自己的数据,从而实现数据的交互和共享。与仅使用一端的数据相比,提高了预测信息的准确性。在此过程中,第一处理端和第二处理端通过匿名用户信息进行信息传递,从而保证数据的安全性。
下面参考图9,其示出了适于用来实现本公开的一些实施例的电子设备900的结构示意图。图9示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储装置908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图9中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM 902被安装。在该计算机程序被处理装置901执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息;将匿名用户信息发送至第二处理端,以使第二处理端基于匿名用户信息和第二用户特征信息,生成预测信息。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一生成单元和发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一生成单元还可以被描述为“生成目标用户的匿名用户信息的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
根据本公开的一个或多个实施例,提供了一种生成预测信息的方法,包括:基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息;将匿名用户信息发送至第二处理端,以使第二处理端基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
根据本公开的一个或多个实施例,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息,包括:基于目标用户的第一用户特征信息和待展示对象的对象特征信息,得到目标用户的匿名用户信息。
根据本公开的一个或多个实施例,方法还包括:从第二处理端接收预测信息;基于预测信息,生成推送信息。
根据本公开的一个或多个实施例,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息,包括:将第一用户特征信息输入第一预测子模型,得到第一用户特征嵌入向量;将第一用户特征嵌入向量与上下文向量进行拼接,得到拼接向量;将拼接向量与第一预测模型的参数矩阵相乘,得到目标用户的匿名用户信息。
根据本公开的一个或多个实施例,将拼接向量与第一预测模型的参数矩阵相乘,得到目标用户的匿名用户信息,包括:将拼接向量与第一预测模型的参数矩阵相乘,得到相乘向量;对相乘向量进行数据压缩,得到目标用户的匿名用户信息。
根据本公开的一个或多个实施例,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息,包括:响应于接收到目标用户的用户请求,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息。
根据本公开的一个或多个实施例,方法还包括:接收针对推送信息的用户操作信息;响应于用户操作信息表征用户针对推送信息执行操作,将用户请求的标识发送至第二处理端。
根据本公开的一个或多个实施例,第一预测子模型通过以下步骤训练得到:将第一样本集中的第一样本输入第一预测子网络,得到样本匿名用户信息,其中,第一样本集中的第一样本包括第一用户特征信息;将样本匿名用户信息和第二样本集中与第一样本对应的第二样本中的第二用户特征信息输入第二预测子网络,得到实际预测信息,其中,第二样本集中的第二样本包括第二用户特征信息和样本预测信息;基于实际预测信息和第二样本集中的与第一样本对应的第二样本中的样本预测信息,得到损失值;基于损失值对第二预测子网络进行优化,以及得到中间梯度值;基于中间梯度值对第一预测子网络进行优化;响应于满足训练结束条件,将优化后的第一预测子网络确定为第一预测子模型。
根据本公开的一个或多个实施例,提供了一种生成预测信息的方法,应用于第二处理端,包括:从第一处理端接收目标用户的匿名用户信息,其中,匿名用户信息是第一处理端基于目标用户的第一用户特征信息生成的;基于匿名用户信息和目标用户的第二用户特征信息生成预测信息。
根据本公开的一个或多个实施例,方法还包括:基于预测信息,生成推送信息。
根据本公开的一个或多个实施例,基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息,包括:将匿名用户信息和目标用户的第二用户特征信息输入第二预测子模型,生成预测信息。
根据本公开的一个或多个实施例,方法还包括:接收针对推送信息的用户操作信息;响应于用户操作信息表征用户针对推送信息执行操作,将用户请求的标识发送至第一处理端。
根据本公开的一个或多个实施例,方法还包括:将用户请求的标识、推送信息和用户操作信息关联存储。
根据本公开的一个或多个实施例,方法还包括:响应于接收到用户行为信息,将用户请求的标识和用户行为信息关联存储,其中,用户行为信息用于表征用户针对跳转页面所执行的行为,跳转页面为用户针对推送信息执行操作后跳转的页面。
根据本公开的一个或多个实施例,提供了一种生成第一预测子模型和第二预测子模型的方法,包括:将第一样本集中的第一样本输入第一预测子网络,得到样本匿名用户信息,其中,第一样本集中的第一样本包括第一用户特征信息;将样本匿名用户信息和第二样本集中与第一样本对应的第二样本中的第二用户特征信息输入第二预测子网络,得到实际预测信息,其中,第二样本集中的第二样本包括第二用户特征信息和样本预测信息;基于实际预测信息和第二样本集中的与第一样本对应的第二样本中的样本预测信息,得到损失值;基于损失值对第二预测子网络进行优化,以及得到中间梯度值;基于中间梯度值对第一预测子网络进行优化;响应于满足训练结束条件,将优化后的第一预测子网络确定为第一预测子模型,以及将优化后的第二预测子网络确定为第二预测子模型。
根据本公开的一个或多个实施例,提供了一种生成预测信息的系统,包括:第一处理端,被配置成基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息,以及向第二处理端发送匿名用户信息;第二处理端,被配置成基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
根据本公开的一个或多个实施例,提供了一种生成预测信息的装置,包括:第一生成单元,被配置成基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息;发送单元,将匿名用户信息发送至第二处理端,以使第二处理端基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
根据本公开的一个或多个实施例,第一生成单元进一步被配置成:基于目标用户的第一用户特征信息和待展示对象的对象特征信息,得到目标用户的匿名用户信息。
根据本公开的一个或多个实施例,装置还可以包括:预测信息接收单元和推送信息生成单元。其中,预测信息接收单元被配置成从第二处理端接收预测信息。推送信息生成单元被配置成基于预测信息,生成推送信息。
根据本公开的一个或多个实施例,第一生成单元进一步被配置成:将第一用户特征信息输入第一预测子模型,得到第一用户特征嵌入向量;将第一用户特征嵌入向量与上下文向量进行拼接,得到拼接向量;将拼接向量与第一预测模型的参数矩阵相乘,得到目标用户的匿名用户信息。
根据本公开的一个或多个实施例,第一生成单元进一步被配置成:将拼接向量与第一预测模型的参数矩阵相乘,得到相乘向量;对相乘向量进行数据压缩,得到目标用户的匿名用户信息。
根据本公开的一个或多个实施例,第一生成单元进一步被配置成:响应于接收到目标用户的用户请求,基于目标用户的第一用户特征信息,生成目标用户的匿名用户信息。根据本公开的一个或多个实施例,装置还可以包括操作信息接收单元和标识发送单元。其中,操作信息接收单元被配置成接收针对推送信息的用户操作信息;标识发送单元被配置成响应于用户操作信息表征用户针对推送信息执行操作,将用户请求的标识发送至第二处理端。
根据本公开的一个或多个实施例,第一预测子模型通过以下步骤训练得到:将第一样本集中的第一样本输入第一预测子网络,得到样本匿名用户信息,其中,第一样本集中的第一样本包括第一用户特征信息;将样本匿名用户信息和第二样本集中与第一样本对应的第二样本中的第二用户特征信息输入第二预测子网络,得到实际预测信息,其中,第二样本集中的第二样本包括第二用户特征信息和样本预测信息;基于实际预测信息和第二样本集中的与第一样本对应的第二样本中的样本预测信息,得到损失值;基于损失值对第二预测子网络进行优化,以及得到中间梯度值;基于中间梯度值对第一预测子网络进行优化;响应于满足训练结束条件,将优化后的第一预测子网络确定为第一预测子模型。
根据本公开的一个或多个实施例,提供了一种生成预测信息的装置,包括:接收单元,被配置成从第一处理端接收目标用户的匿名用户信息,其中,匿名用户信息是第一处理端基于目标用户的第一用户特征信息生成的;第二生成单元,被配置成基于匿名用户信息和目标用户的第二用户特征信息,生成预测信息。
根据本公开的一个或多个实施例,装置还可以包括:第三生成单元。其中,第三生成单元可以被配置成基于预测信息,生成推送信息。
根据本公开的一个或多个实施例,第二生成单元进一步被配置成:将匿名用户信息和目标用户的第二用户特征信息输入第二预测子模型,生成预测信息。
根据本公开的一个或多个实施例,装置还可以包括:用户操作信息接收单元,被配置成接收针对推送信息的用户操作信息;标识发送单元,被配置成响应于用户操作信息表征用户针对推送信息执行操作,将用户请求的标识发送至第一处理端。
根据本公开的一个或多个实施例,装置还包括:关联存储单元。其中,关联存储单元被配置成将用户请求的标识、推送信息和用户操作信息关联存储。
根据本公开的一个或多个实施例,装置还包括:响应于接收到用户行为信息,将用户请求的标识和用户行为信息关联存储,其中,用户行为信息用于表征用户针对跳转页面所执行的行为,跳转页面为用户针对推送信息执行操作后跳转的页面。
根据本公开的一个或多个实施例,提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述任一的方法。
根据本公开的一个或多个实施例,提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如上述任一的方法。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。