用户特征的生成方法、装置、设备及存储介质与流程

文档序号:16136818发布日期:2018-12-01 01:06阅读:146来源:国知局

本申请涉及视频推荐领域,特别涉及一种用户特征的生成方法、装置、设备及存储介质。

背景技术

视频推荐系统是用于根据用户的观看历史和/或搜索历史向该用户推荐其它可能感兴趣视频的系统。典型的视频推荐系统包括:候选生成模型和排序模型。将某一用户的观看历史和/或搜索历史输入候选生成模型后,得到m个推荐视频;然后将m个推荐视频输入排序模型,排序模型会将m个推荐视频按照用户可能感兴趣的程度进行排序后,输出给该用户。其中,m为正整数。

相关技术中的候选生成模型采用dnn(deepneuralnetworks,深度神经网络)来实现。该dnn的输入量包括:用户的用户特征、用户的观看历史和/或用户的搜索历史,输出量包括为该用户推荐的m个推荐视频。用户的用户特征可以是将用户的年龄、性别、地域、爱好标签等属性信息进行向量化得到的。

由于很多用户在视频系统中不填写属性信息或填写不完整的属性信息,所以上述方法对很多用户都无法生成用户特征。虽然也可以从用户使用的社交聊天系统中提取到较多的属性信息,但由于用户在视频系统中会使用第一用户帐号,而在社交聊天系统中会使用第二用户帐号,对两种帐号体系中的用户帐号进行准确关联是非常困难的,如果关联错误也会导致最终生成的用户特征的错误。因此上述生成方法对属性信息为空或不完整或错误的用户无法生成有效的用户特征。



技术实现要素:

本申请提供一种用户特征的生成方法、装置、设备及存储介质,可以用于解决相关技术中的生成方法对属性信息为空或不完整或错误的用户无法生成有效的用户特征的问题。

所述技术方案如下:

根据本申请实施例的一个方面,提供了一种用户特征的生成方法,所述方法包括:

获取n组目标视频和用户帐号之间的时序对应关系,每组所述时序对应关系包括查看过所述目标视频的各个用户帐号,且所述用户帐号按照查看时间戳进行排序,n为正整数;

根据n组所述时序对应关系映射得到词嵌入矩阵,所述词嵌入矩阵包括每个所述用户帐号对应的词向量;

使用损失函数对所述词嵌入矩阵进行训练,所述损失函数用于根据观看历史的相似程度挖掘各个所述用户帐号之间的相似关系;

将训练完毕的所述词嵌入矩阵中的所述用户帐号对应的词向量,确定为所述用户帐号的用户特征。

根据本申请实施例的另一方面,提供了一种用户特征的生成装置,所述装置包括:

获取模块,用于获取n组目标视频和用户帐号之间的时序对应关系,每组所述时序对应关系包括查看过所述目标视频的各个用户帐号,且所述用户帐号按照查看时间戳进行排序;

映射模块,用于根据n组所述时序对应关系映射得到词嵌入矩阵,所述词嵌入矩阵包括每个所述用户帐号对应的词向量;

训练模块,用于使用损失函数对所述词嵌入矩阵进行训练,所述损失函数用于根据观看历史的相似程度挖掘各个所述用户帐号之间的相似关系;

确定模块,用于将训练完毕的所述词嵌入矩阵中的所述用户帐号对应的词向量,确定为所述用户帐号的用户特征。

根据本申请实施例的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的用户特征的生成方法。

根据本申请实施例的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的用户特征的生成方法。

本申请实施例提供的技术方案可以达到的有益效果至少包括:

通过基于用户观看历史和/或用户搜索历史来提取用户特征,而这些历史数据均为视频系统中自动产生的数据,只要用户正常使用视频系统就会不断产生和更新这些数据,不需要依赖其它数据源,因此能够解决相关技术中的方法对属性信息为空或不完整或错误的用户无法生成有效的用户特征的问题,能够对使用视频系统的用户均能生成较为准确的用户特征,且该用户特征能够充分体现出各个用户帐号在视频观看角度的特点,适合作为与视频推荐系统相关的神经网络模型的输入参数。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并于说明书一起用于解释本申请的原理。

图1是本申请一个示例性实施例提供的视频推荐系统的框图。

图2是本申请一个示例性实施例提供的用户特征的生成方法的流程图;

图3是本申请一个示例性实施例提供的用户特征的生成方法的流程图;

图4是本申请另一个示例性实施例提供的用户特征的生成方法的原理示意图;

图5是本申请另一个示例性实施例提供的用户特征的生成方法的流程图;

图6是本申请另一个示例性实施例提供的用户特征的生成方法在实施过程中的界面示意图;

图7是本申请另一个示例性实施例提供的用户特征的生成方法与ucf推荐方法的效果对比图;

图8本申请一个示例性实施例提供的用户特征的生成装置的框图;

图9本申请另一个示例性实施例提供的用户特征的生成装置的框图;

图10申请一个示例性实施例提供的用户特征的生成装置的框图;

图11申请一个示例性实施例提供的服务器的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

本申请实施例提供了一种基于用户的观看历史和/或搜索历史来提取用户特征的技术方案。该技术方案可以用于视频播放系统相关的神经网络模型的训练过程以及使用过程。典型的,该用户特征可以用于视频推荐系统中的候选生成模型的训练及使用,或者,用于视频推荐系统中的排序模型的训练及使用。

典型的应用场景包括如下场景中的任意一种:

一、视频推荐场景:

视频推荐系统中设置有视频库,该视频库包括多个视频,比如数以百万计的视频。对于某一个用户帐号,需要基于该用户帐号的兴趣爱好从视频库中挑选出候选推荐集。示意性的,视频推荐系统采用候选生成模型从视频库中挑选出候选推荐集。该候选生成模型可以是基于dnn(deepneuralnetworks,深度学习网络)的神经网络模型。本申请实施例提供的用户特征适合作为该候选生成模型的输入量进行训练和使用。

二、视频排序场景:

在向用户推荐候选推荐集中的多个视频时,视频推荐系统会按照用户可能感兴趣的概率由高到低的顺序,将多个视频依次推荐给用户。示意性的,视频推荐系统采用排序模型对候选推荐集中的多个视频进行排序。该排序模型可以是基于dnn的神经网络模型。本申请实施例提供的用户特征适合作为该排序模型的输入量进行训练和使用。

图1示出了本申请一个示例性实施例提供的视频推荐系统100的结构框图。该视频推荐系统100包括:终端120和服务器140。

终端120是用户所使用的电子设备,该电子设备具有播放视频的能力。该电子设备可以是智能手机、平板电脑、mp3、mp4、掌上电脑、笔记本电脑、台式电脑中的任意一种。该电子设备上安装或运行有应用程序,该应用程序具有播放视频的功能。可选地,该应用程序是在线视频客户端、短视频客户端、视频聚合客户端、用户分享视频客户端中的至少一种。该应用程序中登录有用户帐号,该用户帐号用于在多个用户中唯一识别某一个用户。

终端120通过有线网络或无线网络与服务器140相连。

服务器140是一台服务器、多台服务器组成的服务器集群、云计算中心或虚拟化计算中心。该服务器140可以是用于进行视频推荐的服务器。服务器140用于获取用户帐号的个性特征,根据用户帐号的个性特征分析用户的观看喜好,根据观看喜好向用户推荐可能感兴趣的目标视频。该服务器140中运行有候选生成模型142和排序模型144。该候选生成模型142用于从大量的视频集中筛选出数以百计的视频候选集,排序模型144用于对视频候选集进行个性化排序。

可选地,候选生成模型142可以是基于dnn的神经网络模型。当需要对某一个用户帐号进行视频推荐时,服务器140用于将该用户帐号对应的用户特征和视频特征输入候选生成模型142,该候选生成模型142输出该用户帐号可能感兴趣的n个目标视频,以及每个目标视频的观看概率。该观看概率是预测出的该用户帐号点击和观看该目标视频的可能性概率。

可选地,用户特征用于表示用户本身的个性特征。相关技术中采用用户的年龄、性别、职业、爱好标签等属性特征进行向量化得到。但在实际情况中,属性特征的收集存在两方面的问题:一是在日活跃用户很高的移动应用中,用户量是巨大的,收集成本较高,而且离线任务有较高的延迟风险;二是收集播放序列时用到的用户帐号和属性信息(来自另一个社交系统)中的用户帐号可能不是同一套体系,这样需要将一种用户帐号关联到另一种用户帐号,如果要实现两个帐号体系中的用户帐号进行准确关联是较为困难的。视频播放系统内能够获取到的属性特征有限,导致用户特征的收集和生成需要耗费较多的时间和成本,本申请的一些实施例基于用户的观看历史和/或搜索历史,来生成用户特征,这些实施例中可以不使用或少使用类似年龄、性别、职业、爱好标签之类的属性特征。

可选地,视频特征用于表示用户观看和/或搜索过的视频的属性特征。在一些实施例中,将用户帐号的历史观看过的视频标识进行第一向量化,得到第一向量;将用户帐号的历史搜索过的视频标识进行第二向量化,得到第二向量;将第一向量和第二向量进行叠加后,得到该用户帐号的视频特征。本申请实施例中对视频特征的具体提取方式不加以限定。

需要说明的是,本实施环境仅为示意性说明,下述方法实施例也可以由其它服务器来执行,并不限于上述服务器140。

在本申请实施例中基于用户历史观看/搜索的视频序列,通过词向量的方法把各个用户映射到不同的词向量上,进而将这些词向量作为用户特征。此过程可以不使用到年龄、性别、职业、爱好标签之类的属性特征即可生成用户特征。

图2示出了本申请一个示例性实施例提供的用户特征生成方法的流程图。本实施例以该方法由图1所述的服务器来执行。该方法包括:

步骤201,获取n组目标视频和用户帐号之间的时序对应关系,每组时序对应关系包括查看过目标视频的各个用户帐号,且用户帐号按照查看时间戳进行排序;

查看过目标视频包括:观看过目标视频,和/或,搜索过目标视频。对应地,查看时间戳包括:观看时间戳,和/或,搜索时间戳。

服务器的数据库中存储有各个用户帐号所观看过的视频播放流水记录,该视频播放流水记录中存储有各个历史观看视频的视频标识以及每个视频标识的观看时间戳。和/或,服务器的数据库中还存储有各个用户帐号所搜索过的视频搜索流水记录,该视频搜索流水记录中存储有各个历史搜索视频的视频标识以及每个视频标识的搜索时间戳。

以基于视频观看历史为例,服务器从视频播放流水记录中提取出item到user的时序对应关系,item是目标视频的视频标识,user是观看过该目标视频的用户标识。每个时序对应关系对应一个目标视频,以及观看过该目标视频的各个用户帐号。同时,该对应关系中的各个用户帐号按照各个用户帐号观看该目标视频时的观看时间戳进行排序。

服务器提取出多组item到user的时序对应关系。多组时序对应关系可视为一个“文档集”。

步骤202,根据n组时序对应关系映射得到词嵌入矩阵,词嵌入矩阵包括每个用户帐号对应的词向量;

词嵌入矩阵(embedding)是将n组时序对应关系按照词向量的映射方式所映射到的矩阵。词向量中的每一行(或每一列)对应一个用户帐号,每一个矩阵行中的取值形成该用户帐号对应的词向量。

步骤203,使用损失函数对词嵌入矩阵进行训练,损失函数用于根据观看历史的相似程度挖掘各个用户帐号之间的隐含关系;

对于任意两个用户帐号,当这两个用户帐号所观看过的相同(或相似)视频越多时,这两个用户帐号的相似程度越高。为了挖掘出各个用户帐号之间的隐含关系,服务器使用损失函数对词嵌入矩阵进行训练,该损失函数用于根据观看历史的相似程度挖掘出各个用户帐号之间的相似关系。或者说,该损失函数用于根据观看历史的相似程度挖掘出各个用户帐号之间的隐含相似关系。或者说,该损失函数用于根据观看历史的相似程度挖掘出各个用户帐号之间的隐含关系。

可选地,该损失函数是噪声对比估计损失函数(noise-contrastiveestimation,nce)。

步骤204,将训练完毕的词嵌入矩阵中的用户帐号对应的词向量,确定为用户帐号的用户特征。

当利用损失函数将词嵌入矩阵训练完毕后,任意两个用户帐号对应的词向量之间的余弦向量越接近,则代表这两个用户帐号之间越相似。

服务器将训练完毕后的词嵌入矩阵中的词向量进行提取,每个词向量确定为对应用户帐号的用户特征。

综上所述,本实施例提供的用户特征生成方法,通过获取n组目标视频和用户帐号之间的时序对应关系,根据n组时序对应关系映射得到词嵌入矩阵,使用损失函数对词嵌入矩阵进行训练后,将训练完毕的词嵌入矩阵中的用户帐号对应的词向量,确定为用户帐号的用户特征。本申请是基于用户观看历史和/或用户搜索历史来提取用户特征,而这些历史数据均为视频系统中自动产生的数据,只要用户正常使用视频系统就会不断产生和更新这些数据,不需要依赖其它数据源,因此能够解决相关技术中的方法对属性信息为空或不完整或错误的用户无法生成有效的用户特征的问题,能够对使用视频系统的用户均能生成较为准确的用户特征,且该用户特征能够充分体现出各个用户帐号在视频观看角度的特点,适合作为与视频推荐系统相关的神经网络模型的输入参数。

同时,由于这些历史数据均为视频系统中自动产生的数据,不需要依赖其它数据源,因此不需要对两个不同帐号体系中的相应帐号进行关联,也不存在如何将两个帐号体系中的相应帐号进行准确关联的问题,减少了数据处理步骤,节约了处理资源。

图3示出了本申请一个示例性实施例提供的用户特征生成方法的流程图。本实施例以该方法由图1所述的服务器执行来举例说明。该方法包括:

步骤301,获取m个用户帐号的视频查看历史记录,视频查看历史记录包括用户观看过和/或搜索过的目标视频的视频标识以及查看时间戳;

服务器的数据库中存储有各个用户帐号的视频查看历史记录。该视频查看历史记录包括:视频观看流水记录,和/或,视频搜索流水记录。视频观看流水记录包括:每个用户帐号在历史时间段内观看过的各个目标视频的视频标识,以及观看时间戳;视频搜索流水记录包括:每个用户帐号在历史时间段内搜索过的各个目标视频的视频标识,以及搜索时间戳。

可选地,该历史时间段是以最近一个时刻向前倒退预设时长所确定的时间段。比如,历史时间段是最近一周、最近一个月、最近三个月、最近半年、最近一年或最近三年中的至少一个。

结合图4,服务器从数据库41中获取m个用户帐号的视频观看流水记录42,该视频观看流水记录42包括:用户帐号1、用户帐号1观看过的视频1、用户帐号1观看视频1时的观看时间戳;用户帐号2、用户帐号2观看过的视频2、用户帐号2观看视频2时的观看时间戳;….,用户帐号m、用户帐号m观看过的视频m、用户帐号m观看视频m时的观看时间戳。其中,m为正整数。

步骤302,对于视频查看历史记录中的每个目标视频,将查看过目标视频的各个用户帐号按照对应的查看时间戳进行排序后,生成目标视频和用户帐号之间的时序对应关系;

服务器基于视频查看历史记录生成item和user之间的时序对应关系。item是目标视频的视频标识,user是查看过该目标视频的用户标识。每组时序对应关系包括:一个目标视频的视频标识,以及查看过该目标视频的各个用户标识。在一些实施例中,一组时序对应关系中的多个用户标识按照查看时间戳由早到晚的顺序进行排列;在另一些实施例中,一组时序对应关系中的多个用户标识按照查看时间戳由晚到早的顺序进行排列。

结合图4,对于同一个目标视频:视频i,将查看过视频i的各个用户帐号按照观看时间戳进行排序后,生成一组与视频i对应的时序对应关系43。同理,对于每个目标视频生成相应的时序对应关系,共生成n组时序对应关系。i为小于或等于n的整数。

在本申请实施例中,n组时序对应关系视为一个文档集,每组时序对应关系视为一个文档。对于每个文档中的上下文中,相邻不远的用户标识之间的关联度比相距很远的用户标识之间的关联度高。

步骤303,将n组时序对应关系按照词向量映射方式进行映射,得到词嵌入矩阵,词嵌入矩阵包括每个用户帐号对应的词向量;

对n组时序对应关系按照词向量映射方式进行映射,得到词嵌入(embedding)矩阵。示意性的,词向量映射方式可以是word2vector映射方式。

可选地,word2vector采用神经网络语言模型来实现。该神经网络模型可以是cbow(continuousbag-of-words)模型或者skip-gram模型。本实施例以该word2vector采用cbow模型来举例说明。可选地,该cbow模型是一个至少三层的神经网络结构,包括:输入层、至少一个隐藏层和输出层(softmax层)。可选地,该输出层采用噪声对比估计损失函数(noise-contrastiveestimation,nce)来作为损失函数。服务器将n组时序对应关系输入至该神经网络模型后,得到词嵌入矩阵。

该词嵌入矩阵包括每个用户帐号对应的词向量。每个词向量是x维向量,x维向量的维数小于目标视频的个数m。可选地,x远小于m。比如m为百万级,而x为百级。

步骤304,使用噪声对比估计损失函数对词嵌入矩阵进行训练;

初始的词嵌入矩阵并不一定能准确代表各个用户帐号在观看视频角度的相似程度。因此,服务器使用噪声对比估计损失函数(noise-contrastiveestimation,nce)对词嵌入矩阵进行训练,该损失函数用于根据观看历史的相似程度挖掘各个用户帐号之间的相似关系。

可选地,服务器中存储有第一结束阈值,该第一结束阈值是用于表示训练词嵌入矩阵时的结束临界值。在第i轮迭代训练后,服务器计算nce函数的函数值是否低于第一结束阈值。当nce函数的函数值不低于第一结束阈值时,计算该函数值与第一结束阈值之间的误差,然后根据误差反向传播算法进行第i+1轮迭代训练,依次类推,直至nce函数的函数值低于结束阈值。

该nce函数用于根据用户的观看历史的相似程度,来挖掘各个用户帐号在观看视频角度所隐含的相似程度。

步骤305,当噪声对比估计损失函数的函数值低于第一结束阈值时,将词嵌入矩阵中的用户帐号对应的词向量,确定为用户帐号的用户特征;

经过多次训练后,当噪声对比估计损失函数的函数低于结束阈值时,服务器确定该词嵌入矩阵训练完毕。然后,服务器将训练完毕的词嵌入矩阵中的每个用户帐号对应的词向量,确定为用户帐号的用户特征。

至此,服务器为n个用户帐号中的每个用户帐号生成用户特征。该用户特征可以用于训练候选生成模型。

以下为候选生成模型的训练阶段:

步骤306,获取用户帐号的观看历史记录和/或搜索历史记录中的视频标识,根据该视频标识生成视频特征;

在候选生成模型的训练阶段中,训练样本包括输入量包括:至少一组用户帐号的用户特征和视频特征。对于某个用户帐号,该用户帐号的用户特征采用步骤301至306的方式进行生成;该用户帐号的视频特征利用该用户帐号的观看历史记录和/或搜索历史记录中的视频标识进行生成。

在一些实施例中,以根据用户帐号的观看历史记录生成视频特征为例,将用户帐号按照时间顺序所观看的各个视频标识排序后,形成一个由多个视频标识所拼接得到的向量,将该向量确定为该用户帐号的视频特征。

在另一些实施例中,服务器采用类似于用户特征的方式来生成视频特征。也即,服务器获取各个用户帐号的视频查看历史记录,将各个用户帐号的视频查看历史记录通过词向量映射方式映射得到词嵌入矩阵,该词嵌入矩阵包括各个目标视频的词向量;服务器通过nce损失函数对词嵌入矩阵进行训练,得到训练后的词嵌入矩阵;将训练后的词嵌入矩阵中的各个词向量,确定为各个目标视频的视频特征。

需要说明的是,本实施例不限定视频特征的具体生成方式。

步骤307,将用户特征和视频特征作为样本特征输入候选生成模型中进行训练,得到训练后的候选生成模型;

服务器将多个用户帐号的用户特征和视频特征,作为样本特征输入候选生成模型进行训练,得到训练后的候选生成模型。

其中,训练后的候选生成模型用于根据输入的用户特征输出对视频库中各个视频的观看概率。

在视频推荐阶段中,也即候选生成模型的实际使用阶段,服务器利用步骤301至步骤305的方法提取待推荐的用户帐号的用户特征。将用户特征输入候选生成模型后,得到该用户帐号对视频库中各个视频的观看概率。可选地,将排序在topn的视频确定为该用户帐号可能感兴趣的视频,也即待推荐给该用户帐号的视频。

综上所述,本实施例提供的用户特征生成方法,通过获取n组目标视频和用户帐号之间的时序对应关系,根据n组时序对应关系映射得到词嵌入矩阵,使用损失函数对词嵌入矩阵进行训练后,将训练完毕的词嵌入矩阵中的用户帐号对应的词向量,确定为用户帐号的用户特征。本申请是基于用户观看历史和/或用户搜索历史来提取用户特征,而这些历史数据均为视频系统中自动产生的数据,只要用户正常使用视频系统就会不断产生和更新这些数据,不需要依赖其它数据源,因此能够解决相关技术中的方法对属性信息为空或不完整或错误的用户无法生成有效的用户特征的问题,能够对使用视频系统的用户均能生成较为准确的用户特征,且该用户特征能够充分体现出各个用户帐号在视频观看角度的特点,适合作为与视频推荐系统相关的神经网络模型的输入参数。

本实施例提供的用户特征生成方法,通过将n组时序对应关系利用词向量映射方式进行映射得到词嵌入矩阵,然后通过噪声对比估计损失函数对词嵌入矩阵进行训练,能够挖掘出喜欢观看相同或相似视频的用户帐号之间的隐含关系,从而充分挖掘出各个用户帐号在视频观看角度的隐含相似关系,提高作为候选生成模型的输入量的准确性。

在基于图3的可选实施例中,服务器还提供了对训练后的候选生成模型进行评估的评估机制。上述步骤307还替换实现成为如下步骤:

步骤307a,将用户特征和视频特征划分为h+k组数据集,h+k数据集包括h组训练集和k组评测集;

当服务器根据各个用户帐号的视频观看历史记录,生成多组用户特征和视频特征后,将多组用户特征和视频特征划分为h+k组数据集。其中,h、k均为正整数。可选地,服务器选择出h+k组数据集中的h组数据集作为训练集,k组数据集作为评测集。

步骤307b,将h组训练集中的用户特征和视频特征作为样本特征输入候选生成模型中进行训练,得到训练后的候选生成模型;

服务器将h组训练集中的用户特征和视频特征进行样本特征输入候选生成模型,通过误差反向传播算法对该候选生成模型进行多轮迭代训练。当误差小于模型结束阈值后,服务器得到训练后的候选生成模型。模型结束阈值是用于表示训练候选生成模型时的结束临界值。

比如,输入用户特征后得到的预测视频结果与实际的视频特征之间的匹配程度达到98%以上(误差小于2%)时,确定得到训练后的候选生成模型。

步骤307c,使用k组评测集评估训练后的候选生成模型的召回率;

在使用k组评测集对训练后的候选生成模型进行评估时,用户特征和视频特征的生成方式与训练过程完全相同。服务器将用户特征输入至训练后的候选生成模型,由该候选生成模型输出用户对各个视频的观看概率(感兴趣概率),然后将观看概率排列在topn的视频确定为候选推荐集,n为正整数。

然后,服务器检测候选推荐集中的各个视频是否落入用户帐号所观看的历史视频集(也即该用户帐号的视频特征中的视频);若落入该历史视频集中,则认为是成功召回;若未落入该历史视频集中,则未成功召回。服务器统计评测集中所有用户帐号的召回率,作为该候选生成模型的评估参数。

步骤307d,当训练后的候选生成模型的召回率达到第三结束阈值时,将训练后的候选生成模型确定为待使用的候选生成模型。

服务器检测该候选生成模型的召回率是否高于第三结束阈值;若召回率高于第三结束阈值,则将训练后的候选生成模型确定为待使用的候选生成模型;若召回率低于第三结束阈值,则将训练后的候选生成模型确定为不合格的候选生成模型,重新选取训练集进行继续训练。

其中,第三结束阈值是用于表示评估候选生成模型是满足上线使用条件的模型的临界结束值。

综上所述,本实施例提供的方法,通过利用k组评测集对训练后的候选生成模型进行评估,当训练后的候选生成模型的召回率高于第三结束阈值时,才将训练后的候选生成模型确定为待使用的候选生成模型,从而保证训练后的候选生成模型在上线至生产系统时的性能。

上述用户特征可以用于基于dnn的候选生成模型的训练。在一个示意性的如图6示的例子中,候选生成模型可采用机器学习架构tensorflow来实现。时序模块52负责从数据库51中提取出各个用户帐号的视频观看流水记录,该数据库51可以是用于存储视频观看流水记录的数据库,比如boss日志系统。数据收集模块53(datacollect)从视频观看流水记录中提取各个用户帐号的视频观看记录;一方面,数据收集模块53将各个用户帐号的视频观看记录交给用户帐号样本(usersample)模块54和用户嵌入矩阵(userembedding)模块55去生成用户特征;另一方面,数据收集模块54将各个用户帐号的视频观看记录交给视频特征样本(itemsample)模块56和视频嵌入矩阵(userembedding)模块57去生成视频特征,各个用户帐号的用户特征和视频特征进一步给到nn召回样本(recallsample)模块58。nn召回模块58用于将各个用户帐号的用户特征和视频特征进行拼接加工,比如,将同一个用户帐号的用户特征和视频特征拼接为一组样本特征。多组样本特征构成用于输入至nn召回模块(recallmodule)59提供的dnn中,训练得到候选生成模型。

可选地,图构建模块(buildinggraph)60负责把dnn训练过程中的中间结果上报到张量展示面板(tensorboard)62,服务器根据张量展示面板62所得到的中间结果将dnn训练完毕。dnn训练完毕后得到的模型即为候选生成模型,模型保存/加载模块61用于保存训练后的候选生成模型,该候选生成模型用于模型评估成用户候选集列表。

可选地,除了用户特征和视频特征之外,数据收集模块53还可以收集用户基础属性65和用户检索历史66等属性特征,将这些属性特征通过其它特征样本67和其它嵌入矩阵68来生成该用户的其它维度的特征,这些其它维度的特征也作为用于训练候选生成模型的参数之一,对候选生成模型进行训练。

为了评估候选生成模型的准确性,本申请实施例针对候选生成模型设计了评估模块63。示意性的,将样本特征分为n+1个历史分区,用前n个历史分区数据训练出候选生成模型,保存到训练完毕的模型文件,用第n+1历史分区数据来评估候选生成模型的准确性。需要注意的是,训练和评测过程的用户特征生成过程以及视频特征生成过程需要完全一致。其中,n为正整数。

在一些实施例中,用召回率指标来衡量候选生成模型的召回能力,从第n+1个分区中随机抽取出若干个用户,将每个用户的用户特征输入到候选生成模型中,之后我们从候选生成模型的输出层的输出结果中取出topk个结果作为候选集合,如果用户实际观看的视频落在topk的范围中,则认为成功召回,否则未召回,汇总所有用户的预测结果,最后得到总体的召回率。其中,k为正整数。

如下表一所示,其中训练集的样本分别有相应的用户集和视频集,若评测集中的用户特征集不在训练集,则该用户集看作“集外词”(oov);若评测集中的视频特征集不在训练集,则该视频特征集看作集外词。通过实验结果可以看出当减小k的大小时,召回率会有相应的降低,当增加训练样本数据时,召回率会有相应的升高。其中,绝对召回率是指全集上的召回率;相关召回率是指非“集外词”集上的召回率。

表一

在一个示意性的例子中,本申请提供的技术方案可以应用在视频播放的新热点频道中,该频道的推荐结果主要由算法推荐和人工干预两部分组成,算法推荐部分由若干个算法召回模块组成。本技术方案在原有的召回模块基础上,增加了一路用户到视频(usertoitem,u2i)召回模块,该召回模块通过dnn模型针对每个用户会生成一个视频推荐列表。这样在dnn召回模块和其它已有召回模型的推荐结果合并到一起,再经过个性化排序最终展示给用户。该u2i召回模块的主要功能是应用深度学习的方法从海量的视频中,找出数百个视频,作为第一阶段的候选推荐视频。

本技术方案在深度学习得到的候选生成模型中,通过视频播放流水记录生成用户特征,降低了用户特征的生成成本。在a/b实验中,发明人在实验分桶中增加了该技术方案生成的u2i候选召回模块,并和基准分桶进行效果对比,实验结果表明实验桶整体效果要优于基准分桶,在曝光人均vv效果上有大约1.25%的提升。在实验分桶中,发明人对比了该实验模块的效果和ucf(usercollaborativefilter,基于用户的协同过滤)算法模块的效果,通过对比发现,该算法模块在曝光人均vv指标上要明显优于ucf算法模块。

发明人在同一个实验分桶中对比了本技术方案和ucf算法模块的效果,结果如图7所示,横轴表示实验上线天数,纵轴为模块的曝光人均vv指标,可看出本技术方案效果要好于ucf算法模块。

以下为本申请的装置实施例,对于装置实施例中未详细描述的技术细节,可以参考上述一一对应的方法实施例。

图8示出了本申请一个示例性实施例提供的用户特征的生成装置的框图。该生成装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。该装置包括:

获取模块820,用于获取n组目标视频和用户帐号之间的时序对应关系,每组所述时序对应关系包括查看过所述目标视频的各个用户帐号,且所述用户帐号按照查看时间戳进行排序,n为正整数;

映射模块840,用于根据n组所述时序对应关系映射得到词嵌入矩阵,所述词嵌入矩阵包括每个所述用户帐号对应的词向量;

训练模块860,用于使用损失函数对所述词嵌入矩阵进行训练,所述损失函数用于根据观看历史的相似程度挖掘各个所述用户帐号之间的相似关系;

确定模块880,用于将训练完毕的所述词嵌入矩阵中的所述用户帐号对应的词向量,确定为所述用户帐号的用户特征。

在一个可选的实施例中,训练模块860,用于使用噪声对比估计损失函数对所述词嵌入矩阵进行训练。

在一个可选的实施例中,确定模块880,用于当所述噪声对比估计损失函数的函数值低于第一结束阈值时,将所述词嵌入矩阵中的所述用户帐号对应的词向量,确定为所述用户帐号的用户特征。

在一个可选的实施例中,映射模块840,用于将n组所述时序对应关系按照词向量映射方式进行映射,得到所述词嵌入矩阵。

在一个可选的实施例中,如图9所示,所述获取模块820包括:记录获取单元822和排序单元824;

所述记录获取单元822,用于获取m个用户帐号的视频查看历史记录,所述视频查看历史记录包括所述用户观看过和/或搜索过的目标视频的视频标识以及查看时间戳,m为正整数;

所述排序单元824,用于对于所述视频查看历史记录中的每个所述目标视频,将查看过所述目标视频的各个用户帐号按照对应的查看时间戳进行排序后,生成所述目标视频和所述用户帐号之间的时序对应关系。

在一个可选的实施例中,所述装置还包括:视频特征获取模块892和候选生成模型训练模块894,如图10所示。

视频特征获取模块892,用于获取所述用户帐号的观看历史记录和/或搜索历史记录中的视频标识,根据所述视频标识生成所述视频特征;

候选生成模型训练模块894,用于将所述用户特征和所述视频特征作为样本特征输入候选生成模型中进行训练,得到训练后的候选生成模型;

其中,所述训练后的候选生成模型用于根据输入的用户特征输出对视频库中各个视频的观看概率。

在一个可选的实施例中,所述装置还包括:评估模块896;

所述候选生成模型训练模块894,用于将所述用户特征和所述视频特征划分为h+k组数据集,所述h+k数据集包括h组训练集和k组评测集;将所述h组训练集中的所述用户特征和所述视频特征作为样本特征输入候选生成模型中进行训练,得到所述训练后的候选生成模型,h和k均为正整数;

所述评估模块896,用于使用所述k组评测集评估所述训练后的候选生成模型的召回率;当所述训练后的候选生成模型的召回率达到第二结束阈值时,将所述训练后的候选生成模型确定为待使用的候选生成模型。

图11示出了本申请一个示例性实施例中提供的服务器的框图,该服务器用于实施上述实施例中提供的关于服务器侧的用户特征的生成方法。具体来讲:

所述服务器1100包括中央处理单元(cpu)1101、包括随机存取存储器(ram)1102和只读存储器(rom)1103的系统存储器1104,以及连接系统存储器1104和中央处理单元1101的系统总线1105。所述服务器1100还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1106,和用于存储操作系统1113、应用程序1114和其他程序模块1115的大容量存储设备1107。

所述基本输入/输出系统1106包括有用于显示信息的显示器1108和用于用户输入信息的诸如鼠标、键盘之类的输入设备1109。其中所述显示器1108和输入设备1109都通过连接到系统总线1105的输入输出控制器1110连接到中央处理单元1101。所述基本输入/输出系统1106还可以包括输入输出控制器1110以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1110还提供输出到显示屏、打印机或其他类型的输出设备。

所述大容量存储设备1107通过连接到系统总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。所述大容量存储设备1107及其相关联的计算机可读介质为服务器1100提供非易失性存储。也就是说,所述大容量存储设备1107可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结果、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1104和大容量存储设备1107可以统称为存储器。

根据本发明的各种实施例,所述服务器1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1100可以通过连接在所述系统总线1105上的网络接口单元1111连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述用户特征的生成方法的指令。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

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