用户消费时长预测方法、装置、电子设备与存储介质与流程

文档序号:26142137发布日期:2021-08-03 14:26阅读:197来源:国知局
用户消费时长预测方法、装置、电子设备与存储介质与流程

本发明涉及人工智能领域,尤其涉及一种用户消费时长预测方法、装置、电子设备与存储介质。



背景技术:

对于视频、音乐、新闻等类型的网站,用户消费时长是一个重要的衡量指标,该指标能够很好地反映网站内容对用户的吸引程度。

为了更好地服务用户,需要对内容的用户消费时长进行预测。基于预测结果可向用户推荐其可能感兴趣的内容。

在现有技术中,已经具有基于神经网络模型实现的用户消费时长预测方法。神经网络模型总体上分为全连接模型与双塔模型。双塔模型较全连接模型在模型参数的规模上有大幅度的精简,但在预测精度上存在不足,因此现有技术中基于双塔模型所得到的用户消费时长预测方法具有预测精度不足的问题。



技术实现要素:

针对现有技术中存在的问题,本发明提供一种用户消费时长预测方法、装置、电子设备与存储介质。

本发明提供一种用户消费时长预测方法,包括:

获取目标用户的特征信息以及目标内容的特征信息;

将所述目标用户的特征信息以及所述目标内容的特征信息输入预先训练的用户消费时长预测模型,得到所述目标用户对于所述目标内容的消费时长预测值;其中,

所述用户消费时长预测模型用于,根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的消费时长预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

根据本发明提供的一种用户消费时长预测方法,所述用户消费时长预测模型包括输入网络层以及输出网络层;

所述输入网络层用于根据目标用户的特征信息和目标用户的特征信息所对应的权重向量生成目标用户的特征向量,以及根据目标内容的特征信息和目标内容的特征信息所对应的权重向量生成目标内容的特征向量;其中,目标用户的第一特征信息以及目标内容的第一特征信息共享同一个权重向量,所述目标用户的第一特征信息为所述目标用户的任意一个特征信息,所述目标内容的第一特征信息为所述目标内容的任意一个特征信息,且所述目标用户的第一特征信息与所述目标内容的第一特征信息相同;

所述输出网络层用于将基于所述目标用户的特征向量所得到的目标用户向量拆分成多个目标用户子向量,将基于所述目标内容的特征向量所得到的目标内容向量拆分成多个目标内容子向量,并基于所述多个目标用户子向量与所述多个目标内容子向量之间的距离计算结果,得到目标用户对于目标内容的消费时长预测值。

根据本发明提供的一种用户消费时长预测方法,在所述获取目标用户的特征信息以及目标内容的特征信息的步骤之前,方法还包括:

获取样本用户的特征信息、样本内容的特征信息以及多个样本消费时长;其中,所述样本消费时长用于反映样本用户对于样本内容的消费时长;

统计所述多个样本消费时长的分布情况,根据统计结果确定等分点;

根据所述等分点,将第一样本消费时长映射为第一概率值;其中,所述第一样本消费时长为所述多个样本消费时长中的任意一个,所述第一概率值用于描述第一样本消费时长超过所述多个样本消费时长中的除所述第一样本消费时长之外的其他样本消费时长的概率;

根据所述第一概率值生成样本标签;

基于所述样本用户的特征信息、样本内容的特征信息以及样本标签进行训练,得到消费时长预测模型。

根据本发明提供的一种用户消费时长预测方法,所述输出网络层进一步包括:子向量拆分层、距离计算层以及线性组合层;其中,

所述子向量拆分层用于将所述目标用户向量拆分成多个目标用户子向量,将所述目标内容向量均匀拆分成多个目标内容子向量;其中,所述多个目标用户子向量与所述多个目标内容子向量的数量均为正整数n;所述多个目标用户子向量中的各个目标用户子向量以及所述多个目标内容子向量中的各个目标内容子向量均具有相同的维度;

所述距离计算层用于将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,得到包含所有距离计算结果的交叉向量;其中,所述交叉向量的维度为n的平方;

所述线性组合层用于将所述交叉向量中的所有距离计算结果进行线性组合,并基于组合后的交叉向量得到目标用户对于目标内容的消费时长预测值。

本发明提供了一种用户消费时长预测装置,包括:

特征信息获取模块,用于获取目标用户的特征信息以及目标内容的特征信息;

用户消费时长预测模块,用于将所述目标用户的特征信息以及所述目标内容的特征信息输入预先训练的用户消费时长预测模型,得到所述目标用户对于所述目标内容的消费时长预测值;其中,

所述用户消费时长预测模型用于,根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的消费时长预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

根据本发明提供的一种用户消费时长预测装置,所述用户消费时长预测模型包括输入网络层以及输出网络层;

所述输入网络层用于根据目标用户的特征信息和目标用户的特征信息所对应的权重向量生成目标用户的特征向量,以及根据目标内容的特征信息和目标内容的特征信息所对应的权重向量生成目标内容的特征向量;其中,目标用户的第一特征信息以及目标内容的第一特征信息共享同一个权重向量,所述目标用户的第一特征信息为所述目标用户的任意一个特征信息,所述目标内容的第一特征信息为所述目标内容的任意一个特征信息,且所述目标用户的第一特征信息与所述目标内容的第一特征信息相同;

所述输出网络层用于将基于所述目标用户的特征向量所得到的目标用户向量拆分成多个目标用户子向量,将基于所述目标内容的特征向量所得到的目标内容向量拆分成多个目标内容子向量,并基于所述多个目标用户子向量与所述多个目标内容子向量之间的距离计算结果,得到目标用户对于目标内容的消费时长预测值。

根据本发明提供的一种用户消费时长预测装置,装置还包括:

样本数据获取模块,用于获取样本用户的特征信息、样本内容的特征信息以及多个样本消费时长;其中,所述样本消费时长用于反映样本用户对于样本内容的消费时长;

等分点确定模块,用于统计所述多个样本消费时长的分布情况,根据统计结果确定等分点;

映射模块,用于根据所述等分点,将第一样本消费时长映射为第一概率值;其中,所述第一样本消费时长为所述多个样本消费时长中的任意一个,所述第一概率值用于描述第一样本消费时长超过所述多个样本消费时长中的除所述第一样本消费时长之外的其他样本消费时长的概率;

样本标签生成模块,用于根据所述第一概率值生成样本标签;

模型训练模块,用于基于所述样本用户的特征信息、样本内容的特征信息以及样本标签进行训练,得到消费时长预测模型。

根据本发明提供的一种用户消费时长预测装置,所述输出网络层进一步包括:子向量拆分层、距离计算层以及线性组合层;其中,

所述子向量拆分层用于将所述目标用户向量拆分成多个目标用户子向量,将所述目标内容向量均匀拆分成多个目标内容子向量;其中,所述多个目标用户子向量与所述多个目标内容子向量的数量均为正整数n;所述多个目标用户子向量中的各个目标用户子向量以及所述多个目标内容子向量中的各个目标内容子向量均具有相同的维度;

所述距离计算层用于将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,得到包含所有距离计算结果的交叉向量;其中,所述交叉向量的维度为n的平方;

所述线性组合层用于将所述交叉向量中的所有距离计算结果进行线性组合,并基于组合后的交叉向量得到目标用户对于目标内容的消费时长预测值。

本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如所述用户消费时长预测方法的步骤。

本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如所述用户消费时长预测方法的步骤。

本发明实施例提供的用户消费时长预测方法、装置、电子设备与存储介质,通过对基于目标用户的特征信息所得到的目标用户向量进行拆分,得到多个目标用户子向量,对基于目标内容的特征信息所得到的目标内容向量进行拆分,得到多个目标内容子向量,以及基于所述多个目标用户子向量与所述多个目标内容子向量之间的交叉结果,得到更为准确的目标用户对于目标内容的消费时长预测值。

附图说明

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

图1为本发明提供的用户消费时长预测方法的流程图;

图2为本发明所涉及的用户消费时长预测模型所基于的神经网络模型的结构示意图之一;

图3为本发明所涉及的用户消费时长预测模型所基于的神经网络模型的示意图之二;

图4为本发明提供的用户消费时长预测装置的示意图;

图5为本发明提供的用户点击率预测方法的流程图;

图6为本发明提供的用户点击率预测装置的示意图;

图7为本发明所涉及的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在对本发明的方法做详细说明之前,首先对本发明中所涉及到的神经网络模型进行说明。

神经网络模型的主流方式总体分为两类:

第一类为全连接模型,其原理为:将用户特征信息、物品特征信息组合为一个混合的特征向量,然后将其作为一个神经网络的输入向量,再将神经网络的输出通过sigmoid函数后转化为概率p。计算p与真实标签y之间的对数损失l,通过最小化l对模型进行优化。

第二类为双塔模型,其原理为:将用户特征信息(包含场景特征信息)和物品特征信息各自组合为用户特征向量和物品特征向量,然后将这两个特征向量分别作为两个独立神经网络(用户塔和物品塔)的输入向量,各自输出用户向量和物品向量;接着,计算用户向量和物品向量之间的距离(如欧氏距离、余弦距离或者内积距离等),再将此距离通过sigmoid后转化为概率p。计算p与真实标签y之间的对数损失l,通过最小化l对模型进行优化。

全连接模型的优点是能够保证用户特征信息和物品特征信息的充分组合,通常能够得到较好的预测精度。然而,由于每个特征向量的各个维度都是全连接的,因此模型包含的参数量巨大,由此带来的很多弊端:如训练数据稀疏,可能无法令模型收敛;训练效率较低,在线预测时延较长;浪费更多硬件资源。

双塔模型将一个网络分为两个(用户网络和物品网络),特征组合仅发生在用户网络或者物品网络内部。因此,能够大幅度减少模型参数量,从而提升模型训练和预测的性能。然而,由于用户特征信息和物品特征信息只在用户网络和物品网络的输出向量之间做一次“交叉”,通常导致因为特征联系不紧密,从而预测精度下降的结果。

例如,假设输入的用户和物品特征信息各有10个,每个特征信息用32维向量表示。仅考虑神经网络内部的参数量,两种模型的参数量比较结果为:

全连接模型使用一个1024-512-256的全连接网络,其网络参数总量=20*32*1024*512*256=8.6e+10。

双塔模型使用两个512-256-128的神经网络,其网络参数总量=(10*32*512*256*128)*2=1.1e+10。

由此可见,双塔模型的参数总量仅为全连接模型的1/8,能够大幅度减少模型参数量。

但正如之前所描述的,双塔模型由于自身结构的特点,使得其在预测精度上不如全连接模型。在本发明中,将在已有双塔模型的基础上,对双塔模型的结构进行改进,从而以改进后的双塔模型为基础实现对用户消费时长的预测。

图1为本发明提供的用户消费时长预测方法的流程图,如图1所示,本发明提供的用户消费时长预测方法,包括:

步骤101、获取目标用户的特征信息以及目标内容的特征信息。

在本发明中,目标用户是待进行消费时长预测的用户;目标内容是待进行消费时长预测的内容。如在一个应用场景中,希望对“张三”收听歌曲“abc”的时间长度进行预测,那么“张三”为目标用户,歌曲“abc”为目标内容。

目标用户的特征信息有多种类型,常见的类型包括:目标用户基础信息,如目标用户id、目标用户年龄、目标用户性别、目标用户所在区域等;目标用户喜好信息,如目标用户所喜欢的歌曲的名称、目标用户所喜欢的歌手、目标用户所喜欢的曲风等;目标用户的历史消费信息,如目标用户最近收听的10首歌曲,目标用户在过去一个月内收藏或点赞的歌曲等。

目标内容的特征信息有多种类型,常见的类型包括:目标内容的标识信息,如歌曲的id;目标内容的作者信息,如歌曲演唱者的名称、歌词创作者的名称、歌曲创作者的名称等;目标内容的标签信息,如歌曲的曲风、歌曲的地域、歌曲的语言、歌曲的情感类型等。

目标用户的特征信息与目标内容的特征信息均可以有多个。目标用户的任意一个特征信息均可以用一个三元组的形式来表示,三元组的前两项分别表示特征名、特征值,三元组的第三项用于表示感兴趣程度。如目标用户的一个特征信息的表示式为:“喜爱歌手,周杰伦,0.8”,其中的“喜爱歌手”是特征名,周杰伦是特征值,0.8是目标用户对歌手周杰伦的感兴趣程度,其数值可根据用户的历史行为,如历史播放、点赞、收藏等行为,按照规则预先设定,在本发明中不对该数值的生成过程进行说明。

目标内容的特征信息也可以采用类似的方式加以表示。

如何获取目标用户的特征信息以及目标内容的特征信息是本领域技术人员的公知常识,因此不在此处重复。

步骤102、将目标用户的特征信息与目标内容的特征信息输入预先训练的用户消费时长预测模型,得到目标用户对于目标内容的消费时长预测值。

本领域技术人员很容易理解,不同的用户对于同一内容的感兴趣程度是不一样的。例如,以电影为例,男性观众可能更偏好战争、历史题材的电影,女性观众可能更偏好言情、都市题材的电影。基于感兴趣程度的差异,不同的用户对于相同内容的消费时长也存在差异。一般而言,感兴趣程度越高,消费时长越长,感兴趣程度越低,消费时长越短。

在本发明中,用户消费时长预测模型正是基于目标用户对于目标内容的感兴趣程度,来预测目标用户对于目标内容的消费时长。

本发明的用户消费时长预测模型是基于样本用户的特征信息、样本内容的特征信息以及样本标签训练得到的;其中,所述样本标签是基于样本用户对于样本内容的消费时长得到的。

本发明的用户消费时长预测模型用于根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的消费时长预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

本发明的用户消费时长预测模型是基于神经网络模型实现的。图2为本发明所涉及的用户消费时长预测模型所基于的神经网络模型的结构示意图之一,如图2所示,本发明的用户消费时长预测模型包括输入网络层以及输出网络层。

所述输入网络层用于根据目标用户的特征信息和目标用户的特征信息所对应的权重向量生成目标用户的特征向量,以及根据目标内容的特征信息和目标内容的特征信息所对应的权重向量生成目标内容的特征向量。

参考图2,将目标用户的特征信息以及目标内容的特征信息分别输入所述输入网络层后,基于特征权重矩阵可得到目标用户的特征向量以及目标内容的特征向量。

所述特征权重矩阵可进一步分为用户特征权重矩阵和内容特征权重矩阵。用户特征权重矩阵用于从多个维度描述不同类型的用户特征信息在反映用户对内容感兴趣程度方面的不同权重,每个用户特征信息对应用户特征权重矩阵中的一个权重向量;内容特征权重矩阵用于从多个维度描述不同类型的内容特征信息在反映用户对内容感兴趣程度方面的不同权重,每个内容特征信息对应内容特征权重矩阵中的一个权重向量。在本实施例中,用户特征权重矩阵和内容特征权重矩阵在逻辑上是相互独立的,两个矩阵中的各个权重向量的大小在消费时长预测模型的训练阶段,基于样本用户的特征信息、样本内容的特征信息以及样本标签确定。

在构建特征权重矩阵时,可将用户的特征信息以及内容的特征信息的全部“特征名:特征值”的组合映射到一段连续的整数空间中,假设用户相关的“特征名:特征值”组合数量为m1,内容相关的特征信息组合数量为m2,那么整个特征空间大小为m=m1+m2。若要用k维向量表示每种特征组合,就可以创建一个m*k维的特征权重矩阵w。

之前已经提到,目标用户的特征信息以及目标内容的特征信息通常表示为三元组的形式。在根据目标用户的特征信息得到目标用户的特征向量或根据目标内容的特征信息得到目标内容的特征向量时,使用三元组的前两项在特征权重矩阵w中定位到某个行向量wj,再将三元组的第三项与wj相乘,即可得到目标用户的特征向量或目标内容的特征向量。

例如:

目标用户的特征信息:fu=<喜爱歌手,周杰伦,0.8>;

目标内容(歌曲)的特征信息:fs=<演唱者,周杰伦,1.0>。

假设“喜爱歌手:周杰伦”被映射到特征权重矩阵w中的行向量w100,那么fu对应的特征向量即为:vu=0.8*w100,“演唱者:周杰伦”被映射到特征权重矩阵w中的行向量w200,那么特征信息fs对应的特征向量即:vs=1.0*w200。

所述输出网络层用于将基于所述目标用户的特征向量所得到的目标用户向量拆分成多个目标用户子向量,将基于所述目标内容的特征向量所得到的目标内容向量拆分成多个目标内容子向量,并基于所述多个目标用户子向量与所述多个目标内容子向量之间的距离计算结果,得到目标用户对于目标内容的消费时长预测值。

具体的,输出网络层包括计算网络层,所述计算网络层包括用户网络层和内容网络层(即现有技术中所描述的物品网络),所述用户网络层用于根据目标用户的特征向量生成目标用户向量,所述内容网络层用于根据目标内容的特征向量生成目标内容向量。

目标用户向量能够表征目标用户的兴趣,目标内容向量能够表征目标内容的特征。

在本实施例中,计算网络层的结构与现有技术并无本质上的区别,如所述用户网络层和内容网络层使用两个完全相同的三层全连接网络,分别对目标用户的特征向量和目标内容的特征向量进行计算,激活函数使用relu。因此在本实施例中将不再做进一步的说明。

所述输出网络层还包括:子向量拆分层、距离计算层以及线性组合层;其中,

所述子向量拆分层用于将所述目标用户向量拆分成多个目标用户子向量,将所述目标内容向量拆分成多个目标内容子向量;

所述距离计算层用于将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,得到包含所有距离计算结果的交叉向量;

所述线性组合层用于将所述交叉向量中的所有距离计算结果进行线性组合,并基于组合后的交叉向量得到目标用户对于目标内容的消费时长预测值。

在之前对现有技术的描述中已经提到,基于现有的双塔模型,用户特征信息和物品特征信息(即内容特征信息)只在用户网络和物品网络(内容网络)的输出向量之间做一次“交叉”,导致两类特征信息之间的联系不紧密,预测结果的精度不高。因此,在本实施例中,计算网络层输出目标用户向量和目标内容向量后,需要将目标用户向量进行拆分,得到多个目标用户子向量;将目标内容向量进行拆分,得到多个目标内容子向量。

例如,将目标用户向量ue进行均匀拆分,得到相同维度的n个k维子向量{ueh1,ueh2...uehn};将目标内容向量ie进行均匀拆分,得到相同维度的n个k维子向量{ieh1,ieh2...iehn}。其中,ueh的个数与ieh个数相同均为n,每个ueh和ieh维度均为k。假设ue和ie的维度为d,那么d=n×k。

对目标用户向量以及目标内容向量分别进行拆分后,可将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,得到包含所有距离计算结果的交叉向量。

在本实施例中,作为一种优选实现方式,所述距离为余弦距离,在其他实施例中,所述距离还可以是其他类型的距离,如欧式距离等。

将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,所得到的包含所有距离计算结果的交叉向量cv的表达式为:

cv={cos(ueh1,ieh1),cos(ueh1,ieh2),...,cos(ueh1,iehn),cos(ueh2,ieh1),cos(ueh2,ieh2),...,cos(ueh2,iehn),...,cos(uehn,iehn)}。

cv向量内部的排列顺序并无特定要求,cv的维度为n2。在工程实现时,可先将每个ueh和ieh分别做l2归一化,然后两两计算内积。

基于所得到的交叉向量,可对交叉向量中所包含的各个距离值进行线性组合,最终得到目标用户对目标内容的消费时长预测值。其中,对交叉向量中所包含的各个距离值进行线性组合可通过一个1层或者2层的神经网络实现,该神经网络的最后一层只包含一个节点。该神经网络为线性网络,能够对交叉向量中所包含的各个距离值进行线性组合。

以上是对本发明中所涉及的输出网络层的结构说明。所述输出网络层之所以如此设计,是基于以下两个假设,这两个假设已经被实践验证:

a、充分的特征交叉能带来正向收益;

b、特征级交叉的效果优于元素级交叉的效果。

其中,元素级交叉是指特征向量a的每个维度与特征向量b的每个维度都进行计算,通常神经网络属于这种方式;特征级交叉是指特征向量a与特征向量b的对应维度进行计算,向量的元素乘法、内积、余弦都属于这种方式。

从上述描述可以看出,鉴于目标用户向量与目标内容向量隐藏了非常丰富的用户信息和内容信息,因此在本发明中由输出网络层拆分目标用户向量以及目标内容向量,得到能够表征目标用户或者目标内容在某方面的特征信息的子向量;考虑到这些方面的特征信息彼此可能也有一定联系,所以采用两两求余弦距离的方式对这些子向量进行组合,从而实现目标用户和目标内容特征级的交叉。经过上述操作所得到的输出网络层的输出结果,能够充分反映目标用户与目标内容之间的联系,因此可以更好地反映目标用户对目标内容的感兴趣程度,进而得到更为准确的目标用户对于目标内容的消费时长预测值。

本发明提供的用户消费时长预测方法通过对基于目标用户的特征信息所得到的目标用户向量进行拆分,得到多个目标用户子向量,对基于目标内容的特征信息所得到的目标内容向量进行拆分,得到多个目标内容子向量,以及基于所述多个目标用户子向量与所述多个目标内容子向量之间的交叉结果,得到更为准确的目标用户对于目标内容的消费时长预测值。

基于上述任一实施例,在本实施例中,所述输入网络层用于根据目标用户的特征信息和目标用户的特征信息所对应的权重向量生成目标用户的特征向量,以及根据目标内容的特征信息和目标内容的特征信息所对应的权重向量生成目标内容的特征向量;其中,目标用户的第一特征信息以及目标内容的第一特征信息共享同一个权重向量,所述目标用户的第一特征信息为所述目标用户的任意一个特征信息,所述目标内容的第一特征信息为所述目标内容的任意一个特征信息,且所述目标用户的第一特征信息与所述目标内容的第一特征信息相同。

在之前的实施例中,用户特征权重矩阵中的各个权重向量和内容特征权重矩阵中的各个权重向量是相互独立的。但在实际应用中,某些用户特征信息与某些内容特征信息是相同的,这些相同的用户特征信息与内容特征信息的权重向量可以共享。

例如,对于用户特征信息“喜爱歌手:周杰伦”和歌曲特征信息“演唱歌手:周杰伦”,它们虽然分属用户特征信息和内容特征信息这两类,但通过分析可知,它们的实际含义是一致的,只是分属不同对象而已。因此,在本发明中,使得这两个相同的特征信息共享相同的权重向量。

类似的共享特征信息广泛存在于用户和内容之间,例如:

用户喜爱的曲风vs歌曲曲风;

用户喜爱的嗓音vs歌曲演唱者的嗓音;

用户最近收听的歌曲idvs歌曲id;

……。

图3为本发明所涉及的用户消费时长预测模型所基于的神经网络模型的示意图之二。如图3所示,在本实施例中,目标用户的特征信息与目标内容的特征信息共享特征权重矩阵中的权重向量。

共享权重向量能够带来如下优点:

1)、降低数据稀疏对训练造成的影响。

例如:假设在训练样本中出现喜爱周杰伦的用户比较多,但是演唱者是周杰伦的歌曲比较少。如果将用户特征信息的权重向量和内容特征信息的权重向量分开,就会出现用户侧喜爱周杰伦的这个特征权重向量训练比较充分,而内容侧歌曲演唱者为周杰伦的特征权重向量训练可能无法得到充分训练,这将导致模型对演唱者为周杰伦的歌曲预测效果不佳。

反之,如果采用共享权重向量的方式,那么即便周杰伦在歌曲特征信息中出现的频率不高,但是由于在用户特征信息中出现频率高,依然能够得到较为充分地训练。

2)、增加用户特征信息和内容特征信息之间的联系。

之前的描述中提到传统的双塔模型存在的一个重大缺陷就是用户特征信息和内容特征信息联系不紧密,这是决定双塔模型比不上全连接模型的重要原因,而共享权重从源头就将用户特征信息和内容特征信息紧密的绑定在一起,很大程度上增加了用户特征信息和内容特征信息之间的联系。

3)、有助于压缩特征权重矩阵的数据量。

由于消费时长预测模型的本质是要在用户与内容之间寻找匹配关系,因此多数的用户特征信息能找到与之相同的内容特征信息。这些相同的特征信息若能共享同一权重向量,那么在特征权重矩阵中就不需要重复存储相同的权重向量,有助于压缩特征权重矩阵的数据量。理想情况下,能够将当前技术使用的特征权重矩阵压缩50%。

本发明提供的用户消费时长预测方法通过让相同的用户特征信息与内容特征信息共享权重向量,能降低数据稀疏对训练造成的影响,增加用户特征信息和内容特征信息之间的联系,有助于压缩特征权重矩阵的数据量。

基于上述任一实施例,在本实施例中,方法还包括:

获取样本用户的特征信息、样本内容的特征信息以及样本消费时长;其中,所述样本消费时长反映了样本用户对于样本内容的消费时长;

统计所述样本消费时长的分布情况,根据统计结果确定等分点;

根据所述等分点,将第一样本消费时长映射为第一概率值;其中,所述第一样本消费时长为任意一个样本消费时长,所述第一概率值用于描述第一样本消费时长超过其他样本消费时长的概率;

根据所述第一概率值生成样本标签;

基于所述样本用户的特征信息、样本内容的特征信息以及样本标签进行训练,得到消费时长预测模型。

在本实施例中,样本用户是指在模型训练阶段所涉及的用户,如在预设的时间段内访问某一音乐网站的所有用户。样本内容是指在模型训练阶段所涉及的内容,如在预设的时间段内样本用户在某一音乐网站上所访问的所有内容。样本用户与样本内容均有多个。

样本消费时长反映了样本用户对于样本内容的消费时长,如某音乐网站预设时间段内所有用户的播放日志。

本领域技术人员都知道,神经网络模型由于自身结构的特点更适合做分类预测,而用户消费时长本身是一个连续值。因此,若将用户消费时长直接作为样本标签,并使用平均方误差(mse)作为损失函数,通过训练神经网络模型得到的消费时长预测模型通常无法得到理想的预测效果。

因此,在本实施例中,通过将样本消费时长映射为一个概率值,并利用所得到的概率值来生成样本标签。

以音乐歌单推荐为例,经过分析发现:不同用户对于不同歌单消费时长差异较大(0~6000+s),且样本消费时长呈现出长尾分布:

多数样本的消费时长集中在较短的时间范围内;

少数样本的消费时长远超过其余样本。

在一个例子中:

歌单消费时长小于5s的样本数大约占总量5%;

歌单消费时长小于15s的样本大约占总量10%;

歌单消费时长小于25s的样本大约占总量15%;

……

歌单消费时长小于3200s的用户大约占总量90%;

歌单消费时长小于6000s的用户大约占总量95%。

从上述实施例的数据可以得到以下结论:

1、相等大小的误差对消费时长更短的样本排名影响更大;

2、消费时长越长的样本越容易带来更大的误差;

3、模型训练是以优化整个样本集的均方误差为目标,使用mse作为损失函数,在训练过程中对播放时更长的样本产生误差更敏感;

4、实际上排序精度对消费时长更短的样本产生的误差更敏感;

5、由于上述第3点和第4点是矛盾的,因此直接利用消费时长作为样本标签构造回归模型无法取得很好的效果。

仍然以上述例子为例,在本实施例中,可通过以下步骤得到样本标签:

步骤s1、选取预设时间段内的样本消费时长。

如根据某音乐网站最近30天所有用户的播放日志得到样本消费时长。

步骤s2、统计样本消费时长的分布情况,根据统计结果确定等分点。

在本步骤中,用n表示等分区间的数量,则n-1表示等分点的数量。n的值可以为10、20、50、100等。

步骤s3、根据等分点将样本消费时长映射到[0,1]之间的一个值,这个值表示该样本消费时长超过其它样本消费时长的概率。

映射规则举例如下:

假设n=10,则各个等分点对应的消费时长值分别为(单位为秒):

[15,40,80,140,240,360,700,1400,3200];

若t<=15,则y=0;

若15<t<=40,则y=0.1;

若40<t<=80,则y=0.2;

若80<t<=140,则y=0.3;

若140<t<=240,则y=0.4;

若240<t<=360,则y=0.5;

若360<t<=700,则y=0.6;

若700<t<=1400,则y=0.7;

若1400<t<=3200,则y=0.8;

若3200<t<=6000,则y=0.9;

若t>6000,则y=1.0。

上述映射规则中,y表示概率值。

例如,若某一样本消费时长为100秒,其位于“80<t<=140”这一范围内,则该样本消费时长超过其它样本消费时长的概率为30%。

在本实施例中,将样本消费时长进行上述转换,能够保证转换后的样本标签符合均匀分布。样本标签符合均匀分布的实际意义是:

1、相同大小的误差对每个样本的排名影响是一致的;

2、每个样本无论实际消费时长是多少,在训练过程中对样本集的均方误差影响都是相同的。

需要说明的是,等分区间数量n的值越大,模型预测的粒度越来越精细,但是模型泛化能力逐渐下降,实际场景中根据需要选择合适的n。

在确定将基于用户消费时长所得到的概率值作为样本标签后,在训练过程中,可将输出网络层的输出值做线性组合得到预测概率p,然后再计算p与样本标签的平均方误差(mse),通过最小化平均方误差来优化消费时长预测模型。

本发明提供的用户消费时长预测方法通过将样本消费时长映射为一个概率值,将所得到概率值作为样本标签,可以使得误差对样本的影响是均衡的,提升了通过神经网络模型预测连续值的精度。

基于上述任一实施例,图4为本发明提供的用户消费时长预测装置的结构示意图,如图4所示,本发明提供的用户消费时长预测装置

特征信息获取模块401,用于获取目标用户的特征信息以及目标内容的特征信息;

用户消费时长预测模块402,用于将所述目标用户的特征信息以及所述目标内容的特征信息输入预先训练的用户消费时长预测模型,得到所述目标用户对于所述目标内容的消费时长预测值;其中,

所述用户消费时长预测模型用于,根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的消费时长预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

本发明提供的用户消费时长预测装置通过对基于目标用户的特征信息所得到的目标用户向量进行拆分,得到多个目标用户子向量,对基于目标内容的特征信息所得到的目标内容向量进行拆分,得到多个目标内容子向量,以及基于所述多个目标用户子向量与所述多个目标内容子向量之间的交叉结果,得到更为准确的目标用户对于目标内容的消费时长预测值。

基于上述任一实施例,在本实施例中,所述用户消费时长预测模型包括输入网络层以及输出网络层;

所述输入网络层用于根据目标用户的特征信息和目标用户的特征信息所对应的权重向量生成目标用户的特征向量,以及根据目标内容的特征信息和目标内容的特征信息所对应的权重向量生成目标内容的特征向量;其中,目标用户的第一特征信息以及目标内容的第一特征信息共享同一个权重向量,所述目标用户的第一特征信息为所述目标用户的任意一个特征信息,所述目标内容的第一特征信息为所述目标内容的任意一个特征信息,且所述目标用户的第一特征信息与所述目标内容的第一特征信息相同;

所述输出网络层用于将基于所述目标用户的特征向量所得到的目标用户向量拆分成多个目标用户子向量,将基于所述目标内容的特征向量所得到的目标内容向量拆分成多个目标内容子向量,并基于所述多个目标用户子向量与所述多个目标内容子向量之间的距离计算结果,得到目标用户对于目标内容的消费时长预测值。

本发明提供的用户消费时长预测装置通过让相同的用户特征信息与内容特征信息共享权重向量,能降低数据稀疏对训练造成的影响,增加用户特征信息和内容特征信息之间的联系,有助于压缩特征权重矩阵的数据量。

基于上述任一实施例,在本实施例中,装置还包括:

样本数据获取模块,用于获取样本用户的特征信息、样本内容的特征信息以及多个样本消费时长;其中,所述样本消费时长用于反映样本用户对于样本内容的消费时长;

等分点确定模块,用于统计所述多个样本消费时长的分布情况,根据统计结果确定等分点;

映射模块,用于根据所述等分点,将第一样本消费时长映射为第一概率值;其中,所述第一样本消费时长为所述多个样本消费时长中的任意一个,所述第一概率值用于描述第一样本消费时长超过所述多个样本消费时长中的除所述第一样本消费时长之外的其他样本消费时长的概率;

样本标签生成模块,用于根据所述第一概率值生成样本标签;

模型训练模块,用于基于所述样本用户的特征信息、样本内容的特征信息以及样本标签进行训练,得到消费时长预测模型。

本发明提供的用户消费时长预测装置通过将样本消费时长映射为一个概率值,将所得到概率值作为样本标签,可以使得误差对样本的影响是均衡的,提升了通过神经网络模型预测连续值的精度。

基于上述任一实施例,在本实施例中,所述输出网络层进一步包括:子向量拆分层、距离计算层以及线性组合层;其中,

所述子向量拆分层用于将所述目标用户向量拆分成多个目标用户子向量,将所述目标内容向量均匀拆分成多个目标内容子向量;其中,所述多个目标用户子向量与所述多个目标内容子向量的数量均为正整数n;所述多个目标用户子向量中的各个目标用户子向量以及所述多个目标内容子向量中的各个目标内容子向量均具有相同的维度;

所述距离计算层用于将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,得到包含所有距离计算结果的交叉向量;其中,所述交叉向量的维度为n的平方;

所述线性组合层用于将所述交叉向量中的所有距离计算结果进行线性组合,并基于组合后的交叉向量得到目标用户对于目标内容的消费时长预测值。

本发明提供的用户消费时长预测装置通过对基于目标用户的特征信息所得到的目标用户向量进行拆分,得到多个目标用户子向量,对基于目标内容的特征信息所得到的目标内容向量进行拆分,得到多个目标内容子向量,以及基于所述多个目标用户子向量与所述多个目标内容子向量之间的交叉结果,得到更为准确的目标用户对于目标内容的消费时长预测值。

在之前实施例中所描述的改进后的双塔模型不仅可以用于用户消费时长的预测,还可以用于其他领域,如用户点击率的预测。

图5为本发明提供的用户点击率预测方法的流程图,如图5所示,本发明提供的用户点击率预测方法,包括:

步骤501、获取目标用户的特征信息以及目标内容的特征信息。

在本发明中,目标用户是待进行点击率预测的用户;目标内容是待进行点击率预测的内容。如在一个应用场景中,希望对“张三”收听歌曲“abc”的点击率进行预测,那么“张三”为目标用户,歌曲“abc”为目标内容。

目标用户的特征信息有多种类型,常见的类型包括:目标用户基础信息,如目标用户id、目标用户年龄、目标用户性别、目标用户所在区域等;目标用户喜好信息,如目标用户所喜欢的歌曲的名称、目标用户所喜欢的歌手、目标用户所喜欢的曲风等;目标用户的历史消费信息,如目标用户最近收听的10首歌曲,目标用户在过去一个月内收藏或点赞的歌曲等。

目标内容的特征信息有多种类型,常见的类型包括:目标内容的标识信息,如歌曲的id;目标内容的作者信息,如歌曲演唱者的名称、歌词创作者的名称、歌曲创作者的名称等;目标内容的标签信息,如歌曲的曲风、歌曲的地域、歌曲的语言、歌曲的情感类型等。

目标用户的特征信息与目标内容信息的表征方式与之前的实施例并无本质区别,因此不在此处重复。

如何获取目标用户的特征信息以及目标内容的特征信息是本领域技术人员的公知常识,因此不在此处重复。

步骤502、将所述目标用户的特征信息以及所述目标内容的特征信息输入预先训练的点击率预测模型,得到目标用户对于目标内容的点击率预测值;其中,

所述点击率预测模型是基于样本用户的特征信息、样本内容的特征信息以及样本标签训练得到的;所述样本标签是基于样本用户对于样本内容是否点击的结果值得到的;

所述点击率预测模型用于,根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的点击率预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

本领域技术人员很容易理解,不同的用户对于同一内容的感兴趣程度是不一样的。例如,以电影为例,男性观众可能更偏好战争、历史题材的电影,女性观众可能更偏好言情、都市题材的电影。基于感兴趣程度的差异,不同的用户对于相同内容的点击率也存在差异。一般而言,感兴趣程度越高,点击率越高,感兴趣程度越低,点击率越低。

在本发明中,点击率预测模型正是基于目标用户对于目标内容的感兴趣程度,来预测目标用户对于目标内容的点击率。

本发明的点击率预测模型是基于神经网络模型实现的。本实施例中所采用的神经网络模型与之前实施例所涉及的图2所示的神经网络模型的总体结构相同,只是在神经网络模型中的最后一层,对交叉向量中所包含的各个距离值做线性组合变更为对交叉向量中所包含的各个距离值做sigmoid变化。

具体的说,点击率预测模型包括输入网络层以及输出网络层。

所述输入网络层用于根据目标用户的特征信息和目标用户的特征信息所对应的权重向量生成目标用户的特征向量,以及根据目标内容的特征信息和目标内容的特征信息所对应的权重向量生成目标内容的特征向量。

将目标用户的特征信息以及目标内容的特征信息分别输入所述输入网络层后,基于特征权重矩阵可得到目标用户的特征向量以及目标内容的特征向量。

所述特征权重矩阵可进一步分为用户特征权重矩阵和内容特征权重矩阵。用户特征权重矩阵用于从多个维度描述不同类型的用户特征信息在反映用户对内容感兴趣程度方面的不同权重,每个用户特征信息对应用户特征权重矩阵中的一个权重向量;内容特征权重矩阵用于从多个维度描述不同类型的内容特征信息在反映用户对内容感兴趣程度方面的不同权重,每个内容特征信息对应内容特征权重矩阵中的一个权重向量。

在本实施例中,用户特征权重矩阵和内容特征权重矩阵在逻辑上是相互独立的,两个矩阵中的各个权重向量的大小在点击率预测模型的训练阶段,基于样本用户的特征信息、样本内容的特征信息以及样本标签确定。

所述输出网络层用于将基于所述目标用户的特征向量所得到的目标用户向量拆分成多个目标用户子向量,将基于所述目标内容的特征向量所得到的目标内容向量拆分成多个目标内容子向量,并基于所述多个目标用户子向量与所述多个目标内容子向量之间的距离计算结果,得到目标用户对于目标内容的点击率预测值。

具体的,输出网络层包括计算网络层,所述计算网络层包括用户网络层和内容网络层(即现有技术中所描述的物品网络),所述用户网络层用于根据目标用户的特征向量生成目标用户向量,所述内容网络层用于根据目标内容的特征向量生成目标内容向量。

目标用户向量能够表征目标用户的兴趣,目标内容向量能够表征目标内容的特征。

在本实施例中,计算网络层的结构与现有技术并无本质上的区别,如所述用户网络层和内容网络层使用两个完全相同的三层全连接网络,分别对目标用户的特征向量和目标内容的特征向量进行计算,激活函数使用relu。因此在本实施例中将不再做进一步的说明。

所述输出网络层还包括:子向量拆分层、距离计算层以及线性组合层;其中,

所述子向量拆分层用于将所述目标用户向量拆分成多个目标用户子向量,将所述目标内容向量拆分成多个目标内容子向量;

所述距离计算层用于将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,得到包含所有距离计算结果的交叉向量;

所述线性组合层用于将所述交叉向量中的所有距离计算结果进行线性组合,并基于组合后的交叉向量得到目标用户对于目标内容的点击率预测值。

在之前对现有技术的描述中已经提到,基于现有的双塔模型,用户特征信息和物品特征信息(即内容特征信息)只在用户网络和物品网络(内容网络)的输出向量之间做一次“交叉”,导致两类特征信息之间的联系不紧密,预测结果的精度不高。因此,在本实施例中,计算网络层输出目标用户向量和目标内容向量后,需要将目标用户向量进行拆分,得到多个目标用户子向量;将目标内容向量进行拆分,得到多个目标内容子向量。

例如,将目标用户向量ue进行均匀拆分,得到相同维度的n个k维子向量{ueh1,ueh2...uehn};将目标内容向量ie进行均匀拆分,得到相同维度的n个k维子向量{ieh1,ieh2...iehn}。其中,ueh的个数与ieh个数相同均为n,每个ueh和ieh维度均为k。假设ue和ie的维度为d,那么d=n×k。

对目标用户向量以及目标内容向量分别进行拆分后,可将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,得到包含所有距离计算结果的交叉向量。

在本实施例中,作为一种优选实现方式,所述距离为余弦距离,在其他实施例中,所述距离还可以是其他类型的距离,如欧式距离等。

将所述多个目标用户子向量中的各个目标用户子向量分别与所述多个目标内容子向量中的各个目标内容子向量进行距离计算,所得到的包含所有距离计算结果的交叉向量cv的表达式为:

cv={cos(ueh1,ieh1),cos(ueh1,ieh2),...,cos(ueh1,iehn),cos(ueh2,ieh1),cos(ueh2,ieh2),...,cos(ueh2,iehn),...,cos(uehn,iehn)}。

cv向量内部的排列顺序并无特定要求,cv的维度为n2。在工程实现时,可先将每个ueh和ieh分别做l2归一化,然后两两计算内积。

基于所得到的交叉向量,可对交叉向量中所包含的各个距离值做sigmoid变化,得到预测概率p,所述预测概率p即为目标用户对目标内容的点击率预测值。

以上是对本发明中所涉及的输出网络层的结构说明。所述输出网络层之所以如此设计,是基于以下两个假设,这两个假设已经被实践验证:

a、充分的特征交叉能带来正向收益;

b、特征级交叉的效果优于元素级交叉的效果。

其中,元素级交叉是指特征向量a的每个维度与特征向量b的每个维度都进行计算,通常神经网络属于这种方式;特征级交叉是指特征向量a与特征向量b的对应维度进行计算,向量的元素乘法、内积、余弦都属于这种方式。

从上述描述可以看出,鉴于目标用户向量与目标内容向量隐藏了非常丰富的用户信息和内容信息,因此在本发明中由输出网络层拆分目标用户向量以及目标内容向量,得到能够表征目标用户或者目标内容在某方面的特征的子向量;考虑到这些方面的特征彼此可能也有一定联系,所以采用两两求余弦距离的方式对这些子向量进行组合,从而实现目标用户和目标内容特征级的交叉。经过上述操作所得到的输出网络层的输出结果,能够充分反映目标用户与目标内容之间的联系,因此可以更好地反映目标用户对目标内容的感兴趣程度,进而得到更为准确的目标用户对于目标内容的点击率预测值。

本发明提供的用户点击率预测方法通过对基于目标用户的特征信息所得到的目标用户向量进行拆分,得到多个目标用户子向量,对基于目标内容的特征信息所得到的目标内容向量进行拆分,得到多个目标内容子向量,以及基于所述多个目标用户子向量与所述多个目标内容子向量之间的交叉结果,得到更为准确的目标用户对于目标内容的点击率预测值。

基于上述任一实施例,在本实施例中,所述

所述输入网络层用于根据目标用户的特征信息和目标用户的特征信息所对应的权重向量生成目标用户的特征向量,以及根据目标内容的特征信息和目标内容的特征信息所对应的权重向量生成目标内容的特征向量;其中,目标用户的第一特征信息以及目标内容的第一特征信息共享同一个权重向量,所述目标用户的第一特征信息为所述目标用户的任意一个特征信息,所述目标内容的第一特征信息为所述目标内容的任意一个特征信息,且所述目标用户的第一特征信息与所述目标内容的第一特征信息相同。

在之前的实施例中,用户特征权重矩阵中的各个权重向量和内容特征权重矩阵中的各个权重向量是相互独立的。但在实际应用中,某些用户特征信息与某些内容特征信息是相同的,这些相同的用户特征信息与内容特征信息的权重向量可以共享。

例如,对于用户特征信息“喜爱歌手:周杰伦”和歌曲特征信息“演唱歌手:周杰伦”,它们虽然分属用户特征信息和内容特征信息这两类,但通过分析可知,它们的实际含义是一致的,只是分属不同对象而已。因此,在本发明中,使得这两个相同的特征信息共享相同的权重向量。

类似的共享特征信息广泛存在于用户和内容之间,例如:

用户喜爱的曲风vs歌曲曲风;

用户喜爱的嗓音vs歌曲演唱者的嗓音;

用户最近收听的歌曲idvs歌曲id;

……。

共享权重向量能够带来如下优点:

1)、降低数据稀疏对训练造成的影响。

例如:假设在训练样本中出现喜爱周杰伦的用户比较多,但是演唱者是周杰伦的歌曲比较少。如果将用户特征信息的权重向量和内容特征信息的权重向量分开,就会出现用户侧喜爱周杰伦的这个特征权重向量训练比较充分,而内容侧歌曲演唱者为周杰伦的特征权重向量训练可能无法得到充分训练,这将导致模型对演唱者为周杰伦的歌曲预测效果不佳。

反之,如果采用共享权重向量的方式,那么即便周杰伦在歌曲特征信息中出现的频率不高,但是由于在用户特征信息中出现频率高,依然能够得到较为充分地训练。

2)、增加用户特征信息和内容特征信息之间的联系。

之前的描述中提到传统的双塔模型存在的一个重大缺陷就是用户特征信息和内容特征信息联系不紧密,这是决定双塔模型比不上全连接模型的重要原因,而共享权重从源头就将用户特征信息和内容特征信息紧密的绑定在一起,很大程度上增加了用户特征信息和内容特征信息之间的联系。

3)、有助于压缩特征权重矩阵的数据量。

由于点击率预测模型的本质是要在用户与内容之间寻找匹配关系,因此多数的用户特征信息能找到与之相同的内容特征信息。这些相同的特征信息若能共享同一权重向量,那么在特征权重矩阵中就不需要重复存储相同的权重向量,有助于压缩特征权重矩阵的数据量。理想情况下,能够将当前技术使用的特征权重矩阵压缩50%。

本发明提供的点击率预测方法通过让相同的用户特征信息与内容特征信息共享权重向量,能降低数据稀疏对训练造成的影响,增加用户特征信息和内容特征信息之间的联系,有助于压缩特征权重矩阵的数据量。

基于上述任一实施例,在本实施例中,方法还包括:

获取样本用户的特征信息、样本内容的特征信息以及样本标签;其中,所述样本标签反映了样本用户对于样本内容是否点击的结果;

基于所述样本用户的特征信息、样本内容的特征信息以及样本标签进行训练,得到点击率预测模型。

在点击率预测的应用场景中,改进后的双塔模型本质上是要做分类预测,因此在训练过程中可对输出网络层的输出值做sigmoid变化,得到预测概率p,然后再计算p与样本标签(0/1)的对数损失(log-loss)l,通过最小化l来实现对点击率预测模型的优化。

基于上述任一实施例,图6为本发明提供的用户点击率预测装置的示意图,如图6所示,本发明提供的用户点击率预测装置,包括:

特征信息获取模块601,用于获取目标用户的特征信息以及目标内容的特征信息;

点击率预测模块602,用于将所述目标用户的特征信息以及所述目标内容的特征信息输入预先训练的点击率预测模型,得到目标用户对于目标内容的点击率预测值;其中,

所述点击率预测模型是基于样本用户的特征信息、样本内容的特征信息以及样本标签训练得到的;所述样本标签是基于样本用户对于样本内容是否点击的结果值得到的;

所述点击率预测模型用于,根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的点击率预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

本发明提供的用户点击率预测装置通过对基于目标用户的特征信息所得到的目标用户向量进行拆分,得到多个目标用户子向量,对基于目标内容的特征信息所得到的目标内容向量进行拆分,得到多个目标内容子向量,以及基于所述多个目标用户子向量与所述多个目标内容子向量之间的交叉结果,得到更为准确的目标用户对于目标内容的点击率预测值。

图7为本发明所涉及的电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communicationsinterface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行如下方法:

获取目标用户的特征信息以及目标内容的特征信息;

将所述目标用户的特征信息以及所述目标内容的特征信息输入预先训练的用户消费时长预测模型,得到所述目标用户对于所述目标内容的消费时长预测值;其中,

所述用户消费时长预测模型用于,根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的消费时长预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

需要说明的是,本实施例中的电子设备在具体实现时可以为服务器,也可以为pc机,还可以为其他设备,只要其结构中包括如图7所示的处理器710、通信接口720、存储器730和通信总线740,其中处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信,且处理器710可以调用存储器730中的逻辑指令以执行上述方法即可。本实施例不对电子设备的具体实现形式进行限定。

此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:

获取目标用户的特征信息以及目标内容的特征信息;

将所述目标用户的特征信息以及所述目标内容的特征信息输入预先训练的用户消费时长预测模型,得到所述目标用户对于所述目标内容的消费时长预测值;其中,

所述用户消费时长预测模型用于,根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的消费时长预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:

获取目标用户的特征信息以及目标内容的特征信息;

将所述目标用户的特征信息以及所述目标内容的特征信息输入预先训练的用户消费时长预测模型,得到所述目标用户对于所述目标内容的消费时长预测值;其中,

所述用户消费时长预测模型用于,根据所述目标用户的特征信息以及所述目标内容的特征信息在多个维度的相似度,得到目标用户对于目标内容的消费时长预测值;所述多个维度的相似度是基于多个目标用户子向量与多个目标内容子向量之间的距离得到的,所述多个目标用户子向量是通过拆分所述目标用户的特征向量得到的,所述多个目标内容子向量是通过拆分所述目标内容的特征向量得到的。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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