视频推荐方法、装置、服务器及存储介质

文档序号:815682 发布日期:2021-03-26 浏览:6次 >En<

阅读说明:本技术 视频推荐方法、装置、服务器及存储介质 (Video recommendation method and device, server and storage medium ) 是由 王志青 于 2019-09-10 设计创作,主要内容包括:本公开是关于一种视频推荐方法、装置、服务器及存储介质,该视频推荐方法包括:从目标账户的视频日志信息中,获取所述目标账户执行过正向反馈的视频的视频属性;从视频库中,获取与所述视频属性相匹配的视频,生成视频候选集;基于所述视频候选集中视频的内容进行聚类,得到多个聚类组;按照所述多个聚类组对所述视频候选集中的视频进行打散,得到打散结果,其中,打散结果中多个相邻的视频属于至少两个聚类组;基于所述打散结果,向所述目标账户发送视频。本公开能够对推荐的视频提升内容的多样性。(The disclosure relates to a video recommendation method, a device, a server and a storage medium, wherein the video recommendation method comprises the following steps: acquiring the video attribute of a video which is subjected to forward feedback by a target account from video log information of the target account; acquiring videos matched with the video attributes from a video library to generate a video candidate set; clustering is carried out on the basis of the content of the videos in the video candidate set to obtain a plurality of clustering groups; scattering videos in the video candidate set according to the clustering groups to obtain scattering results, wherein a plurality of adjacent videos in the scattering results belong to at least two clustering groups; and sending a video to the target account based on the scattering result. The present disclosure can promote diversity of content to recommended videos.)

视频推荐方法、装置、服务器及存储介质

技术领域

本公开涉及视频推荐技术领域,尤其涉及一种视频推荐方法、装置、服务器及存储介质。

背景技术

现有的互联网应用多注重个性化服务,为用户量身推荐适合用户的产品和社交信息等,以提高信息推送命中率以及用户粘性。

就视频推荐而言,目前主流的视频推荐方案主要是基于用户对视频的历史操作(例如点赞、转发、不喜欢等操作)来确定用户对视频类型的喜好,然后,基于用户的喜好向用户推送符合其喜好的相应类型的视频。

但是,由于推荐的视频都是符合用户喜好的视频,那么随着该用户使用视频应用的时间不断加长,会使得视频应用所记录的该用户喜好的视频类型也越来越单一,使得服务器向客户端的目标账户推荐的视频类型较为单一,降低了推荐视频的多样性。

发明内容

本公开提供一种视频推荐方法、装置、服务器及存储介质,以至少解决相关技术中的视频推荐方案所存在的所推荐视频的类型多样性差的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种视频推荐方法,包括:

从目标账户的视频日志信息中,获取所述目标账户执行过正向反馈的视频的视频属性;

从视频库中,获取与所述视频属性相匹配的视频,生成视频候选集;

基于所述视频候选集中视频的内容进行聚类,得到多个聚类组;

按照所述多个聚类组对所述视频候选集中的视频进行打散,得到打散结果,其中,打散结果中多个相邻的视频属于至少两个聚类组;

基于所述打散结果,向所述目标账户发送视频。

在一种可能的实施方式中,所述从视频库中,获取与所述视频属性相匹配的视频,生成视频候选集,包括:

获取与所述视频属性对应的相似视频属性;

从视频库中,获取与所述相似视频属性和所述视频属性相匹配的视频,生成视频候选集。

在一种可能的实施方式中,所述视频属性包括多级视频属性,所述获取与所述视频属性对应的相似视频属性包括:

确定待查找的相似视频属性的级别和数量;

查找与所述视频属性对应的、且符合所述级别和所述数量的相似视频属性。

在一种可能的实施方式中,所述基于所述视频候选集中视频的内容进行聚类,得到多个聚类组,包括:

将所述视频候选集中的N个视频进行聚类,得到K个聚类组,其中,所述视频候选集中的视频数量为N,1<K≤N,K为整数;

将每个聚类组中远离其聚类中心的视频剔除,并对执行剔除操作之后的K个聚类组进行合并,得到P个聚类组,K≥P。

在一种可能的实施方式中,所述将每个聚类组中远离其聚类中心的视频剔除,包括:

计算每个聚类组内每个视频与该聚类组的聚类中心之间的离散度;

将所述离散度大于第一预设阈值的视频,从其所属的聚类组中剔除。

在一种可能的实施方式中,所述对执行剔除操作之后的K个聚类组进行合并,包括:

计算所述K个聚类组中任意两个聚类中心之间的空间距离;

将所述空间距离小于第二预设阈值的两个聚类中心对应的两个聚类组合并。

在一种可能的实施方式中,所述基于所述打散结果,向所述目标账户发送视频,包括:

按照所述打散结果中的视频排列顺序,每次向所述目标账户发送预设数量的视频。

根据本公开实施例的第二方面,提供一种视频推荐装置,包括:

第一获取模块,被配置为执行从目标账户的视频日志信息中,获取所述目标账户执行过正向反馈的视频的视频属性;

第二获取模块,被配置为执行从视频库中,获取与所述视频属性相匹配的视频,生成视频候选集;

聚类模块,被配置为执行基于所述视频候选集中视频的内容进行聚类,得到多个聚类组;

打散模块,被配置为执行按照所述多个聚类组对所述视频候选集中的视频进行打散,得到打散结果,其中,打散结果中多个相邻的视频属于至少两个聚类组;

发送模块,被配置为执行基于所述打散结果,向所述目标账户发送视频。

在一种可能的实施方式中,所述第二获取模块包括:

第一获取子模块,被配置为执行获取与所述视频属性对应的相似视频属性;

第二获取子模块,被配置为执行从视频库中,获取与所述相似视频属性和所述视频属性相匹配的视频,生成视频候选集。

在一种可能的实施方式中,所述视频属性包括多级视频属性,所述第一获取子模块包括:

确定单元,被配置为执行确定待查找的相似视频属性的级别和数量;

查找单元,被配置为执行查找与所述视频属性对应的、且符合所述级别和所述数量的相似视频属性。

在一种可能的实施方式中,所述聚类模块包括:

聚类子模块,被配置为执行将所述视频候选集中的N个视频进行聚类,得到K个聚类组,其中,所述视频候选集中的视频数量为N,1<K≤N,K为整数;

处理子模块,被配置为执行将每个聚类组中远离其聚类中心的视频剔除,并对执行剔除操作之后的K个聚类组进行合并,得到P个聚类组,K≥P。

在一种可能的实施方式中,所述处理子模块包括:

第一计算单元,被配置为执行计算每个聚类组内每个视频与该聚类组的聚类中心之间的离散度;

剔除单元,被配置为执行将所述离散度大于第一预设阈值的视频,从其所属的聚类组中剔除。

在一种可能的实施方式中,所述处理子模块包括:

第一计算单元,被配置为执行计算所述K个聚类组中任意两个聚类中心之间的空间距离;

合并单元,被配置为执行将所述空间距离小于第二预设阈值的两个聚类中心对应的两个聚类组合并。

在一种可能的实施方式中,所述发送模块包括:

发送子模块,被配置为执行按照所述打散结果中的视频排列顺序,每次向所述目标账户发送预设数量的视频。

根据本公开实施例的第三方面,提供一种服务器,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现上述任一项所述的视频推荐方法。

根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如上述任一项所述的视频推荐方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包含可读程序代码,当所述可读程序代码在计算设备上运行时,可使所述计算设备执行上述任意一种实施方式中所述的视频推荐方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

在本公开实施例中,通过获取目标账户执行过正向反馈的视频的视频属性,并从视频库中获取与该视频属性匹配的视频来生成视频候选集,使得视频候选集并不限制于执行过正向反馈的视频,而是与该视频属性匹配的视频,提升了视频候选集的视频内容多样性;此外,本公开实施例还通过对视频候选集的视频进行聚类,并按照得到的多个聚类组来对视频候选集中的视频进行打散,得到打散结果,其中,打散结果中多个相邻视频属于至少两个聚类组,那么打散后的视频中多个相邻视频的内容同质化的概率较低,相反,多个相邻视频的内容差异较大,因此,基于打散结果所向目标账户推荐的视频在视频内容上能够更加多样,提升了所推荐的视频内容的多样性。

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

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种视频推荐方法的流程图;

图2是根据一示例性实施例示出的一种视频推荐方法的流程图;

图3是根据一示例性实施例示出的一种视频推荐装置的结构框图;

图4是根据一示例性实施例示出的一种用于视频推荐的装置1900的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种视频推荐方法的流程图,如图1所示,所述视频推荐方法用于服务器中,包括以下步骤:

步骤101,获取视频候选集;

其中,该视频候选集为服务器向客户端的目标账户待推荐的视频。

可选地,如图2所示,在执行步骤101时,可以通过S201和S202来实现:

S201,从目标账户的视频日志信息中,获取所述目标账户执行过正向反馈的视频的视频属性;

其中,客户端可以是提供视频浏览的一款应用程序,服务器可以从客户端上传的关于目标账户的视频日志数据中提取目标账户对应的第一视频的属性信息。

其中,这里的第一视频指代目标账户执行过正向反馈的视频;此外,可以将第一视频的视频属性命名为第一属性信息。

可选地,在一个实施例中,目标账户执行过正向反馈的视频可以解释为目标账户浏览过且对该视频触发有表示感兴趣(或者说喜欢)的预设输入的视频。

举例来说,该预设输入可以包括但不限于点赞输入、收藏输入、评论输入、转发输入等。

对于点赞输入而言,服务器可以接收到目标账户对推送的候选视频中的视频A的第一输入,该第一输入表示对视频的点赞输入,那么目标账户的视频日志信息中会记录目标账户对视频A的第一输入;那么服务器可以从目标账户的视频日志信息中,获取到对应第一输入的视频A的视频属性,即在本例中,视频A为目标账户执行过正向反馈的视频;

对于收藏输入而言,服务器可以接收到目标账户对推送的候选视频中的视频B的第二输入,该第二输入表示对视频的收藏输入,那么目标账户的视频日志信息中会记录目标账户对视频B的第二输入;那么服务器可以从目标账户的视频日志信息中,获取到对应第二输入的视频B的视频属性,即在本例中,视频B为目标账户执行过正向反馈的视频;

对于评论输入而言,服务器可以接收到目标账户对推送的候选视频中的视频C的第三输入,该第三输入表示对视频的评论输入,其中,该第三输入携带有评论内容,那么目标账户的视频日志信息中会记录目标账户对视频C的第三输入;那么服务器可以从目标账户的视频日志信息中,获取到对应第三输入的视频C的视频属性,即在本例中,视频C为目标账户执行过正向反馈的视频;

对于转发输入而言,服务器可以接收到目标账户对推送的候选视频中的视频D的第四输入,该第四输入表示对视频的转发输入,那么目标账户的视频日志信息中会记录目标账户对视频D的第四输入;那么服务器可以从目标账户的视频日志信息中,获取到对应第四输入的视频D的视频属性,即在本例中,视频D为目标账户执行过正向反馈的视频。

可选地,在另一个实施例中,目标账户执行过正向反馈的视频可以解释为:采集目标账户对视频的反馈数据;根据该反馈数据和预设的正向评价标准,判断该视频是否为目标账户执行过正向反馈的视频,如果该反馈数据与该预设的正向评价标准相匹配,或者说该反馈数据满足该预设的正向评价标准,则确定该反馈数据对应的视频为目标账户执行过正向反馈的视频。

对于该反馈数据而言,其可以包括但不限于点赞输入、收藏输入、评论输入、转发输入等。

对于点赞输入而言,服务器可以接收到目标账户对推送的候选视频中的视频A的点赞输入,由于点赞输入可以存在点赞操作和取消点赞操作两种情况,因此,可以判断该点赞输入的数据值是否为第一预设数值(即预设的正向评价标准中的一种),例如第一预设数值为1,点赞操作对应的数据值为1,取消点赞操作对应的数据值为0,那么如果该点赞输入对应的数据值为1,则认为目标账户对视频A执行过正向反馈;

对于收藏输入而言,与点赞输入类似,服务器可以接收到目标账户对推送的候选视频中的视频B的收藏输入,由于收藏输入可以存在收藏操作和取消收藏操作两种情况,因此,可以判断该收藏输入的数据值是否为第二预设数值(即预设的正向评价标准中的一种),例如第二预设数值为1,收藏操作对应的数据值为1,取消收藏操作对应的数据值为0,那么如果该收藏输入对应的数据值为1,则认为目标账户对视频B执行过正向反馈;

对于评论输入而言,服务器可以接收到目标账户对推送的候选视频中的视频C的评论输入,其中,该评论输入携带有评论内容,因此,服务器可以对该评论输入的评论内容进行语义分析,确定评论输入的语义或者关键词等;然后,判断该评论输入的语义或关键词是否为正面评论(即预设的正向评价标准中的一种)。其中,服务器侧可以预先设置属于正面评论的多种词汇,如果该评论输入的语义或关键字与正面评论中的至少一个词汇相匹配(例如语义匹配),则认为目标账户对视频C执行过正向反馈;

对于转发输入而言,服务器可以接收到目标账户对推送的候选视频中的视频D的转发输入,其中,预设的正向评价标准中的一种正向评价标准为转发输入。因此,对于目标账户执行过转发输入的视频都可以认定为目标账户执行过正向反馈的视频,这里包括视频D。

可选地,本公开中服务器侧的任意一个视频的视频属性可以包括以下至少一种维度的视频属性:分类标签、视频作者、视频类型。

S202,从视频库中,获取与所述视频属性相匹配的视频,生成视频候选集;

其中,可以利用目标账户执行过正向反馈的第一视频,来从视频库中获取与第一视频的视频属性相匹配的第二视频,由第二视频来构成视频候选集。

步骤102,对视频候选集打散;

其中,服务器可以对视频候选集中的第二视频的排列顺序进行打散。

可选地,在一个实施例中,如图2所示,在执行步骤102时,可以通过S203和S204来实现:

S203,基于所述视频候选集中视频的内容进行聚类,得到多个聚类组;

其中,服务器可以基于视频的内容来对视频候选集中的多个第二视频进行聚类,得到多个聚类组。

S204,按照所述多个聚类组对所述视频候选集中的视频进行打散,得到打散结果,其中,打散结果中多个相邻的视频属于至少两个聚类组;

其中,同一个聚类组内的视频内容是相似的,那么经过打散后多个相邻的视频属于知识两个不同的聚类组,那么多个相邻视频的视频内容可以存在变化,使得基于该打散结果所推荐的多个视频不会存在连续多个视频的内容相似的情况,提升了所推荐的视频的多样性。

其中,这里的多个相邻的视频的数量可以是指定的数量或者未指定的数量。可选地,属于不同聚类组的相邻的多个视频的数量为所述预设数量。

可选地,在另一个实施例中,在执行步骤102时,可以将视频候选集中的多个第二视频按照视频ID随机排序;

可选地,在另一个实施例中,在执行步骤102时,也可以按照分类标签,或者视频作者,或者视频类型,来对多个第二视频的排列顺序进行打散,其中,打散结果中相邻的多个第二视频的分类标签不同,或者视频作者不同,或者视频类型不同。

对于打散的具体步骤而言,这里以视频作者为例进行说明,而对于按照分类标签或者视频类型来多个第二视频进行打散的过程与这里的按照视频作者来打散的描述过程的原理类似,后文则不再赘述。

例如第二视频为100个,涉及的视频作者为5个,那么可以按照视频作者的不同,将第二视频分为5组(或者说5类),每组视频对应于一个视频作者。然后按照视频作者的不同,来对该100个视频进行打散,使得相邻的预设数量(例如为5,其中,该预设数量小于或等于该视频作者的数量)的视频的视频作者是不同的。

那么打散后的视频排序结果可以为:视频1、视频2、视频3、视频4、视频5、视频6、视频7、视频8、视频9、视频10……视频100。

其中,视频1、视频2、视频3、视频4、视频5的视频作者依次为作者1、作者2、作者3、作者4、作者5;

视频6、视频7、视频8、视频9、视频10的视频作者依次为作者1、作者2、作者3、作者4、作者5;

……

视频96、视频97、视频98、视频99、视频100的视频作者依次为作者1、作者2、作者3、作者4、作者5。

采用这种基于第二视频的第二属性信息进行打散后的多个第二视频进行视频推荐的方案,可以确保每次推荐的多个视频在属性信息上的区别,例如分类标签不同,或者视频作者不同,或者视频类型不同,不仅确保了推荐的视频的内容的多样性,还能够确保每次推荐的多个视频在属性信息上的多样性。

步骤103,基于打散的视频候选集,向目标账户发送视频。

其中,打散后的视频候选集中的多个第二视频的排列顺序发生了变化,那么基于打散后的视频候选集能够向目标账户发送内容同质化较低的视频。

可选地,如图2所示,在执行步骤103时,可以通过S205来实现:

S205,基于所述打散结果,向所述目标账户发送视频。

可选地,在一个实施例中,在执行S205时,可以按照所述打散结果中的视频排列顺序,每次向所述目标账户发送预设数量的视频。

例如视频候选集包括100个打散后的第二视频,例如一个窗口(即向账户展示的视频的窗口)配置的视频数量值为20,即每次向目标账户对应的客户端发送20个视频,那么可以按照第二视频打散后的从前到后的排序,从100个视频中每次选取20个视频进行发送。例如打散结果中多个相邻的视频属于至少两个聚类组,则这里发送的预设数量的视频则属于至少两个聚类组;再如打散结果中多个相邻的视频的分类标签不同,则这里发送的预设数量的视频则对应至少两个分类标签;又如再如打散结果中多个相邻的视频的视频作者不同,则这里发送的预设数量的视频则对应至少两个视频作者;再如打散结果中多个相邻的视频的视频类型不同,则这里发送的预设数量的视频则对应至少两个视频类型(例如编码格式1的视频,编码格式2的视频)。

在本公开实施例中,通过获取目标账户执行过正向反馈的视频的视频属性,并从视频库中获取与该视频属性匹配的视频来生成视频候选集,使得视频候选集并不限制于执行过正向反馈的视频,而是与该视频属性匹配的视频,提升了视频候选集的视频内容多样性;此外,本公开实施例还通过对视频候选集的视频进行聚类,并按照得到的多个聚类组来对视频候选集中的视频进行打散,得到打散结果,其中,打散结果中多个相邻视频属于至少两个聚类组,那么打散后的视频中多个相邻视频的内容同质化的概率较低,相反,多个相邻视频的内容差异较大,因此,基于打散结果所向目标账户推荐的视频在视频内容上能够更加多样,提升了所推荐的视频内容的多样性。

可选地,在一个实施例中,在执行S202时,可以获取与所述视频属性对应的相似视频属性;然后,从视频库中,获取与所述相似视频属性相匹配的视频,生成视频候选集。

其中,同一属性维度(例如分类标签)的两个视频属性(或者说两个属性信息)相似,可以是语义相似,和/或,在账户兴趣维度上相似。

对于语义相似,例如第一视频的分类标签为“搞笑”,那么与“搞笑”语义相似的分类标签可以包括但不限于“幽默”、“喜感”等分类标签。那么在生成视频候选集时,就将分类标签为“幽默”或者“喜感”的第二视频确定为视频候选集中的视频。

对于在账户兴趣维度上相似,则表示在对具有第一属性信息的第一视频执行过正向反馈的多个账户,还对具有第二属性信息的视频执行过正向反馈的情况下,确定第一属性信息和第二属性信息是在账户兴趣维度上相似的两组视频属性,第一属性信息和第二属性信息互为在账户兴趣维度上相似的视频属性。

以视频属性的维度为分类标签为例来说明在账户兴趣维度上相似。

服务器侧可以预先配置多种分类标签,按照视频的内容来对各个视频设置至少一个分类标签。

在一种可能的实施方式中,服务器需要获取与第一属性信息在账户兴趣维度上相似的第二属性信息,该第二属性信息也是视频的属性,且第一属性信息和第二属性信息的维度相同。例如当第一属性信息包括分类标签A时,则第二属性信息包括与分类标签A在账户兴趣维度上相似的分类标签B。

举例来说,例如服务器预先通过对全网日志数据进行数据挖掘,发现喜欢具有“体育”的分类标签的视频的大多数账户,也喜欢具有“娱乐”的分类标签的视频,那么分类标签“娱乐”即为与分类标签“体育”在账户兴趣维度上相似的相似分类标签。

在一种可能的实施方式中,当第一属性信息只包括上述列举的三种维度(分类标签、视频作者、视频类型)中的一种目标维度的属性信息时,则在获取与所述视频属性在账户兴趣维度上相似的视频属性时,则可以获取与目标维度的第一属性信息在账户兴趣维度上相似的目标维度的第二属性信息。

例如目标维度为分类标签,目标账户执行过正向反馈的第一视频的第一分类标签包括分类标签A、分类标签C、分类标签D,那么服务器就可以获取与分类标签A在账户兴趣维度上相似的分类标签A’,获取与分类标签C在账户兴趣维度上相似的分类标签C’,获取与分类标签D在账户兴趣维度上相似的分类标签D’,那么分类标签A’、分类标签C’、分类标签D’共同构成与第一分类标签在账户兴趣维度上相似的第二分类标签。

需要说明的是,由于目标账户执行过正向反馈的第一视频的数量可以是一个或多个,且每个第一视频所具有的第一分类标签也可以是一个或多个,以及与第一分类标签在账户兴趣维度上相似的第二分类标签也可以是多个(例如与分类标签A在账户兴趣维度上相似的分类标签包括分类标签A’、分类标签A”),因此,上述相似视频属性可以包括同一维度的多个属性信息。

上述举例,以目标维度为分类标签为例进行的说明,当目标维度为视频作者、或者、视频类型时,则获取与该第一视频作者在账户兴趣维度上相似的第二视频作者(例如,经过对全网日志数据的挖掘,发现对第一视频作者发布的视频执行过正向反馈的大多数账户,还对由第二视频作者发布的视频执行过正向反馈),或,获取与第一视频类型在账户兴趣维度上相似的第二视频类型(例如,经过对全网日志数据的挖掘,发现对第一视频类型的视频执行过正向反馈的大多数账户,还对第二视频类型的视频执行过正向反馈)。其中,第二视频作者的数量可以是多个,第二视频类型的数量也可以是多个。

在本公开实施例中,在生成视频候选集时,可以获取与目标账户执行过正向反馈的第一视频的第一视频属性相似的第二视频属性,并从视频库中获取具有该第二视频属性的视频来生成视频候选集,由于两个视频属性的相似可以是语义相似,和/或,在账户兴趣维度上的相似,因此,本公开实施例或获取的相似视频属性,即第二视频属性更加多样,不仅仅限制于与第一视频属性语义相似的视频属性,那么具有该第二视频属性的视频的内容也更加丰富。

此外,本公开实施例通过获取与第一视频属性在账户兴趣维度上相似的第二视频属性,那么将具有该第二视频属性的第二视频推荐给目标账户的客户端,则可以确保第二视频为目标账户大概率感兴趣的视频;此外,由于第二视频属性为与第一视频属性信息相似的属性信息,而并非第一视频属性,从而可以解决传统技术中不断向账户推荐账户感兴趣的具有第一视频属性的视频,所造成的推荐的视频类型越来越单一的问题,相反,能够使推荐的视频内容存在更高的几率是账户之前没有看到过的,能够确保基于第二视频属性所推荐的第二视频在视频上的多样性,不局限于基于第一视频属性进行视频推荐,进一步提升了所推荐视频的类型多样性。

在一种可能的实施方式中,当第一视频的视频属性包括多种维度的第一属性信息时,那么在获取与所述视频属性对应的相似视频属性时,则可以获取与每种维度的第一属性信息相似的每种维度的第二属性信息,得到多种维度的第二属性信息,这里的多种维度的第二属性信息构成该相似视频属性。

同样的,这里的“相似”可以是语义相似,也可以是在账户兴趣维度上的相似。

在一种可能的实施方式中,S201获取到目标账户执行过正向反馈的任意一个视频的多种维度的属性信息,例如包括第一分类标签、第一视频作者以及第一视频类型,那么在获取与所述多种维度的属性信息对应的相似视频属性时,则可以分别针对每个维度的第一属性信息,分别获取在账户兴趣维度上相似的第二属性信息,从而得到多种维度的第二属性信息,该多种维度的第二属性信息构成该相似视频属性。

本例得到的第二属性信息包括第二分类标签、第二视频作者以及第二视频类型。其中,第二分类标签的数量可以是多个,第二视频作者的数量可以是多个,第二视频类型的数量也可以是多个。

在本公开实施例中,当目标账户执行过正向反馈的第一视频的视频属性包括多种维度的第一属性信息时,例如包括第一分类标签、第一视频作者、第一视频类型,那么本公开实施例的方法可以针对上述三种维度的第一属性信息,分别获取相应维度的相似(例如在账户兴趣维度上相似和/或语义相似)的第二属性信息,使得获取到的第二属性信息的维度更加丰富,那么第二属性信息的数据也更加丰富,那么最终获取到的与所述相似视频属性相匹配的视频,即具有该第二属性信息的第二视频的内容也更加多样,提升了所生成的视频候选集的视频内容多样性,那么利用该视频候选集向目标账户推荐视频时,则可以大幅提升所推荐的视频的多样性。

可选地,在另一个实施例中,在执行S202时,可以获取与所述视频属性对应的相似视频属性;从视频库中,获取与所述相似视频属性和所述视频属性相匹配的视频,生成视频候选集。

其中,可以从视频库中获取具有该视频属性的视频,以及获取具有该相似视频属性的视频,这两类视频的并集构成该视频候选集。对于获取与视频属性对应的相似视频属性的具体实现方式可以参照上述实施例,这里不再赘述。

在本公开实施例中,在生成视频候选集时,不仅可以利用目标账户执行过正向反馈的第一视频的第一视频属性,还可以利用与该第一视频属性相似的第二视频属性,并分别获取具有第一视频属性的视频集,以及具有第二视频属性的视频集,最后,将第一视频集合第二视频集的并集作为待推荐至目标账户的视频候选集。由于视频候选集的生成不仅参考了目标账户感兴趣的视频的视频属性,还参考了与该视频属性相似的视频属性,从而能够从视频属性的角度,增加视频候选集内视频的多样性。

可选地,在一个实施例中,所述视频属性包括多级视频属性,那么在执行所述获取与所述视频属性对应的相似视频属性的步骤时,可以确定待查找的相似视频属性的级别和数量;然后,查找与所述视频属性对应的、且符合所述级别和所述数量的相似视频属性。

其中,当视频属性包括分类标签时,则该视频属性可以包括多级视频属性。

本公开实施例的服务器在预先对发布的视频设置分类标签时,可以设置分类标签的树状结构,在该树状结构中,某个节点(即某个分类标签M)的父节点为该节点的上级分类标签,该节点的子节点为该节点的下级分类标签。因此,对于树状结构中的任意一个节点而言,其可以具有父节点和/或子节点,也即对于任意一个视频的分类标签而言,该分类标签可以具有上级分类标签和/或下级分类标签。

因此,在本实施例中,当获取与视频属性对应的相似视频属性时,可以首先确定需要获取该视频属性的哪个级别(可以包括上级、下级、本级中的至少一个级别)的相似视频属性,以及该级别的相似视频属性的数量。

以视频属性为第一分类标签,所确定的级别为上级,对应上级的相似分类标签的数量为3为例来说明,可以从该树状结构中查找第一视频的第一分类标签所在节点的父节点,并将该父节点识别为该第一分类标签的上级分类标签;然后,获取与该上级分类标签相似的三个分类标签,将该三个分类标签确定为与第一分类标签对应的相似分类标签。

举例来说,树状结构包括宠物——>狗——>哈士奇的结构,例如上述第一分类标签包括“狗”,级别为上级,相似分类标签的数量为3,那么通过查询分类标签的树状结构,则可以获取到“狗”的上级分类标签为“宠物”;然后,从视频库中查询与“宠物”相似的三个分类标签,将该三个分类标签作为与“狗”对应的相似分类标签。

对于两个分类标签之间的相似而言,可以是语义相似,和/或在账户兴趣维度上相似。

以在账户兴趣维度上相似为例,例如可以获取到与“宠物”在账户兴趣维度上相似的3个分类标签为“唱歌”、“跳舞”、“打游戏”。那么这三个分类标签即为查找的与所述视频属性(这里为“狗”)对应的、且符合所述级别和所述数量的相似视频属性。

需要说明的是,在对任意一个分类标签,获取与其在账户兴趣维度上相似的分类标签时,两组分类标签的级别并不一定相同,即本公开实施例对于在账户兴趣维度上相似的两组分类标签的级别关系不做限制。例如上述“打游戏”与“狗”在树状结构中就不是一个级别。

上述举例仅以所确定的级别为上级为例进行了说明,但是需要注意的是,所确定的级别可以是本级、上级、下级中的任意一个,在获取符合上述三个任意一个级别的以及相应数量的相似视频属性时,可以参照所确定的级别为上级的例子的实现方式来实现,原理都是类似的。但是级别与数量确实一一对应的,例如获取视频属性的上级视频属性的3个相似视频属性,获取所述视频属性的2个相似视频属性,以及获取所述视频属性的下级视频属性的4个相似视频属性,上述9个相似视频属性所构成的并集为所述视频属性的相似视频属性。

在本公开实施例中,由于分类标签设置多级关系,例如上下级关系,那么在视频属性包括分类标签时,例如第一属性信息包括第一分类标签,则在获取与该第一分类标签相似的分类标签时,可以根据所确定的待查找的级别和数量,来获取符合该级别和数量的该第一分类标签的相似分类标签。使得不仅可以获取与该第一分类标签相似(例如在账户兴趣维度上相似)的第二分类标签,还可以获取该第一分类标签的上级和/或下级分类标签,然后,获取与该上级分类标签在例如账户兴趣维度上相似的分类标签,获取该下级分类标签在账户兴趣维度上相似的分类标签,使得获取到的第二属性信息不仅可以包括与目标账户执行过正向反馈的第一视频的第一分类标签在账户兴趣维度上相似的分类标签,还包括与该第一分类标签的上级和/或下级分类标签在账户兴趣维度上相似的分类标签,使得第二属性信息在分类标签这一维度上更加多样,那么基于该多样的第二属性信息所获取的视频候选集的视频内容多样性也更强,提升推荐的视频的多样性。

可选地,在一个实施例中,在执行S203时,可以通过S301和S302来实现:

S301,将所述视频候选集中的N个视频进行聚类,得到K个聚类组,其中,所述视频候选集中的视频数量为N,1<K≤N,K为整数;

这里需要说明一下聚类与分组的区别,在聚类操作之前,聚类所要求划分的类以及类的数量(或者说上述聚类组的数量)是未知的,而分组或者分类则是依据分类标签或者视频作者或者视频类型,来对视频进行分组/分类,其所划分得到的组或类的数量在划分之前即已知(为上述举例的视频作者的数量)。

本步骤中在对N个第二视频进行聚类时,可以采用任意一种已知或未来开发的聚类方法,来对N个视频进行聚类,从而得到K个聚类组,其中,每个聚类组具有唯一的标识性的聚类ID。

可选地,可以采用k-means聚类方法对N个所述第二视频进行聚类,得到K个聚类组,且每个聚类组具有聚类中心(即质心),聚类组内的各个视频靠近该聚类组内的质心。其中,1<K≤N,K为整数;

其中,K和k意义相同,K可以为自定义的数值。

关于k-means聚类方法的具体实现可以参照任意一种传统或优化后的k-means聚类方法的详细过程。这里为了便于读者理解,简要的说明一下本公开实施例中采用k-means聚类方法来对N个第二视频进行聚类的实现过程:这里N=100,k=6。

例如可以从100个第二视频中随机选取6个视频,分别作为6个簇的初始质心,然后,从剩余的94个视频中随机选择一个视频1,计算该视频1与每个簇的质心(这里为初始质心)之间在向量空间上的距离,将该视频1分到距离最小的质心(例如质心1)所在的簇1中;然后,计算该簇1中该视频1与初始质心之间在向量空间上的新的中心点,将该新的中心点(也是一个向量)作为簇1的新的质心;

接着从93个视频中随机选择一个视频2,计算该视频2与每个簇的质心(有的簇的质心是初始质心,有的簇的质心为上一轮重新确定的新的质心)之间在向量空间上的距离,将该视频2分到距离最小的质心所在的簇中;……对剩余的未分到各个簇中的剩余第二视频重复执行上述操作,使得100个视频被分配到6个簇中,且每个簇具有最新的质心,当然,该质心只不过是簇的中心,并非是某个视频。

综上,经过聚类,得到6个簇(即6个聚类组),且每个聚类组内都有一个聚类中心(最新确定的质心)。

经过聚类,可以将N个视频中视频内容相似的视频聚类为一组,且不同聚类组之间的视频内容区别较大,并不相似。例如经过聚类可以将多个第二视频中唱歌跳舞的视频聚为一类。

S302,将每个聚类组中远离其聚类中心的视频剔除,并对执行剔除操作之后的K个聚类组进行合并,得到P个聚类组,K≥P。

经过S301的聚类操作之后,可能存在有的第二视频与任意一个聚类组内的视频都不够相近,且N个第二视频中不存在与该第二视频的视频内容相似的其他视频,所以,这个被孤立的第二视频可以被剔除。

此外,经过S301的聚类操作之后,可能存在两个聚类组的视频内容较为相近的情况,因此,为了避免在基于聚类组打散后的视频进行视频推荐时,所导致的存在过多相似的视频内容被连续推荐的问题,在本实施例中,可以对执行剔除操作之后的K个聚类组进行合并,得到P个聚类组,使得视频内容相近的聚类组得到合并,提升推荐的视频的多样性。

在本公开实施例中,考虑到对视频候选集中的视频进行聚类后,得到的K个聚类组之间可能存在内容相似的视频,且得到的聚类组中可能会存在偏离聚类中心的视频,从而导致聚类结果不够准确,因此,在本公开实施例中,对初步得到的聚类结果,即K个聚类组中较为离散的视频执行剔除步骤,以及执行将聚类中心较为靠近的两个聚类组进行合并的步骤,从而提升聚类结果的准确度,使得P个聚类组中每个聚类组内的视频内容都是相似的,且不同聚类组之间视频内容都是不相似的,从而提升基于聚类组的区别来进行视频推荐的多样性。

可选地,在一个实施例中,在将每个聚类组中远离其聚类中心的视频剔除时,可以通过计算每个聚类组内每个视频与该聚类组的聚类中心之间的离散度;然后,将所述离散度大于第一预设阈值的视频,从其所属的聚类组中剔除。

以聚类组1为例进行说明,可以计算分属在聚类组1内的每个第二视频(例如有5个视频)与该聚类组1的最新确定的质心(即S301中聚类组的聚类中心)之间的离散度(可以采用任意一种计算数据离散程度的方法来计算),则可以得到5个离散度;然后,将大于第一预设阈值的离散度所对应的第二视频,从而该聚类组1中剔除掉。

这样,本公开实施例通过将各个聚类组中与聚类组中的聚类中心离散程度较大的视频,从所属的聚类组中清除,则可以使得聚类组中剩余的各个视频都是内容相似的视频,避免某个聚类组中出现内容不够相似的异常的视频,那么在基于聚类组进行视频打散和发送时,可以确保发送的相邻的多个视频都是内容不同的视频,提升视频推荐的多样性。

可选地,在一个实施例中,在对执行剔除操作之后的K个聚类组进行合并时,可以计算所述K个聚类组中任意两个聚类中心之间的空间距离;然后,将所述空间距离小于第二预设阈值的两个聚类中心对应的两个聚类组合并。

例如6个聚类组中,聚类组1和聚类组2的两个聚类中心对应的两个向量之间的空间距离小于第二预设阈值,则可以将聚类组1中的第二视频以及聚类组2中的第二视频合并为一个聚类组,使得最终经过聚类组的合并处理后,从6个聚类组(这里K=6)缩减至5个聚类组(这里P=5),其中,P为经过聚类组合并之后,最终剩余的聚类组的数量。

在本公开实施例中,由于聚类组中的聚类中心可以反映出各个聚类组内的视频的中心位置,而如果两个聚类组的中心位置较为靠近,则说明这两个聚类组之间的视频内容也是相似的,因此,为了避免基于聚类进行视频推荐时,将具有相似视频内容的视频连续推荐,可以将该两个聚类组内的视频合并,从而提升视频聚类的准确度,进而确保基于打散结果所推荐的视频的连续多样性。

在一种可能的实施方式中,在获取与任意一个视频属性对应的相似视频属性时,可以采用预先经过训练的用于识别相似属性的识别模型,识别与第一属性信息相似的第二属性信息。

其中,由于相似的原则可以包括语义相似,和/或,在账户兴趣维度上相似,因此,该识别模型可以根据该相似的原则区别而存在区别,即预先训练两个识别模型。

例如识别模型1用于识别在语义上相似的属性信息;识别模型2用于识别在账户兴趣维度上相似的属性信息。

以识别模型2为例进行说明,该识别模型2用于对输入的任意一个维度的第一属性信息(例如分类标签或者视频作者ID或者视频类型),来识别与该属性信息在账户兴趣维度上相似的同一个维度的第二属性信息。

当输入的参数为第一分类标签时,则该识别模型可以识别到与该第一分类标签在账户兴趣维度上相似的第二分类标签;

当输入的参数为第一视频作者(例如作者名称或者作者ID)时,则该识别模型可以识别到与该第一视频作者在账户兴趣维度上相似的第二视频作者;

当输入的参数为第一视频类型时,则该识别模型可以识别到与该第一视频类型在账户兴趣维度上相似的第二视频类型。

由于属性信息可以划分为上述三个不同的维度,因此,本步骤中的识别模型2可以是由该三个维度的三个识别子模型集成而成,也可以是分别针对三个不同维度的属性信息的三个识别模型。

该识别模型1、2均为线下利用大量带有标注的训练语料训练后得到的识别模型。

其中,识别模型2的训练语料为基于全网日志数据挖掘到的在账户兴趣维度上相似、以及不相似的视频的属性数据。

其中,通过对全网日志数据进行挖掘,可以得到在账户兴趣维度上相似的视频的属性信息,以及得到在账户兴趣维度上不相似的视频的属性信息。

正样本集包括多组正样本,一组正样本由在账户兴趣维度上相似的任意两组属性信息构成;且每组正样本带有标注数据,标注数据为表示在账户兴趣维度上相似的1;

负样本集包括多组负样本,一组负样本由在账户兴趣维度上不相似的任意两组属性信息构成;且每组负样本带有标注数据,标注数据为表示在账户兴趣维度上不相似的0;

例如对具有分类标签“狗”的视频执行过正向反馈的大多数账户,还对具有分类标签“猫”、“唱歌”、“搞笑”的视频执行过正向反馈,但是,对具有分类标签“狗”的视频执行过正向反馈的大多数账户,很少会对具有分类标签“儿童”、“跳舞”的视频执行过正向反馈。

那么上述挖掘的数据可以生成以下正样本和负样本:

多组正样本包括:(狗,猫,1),(狗,唱歌,1),(狗,搞笑,1);

多组负样本包括:(狗,儿童,0),(狗,跳舞,0)。

可以利用正样本集和负样本集中的每一组样本,来对预设神经网络模型进行训练,从而得到识别模型2。需要说明的是,由于针对不同维度的属性信息进行相似属性识别的识别模型(或者识别子模型)所采用的训练数据的属性维度也是不同的,因此它们可以单独训练。

对于该预设神经网络模型的网络结构,可以是任意一种神经网络模型,本公开对此不做限制。此外,对于训练方法也可以采用任意一种已知或未来开发的模型训练方法,本公开对此同样不做限制。

那么经过训练后的识别模型2就可以对输入的任意一个目标维度(例如分类标签维度,或者视频作者维度,或者视频类型维度)的第一属性信息,来识别出与该第一属性信息在账户兴趣维度上相似的目标维度的第二属性信息并输出。

在一个实施例中,在利用识别模型2识别第二属性信息时,可利用现有的词向量获取工具(例如word2vec工具)来获取第一属性信息的词向量,识别模型2可以基于该词向量以及预先建立的索引表中的各个词向量,来从索引表中识别与该词向量在账户兴趣维度上相似的另一个词向量,该另一个词向量即对应于第二属性信息。其中,识别模型2在识别两个词向量之间的相似度时,可以利用两个词向量的空间距离(例如余弦相似度、欧氏距离等)来表征该两个词在账户兴趣维度上的相似度。

其中,该词向量获取工具可以集成到识别模型2中,也可以外设于识别模型2,用于对输入至识别模型2的文本数据进行预先处理,得到文本数据的向量形式。

其中,本公开实施例的识别模型2中可以建立索引表(例如annoy索引),该索引表设置有视频的每个属性信息的文本形式与向量之间的对应关系,那么通过查找该索引表,就可以识别到该另一个词向量对应的第二属性信息的文本。

此外,识别模型还可以设置输出的第二属性信息的数量,从而可以对输入的某个第一属性信息,输出该数量的第二属性信息。

在本公开实施例中,利用已训练的识别模型,来获取与视频的第一属性信息相似(例如语义形式和/或在账户兴趣维度上相似)的第二属性信息,由于该识别模型基于全网日志数据进行训练得到,从而可以确保所查找到的第二属性信息的准确度,使得基于第二属性信息所获取的第二视频能够命中目标账户的喜好,提升账户粘度。

可选性,当采用S301和S302来实现S203所述的对视频候选集中的视频内容的聚类的步骤时,则在执行S205来基于打散结果向目标账户发送视频时,可以参照下述举例:

例如P(例如P=5)个聚类组对应80个视频,利用该80个视频来向客户端推荐视频时,例如一个窗口(即向账户展示的视频的窗口)配置的视频数量值为20,即每次向客户端推荐20个视频,那么则按照打散后的视频排序,从80个视频中按照排列顺序从先到后的顺序,每次选取20个视频进行推荐,那么这个窗口中首次推荐展示的20个视频则例如依次是视频1~视频20的20个视频,且例如该窗口中相邻的Q(例如Q=5)个视频不具有相同的聚类ID,即相邻的5个视频的聚类ID不同。

例如这里的视频1、视频2、视频3、视频4、视频5的聚类ID依次为聚类ID1、聚类ID2、聚类ID3、聚类ID4、聚类ID5;

视频6、视频7、视频8、视频9、视频10的聚类ID依次为聚类ID1、聚类ID2、聚类ID3、聚类ID4、聚类ID5;

……

视频76、视频77、视频78、视频79、视频80的聚类ID依次为聚类ID1、聚类ID2、聚类ID3、聚类ID4、聚类ID5。

这样,本公开实施例通过对用于推荐的多个第二视频进行聚类,并依据聚类组来对多个第二视频进行打散,使得相邻的Q个第二视频的聚类ID不同,那么每次推荐的Q个视频的聚类ID都不同,而经过聚类后得到的各个聚类组,可以确保每个聚类组内的多个视频都是内容相似的,而不同聚类组之间的视频内容是不相似的,那么以此排序来依次推荐多个第二视频,可以确保推荐给账户的相邻的Q个视频的内容更加多样,不会存在相似的视频内容,从而提升视频推荐的多样性。

图3是根据一示例性实施例示出的一种视频推荐装置的结构框图。参照图3,该装置包括:

其中,两个属性信息相似,可以是语义相似,也可以是在账户兴趣维度上相似。优选地,在账户兴趣维度上相似。

对于语义相似,例如第一视频的分类标签为搞笑,那么与“搞笑”语义相似的分类标签可以包括但不限于“幽默”、“喜感”等分类标签。

其中,服务器侧可以预先配置多种分类标签,按照视频的内容来对各个视频设置至少一个分类标签。

而两组属性信息在账户兴趣维度相似可以理解为:当对具有第一属性信息的视频感兴趣的多个账户,还对具有第二属性信息的视频感兴趣时,则第一属性信息和第二属性信息是在账户兴趣维度上相似的;

在一种可能的实施方式中,服务器需要获取与第一属性信息账户行为相似的第二属性信息,该第二属性信息也是视频的属性,且第一属性信息和第二属性信息的维度相同。例如当第一属性信息包括分类标签A时,则第二属性信息包括与分类标签A在账户行为相似的分类标签B。这里的账户行为相似即指代在账户兴趣维度上相似。

举例来说,例如服务器预先通过对全网日志数据进行数据挖掘,发现喜欢具有“体育”的分类标签的视频的大多数账户,也喜欢具有“娱乐”的分类标签的视频,那么分类标签“娱乐”即为与分类标签“体育”在账户兴趣维度上相似的分类标签。

第一获取模块41,被配置为执行从目标账户的视频日志信息中,获取所述目标账户执行过正向反馈的视频的视频属性;

第二获取模块42,被配置为执行从视频库中,获取与所述视频属性相匹配的视频,生成视频候选集;

聚类模块43,被配置为执行基于所述视频候选集中视频的内容进行聚类,得到多个聚类组;

打散模块44,被配置为执行按照所述多个聚类组对所述视频候选集中的视频进行打散,得到打散结果,其中,打散结果中多个相邻的视频属于至少两个聚类组;

发送模块45,被配置为执行基于所述打散结果,向所述目标账户发送视频。

在一种可能的实施方式中,所述第二获取模块42包括:

第一获取子模块,被配置为执行获取与所述视频属性对应的相似视频属性;

其中,同一属性维度(例如分类标签)的两个视频属性(或者说两个属性信息)相似,可以是语义相似,和/或,在账户兴趣维度上相似。

对于语义相似,例如第一视频的分类标签为“搞笑”,那么与“搞笑”语义相似的分类标签可以包括但不限于“幽默”、“喜感”等分类标签。那么在生成视频候选集时,就将分类标签为“幽默”或者“喜感”的第二视频确定为视频候选集中的视频。

对于在账户兴趣维度上相似,则表示在对具有第一属性信息的第一视频执行过正向反馈的多个账户,还对具有第二属性信息的视频执行过正向反馈的情况下,确定第一属性信息和第二属性信息是在账户兴趣维度上相似的两组视频属性,第一属性信息和第二属性信息互为在账户兴趣维度上相似的视频属性。

以视频属性的维度为分类标签为例来说明在账户兴趣维度上相似。

服务器侧可以预先配置多种分类标签,按照视频的内容来对各个视频设置至少一个分类标签。

在一种可能的实施方式中,服务器需要获取与第一属性信息在账户兴趣维度上相似的第二属性信息,该第二属性信息也是视频的属性,且第一属性信息和第二属性信息的维度相同。例如当第一属性信息包括分类标签A时,则第二属性信息包括与分类标签A在账户兴趣维度上相似的分类标签B。

举例来说,例如服务器预先通过对全网日志数据进行数据挖掘,发现喜欢具有“体育”的分类标签的视频的大多数账户,也喜欢具有“娱乐”的分类标签的视频,那么分类标签“娱乐”即为与分类标签“体育”在账户兴趣维度上相似的相似分类标签。

在一种可能的实施方式中,当第一属性信息只包括上述列举的三种维度(分类标签、视频作者、视频类型)中的一种目标维度的属性信息时,则在获取与所述视频属性在账户兴趣维度上相似的视频属性时,则可以获取与目标维度的第一属性信息在账户兴趣维度上相似的目标维度的第二属性信息。

例如目标维度为分类标签,目标账户执行过正向反馈的第一视频的第一分类标签包括分类标签A、分类标签C、分类标签D,那么服务器就可以获取与分类标签A在账户兴趣维度上相似的分类标签A’,获取与分类标签C在账户兴趣维度上相似的分类标签C’,获取与分类标签D在账户兴趣维度上相似的分类标签D’,那么分类标签A’、分类标签C’、分类标签D’共同构成与第一分类标签在账户兴趣维度上相似的第二分类标签。

需要说明的是,由于目标账户执行过正向反馈的第一视频的数量可以是一个或多个,且每个第一视频所具有的第一分类标签也可以是一个或多个,以及与第一分类标签在账户兴趣维度上相似的第二分类标签也可以是多个(例如与分类标签A在账户兴趣维度上相似的分类标签包括分类标签A’、分类标签A”),因此,上述相似视频属性可以包括同一维度的多个属性信息。

上述举例,以目标维度为分类标签为例进行的说明,当目标维度为视频作者、或者、视频类型时,则获取与该第一视频作者在账户兴趣维度上相似的第二视频作者(例如,经过对全网日志数据的挖掘,发现对第一视频作者发布的视频执行过正向反馈的大多数账户,还对由第二视频作者发布的视频执行过正向反馈),或,获取与第一视频类型在账户兴趣维度上相似的第二视频类型(例如,经过对全网日志数据的挖掘,发现对第一视频类型的视频执行过正向反馈的大多数账户,还对第二视频类型的视频执行过正向反馈)。其中,第二视频作者的数量可以是多个,第二视频类型的数量也可以是多个。

在本公开实施例中,在生成视频候选集时,可以获取与目标账户执行过正向反馈的第一视频的第一视频属性相似的第二视频属性,并从视频库中获取具有该第二视频属性的视频来生成视频候选集,由于两个视频属性的相似可以是语义相似,和/或,在账户兴趣维度上的相似,因此,本公开实施例或获取的相似视频属性,即第二视频属性更加多样,不仅仅限制于与第一视频属性语义相似的视频属性,那么具有该第二视频属性的视频的内容也更加丰富。

此外,本公开实施例通过获取与第一视频属性在账户兴趣维度上相似的第二视频属性,那么将具有该第二视频属性的第二视频推荐给目标账户的客户端,则可以确保第二视频为目标账户大概率感兴趣的视频;此外,由于第二视频属性为与第一视频属性信息相似的属性信息,而并非第一视频属性,从而可以解决传统技术中不断向账户推荐账户感兴趣的具有第一视频属性的视频,所造成的推荐的视频类型越来越单一的问题,相反,能够使推荐的视频内容存在更高的几率是账户之前没有看到过的,能够确保基于第二视频属性所推荐的第二视频在视频上的多样性,不局限于基于第一视频属性进行视频推荐,进一步提升了所推荐视频的类型多样性。

在一种可能的实施方式中,当第一视频的视频属性包括多种维度的第一属性信息时,那么在获取与所述视频属性对应的相似视频属性时,则可以获取与每种维度的第一属性信息相似的每种维度的第二属性信息,得到多种维度的第二属性信息,这里的多种维度的第二属性信息构成该相似视频属性。

同样的,这里的“相似”可以是语义相似,也可以是在账户兴趣维度上的相似。

在一种可能的实施方式中,获取到目标账户执行过正向反馈的任意一个视频的多种维度的属性信息,例如包括第一分类标签、第一视频作者以及第一视频类型,那么在获取与所述多种维度的属性信息对应的相似视频属性时,则可以分别针对每个维度的第一属性信息,分别获取在账户兴趣维度上相似的第二属性信息,从而得到多种维度的第二属性信息,该多种维度的第二属性信息构成该相似视频属性。

本例得到的第二属性信息包括第二分类标签、第二视频作者以及第二视频类型。其中,第二分类标签的数量可以是多个,第二视频作者的数量可以是多个,第二视频类型的数量也可以是多个。

在本公开实施例中,当目标账户执行过正向反馈的第一视频的视频属性包括多种维度的第一属性信息时,例如包括第一分类标签、第一视频作者、第一视频类型,那么本公开实施例的方法可以针对上述三种维度的第一属性信息,分别获取相应维度的相似(例如在账户兴趣维度上相似和/或语义相似)的第二属性信息,使得获取到的第二属性信息的维度更加丰富,那么第二属性信息的数据也更加丰富,那么最终获取到的与所述相似视频属性相匹配的视频,即具有该第二属性信息的第二视频的内容也更加多样,提升了所生成的视频候选集的视频内容多样性,那么利用该视频候选集向目标账户推荐视频时,则可以大幅提升所推荐的视频的多样性。

第二获取子模块,被配置为执行从视频库中,获取与所述相似视频属性和所述视频属性相匹配的视频,生成视频候选集。

在一种可能的实施方式中,所述视频属性包括多级视频属性,所述第一获取子模块包括:

确定单元,被配置为执行确定待查找的相似视频属性的级别和数量;

查找单元,被配置为执行查找与所述视频属性对应的、且符合所述级别和所述数量的相似视频属性。

在一种可能的实施方式中,所述聚类模块43包括:

聚类子模块,被配置为执行将所述视频候选集中的N个视频进行聚类,得到K个聚类组,其中,所述视频候选集中的视频数量为N,1<K≤N,K为整数;

处理子模块,被配置为执行将每个聚类组中远离其聚类中心的视频剔除,并对执行剔除操作之后的K个聚类组进行合并,得到P个聚类组,K≥P。

在一种可能的实施方式中,所述处理子模块包括:

第一计算单元,被配置为执行计算每个聚类组内每个视频与该聚类组的聚类中心之间的离散度;

剔除单元,被配置为执行将所述离散度大于第一预设阈值的视频,从其所属的聚类组中剔除。

在一种可能的实施方式中,所述处理子模块包括:

第一计算单元,被配置为执行计算所述K个聚类组中任意两个聚类中心之间的空间距离;

合并单元,被配置为执行将所述空间距离小于第二预设阈值的两个聚类中心对应的两个聚类组合并。

在一种可能的实施方式中,所述发送模块45包括:

发送子模块,被配置为执行按照所述打散结果中的视频排列顺序,每次向所述目标账户发送预设数量的视频。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

在示例性实施例中,还提供了一种服务器,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如上述任意一种实施方式中所述的视频推荐方法。

示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。在一种可能的实施方式中,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种包括指令的应用程序,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品,包含可读程序代码,当所述可读程序代码在计算设备上运行是,可使所述计算设备执行上述任意一种实施方式中所述的视频推荐方法。

图4是根据一示例性实施例示出的一种用于视频推荐的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图4,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述任意一个实施例所述的视频推荐方法。

可选地,处理组件1922被配置为执行从目标账户的视频日志信息中,获取所述目标账户执行过正向反馈的视频的视频属性;从视频库中,获取与所述视频属性相匹配的视频,生成视频候选集;基于所述视频候选集中视频的内容进行聚类,得到多个聚类组;按照所述多个聚类组对所述视频候选集中的视频进行打散,得到打散结果,其中,打散结果中多个相邻的视频属于至少两个聚类组;基于所述打散结果,向所述目标账户发送视频。

装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

需要说明的是,本申请涉及的账户信息等均是经账户/用户授权之后采集,并进行后续处理的。

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

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

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频片段推送方法、装置、服务器以及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类