视频推荐方法、装置和设备及计算机存储介质与流程

文档序号:18162703发布日期:2019-07-13 09:24阅读:181来源:国知局
视频推荐方法、装置和设备及计算机存储介质与流程

本发明涉及计算机技术领域,特别涉及一种视频推荐方法、装置和设备及计算机存储介质。



背景技术:

随着互联网的普及,网络视频平台的发展,多媒体内容不断丰富,视频数量不断膨胀,用户需要花费大量的精力和时间从庞大的内容中查找自己感兴趣的视频。为了帮助用户快速从海量信息数据中,获取到其所需的信息,视频推荐系统应运而生。推荐系统的出现,改变了用户与信息数据的互动方式,由用户主动获取信息转变为将信息主动推送给用户。为提高用户的视频观看体验,如何向用户进行视频推荐逐渐成为当前的研究热点。

在现有技术中,在对视频进行推荐时,一般是根据用户历史观看过的视频预测用户的潜在兴趣点,进而向用户推荐满足其喜好的视频。但是,目前的视频推荐方法中通常是根据用户观看过的视频标题中的关键词和标签中的信息,作为用户的兴趣点,但是视频的标题和标签都是在视频上传时人为设置的,因而标题和标签具有较强的主观性,很难对视频进行准确的表示,因而使得为用户推荐的视频并不准确,使得用户体验不佳。



技术实现要素:

本发明实施例提供一种视频推荐方法、装置和设备及计算机存储介质,用于提升为用户推荐的视频的准确性。

一方面,提供一种视频推荐方法,所述方法包括:

获取用户的用户特征向量,以及所述用户对应的视频推荐池中各待推荐视频的视频特征向量;所述用户特征向量是通过对播放各视频的用户序列学习得到的,所述视频特征向量是通过对多个用户播放视频的视频序列学习得到的;

基于所述用户特征向量以及所述视频特征向量,通过预先训练的视频推荐模型,获得所述用户播放各所述待推荐视频的第一概率值;其中,所述视频推荐模型是基于多个视频推荐训练样本训练得到的,所述多个视频推荐训练样本标注了用户播放视频的第二概率值;

将所述第一概率值满足预设条件的所述待推荐视频确定为需要为所述用户推荐的视频。

一方面,提供一种视频推荐装置,所述装置包括:

特征向量获取单元,用于获取用户的用户特征向量,以及所述用户对应的视频推荐池中各待推荐视频的视频特征向量;所述用户特征向量是通过对播放各视频的用户序列学习得到的,所述视频特征向量是通过对多个用户播放视频的视频序列学习得到的;

播放概率预测单元,用于基于所述用户特征向量以及所述视频特征向量,通过预先训练的视频推荐模型,获得所述用户播放各所述待推荐视频的第一概率值;其中,所述视频推荐模型是基于多个视频推荐训练样本训练得到的,所述多个视频推荐训练样本标注了用户播放视频的第二概率值;

确定单元,用于将所述第一概率值满足预设条件的所述待推荐视频确定为需要为所述用户推荐的视频。

可选的,所述特征向量获取单元,具体用于:

获取视频序列样本集合,其中,所述视频序列样本集合中每一个视频序列样本包括一个用户历史连续播放的n+1个视频;

基于所述视频序列样本集合中包括的所有视频构建初始视频特征向量矩阵,所述初始视频特征向量矩阵的一行或者一列为一个视频的初始视频特征向量;

通过所述初始视频特征向量矩阵中,每一个视频序列样本包括的视频的初始视频特征向量,对初始视频预测模型进行多次训练;其中,在每一次训练时,对视频特征向量矩阵以及视频预测模型的参数进行调整;

在最后一次训练使用的视频预测模型的预测结果满足设定要求时,基于最后一次训练使用的视频特征向量矩阵得到各视频的视频特征向量。

可选的,所述特征向量获取单元,具体用于:

分别根据每一个所述视频序列样本中前n个视频在本次训练使用的视频特征向量矩阵中的视频特征向量,通过本次训练使用的视频预测模型进行第n+1个视频的视频特征向量的预测;

在本次训练的预测结果不满足所述设定要求时,根据预测的第n+1个视频的视频特征向量与实际的第n+1个视频的视频特征向量之间的差异度,对本次训练使用的视频特征向量矩阵以及本次训练使用的视频预测模型的参数进行调整。

可选的,所述特征向量获取单元,具体用于:

针对每一个所述视频序列样本,提取所述视频序列样本中前n个视频在本次训练使用的视频特征向量矩阵中的视频特征向量的序列化特征;

将前n个视频的所述视频特征向量的序列化特征进行全连接运算,并通过归一化函数得到本次训练使用的视频特征向量矩阵中每一个视频的视频特征向量的得分值;

将所述得分值最大的视频的视频特征向量确定为预测的第n+1个视频的视频特征向量。

可选的,所述特征向量获取单元,具体用于:

针对每一个所述视频序列样本,提取所述视频序列样本中前n个视频在本次训练使用的视频特征向量矩阵中的视频特征向量的正向序列化特征和反向序列化特征;

分别将前n个视频的所述视频特征向量的所述正向序列化特征和所述反向序列化特征进行合并,以得到前n个视频的序列化特征。

可选的,所述特征向量获取单元,具体用于:

获取用户序列样本集合,其中,所述用户序列样本集合中的一个用户序列样本包括播放了同一个视频且播放顺序连续的n+1个用户;

基于所述多个用户序列样本中包括的所有用户构建初始用户特征向量矩阵,所述初始用户特征向量矩阵的一行或者一列为一个用户的初始用户特征向量;

通过所述初始用户特征向量矩阵中,每一个所述用户序列样本包括的用户的初始用户特征向量,对初始用户预测模型进行多次训练;其中,在每一次训练时,对用户特征向量矩阵以及用户预测模型的参数进行调整;

在最后一次训练使用的用户预测模型的预测结果满足设定要求时,基于最后一次训练使用的用户特征向量矩阵得到各用户的用户特征向量。

可选的,所述特征向量获取单元,具体用于:

分别根据每一个所述用户序列样本中前n个用户在本次训练使用的用户特征向量矩阵中的用户特征向量,通过本次训练使用的用户预测模型进行第n+1个用户的用户特征向量的预测;

在本次训练的预测结果不满足所述设定要求时,根据预测的第n+1个用户的用户特征向量与实际的第n+1个用户的用户特征向量之间的差异度,对本次训练使用的用户特征向量矩阵以及本次训练使用的用户预测模型的参数进行调整。

可选的,所述播放概率预测单元,具体用于:

分别根据所述用户特征向量与各所述待推荐视频的视频特征向量,构建所述用户与各所述待推荐视频之间的关系矩阵;

分别从各关系矩阵中提取所述用户与各所述待推荐视频之间的关系特征向量;

根据所述关系特征向量,与预测的所述用户的下一个播放的视频的视频特征向量,获取所述用户播放各所述待推荐视频的第一概率值;其中,所述预测的所述用户的下一个播放的视频是通过预先训练的视频预测模型进行预测的。

可选的,所述播放概率预测单元,具体用于:

获取所述用户的用户标签特征向量,以及各所述待推荐视频的视频标签特征向量;

将所述用户标签特征向量与所述用户特征向量进行合并,得到用户合并特征向量;并,

将各所述待推荐视频的视频标签特征向量分别与所述视频特征向量进行合并,得到各所述待推荐视频的视频合并特征向量;

将所述用户的用户合并特征向量,分别与所述用户的各所述待推荐视频的视频合并特征向量进行外积运算,得到所述用户与各所述待推荐视频之间的关系矩阵。

可选的,所述播放概率预测单元,具体用于:

将所述用户标签特征向量与所述用户特征向量进行外积运算,得到所述用户的用户合并特征矩阵;

对所述用户合并特征矩阵进行特征提取得到所述用户合并特征向量。

可选的,所述播放概率预测单元,具体用于:

分别对各关系特征向量进行池化处理,得到池化处理后的关系特征向量;

获取池化处理后的关系特征向量,与预测的所述用户的下一个播放的视频的视频特征向量之间的误差值,并基于各误差值确定所述用户播放各待推荐视频的第一概率值。

可选的,所述装置还包括模型训练单元,用于:

获取视频推荐训练样本集合;其中,一个视频推荐训练样本包括一个用户的用户特征向量和一个视频的视频特征向量,以及标注的所述用户播放所述视频的第二概率值;

通过所述视频推荐训练样本集合对初始视频推荐模型进行多次训练,直至最后一次训练得到的视频推荐模型预测结果满足设定要求;其中,每一次的训练过程如下:

针对每一个视频推荐训练样本,通过本次训练使用的视频推荐模型预测所述视频推荐训练样本中的用户播放视频的第三概率值;

根据所述第三概率值与所述第二概率值之间的差异度,对本次训练使用的视频推荐模型的参数进行调整。

一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方面所述的方法。

一方面,提供一种计算机可读存储介质,存储有处理器可执行指令,所述处理器可执行指令用于执行上述方面所述的方法。

本发明实施例中,通过对用户历史浏览的视频序列学习得到各视频的视频特征向量,以及通过各视频被用户播放的用户序列学习得到各用户的用户特征向量,这样,进而通过视频特征向量和用户特征向量为用户进行视频特征。也就是说,本发明实施例考虑了播放视频的先后顺序对视频推荐带来的影响,视频播放的序列化特征以及用户序列化特征中已经包括用户的视频播放爱好以及视频播放的顺序特征,因而基于序列化特征对用户下一次播放各待推荐视频的概率值进行预测,为用户推荐的视频更符合用户视频播放的顺序轨迹,总而视频推荐的准确性更高。

附图说明

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

图1为本发明实施例提供的应用场景的示意图;

图2为本发明实施例提供的视频预测模型的示意图;

图3为本发明实施例提供的视频预测模型的训练流程示意图;

图4为本发明实施例提供的初始视频特征向量的示意图;

图5为本发明实施例提供的bilstm提取序列化特征的示意图;

图6为本发明实施例提供的用户预测模型的示意图;

图7为本发明实施例提供的用户预测模型的训练流程示意图;

图8为本发明实施例提供的视频推荐模型的训练流程示意图;

图9为本发明实施例提供的卷积神经网络的架构示意图;

图10为本发明实施例提供的视频推荐方法的流程示意图;

图11为本发明实施例提供的视频推荐页面的显示示意图;

图12为本发明实施例提供的视频推荐装置的一种结构示意图;

图13为本发明实施例提供的计算机设备的一种结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

为便于理解本发明实施例提供的技术方案,这里先对本发明实施例使用的一些关键名词进行解释:

词向量特征:或称embedding特征,本发明实施例中的embedding特征的对象为用户或者视频,即用于描述一个用户,或者用于描述一个视频。词向量特征的描述思想是通过将自然语言表示的单词转换为计算机能够理解的向量或矩阵形式,词向量特征的提取可以通过深度学习模型进行提取,例如可以采用卷积神经网络(convolutionalneuralnetworks,cnn)模型、长短期记忆网络(longshort-termmemory,lstm)模型、循环神经网络(recurrentneuralnetwork,rnn)或者gatedcnn(g-cnn)模型等进行提取,当然,也可以采用其他可能的深度学习模型进行提取,本发明实施例对此不做限制。

视频序列:是针对一个用户而言,该用户连续播放过的n个视频,例如n取值为5,则是指一个用户连续播放过的5个视频。其中,连续播放并不是指在时间上的连续,而是指播放顺序上的连续,例如用户依次播放了a、b、c、d、e这5个视频,那么这5个视频即可组成一个视频序列。

用户序列,是针对一个视频而言,播放过该视频的连续的n个用户,其中,连续也是指在播放顺序上的连续,例如a视频被用户1播放了,然后又被用户2播放了,然后又依次被用户3、用户4以及用户5播放,那么用户1~用户5则可以组成该视频的一个用户序列。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。

在现有技术中,在对视频进行推荐时,一般是根据用户历史观看过的视频预测用户的潜在兴趣点,进而向用户推荐满足其喜好的视频。但是,目前的视频推荐方法中通常是根据用户观看过的视频标题中的关键词和标签中的信息,作为用户的兴趣点,但是视频的标题和标签都是在视频上传时人为设置的,因而标题和标签具有较强的主观性,很难对视频进行准确的表示,因而使得为用户推荐的视频并不准确,使得用户体验不佳。

鉴于此,本发明实施例提供了一种视频推荐方法,在该方法中,通过对用户历史浏览的视频序列学习得到各视频的视频特征向量,以及通过各视频被用户播放的用户序列学习得到各用户的用户特征向量,这样,进而通过视频特征向量和用户特征向量为用户进行视频特征。也就是说,本发明实施例考虑了播放视频的先后顺序对视频推荐带来的影响,视频播放的序列化特征以及用户序列化特征中已经包括用户的视频播放爱好以及视频播放的顺序特征,因而基于序列化特征对用户下一次播放各待推荐视频的概率值进行预测,为用户推荐的视频更符合用户视频播放的顺序轨迹,因而视频推荐的准确性更高。

此外,本发明实施例中,除序列化特征之外,还可以综合依据视频标签以及用户画像等信息进行视频推荐,增加视频推荐需考虑的因素,进一步提升视频推荐的准确性。

在介绍完本发明实施例的设计思想之后,下面对本发明实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本发明实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本发明实施例提供的技术方案。

请参见图1所示,为发明实施例能够适用的一种场景示意图,该场景中包括服务器101以及多个终端102,即图1中所示终端102~1至终端102~m,m为正整数,m的值本发明实施例并不进行限制。

服务器101可以包括一个或多个处理器1011、存储器1012以及与终端交互的i/o接口1013等。此外,服务器101还可以配置数据库1014,数据库1014可以用于存储学习得到的各用户的用户特征向量、各视频的视频特征向量、训练得到的模型参数以及用户和视频的标签信息等。其中服务器101可以是视频应用的后台服务器,图1中具体以此为例进行示出,当然服务器101也可以是用于视频推荐的专用服务器,例如服务器101用于计算为各用户推荐的视频,然后将推荐数据等发送给视频网站的后台服务器,然后由视频网站进行视频推送。

终端102可以包括一个或多个处理器1021、存储器1022、与服务器101交互的i/o接口1023、显示面板1024等。其中,终端102的存储器1022中可以存储可以播放视频的应用程序的程序指令,这些程序指令被处理器1021执行时能够用以实现视频信息的显示,应用程序例如可以为视频应用或者新闻应用等,例如应用程序为视频应用时,可以直接在视频应用中的显示页面上显示被推荐的视频,当视频被选中后,则可以通过视频应用的显示页面播放该视频,或者应用程序例如可以为浏览器,在浏览器中可以打开视频网站的页面,以在显示页面上显示被推荐的视频。

本发明实施例中,服务器101可以通过本发明实施例提供的视频推荐方法获取各用户的推荐视频,然后在终端102通过i/o接口1023向服务器101发送视频页面显示请求时,服务器101可以通过i/o接口1013向终端102返回响应,从而使得终端102在显示面板1024显示的视频页面中显示用户的推荐视频。

服务器101与终端102之间可以通过一个或者多个网络103进行通信连接。该网络103可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(wireless-fidelity,wifi)网络,当然还可以是其他可能的网络,本发明实施例对此不做限制。

当然,本发明实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其他可能的应用场景,本发明实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。

本发明实施例中,在将进行视频推荐之前,首先需要获取各用户和视频的向量表示以及需要通过训练获取视频预测模型以及视频推荐模型,因此,在对本发明实施例的视频推荐方法进行介绍之前,首先进行获取各用户和视频的向量表示以及需要通过训练获取视频预测模型以及视频推荐模型的介绍。

请参见图2,为本发明实施例提供的视频预测模型的示意图,其中,各视频的向量表示可以是在视频预测模型的训练过程中得到的,下面将结合视频预测模型的训练进行介绍。其中,图2所示的视频预测模型包括输入层、特征提取层、全连接层(fullyconnectedlayer,fc)、softmax层和输出层,对于每一层的介绍将在后续的训练流程中逐一介绍,因此在此先不过多赘述。其中,特征提取层例如可以采用双向长短期记忆网络(bi-directionallongshort-termmemory,bilstm)进行特征提取,后续具体以此为例,当然,也可以通过其他网络进行特征提取,本发明实施例对此不做限制。

请参见图3所示,为视频预测模型的训练流程示意图。

步骤301:获取视频序列样本集合。

本发明实施例中,视频序列样本集合中包括多个视频序列样本,每一个视频序列样本包括一个用户历史连续播放的n+1个视频,其中前n个视频的视频特征向量作为视频预测模型的输入,而第n+1个视频的视频特征向量作为视频预测模型的训练目标,即对于每一个样本,期望通过视频预测模型对前n个视频进行预测得到的视频即为样本中的第n+1个视频。

具体的,视频序列样本可以是从多个用户的历史使用数据中抽取的,n个取值可以根据实际情况进行调整,例如,可以将n设置为5,当然,n也可以为其他可能的值,本发明实施例对此不做限制。

获取视频序列样本集合之后,可以存储于数据库中,在训练时则可以直接从数据库中读取。

步骤302:基于视频序列样本集合中包括的所有视频构建初始视频特征向量矩阵。

本发明实施例中,初始视频特征向量矩阵的一行或者一列为一个视频的初始视频特征向量,后续具体以一列为例进行描述。

具体的,当获取视频序列样本集合之后,则可以知晓视频序列样本集合中所包括的所有视频,进而可以为每一个视频生成一个初始视频特征向量,从而通过这些初始视频特征向量组成初始视频特征向量矩阵。如图4所示,为初始视频特征向量的示意图,图4中的一列即为一个视频的初始视频特征向量,每一行表示一种特征维度,图4中具体以视频数量为m为例,一般来讲,用于训练的样本数量是很庞大的,也就是说m的值是远远大于n的,在初始视频特征向量矩阵中,每一个视频序列样本包括的n+1个视频的初始视频特征向量都可以从中找到。

对于初始视频特征向量的生成,可以通过对初始视频特征向量进行初始赋值得到,例如可以统一赋值为相同的值,例如0,或者,还可以是为各初始视频特征向量随机赋值,初始视频特征向量通常并不能直接作为各视频的向量表示,需要在训练的过程中进行学习,最终得到的视频特征向量则可作为各视频的向量表示。

本发明实施例中,视频特征向量具体可以为embedding特征向量。

在实际应用时,视频序列样本集合中一些视频可能已经进行过视频特征向量的学习,即这些视频已有对应的视频特征向量,那么初始视频特征向量矩阵中这些视频的初始视频特征向量则可以采用已学习得到的视频特征向量,即相当于通过再次学习对已有的视频特征向量进行更新。

步骤303:利用视频预测模型分别根据每一个视频序列样本中前n个视频在本次训练使用的视频特征向量矩阵中的视频特征向量,预测第n+1个视频的视频特征向量。

本发明实施例中,在构建初始视频特征向量矩阵之后,则可以通过初始视频特征向量矩阵中,每一个视频序列样本包括的视频的初始视频特征向量,对初始视频预测模型进行多次训练。其中,第一次训练使用的视频预测模型为初始视频预测模型,第一次训练使用的视频特征向量矩阵为初始视频特征向量矩阵,而在后续训练过程中,每一次训练所使用的视频预测模型则为上一次训练调整后的视频预测模型,所使用的视频特征向量矩阵则为上一次训练调整后的视频特征向量矩阵。

由于每一次训练的过程都是类似的,且对于每一个视频序列样本的处理也是类似的,因此下面具体以一次训练过程中对一个视频序列样本的处理为例进行描述。

针对一个视频序列样本而言,在每一次训练时,将该视频序列样本的前n个视频的视频特征向量构成的视频序列输入视频预测模型的输入层中,进而通过特征提取层提取前n个视频的视频特征向量的序列化特征,如图2所示,从视频序列的每一个视频的视频特征向量中提取序列化特征向量h,即h1~hn。其中,在每一次训练时,视频特征向量是指本次训练使用的视频特征向量矩阵中的视频特征向量。

具体的,本发明实施例的视频预测模型的特征提取层可以为双向的lstm,如图5所示,可以分别从视频序列的各视频的视频特征向量中提取正向序列化特征向量以及反向序列化特征向量再将正向序列化特征向量以及反向序列化特征向量进行合并,以得到每个视频的序列化特征向量h。例如针对视频1而言,提取得到视频1的正向序列化特征向量以及反向序列化特征向量之后,则可以合并得到视频1的序列化特征向量h1。其中,正向序列化特征向量以及反向序列化特征向量的合并可以采用注意力(attention)机制进行合并,即为正向序列化特征向量以及反向序列化特征向量赋予一定的权重值,进而将正向序列化特征向量以及反向序列化特征向量进行加权运算以得到序列化特征向量h,权重值的具体取值可以作为训练参数训练得到。当然,除了attention机制之外,还可以通过其他可能的方式将正向序列化特征向量以及反向序列化特征向量进行合并,本发明实施例对此并不进行限制。

在通过特征提取层提取获得视频序列中各视频的序列化特征向量之后,将各视频的序列化特征向量输入至全连接层,以将各视频的序列化特征向量进行全连接运算,以得到一个全连接特征向量hc。其中,图5中所示的全连接层的数量以1个为例进行示出,但是在实际应用时,全连接层的数量并不仅限定为1个,还可以为多个,本发明实施例对此并不进行限制。

本发明实施例中,可以通过归一化函数对全连接层输出的全连接特征向量hc进行归一化运算,以得到视频特征向量矩阵中每一个视频的视频特征向量的得分值,得分值用于表征视频的视频特征向量为预测的第n+1个视频的视频特征向量的概率,进而可以将得分值最大的视频的视频特征向量确定为预测的第n+1个视频的视频特征向量。如图5所示,归一化函数具体可以为softmax,以通过softmax对全连接特征向量hc进行分类,即得到每一个视频的视频特征向量的得分值,从而输出第n+1个视频的视频特征向量,同时softmax层还能够起到防止维度坍塌的作用。

步骤304:判断本次训练的预测结果是否满足设定要求。

本发明实施例中,通过步骤303的过程可以预测得到所有视频序列样本中前n个视频组成的视频序列的第n+1个视频的视频特征向量,从而可以确定本次训练的预测结果是否满足设定要求,以确定训练是否继续进行。

具体的,设定要求可以是模型的准确度达到一定的准确度阈值,举例来说,由于训练所采用的样本数量是巨大的,样本之间的视频显示会存在一定交叉,例如视频序列的最后一个视频存在于另一样本中的视频序列中,会随着每一次训练的调整而调整,各样本中第n+1个视频的视频特征向量是已知的,那么在预测得到所有视频序列样本中前n个视频组成的视频序列的第n+1个视频的视频特征向量之后,则可以计算得到视频预测模型的准确度,从而确定准确度是否达到一定的准确度阈值,若未达到,则需要继续进行训练,否则结束训练。当然,设定的要求也可以是根据实际情况设定的其他要求,例如可以将模型参数收敛于一定值作为设定要求,如连续两次训练的误差值收敛于一定值,本发明实施例对此不做限制。

步骤305:若步骤304的判断结果为否,根据预测的第n+1个视频的视频特征向量与实际的第n+1个视频的视频特征向量之间的差异度,对本次训练使用的视频特征向量矩阵以及本次训练使用的视频预测模型的参数进行调整。

本发明实施例中,若是本次训练的结果不满足设定要求,则可以根据预测的第n+1个视频的视频特征向量与实际的第n+1个视频的视频特征向量之间的差异度,对本次训练使用的视频特征向量矩阵以及本次训练使用的视频预测模型的参数进行调整。具体的,对于视频特征向量矩阵和模型参数的调整值可以采用模型训练算法获得,模型训练算法例如可以为反向传播(backpropagation,bp)算法或者梯度下降(gradientdescent,gd)算法,当然,还可以采用其他可能的算法,本发明实施例对此不做限制。

步骤306:若步骤304的判断结果为是,则基于最后一次训练使用的视频特征向量矩阵得到各视频的视频特征向量。

若是本次训练的结果满足设定要求,则训练结束,且本次训练所使用的视频特征向量矩阵中的各视频的视频特征向量即为学习得到的各视频的视频特征向量,为可以用于后续视频推荐的视频特征向量。

在实际应用时,学习的视频特征向量可以存储于特征向量存储数据库中,以便后续视频推荐需要用到时,直接从特征向量存储数据库获取。

请参见图6,为本发明实施例提供的用户预测模型的示意图,其中,各用户的向量表示可以是在用户预测模型的训练过程中得到的,下面将结合用户预测模型的训练进行介绍。其中,可以看到,图6所示的用户预测模型与图2所示的视频预测模型实质上结构是相同的,不同之处在于图2所示的视频预测模型输入为视频序列的视频特征向量,而图6所示的用户预测模型输入为用户序列的用户特征向量,因而对于用户预测模型的训练过程实质上是与视频预测模型的训练过程相似的,因此下面对于用户预测模型的训练过程仅进行简单的介绍。

请参见图7所示,为用户预测模型的训练流程示意图。

步骤701:获取用户序列样本集合。

本发明实施例中,用户序列样本集合中包括多个用户序列样本,每一个用户序列样本包括播放了同一个视频且播放顺序连续的n+1个用户,其中前n个用户的用户特征向量作为用户预测模型的输入,而第n+1个用户的用户特征向量作为用户预测模型的训练目标,即对于每一个样本,期望通过用户预测模型对前n个用户进行预测得到的视频即为样本中的第n+1个视频。

具体的,视频序列样本可以是从多个视频的历史播放数据中抽取的,n个取值可以根据具体情况进行调整,例如,可以将n设置为5,当然,n也可以为其他可能的值,本发明实施例对此不做限制。

获取用户序列样本集合之后,可以存储于数据库中,在训练时则可以直接从数据库中读取。

步骤702:基于用户序列样本集合中包括的所有用户构建初始用户特征向量矩阵。

本发明实施例中,初始用户特征向量矩阵的一行或者一列为一个用户的初始用户特征向量,后续具体以一列为例进行描述。

具体的,当获取用户序列样本集合之后,则可以知晓用户序列样本集合中所包括的所有用户,进而可以为每一个用户生成一个初始用户特征向量,从而通过这些初始用户特征向量组成初始用户特征向量矩阵。在初始用户特征向量矩阵中,每一个用户序列样本包括的n+1个用户的初始用户特征向量都可以从中找到。

对于初始用户特征向量的生成,可以通过对初始用户特征向量进行初始赋值得到,例如可以统一赋值为相同的值,例如0,或者,还可以是为各初始用户特征向量随机赋值,初始用户特征向量通常并不能直接作为各用户的向量表示,需要在训练的过程中进行学习,最终得到的用户特征向量则可作为各用户的向量表示。

本发明实施例中,用户特征向量具体可以为embedding特征向量。

在实际应用时,用户序列样本集合中一些用户可能已经进行过用户特征向量的学习,即这些用户已有对应的用户特征向量,那么初始用户特征向量矩阵中这些用户的初始用户特征向量则可以采用已学习得到的用户特征向量,即相当于通过再次学习对已有的用户特征向量进行更新。

步骤703:利用用户预测模型分别根据每一个用户序列样本中前n个用户在本次训练使用的用户特征向量矩阵中的用户特征向量,预测第n+1个用户的用户特征向量。

本发明实施例中,在构建初始用户特征向量矩阵之后,则可以通过初始用户特征向量矩阵中,每一个用户序列样本包括的用户的初始用户特征向量,对初始用户预测模型进行多次训练。其中,第一次训练使用的用户预测模型为初始用户预测模型,第一次训练使用的用户特征向量矩阵为初始用户特征向量矩阵,而在后续训练过程中,每一次训练所使用的用户预测模型则为上一次训练调整后的用户预测模型,所使用的用户特征向量矩阵则为上一次训练调整后的用户特征向量矩阵。

由于用户预测模型预测的过程实质上是与视频预存模型预测的过程是相同的,只需要将输入层输入的视频特征向量修改为用户特征向量即可,因此对于预测过程可以参考上述视频预存模型预测过程的描述,在此不再过多赘述。

步骤704:判断本次训练的预测结果是否满足设定要求。

本发明实施例中,通过步骤703的过程可以预测得到所有用户序列样本中前n个用户组成的用户序列的第n+1个用户的用户特征向量,从而可以确定本次训练的预测结果是否满足设定要求,以确定训练是否继续进行。

具体的,设定要求可以是模型的准确度达到一定的准确度阈值,或者可以将模型参数收敛于一定值作为设定要求,如连续两次训练的误差值收敛于一定值,当然,设定的要求也可以是根据实际情况设定的其他要求,本发明实施例对此不做限制。

步骤705:若步骤704的判断结果为否,根据预测的第n+1个用户的用户特征向量与实际的第n+1个用户的用户特征向量之间的差异度,对本次训练使用的用户特征向量矩阵以及本次训练使用的用户预测模型的参数进行调整。

本发明实施例中,若是本次训练的结果不满足设定要求,则可以根据预测的第n+1个用户的用户特征向量与实际的第n+1个用户的用户特征向量之间的差异度,对本次训练使用的用户特征向量矩阵以及本次训练使用的用户预测模型的参数进行调整。

步骤707:若步骤704的判断结果为是,则基于最后一次训练使用的用户特征向量矩阵得到各用户的用户特征向量。

若是本次训练的结果满足设定要求,则训练结束,且本次训练所使用的用户特征向量矩阵中的各用户的用户特征向量即为学习得到的各用户的用户特征向量,为可以用于后续用户推荐的用户特征向量。

在实际应用时,学习的用户特征向量可以存储与特征向量存储数据库中,以便后续用户推荐需要用到时,直接从特征向量存储数据库获取。

下面,将针对视频推荐模型的训练过程进行介绍。

请参见图8所示,为视频推荐模型的训练流程示意图。

步骤801:获取视频推荐训练样本集合。

本发明实施例中,视频推荐训练样本集合中包括多个视频推荐训练样本,每一个视频推荐训练样本包括一个用户的用户特征向量和一个视频的视频特征向量,以及标注的该用户播放该视频的第二概率值。

具体的,在实际应用时,视频推荐训练样本一般是在已发生的数据中抽取的,即抽取的用户播放过的视频,而为了保证模型的鲁棒性,通常需要添加一定数量的负样本进行训练,即对于视频推荐训练样本集合中可以包括正训练样本和负训练样本,在训练时,对于一个训练样本而言,用户是否播放视频只有两种可能,即播放过和未播放过,那么标注的概率值的取值可以取为0或者100%,即为正训练样本标注的概率值即为100%,为负训练样本标注的概率值即为0。

获取视频推荐训练样本集合之后,可以存储于数据库中,在训练时则可以直接从数据库中读取。

步骤802:将用户的用户标签特征向量与用户特征向量合并得到用户合并特征向量,以及将视频的视频标签特征向量与视频特征向量合并得到视频合并特征向量。

本发明实施例中,获取视频推荐训练样本集合之后,则可以通过视频推荐训练样本集合对初始视频推荐模型进行多次训练,直至最后一次训练得到的视频推荐模型预测结果满足设定要求。由于每一次训练的过程都是类似的,且对于每一个视频推荐训练样本的处理也是类似的,因此下面具体以一次训练过程中对一个视频推荐训练样本的处理为例进行描述。

本发明实施例中,用户特征向量和视频特征向量是考虑了序列化特征的向量表示,为了增加视频推荐的准确性,还可以增加用户画像以及视频标签等数据综合进行推荐。

其中,用户画像可以通过用户的标签进行表示,标签是根据用户播放视频的行为为该用户打上的标签,例如用户经常播放体育类视频,则可以为用户打上“体育”标签,而若是用户经常播放游戏类视频,则可以为用户打上“游戏”标签。为能够在视频推荐时可以基于用户画像数据进行推荐,可以将用户标签与用户的序列化特征进行融合,具体而言,用户标签可以通过用户标签特征向量进行表示,即用户标签的语意词向量,用户标签特征向量也可以是通过深度学习模型学习得到的,然后再将用户标签特征向量与图7所示的实施例学习得到的用户特征向量进行合并,以得到用户合并特征向量。

具体的,可以将用户的用户标签特征向量与用户特征向量进行外积运算,得到用户的用户合并特征矩阵,用户合并特征矩阵可以表征用户标签特征向量与用户特征向量之间的相互关系,从而将用户标签特征向量与用户特征向量两种均考虑进去,以在后续进行视频推荐时能够同时考虑到这两种特征。然后可以通过对用户合并特征矩阵进行特征提取得到用户合并特征向量,其中,特征提取可以是通过卷积神经网络进行,如图9所示,为一种可能的卷积神经网络的架构示意图,包括3个卷积层和1个池化层,其中卷积层用于进行特征的提取,池化层用于对提取的用户合并特征向量进行池化处理,从而过滤用户合并特征向量中的冗余特征,且可防止网络过拟合。当然,本发明实施例的卷积神经网络并不限于图9所示的网络结构,还可以是其他可能的网络结构,对此本发明实施例并不进行限制。

其中,视频标签则可以是根据视频内容设置的标签,例如视频内容为游戏相关内容,则可以为视频打上“游戏”标签,而若是视频内容为体育相关内容,则可以为视频打上“体育”标签。为能够在视频推荐时可以基于视频标签数据进行推荐,可以将视频标签与视频的序列化特征进行融合,具体而言,视频标签可以通过视频标签特征向量进行表示,即视频标签的语意词向量,视频标签特征向量也可以是通过深度学习模型学习得到的,然后再将视频标签特征向量与图3所示的实施例学习得到的视频特征向量进行合并,以得到视频合并特征向量。

具体的,将视频标签特征向量与视频特征向量进行合并的过程可以是与合并得到用户合并特征向量的过程相同的,因此对于将视频标签特征向量与视频特征向量进行合并的过程可以参见上述合并得到用户合并特征向量的过程,在此不再过多赘述。

本发明实施例中,在进行视频推荐时也可不考虑用户和视频标签,因此步骤802并不是必执行的步骤,在实际应用时可以根据实际情况进行选用。

步骤803:根据用户合并特征向量以及视频合并特征向量,构建用户与视频之间的关系矩阵。

本发明实施例中,针对每一个视频推荐训练样本,为了获取用户播放该视频的概率值,即用户播放该视频的可能性,可以根据用户合并特征向量以及视频合并特征向量,构建用户与视频之间的关系矩阵,该关系矩阵即能够表达用户和视频之间的相互关系。

具体的,可以通过将用户合并特征向量与视频合并特征向量进行外积运算,从而得到用户与视频之间的关系矩阵。例如,用户合并特征向量为m维的向量,且视频合并特征向量也为m维的向量时,通过将两个向量进行外积,则可以得到一个m*m维的关系矩阵。

本发明实施例中,若是在进行视频推荐时也可不考虑用户和视频标签,即步骤802不执行,那么则可以直接通过用户特征向量和视频特征向量构建用户与视频之间的关系矩阵。

步骤804:从关系矩阵中提取用户与视频之间的关系特征向量。

本发明实施例中,关系特征向量的提取也可以是通过卷积神经网络进行提取的,提取关系特征向量所采用的卷积神经网络的结构可以是根据具体情况进行设定的,例如可以包括4个卷积层,卷积层的卷积核大小可以为3*3,在通过4个卷积层进行特征提取之后,还可以通过池化层进行池化处理,从而最终得到关系特征向量。

步骤805:根据用户与视频之间的关系特征向量,与预测的用户下一个播放的视频的视频特征向量,获取用户播放视频的第三概率值。

本发明实施例中,可以通过已经训练完成的视频预测模型对样本中用户下一个播放的视频进行预测。对于视频推荐模型的训练过程而言,若是视频推荐训练样本为正样本,那么给定的用于视频预测模型进行视频预测的n个视频则为用户在播放视频推荐训练样本中包括的视频之前的n个视频,例如用户连续播放了视频a~视频f,那么视频f则可以为播放视频推荐训练样本中的视频,即需要预测用户播放视频f的概率值,而视频f之前的视频a~视频e则可以作为视频预测模型的输入。

具体的,可以通过将关系特征向量与预测的用户下一个播放的视频特征向量进行全连接运算,进而基于全连接运算后得到的向量计算关系特征向量与预测的用户下一个播放的视频特征向量之间的误差值,进而得到用户播放该视频的概率值,误差值越小,概率值越大。其中,误差值的计算可通过损失函数(lossfunction)进行计算,例如可以通过交叉熵损失(crossentropyloss)函数进行计算,当然,也可以通过其他可能的损失函数进行计算,如对数(log)损失函数等,本发明实施例对此不做限制。

步骤806:判断本次训练的预测结果是否满足设定要求。

本发明实施例中,通过步骤802~步骤803的过程可以预测得到所有视频推荐训练样本中的第三概率值,从而可以确定本次训练的预测结果是否满足设定要求,以确定训练是否继续进行。

具体的,设定要求可以是模型的准确度达到一定的准确度阈值,例如,可以根据第三概率值与第二概率值确定单个样本的预测结果是否准确,进而统计本次训练模型的准确度,从而确定准确度是否达到一定的准确度阈值,若未达到,则需要继续进行训练,否则结束训练。当然,设定的要求也可以是根据实际情况设定的其他要求,例如可以将模型参数收敛于一定值作为设定要求,如第三概率值与第二概率值之间的均方差收敛于一定值,本发明实施例对此不做限制。

步骤807:若步骤806的判断结果为否,根据第三概率值与第二概率值之间的差异度,对视频推荐模型的参数进行调整。

本发明实施例中,若是本次训练的结果不满足设定要求,则可以各训练样本的第三概率值与第二概率值之间的差异度,对本次训练使用的视频推荐模型的参数进行调整,调整参数例如可以包括卷积神经网络的参数值,当然,还包括其他可能的参数值,本发明实施例对此不做限制。具体的,对于模型参数的调整值可以采用模型训练算法获得,模型训练算法例如可以为bp算法或者梯度下降算法,当然,还可以采用其他可能的算法,本发明实施例对此不做限制。

步骤808:若步骤806的判断结果为是,则训练结束。

若是本次训练的结果满足设定要求,则训练结束。在实际应用时,学习的模型参数可以存储于数据库中,以便后续视频推荐需要用到时,直接从数据库获取。

在模型训练完成之后,则可以将视频推荐模型应用于视频推荐中,请参见图10,为本发明实施例提供的视频推荐方法的流程示意图,该方法例如可以通过图1中所示的服务器来执行。下面以针对一个用户的视频推荐过程对该方法的流程进行介绍,其中,对于一些步骤是与训练过程中的对应步骤是相同的,因此对于这些步骤仅进行了简单介绍,具体的可以参见图8所示的训练方法中相应部分的描述。

步骤1001:获取用户的用户特征向量,以及所述用户对应的视频推荐池中各待推荐视频的视频特征向量。

本发明实施例中,针对每一个用户,都会拥有对应的视频推荐池,视频推荐池中的待推荐视频是经过粗略筛选的,筛选的方式可以根据用户以往的视频播放行为数据进行粗略筛选,以减少视频推荐的计算量。

用户的用户特征向量和视频特征向量可以从向量存储数据库中获取,即通过图3和图7所示的方法所得到的特征向量。在获取用户的用户特征向量和视频特征向量之后,则可以基于用户的用户特征向量以及各待推荐视频的视频特征向量,通过预先训练的视频推荐模型,获得用户播放各待推荐视频的概率值,视频推荐模型是基于标注了用户播放视频的第二概率值的多个视频推荐训练样本训练得到的,即通过图8所示的方法训练得到的视频推荐模型。

下面针对通过视频推荐模型获得用户播放各待推荐视频的第一概率值的过程进行介绍。

步骤1002:将用户的用户标签特征向量与用户特征向量合并得到用户合并特征向量,以及分别将各待推荐视频的视频标签特征向量与视频特征向量合并得到视频合并特征向量。

具体的,可以将用户的用户标签特征向量与用户特征向量进行外积运算,得到用户的用户合并特征矩阵,用户合并特征矩阵可以表征用户标签特征向量与用户特征向量之间的相互关系,从而将用户标签特征向量与用户特征向量两种均考虑进去,以在进行视频推荐时能够同时考虑到这两种特征。然后可以通过对用户合并特征矩阵进行特征提取得到用户合并特征向量,其中,特征提取可以是通过卷积神经网络进行。

具体的,针对每一个视频标签特征向量与视频特征向量合并的过程可以是与合并得到用户合并特征向量的过程相同的,因此对于将视频标签特征向量与视频特征向量进行合并的过程可以参见上述合并得到用户合并特征向量的过程,在此不再过多赘述。

本发明实施例中,在进行视频推荐时也可不考虑用户和视频标签,因此步骤1002并不是必执行的步骤,在实际应用时可以根据实际情况进行选用。

步骤1003:根据用户合并特征向量以及各待推荐视频的视频合并特征向量,分别构建用户与各待推荐视频之间的关系矩阵。

本发明实施例中,为了获取用户播放该视频的概率值,即用户播放该视频的可能性,可以分别根据用户合并特征向量以及各待推荐视频的视频合并特征向量,构建用户与各待推荐视频之间的关系矩阵,该关系矩阵即能够表达用户和待推荐视频之间的相互关系。

具体的,可以通过将用户合并特征向量与每一个待推荐视频的视频合并特征向量进行外积运算,从而得到用户与各待推荐视频之间的关系矩阵。

本发明实施例中,若是在进行视频推荐时也可不考虑用户和视频标签,即步骤1002不执行,那么则可以直接通过用户特征向量和各待推荐视频的视频特征向量构建用户与各待推荐视频之间的关系矩阵。

步骤1004:从关系矩阵中提取用户与各待推荐视频之间的关系特征向量。

本发明实施例中,关系特征向量的提取也可以是通过卷积神经网络进行提取的,提取关系特征向量所采用的卷积神经网络的结构可以是根据具体情况进行设定的,例如可以包括4个卷积层,卷积层的卷积核大小可以为3*3,在通过4个卷积层进行特征提取之后,还可以通过池化层对提取的关系特征向量进行池化处理,从而最终得到池化处理后的关系特征向量。

步骤1005:根据用户与各待推荐视频之间的关系特征向量,与预测的该用户下一个播放的视频的视频特征向量,获取该用户播放各待推荐视频的第一概率值。

本发明实施例中,可以通过已经训练完成的视频预测模型对样本中用户下一个播放的视频进行预测。视频预测模型的输入则可以为该用户当前时刻之前播放过的n个视频,通过视频预测模型可以预测得到该用户下一个播放的视频。

具体的,可以通过将池化处理后的关系特征向量与预测的用户下一个播放的视频特征向量进行全连接运算,进而基于全连接运算后得到的向量计算关系特征向量与预测的用户下一个播放的视频特征向量之间的误差值,进而得到用户播放待推荐视频的第一概率值,误差值越小,第一概率值越大。

步骤1006:将第一概率值满足预设条件的待推荐视频确定为需要为该用户推荐的视频。

具体的,第一概率值满足预设条件的待推荐视频,可以是指第一概率值大于预设概率值阈值的待推荐视频,预设概率值阈值的设定可以根据实际情况进行设置;或者,第一概率值满足预设条件的待推荐视频还可以为将第一概率值从大到小进行排序后,第一概率值排在前几个的待推荐视频,例如第一概率值排在前两位的待推荐视频。

本发明实施例中,第一概率值、第二概率值和第三概率值并不用于对概率值进行排序,或者对概率值的大小进行限定,而仅仅用于区分不同的概念,例如第一概率值即是指通过视频推荐模型预测得到的概率值,第二概率值即是指训练样本中标注的概率值,第三概率值则是指在模型训练过程中所使用的视频推荐模型预测得到的概率值。

在实际应用中,实现上述方法的装置是视频推荐的专用服务器时,即非视频网站的后台服务器,通过上述方法得到需要为每个用户推荐的视频后,则可以将推荐数据存储在数据库中,视频网站的后台服务器可以从数据库中获取推荐数据,在分别为每个用户进行视频推荐;或者,当实现上述方法的装置是视频网站的后台服务器时,后台服务器可以直接将确定的视频推荐给用户。

相对应的,当用户打开视频网站的页面时,则可以显示为其推荐的各个视频。以视频网站提供的视频应用页面为例,请参见图11,为视频推荐页面的一种显示示意图,其中,在视频推荐页面,显示有为该用户推荐的多个视频的摘要信息,例如视频标题、发布者信息以及互动信息等,例如图11的显示页面中显示有标题为“中单法王!看久诚如何玩转别人家的干将”以及标题为“韩信不浪?对不起我的门票钱”的视频,互动信息则是指评论、转发或者点赞等信息,视频的排序则可以按照概率值的大小进行排序。

综上所述,通过本发明实施例的视频推荐方法,可以为用户推送最感兴趣的视频,提高用户的体验和用户对产品的粘性,并且可以提高视频的点击率和播放量,帮助视频运营团队节约大量的人力和物力。

请参见图12,基于同一发明构思,本发明实施例还提供了一种视频推荐装置120,该装置例如可以为图2所示的服务器101,该装置包括:

特征向量获取单元1201,用于获取用户的用户特征向量,以及用户对应的视频推荐池中各待推荐视频的视频特征向量;用户特征向量是通过对播放各视频的用户序列学习得到的,视频特征向量是通过对多个用户播放视频的视频序列学习得到的;

播放概率预测单元1202,用于基于用户特征向量以及视频特征向量,通过预先训练的视频推荐模型,获得用户播放各待推荐视频的第一概率值;其中,视频推荐模型是基于多个视频推荐训练样本训练得到的,多个视频推荐训练样本标注了用户播放视频的第二概率值;

确定单元1203,用于将第一概率值满足预设条件的待推荐视频确定为需要为用户推荐的视频。

可选的,特征向量获取单元1201,具体用于:

获取视频序列样本集合,其中,视频序列样本集合中每一个视频序列样本包括一个用户历史连续播放的n+1个视频;

基于视频序列样本集合中包括的所有视频构建初始视频特征向量矩阵,初始视频特征向量矩阵的一行或者一列为一个视频的初始视频特征向量;

通过初始视频特征向量矩阵中,每一个视频序列样本包括的视频的初始视频特征向量,对初始视频预测模型进行多次训练;其中,在每一次训练时,对视频特征向量矩阵以及视频预测模型的参数进行调整;

在最后一次训练使用的视频预测模型的预测结果满足设定要求时,基于最后一次训练使用的视频特征向量矩阵得到各视频的视频特征向量。

可选的,特征向量获取单元1201,具体用于:

分别根据每一个视频序列样本中前n个视频在本次训练使用的视频特征向量矩阵中的视频特征向量,通过本次训练使用的视频预测模型进行第n+1个视频的视频特征向量的预测;

在本次训练的预测结果不满足设定要求时,根据预测的第n+1个视频的视频特征向量与实际的第n+1个视频的视频特征向量之间的差异度,对本次训练使用的视频特征向量矩阵以及本次训练使用的视频预测模型的参数进行调整。

可选的,特征向量获取单元1201,具体用于:

针对每一个视频序列样本,提取视频序列样本中前n个视频在本次训练使用的视频特征向量矩阵中的视频特征向量的序列化特征;

将前n个视频的视频特征向量的序列化特征进行全连接运算,并通过归一化函数得到本次训练使用的视频特征向量矩阵中每一个视频的视频特征向量的得分值;

将得分值最大的视频的视频特征向量确定为预测的第n+1个视频的视频特征向量。

可选的,特征向量获取单元1201,具体用于:

针对每一个视频序列样本,提取视频序列样本中前n个视频在本次训练使用的视频特征向量矩阵中的视频特征向量的正向序列化特征和反向序列化特征;

分别将前n个视频的视频特征向量的正向序列化特征和反向序列化特征进行合并,以得到前n个视频的序列化特征。

可选的,特征向量获取单元1201,具体用于:

获取用户序列样本集合,其中,用户序列样本集合中的一个用户序列样本包括播放了同一个视频且播放顺序连续的n+1个用户;

基于多个用户序列样本中包括的所有用户构建初始用户特征向量矩阵,初始用户特征向量矩阵的一行或者一列为一个用户的初始用户特征向量;

通过初始用户特征向量矩阵中,每一个用户序列样本包括的用户的初始用户特征向量,对初始用户预测模型进行多次训练;其中,在每一次训练时,对用户特征向量矩阵以及用户预测模型的参数进行调整;

在最后一次训练使用的用户预测模型的预测结果满足设定要求时,基于最后一次训练使用的用户特征向量矩阵得到各用户的用户特征向量。

可选的,特征向量获取单元1201,具体用于:

分别根据每一个用户序列样本中前n个用户在本次训练使用的用户特征向量矩阵中的用户特征向量,通过本次训练使用的用户预测模型进行第n+1个用户的用户特征向量的预测;

在本次训练的预测结果不满足设定要求时,根据预测的第n+1个用户的用户特征向量与实际的第n+1个用户的用户特征向量之间的差异度,对本次训练使用的用户特征向量矩阵以及本次训练使用的用户预测模型的参数进行调整。

可选的,播放概率预测单元1202,具体用于:

分别根据用户特征向量与各待推荐视频的视频特征向量,构建用户与各待推荐视频之间的关系矩阵;

分别从各关系矩阵中提取用户与各待推荐视频之间的关系特征向量;

根据关系特征向量,与预测的用户的下一个播放的视频的视频特征向量,获取用户播放各待推荐视频的第一概率值;其中,预测的用户的下一个播放的视频是通过预先训练的视频预测模型进行预测的。

可选的,播放概率预测单元1202,具体用于:

获取用户的用户标签特征向量,以及各待推荐视频的视频标签特征向量;

将用户标签特征向量与用户特征向量进行合并,得到用户合并特征向量;并,

将各待推荐视频的视频标签特征向量分别与视频特征向量进行合并,得到各待推荐视频的视频合并特征向量;

将用户的用户合并特征向量,分别与用户的各待推荐视频的视频合并特征向量进行外积运算,得到用户与各待推荐视频之间的关系矩阵。

可选的,播放概率预测单元1202,具体用于:

将用户标签特征向量与用户特征向量进行外积运算,得到用户的用户合并特征矩阵;

对用户合并特征矩阵进行特征提取得到用户合并特征向量。

可选的,播放概率预测单元1202,具体用于:

分别对各关系特征向量进行池化处理,得到池化处理后的关系特征向量;

获取池化处理后的关系特征向量,与预测的用户的下一个播放的视频的视频特征向量之间的误差值,并基于各误差值确定用户播放各待推荐视频的第一概率值。

可选的,装置还包括模型训练单元1204,用于:

获取视频推荐训练样本集合;其中,一个视频推荐训练样本包括一个用户的用户特征向量和一个视频的视频特征向量,以及标注的用户播放视频的第二概率值;

通过视频推荐训练样本集合对初始视频推荐模型进行多次训练,直至最后一次训练得到的视频推荐模型预测结果满足设定要求;其中,每一次的训练过程如下:

针对每一个视频推荐训练样本,通过上一次训练得到的视频推荐模型预测视频推荐训练样本中的用户播放视频的第三概率值;

根据第三概率值与第二概率值之间的差异度,对上一次训练得到的视频推荐模型的参数进行调整。

该装置可以用于执行图3~图10所示的实施例中所示的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图3~图10所示的实施例的描述,不多赘述。其中,模型训练单元1204虽然在图12中一并示出,但需要知道的是,模型训练单元1204并不是必选的功能单元,因此在图12中以虚线示出。

请参见图13,基于同一技术构思,本发明实施例还提供了一种计算机设备130,可以包括存储器1301和处理器1302。

所述存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1302,可以是一个中央处理单元(centralprocessingunit,cpu),或者为数字处理单元等等。本发明实施例中不限定上述存储器1301和处理器1302之间的具体连接介质。本发明实施例在图13中以存储器1301和处理器1302之间通过总线1303连接,总线1303在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1303可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器1301可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器1301也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)、或者存储器1301是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。

处理器1302,用于调用所述存储器1301中存储的计算机程序时执行如图3~图10中所示的实施例中设备所执行的方法。

在一些可能的实施方式中,本发明提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图3~图10中所示的实施例中设备所执行的方法。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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