视频搜索方法及装置与流程

文档序号:16146763发布日期:2018-12-05 16:33阅读:131来源:国知局
视频搜索方法及装置与流程

本公开涉及视频技术领域,尤其涉及一种视频搜索方法及装置。

背景技术

相关技术中,服务器在接收到来自于客户端的视频搜索请求的情况下,根据视频搜索请求中的搜索词确定搜索结果,并向客户端响应该搜索结果。这种视频搜索方式通常仅考虑搜索词与视频标题的相似度,导致搜索结果的准确性及多样性较低。



技术实现要素:

有鉴于此,本公开提出了一种视频搜索方法及装置,以提高搜索结果的准确性与多样性。

根据本公开的一方面,提供了一种视频搜索方法,包括:

在接收到视频搜索请求的情况下,获取所述视频搜索请求对应的初步搜索结果;

计算所述初步搜索结果中各类型的视频数据的分数;

根据各类型的视频数据的分数,对各类型的视频数据进行排序,得到排序结果;

根据所述排序结果响应所述视频搜索请求。

在一种可能的实现方式中,各类型的视频数据包括以下至少一项:视频、节目、自频道和播单。

在一种可能的实现方式中,计算所述初步搜索结果中各类型的视频数据的分数,包括:

在各类型的视频数据中包括视频的情况下,根据以下至少一项计算所述视频的分数:所述视频与所述视频搜索请求的相关性、所述视频的上传者与所述视频搜索请求的相关性、所述视频搜索请求对应的搜索用户的用户反馈信息、所述视频的播放量、所述视频的观看完成比、所述视频的发布时间、所述视频被收藏的次数、所述视频的评论数量、所述视频的弹幕数量和所述搜索用户针对所述视频的订阅状态。

在一种可能的实现方式中,计算所述初步搜索结果中各类型的视频数据的分数,包括:

在各类型的视频数据中包括节目的情况下,根据以下至少一项计算所述节目的分数:所述节目的实时搜索量、所述节目的播放量、所述节目与所述视频搜索请求的相关性、所述节目对应的反馈信息、所述节目的发布时间、所述节目的版权状态和所述节目的站点信息。

在一种可能的实现方式中,根据所述排序结果响应所述视频搜索请求,包括:

根据所述排序结果中节目的排序以及节目的总数,调整所述节目在所述排序结果中的排序;

根据调整后的排序结果响应所述视频搜索请求。

在一种可能的实现方式中,计算所述初步搜索结果中各类型的视频数据的分数,包括:

在各类型的视频数据中包括自频道的情况下,根据以下至少一项计算所述自频道的分数:所述自频道的频道主的属性、所述自频道中各个视频的分数、所述初步搜索结果中属于所述自频道的视频的数量、所述自频道的视频总数以及所述视频搜索请求与所述自频道的相关性。

在一种可能的实现方式中,计算所述初步搜索结果中各类型的视频数据的分数,包括:

在各类型的视频数据中包括播单的情况下,根据以下至少一项计算所述播单的分数:所述播单的类型、所述播单的生成时间、所述播单对应的反馈信息和所述播单中各个视频的分数。

根据本公开的另一方面,提供了一种视频搜索装置,包括:

获取模块,用于在接收到视频搜索请求的情况下,获取所述视频搜索请求对应的初步搜索结果;

计算模块,用于计算所述初步搜索结果中各类型的视频数据的分数;

排序模块,用于根据各类型的视频数据的分数,对各类型的视频数据进行排序,得到排序结果;

响应模块,用于根据所述排序结果响应所述视频搜索请求。

在一种可能的实现方式中,各类型的视频数据包括以下至少一项:视频、节目、自频道和播单。

在一种可能的实现方式中,所述计算模块包括:

第一计算子模块,用于在各类型的视频数据中包括视频的情况下,根据以下至少一项计算所述视频的分数:所述视频与所述视频搜索请求的相关性、所述视频的上传者与所述视频搜索请求的相关性、所述视频搜索请求对应的搜索用户的用户反馈信息、所述视频的播放量、所述视频的观看完成比、所述视频的发布时间、所述视频被收藏的次数、所述视频的评论数量、所述视频的弹幕数量和所述搜索用户针对所述视频的订阅状态。

在一种可能的实现方式中,所述计算模块包括:

第二计算子模块,用于在各类型的视频数据中包括节目的情况下,根据以下至少一项计算所述节目的分数:所述节目的实时搜索量、所述节目的播放量、所述节目与所述视频搜索请求的相关性、所述节目对应的反馈信息、所述节目的发布时间、所述节目的版权状态和所述节目的站点信息。

在一种可能的实现方式中,所述响应模块包括:

调整子模块,用于根据所述排序结果中节目的排序以及节目的总数,调整所述节目在所述排序结果中的排序;

响应子模块,用于根据调整后的排序结果响应所述视频搜索请求。

在一种可能的实现方式中,所述计算模块包括:

第三计算子模块,用于在各类型的视频数据中包括自频道的情况下,根据以下至少一项计算所述自频道的分数:所述自频道的频道主的属性、所述自频道中各个视频的分数、所述初步搜索结果中属于所述自频道的视频的数量、所述自频道的视频总数以及所述视频搜索请求与所述自频道的相关性。

在一种可能的实现方式中,所述计算模块包括:

第四计算子模块,用于在各类型的视频数据中包括播单的情况下,根据以下至少一项计算所述播单的分数:所述播单的类型、所述播单的生成时间、所述播单对应的反馈信息和所述播单中各个视频的分数。

根据本公开的另一方面,提供了一种视频搜索装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。

根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。

通过在接收到视频搜索请求的情况下,获取视频搜索请求对应的初步搜索结果,计算初步搜索结果中各类型的视频数据的分数,根据各类型的视频数据的分数,对各类型的视频数据进行排序,得到排序结果,并根据排序结果响应视频搜索请求,根据本公开的各方面的视频搜索方法及装置能够提高搜索结果的准确性以及多样性。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出根据本公开一实施例的视频搜索方法的流程图。

图2示出根据本公开一实施例的视频搜索方法步骤s14的一示例性的流程图。

图3示出根据本公开一实施例的视频搜索装置的框图。

图4示出根据本公开一实施例的视频搜索装置的一示例性的框图。

图5是根据一示例性实施例示出的一种用于视频搜索的装置1900的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

实施例1

图1示出根据本公开一实施例的视频搜索方法的流程图。该方法可以应用于服务器中,在此不作限定。如图1所示,该方法包括步骤s11至步骤s14。

在步骤s11中,在接收到视频搜索请求的情况下,获取视频搜索请求对应的初步搜索结果。

在本实施例中,服务器在接收到来自于客户端的视频搜索请求的情况下,可以采用相关技术中的视频搜索方法获取该视频搜索请求对应的初步搜索结果。其中,视频搜索请求可以携带搜索词。

在步骤s12中,计算初步搜索结果中各类型的视频数据的分数。

在一种可能的实现方式中,各类型的视频数据包括以下至少一项:视频、节目、自频道和播单。其中,视频、节目、自频道和播单可以分别通过不同的引擎获取。

需要说明的是,尽管以视频、节目、自频道和播单作为示例介绍了各类型的视频数据如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景灵活设定各类型的视频数据。

在一种可能的实现方式中,在各类型的视频数据包括视频、节目、自频道和播单的情况下,可以先计算各个视频的分数,再计算各个节目、自频道和播单的分数,由此可以基于视频的分数计算各个节目、自频道和播单的分数。

在一种可能的实现方式中,可以根据初步搜索结果中各个视频数据的预排序,从初步搜索结果中筛选出预排序在前的q个视频数据,得到筛选结果,并可以仅计算筛选结果中的各类型的视频数据的分数,以及进一步根据筛选结果中的各类型的视频数据的分数进行排序得到排序结果,以降低计算量。

在一种可能的实现方式中,可以预先训练各种模型,并可以利用这些模型计算初步搜索结果中各类型的视频数据的分数。例如,可以采用lambdamart(lambdamultipleadditiveregressiontree,兰布达多重累计回归树)或者gbdt(gradientboostingdecisiontree,梯度提升决策树)等方法训练用于计算各类型的视频数据的分数的模型。

在步骤s13中,根据各类型的视频数据的分数,对各类型的视频数据进行排序,得到排序结果。

作为本实施例的一个示例,可以按照分数由高到低的顺序,对各类型的视频数据进行排序,得到排序结果。

在步骤s14中,根据排序结果响应视频搜索请求。

在一种可能的实现方式中,可以根据排序结果中排序在前的l个视频数据确定最终搜索结果,并将该最终搜索结果响应视频搜索请求。

作为该实现方式的一个示例,对于最终搜索结果中不同类型的视频数据,可以以不同的展示方式在客户端进行展示,由此能够体现最终搜索结果中视频数据的多样性。

作为该实现方式的一个示例,可以将离线挖掘的视频数据中与视频搜索请求的相关性较高的视频数据加入最终搜索结果中。

作为该实现方式的一个示例,在排序结果中排序在前的l个视频数据中存在连续p个同一类型的视频的情况下,可以在该连续p个同一类型的视频中插入其他类型的视频,以进一步提高最终搜索结果的多样性。其中,所插入的其他类型的视频可以也为排序在前的l个视频数据中的视频,以保证最终搜索结果与视频搜索请求的强相关性。例如,p为10,排序结果中排序在前的l个视频数据中存在连续12个类型为电影的视频,则可以在该连续12个类型为电影的视频中插入其他类型(例如电视剧、动漫或者游戏等)的视频。

作为该实现方式的一个示例,在排序结果中排序在前的l个视频数据中存在连续g个同一上传者上传的视频的情况下,可以在该连续g个同一上传者上传的视频中插入其他上传者上传的视频,以进一步提高最终搜索结果的多样性。其中,所插入的其他上传者上传的视频可以也为排序在前的l个视频数据中的视频,以保证最终搜索结果与视频搜索请求的强相关性。例如,g为6,排序结果中排序在前的l个视频数据中存在连续8个上传者a上传的视频,则可以在该连续8个上传者a上传的视频中插入其他上传者(例如上传者b)上传的视频。

作为该实现方式的一个示例,还可以根据不同地域、不同平台的视频的播放权限,对最终搜索结果进行调整,在此不作限定。

本实施例提供的视频搜索方法能够提高搜索结果的准确性与多样性。

在一种可能的实现方式中,对于不同类型的视频数据,可以采用不同的计算方式计算该类型的视频数据的分数,由此使计算得到的各类型的视频数据的分数更合理,进而使根据各类型的视频数据的分数得到的排序结果更合理,更能够提高搜索结果的准确性与多样性,更能够符合搜索用户的搜索需求,从而能够进一步提高用户体验。

在一种可能的实现方式中,计算初步搜索结果中各类型的视频数据的分数,可以包括:在各类型的视频数据中包括视频的情况下,根据以下至少一项计算视频的分数:视频与视频搜索请求的相关性、视频的上传者与视频搜索请求的相关性、视频搜索请求对应的搜索用户的用户反馈信息、视频的播放量、视频的观看完成比、视频的发布时间、视频被收藏的次数、视频的评论数量、视频的弹幕数量和搜索用户针对视频的订阅状态。

该实现方式中的视频可以包括ugc(usergeneratedcontent,用户原创内容)等,在此不作限定。

作为该实现方式的一个示例,视频的分数可以至少根据视频与视频搜索请求的相关性确定。视频与视频搜索请求的相关性可以根据视频的特征词与视频搜索请求中的搜索词的相似度确定。其中,视频的特征词可以根据视频的标题、副标题、类型、标签和关键词中的至少一项确定。例如,可以对视频的标题和副标题进行分词,将分词结果中的各个词与该视频的类型、标签、关键词分别作为该视频的特征词。视频的特征词与搜索词的相似度可以根据视频的特征词的词向量、tf-idf(termfrequency-inversedocumentfrequency,词频-逆文档词频)以及搜索词的词向量、tf-idf确定,在此不作限定。

作为该实现方式的一个示例,视频的分数可以至少根据视频的上传者与视频搜索请求的相关性确定。视频的上传者与视频搜索请求的相关性可以根据视频的上传者的类型与视频搜索请求中的搜索词确定。其中,视频的上传者的类型可以根据视频的上传者上传的视频确定。例如,某一视频的上传者上传的视频中98%的视频均为与游戏相关的类型,则可以确定该视频的上传者的类型为游戏。若视频的上传者的类型为游戏,且视频搜索请求的搜索词包括游戏,或者搜索词包括某一游戏的名称,则可以确定该视频的上传者与视频搜索请求的相关性较高。

作为该实现方式的一个示例,视频的分数可以至少根据视频搜索请求对应的搜索用户的用户反馈信息确定。其中,搜索用户的用户反馈信息可以包括搜索用户在第一时间范围内观看的视频信息、对各视频的观看完成比、评论的视频信息、发表弹幕的视频信息、收藏的视频信息、转发的视频信息和点赞的视频信息等中的至少一项。其中,第一时间范围可以为1个星期、1个月或者6个月等,在此不作限定。搜索用户对某一视频的观看完成比可以等于该搜索用户观看该视频的时间长度与该视频的总时长的比值。根据搜索用户的用户反馈信息,可以确定搜索用户观看视频的喜好。例如,若根据搜索用户的用户反馈信息确定该搜索用户喜欢观看电影,且该视频为电影,则该视频的分数可以较高。

作为该实现方式的一个示例,视频的分数可以至少根据视频的播放量确定。例如,视频的分数可以根据视频在第二时间范围内的播放量确定,该视频的分数可以与该视频在第二时间范围内的播放量正相关。其中,第二时间范围可以为1天、1个星期或者1个月等,在此不作限定。

作为该实现方式的一个示例,视频的分数可以至少根据视频的观看完成比确定。其中,视频的观看完成比可以等于所有用户针对该视频的观看完成比的平均值。该视频的分数可以与该视频的观看完成比正相关。

作为该实现方式的一个示例,视频的分数可以至少根据该视频的发布时间确定。该视频的分数可以与第一差值负相关,其中,第一差值可以等于当前时间与该视频的发布时间的时间差。

作为该实现方式的一个示例,视频的分数可以至少根据该视频被收藏的次数确定。该视频的分数可以与该视频被收藏的次数正相关。

作为该实现方式的一个示例,视频的分数可以至少根据该视频的评论数量确定。该视频的分数可以与该视频的评论数量正相关。

作为该实现方式的一个示例,视频的分数可以至少根据该视频的弹幕数量确定。该视频的分数可以与该视频的弹幕数量正相关。

作为该实现方式的一个示例,视频的分数可以至少根据搜索用户针对该视频的订阅状态确定。若搜索用户已订阅该视频,则该视频的分数可以较高。

作为该实现方式的一个示例,可以采用式1计算视频的分数s1:

其中,s10可以表示所有视频的基础得分,s10可以大于0,也可以等于0或者小于0,在此不作限定。本领域技术人员可以根据实际应用场景灵活设置s10。ai表示视频的第i项得分,wi表示第i项得分的权重,n表示视频的得分的总项数。例如,可以根据视频与视频搜索请求的相关性确定a1,根据视频的上传者与视频搜索请求的相关性确定a2,根据视频搜索请求对应的搜索用户的用户反馈信息确定a3,根据视频的播放量和观看完成比确定a4,根据视频的发布时间确定a5,根据视频被收藏的次数确定a6,根据视频的评论数量确定a7,根据视频的弹幕数量确定a8,根据搜索用户针对视频的订阅状态确定a9,在此不作限定。

需要说明的是,尽管以视频与视频搜索请求的相关性、视频的上传者与视频搜索请求的相关性、视频搜索请求对应的搜索用户的用户反馈信息、视频的播放量、视频的观看完成比、视频的发布时间、视频被收藏的次数、视频的评论数量、视频的弹幕数量和搜索用户针对视频的订阅状态作为示例介绍了计算视频的分数的方式如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景灵活设定计算视频的分数的方式,只要与视频搜索请求、视频、视频的上传者和搜索用户中的至少一项相关即可。例如,视频的分数还可以根据视频是否为播控视频、是否为作弊视频等来确定,在此不作限定。

作为该实现方式的一个示例,可以采用式2计算a5:

a5=1-a1×log[a2×(t0-t1)+1]式2;

其中,t0表示当前时间,t1表示视频的发布时间,a1和a2分别表示调整系数。

需要说明的是,尽管以式2作为示例介绍了计算a5的方式如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景灵活设定a5的计算方式,只要与视频的发布时间相关即可。

作为该实现方式的一个示例,可以采用式3计算a4:

其中,r1表示视频的观看完成比,v1表示视频的播放量。可以表示初步搜索结果中所有视频的平均播放量。或者,可以根据a1、a2、a3、a6、a7、a8、a9及其对应的权重先计算出初步搜索结果中得分最高的m个视频,再将这m个视频的平均播放量作为v。其中,m可以为20,在此不作限定。

需要说明的是,尽管以式3作为示例介绍了a4的计算方式如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景灵活设定a4的计算方式,只要与视频的播放量以及观看完成比相关即可。

在一种可能的实现方式中,计算初步搜索结果中各类型的视频数据的分数,可以包括:在各类型的视频数据中包括节目的情况下,根据以下至少一项计算节目的分数:节目的实时搜索量、节目的播放量、节目与视频搜索请求的相关性、节目对应的反馈信息、节目的发布时间、节目的版权状态和节目的站点信息。

作为该实现方式的一个示例,节目的分数可以至少根据该节目的实时搜索量确定。其中,该节目的实时搜索量可以为该节目在第三时间范围内的搜索量。例如,第三时间范围可以为1个小时或者1天等,在此不作限定。该节目的分数可以与该节目的实时搜索量正相关。

作为该实现方式的一个示例,节目的分数可以至少根据该节目的播放量确定。该节目的分数可以与该节目的播放量正相关。例如,该节目的分数可以与该节目的总播放量正相关。或者,该节目的分数可以与该节目在第四时间范围内的播放量正相关。其中,第四时间范围可以为1天、1个星期或者1个月等,在此不作限定。

作为该实现方式的一个示例,节目的分数可以至少根据该节目与视频搜索请求的相关性确定。该节目与视频搜索请求的相关性可以根据节目的特征词与视频搜索请求中的搜索词的相似度确定。其中,节目的特征词可以根据节目的名称、类型、标签和关键词中的至少一项确定。例如,可以对节目的名称进行分词,将分词结果中的各个词与该节目的类型、标签和关键词分别作为该节目的特征词。节目的特征词与搜索词的相似度可以根据节目的特征词的词向量、tf-idf以及搜索词的词向量、tf-idf确定,在此不作限定。

作为该实现方式的一个示例,节目的分数可以至少根据该节目对应的反馈信息确定。例如,该节目对应的反馈信息可以包括所有用户对该节目的评分的平均分,还可以包括所有用户针对该节目的评论总数等,在此不作限定。

作为该实现方式的一个示例,节目的分数可以至少根据该节目的发布时间确定。该节目的分数可以与第二差值负相关,其中,第二差值可以等于当前时间与该节目的指定时间的时间差。其中,该节目的指定时间可以为该节目的最新视频的发布时间或者该节目的所有视频的平均发布时间等,在此不作限定。

作为该实现方式的一个示例,节目的分数可以至少根据该节目的版权状态确定。例如,若该节目的版权状态为本站点具有该节目的版权,则该节目的分数可以较高。

作为该实现方式的一个示例,节目的分数可以至少根据该节目的站点信息确定。例如,若该节目的站点信息为本站点,则该节目的分数可以较高。

作为该实现方式的一个示例,可以采用式4计算节目的分数:

其中,s20可以表示所有节目的基础得分,s20可以大于0,也可以等于0或者小于0,在此不作限定。本领域技术人员可以根据实际应用场景灵活设置s20。bi表示节目的第i项得分,δi表示第i项得分的权重,n表示节目的得分的总项数。例如,可以根据节目的实时搜索量确定b1,b1的取值范围可以为[0,1],根据节目的播放量确定b2,根据节目与视频搜索请求的相关性确定b3,b3的取值范围可以为[-1,1],根据节目对应的反馈信息确定b4,根据节目的发布时间、节目的版权状态和节目的站点信息确定b5,b5的取值范围可以为[-1,1],在此不作限定。

需要说明的是,尽管以节目的实时搜索量、节目的播放量、节目与视频搜索请求的相关性、节目对应的反馈信息、节目的发布时间、节目的版权状态和节目的站点信息作为示例介绍了节目的分数的计算方式如上,但本领域技术人员能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景灵活设定节目的分数的计算方式,只要与节目和视频搜索请求中的至少一项相关即可。

图2示出根据本公开一实施例的视频搜索方法步骤s14的一示例性的流程图。如图2所示,步骤s14可以包括步骤s141和步骤s142。

在步骤s141中,根据排序结果中节目的排序以及节目的总数,调整节目在排序结果中的排序。

作为本实施例的一个示例,在该节目的版权状态为本站点具有该节目的版权的情况下,可以根据排序结果中节目的排序以及节目的总数,调整节目在排序结果中的排序。根据该示例可以对本站点具有版权的节目进行位置保护。

作为本实施例的一个示例,可以采用式6确定节目在排序结果中的最低排序h:

h=η×h0+log(k+1)式7。

其中,η表示调整系数,h0可以表示该节目在排序结果中的所有节目中的排序,k表示初步搜索结果中的节目总数。

例如,η等于5,h0等于3,k等于7,则可以计算得到log(k+1)等于3,h等于18,即,该节目在排序结果中的最低排序为18。若该节目在排序结果中的当前排序低于18,则将该节目在排序结果中的排序调整为18。

在步骤s142中,根据调整后的排序结果响应视频搜索请求。

在一种可能的实现方式中,计算初步搜索结果中各类型的视频数据的分数,可以包括:在各类型的视频数据中包括自频道的情况下,根据以下至少一项计算自频道的分数:自频道的频道主的属性、自频道中各个视频的分数、初步搜索结果中属于自频道的视频的数量、自频道的视频总数以及视频搜索请求与自频道的相关性。

作为该实现方式的一个示例,自频道的分数可以至少根据自频道的频道主的属性确定。其中,自频道的频道主的属性可以包括该频道主的粉丝数等,在此不作限定。例如,自频道的分数可以与该自频道的频道主的粉丝数正相关。

作为该实现方式的一个示例,自频道的分数可以至少根据自频道中各个视频的分数确定。例如,自频道的分数可以与自频道中各个视频的平均分正相关。

作为该实现方式的一个示例,自频道的分数可以至少根据初步搜索结果中属于自频道的视频的数量以及自频道的视频总数确定。例如,自频道的分数可以与初步搜索结果中属于该自频道的视频的数量与自频道的视频总数的比值正相关。例如,若初步搜索结果中属于某一自频道的视频的数量为10,该自频道的视频总数为100,则自频道的分数可以与初步搜索结果中属于该自频道的视频的数量与自频道的视频总数的比值为0.1。

作为该实现方式的一个示例,自频道的分数可以至少根据视频搜索请求与自频道的相关性确定。自频道与视频搜索请求的相关性可以根据该自频道的特征词与视频搜索请求中的搜索词的相似度确定。其中,自频道的特征词可以根据该自频道中各个视频的标题、副标题、类型、标签和关键词中的至少一项确定。例如,可以对该自频道中各个视频的标题和副标题进行分词,将分词结果中的各个词与各个视频的类型、标签和关键词分别作为该自频道的特征词。自频道的特征词与搜索词的相似度可以根据自频道的特征词的词向量、tf-idf以及搜索词的词向量、tf-idf确定,在此不作限定。

作为该实现方式的一个示例,可以采用式5计算自频道的分数s3:

其中,s30可以表示所有自频道的基础得分,s30可以大于0,也可以等于0或者小于0,在此不作限定。本领域技术人员可以根据实际应用场景灵活设置s30。ci表示自频道的第i项得分,αi表示第i项得分的权重,m表示自频道的得分的总项数。例如,可以根据自频道的频道主的属性确定c1,根据自频道中各个视频的分数确定c2,根据初步搜索结果中属于自频道的视频的数量与自频道的视频总数的比值确定c3,根据视频搜索请求与自频道的相关性确定c4,在此不作限定。其中,c3的取值范围可以为[0,1],c4的取值范围可以为[-1,1]。

在一种可能的实现方式中,计算初步搜索结果中各类型的视频数据的分数,可以包括:在各类型的视频数据中包括播单的情况下,根据以下至少一项计算播单的分数:播单的类型、播单的生成时间、播单对应的反馈信息和播单中各个视频的分数。

作为该实现方式的一个示例,播单的分数可以至少根据播单的类型确定。例如,播单的类型可以包括官方类型和播控类型,官方类型对应的分数可以高于播控类型对应的分数。

作为该实现方式的一个示例,播单的分数可以至少根据播单的生成时间确定。该播单的分数可以与第三差值负相关,其中,第三差值可以等于当前时间与该播单的生成时间的时间差。

作为该实现方式的一个示例,播单的分数可以至少根据播单对应的反馈信息确定。例如,该播单对应的反馈信息可以包括所有用户对该播单的评分的平均分,还可以包括所有用户针对该播单的评论总数等,在此不作限定。

作为该实现方式的一个示例,播单的分数可以至少根据播单中各个视频的分数确定。例如,播单的分数可以与播单中各个视频的平均分正相关。

作为该实现方式的一个示例,可以采用式6计算播单的分数s4:

其中,s40可以表示所有播单的基础得分,s40可以大于0,也可以等于0或者小于0,在此不作限定。本领域技术人员可以根据实际应用场景灵活设置s40。di表示播单的第i项得分,γi表示第i项得分的权重,l表示播单的得分的总项数。例如,可以根据播单的类型确定d1,根据播单的生成时间确定d2,根据播单对应的反馈信息确定d3,根据播单中各个视频的分数确定d4,在此不作限定。

实施例2

图3示出根据本公开一实施例的视频搜索装置的框图。如图3所示,该装置包括:获取模块31,用于在接收到视频搜索请求的情况下,获取所述视频搜索请求对应的初步搜索结果;计算模块32,用于计算所述初步搜索结果中各类型的视频数据的分数;排序模块33,用于根据各类型的视频数据的分数,对各类型的视频数据进行排序,得到排序结果;响应模块34,用于根据所述排序结果响应所述视频搜索请求。

在一种可能的实现方式中,各类型的视频数据包括以下至少一项:视频、节目、自频道和播单。

图4示出根据本公开一实施例的视频搜索装置的一示例性的框图。如图4所示:

在一种可能的实现方式中,所述计算模块32包括:第一计算子模块321,用于在各类型的视频数据中包括视频的情况下,根据以下至少一项计算所述视频的分数:所述视频与所述视频搜索请求的相关性、所述视频的上传者与所述视频搜索请求的相关性、所述视频搜索请求对应的搜索用户的用户反馈信息、所述视频的播放量、所述视频的观看完成比、所述视频的发布时间、所述视频被收藏的次数、所述视频的评论数量、所述视频的弹幕数量和所述搜索用户针对所述视频的订阅状态。

在一种可能的实现方式中,所述计算模块32包括:第二计算子模块322,用于在各类型的视频数据中包括节目的情况下,根据以下至少一项计算所述节目的分数:所述节目的实时搜索量、所述节目的播放量、所述节目与所述视频搜索请求的相关性、所述节目对应的反馈信息、所述节目的发布时间、所述节目的版权状态和所述节目的站点信息。

在一种可能的实现方式中,所述响应模块34包括:调整子模块341,用于根据所述排序结果中节目的排序以及节目的总数,调整所述节目在所述排序结果中的排序;响应子模块342,用于根据调整后的排序结果响应所述视频搜索请求。

在一种可能的实现方式中,所述计算模块32包括:第三计算子模块323,用于在各类型的视频数据中包括自频道的情况下,根据以下至少一项计算所述自频道的分数:所述自频道的频道主的属性、所述自频道中各个视频的分数、所述初步搜索结果中属于所述自频道的视频的数量、所述自频道的视频总数以及所述视频搜索请求与所述自频道的相关性。

在一种可能的实现方式中,所述计算模块32包括:第四计算子模块324,用于在各类型的视频数据中包括播单的情况下,根据以下至少一项计算所述播单的分数:所述播单的类型、所述播单的生成时间、所述播单对应的反馈信息和所述播单中各个视频的分数。

本实施例提供的视频搜索装置能够提高搜索结果的准确性与多样性。

实施例3

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

装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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