一种视频索引分级方法及装置转让专利

申请号 : CN201610768637.4

文献号 : CN106326462B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王天畅陈英傑胡军叶澄灿

申请人 : 北京奇艺世纪科技有限公司

摘要 :

本发明实施例公开了一种视频索引分级方法及装置,所述方法包括:将全部视频中满足预设规则的视频对应的索引加入到一级索引中,并将全部视频对应的索引加入到二级索引中;对除所述一级索引包含的索引对应的视频之外的其他视频,抽取用于确定视频的索引是否需要加入到所述一级索引中的特征数据;根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型;针对除所述一级索引包含的索引对应的视频之外的每一视频,根据训练好的所述分类模型,确定是否需要将所述视频的索引加入到所述一级索引中;将所确定的索引加入到所述一级索引中。应用本发明实施例,节省了在线服务器的数量。

权利要求 :

1.一种视频索引分级方法,其特征在于,所述方法包括:将全部视频中满足预设规则的视频对应的索引加入到一级索引中,并将全部视频对应的索引加入到二级索引中;

对除所述一级索引包含的索引对应的视频之外的其他视频,抽取用于确定视频的索引是否需要加入到所述一级索引中的特征数据;

根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型;

针对除所述一级索引包含的索引对应的视频之外的每一视频,根据训练好的所述分类模型,确定是否需要将所述视频的索引加入到所述一级索引中;

将所确定的索引加入到所述一级索引中;

接收用户的视频搜索请求,所述视频搜索请求中至少包含请求结果数;

估计利用所述一级索引进行视频搜索返回的第一结果数,以及利用所述二级索引进行视频搜索返回的第二结果数;

根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别;

利用所确定级别的索引,进行视频搜索。

2.根据权利要求1所述的方法,其特征在于,所述根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型,包括:根据所述特征数据,利用梯度下降法,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型。

3.根据权利要求1所述的方法,其特征在于,所述根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别,包括:判断所述第一结果数是否不小于所述请求结果数;

如果是,将所述一级索引确定为用于进行视频搜索的索引;

如果否,判断所述第二结果数是否不小于所述请求结果数;如果是,将所述二级索引确定为用于进行视频搜索的索引;如果否,将所述一级索引确定为用于进行视频搜索的索引。

4.根据权利要求3所述的方法,其特征在于,在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,所述方法还包括:判断利用所述一级索引,进行视频搜索返回的实际搜索结果数是否小于所述请求结果数;

如果是,利用所述二级索引,继续进行视频搜索。

5.根据权利要求3所述的方法,其特征在于,在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,所述方法还包括:针对利用所述一级索引,进行视频搜索返回的每一搜索结果,计算所述搜索结果与所述视频搜索请求的相关度;

根据所述相关度,确定满足所述视频搜索请求的结果数量;

判断所述结果数量是否小于所述请求结果数;

如果是,利用所述二级索引,继续进行视频搜索。

6.一种视频索引分级装置,其特征在于,所述装置包括:加入模块,用于将全部视频中满足预设规则的视频对应的索引加入到一级索引中,并将全部视频对应的索引加入到二级索引中;

抽取模块,用于对除所述一级索引包含的索引对应的视频之外的其他视频,抽取用于确定视频的索引是否需要加入到所述一级索引中的特征数据;

训练模块,用于根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型;

第一确定模块,用于针对除所述一级索引包含的索引对应的视频之外的每一视频,根据训练好的所述分类模型,确定是否需要将所述视频的索引加入到所述一级索引中;

所述加入模块,还用于将所确定的索引加入到所述一级索引;

接收模块,用于接收用户的视频搜索请求,所述视频搜索请求中至少包含请求结果数;

估计模块,用于估计利用所述一级索引进行视频搜索返回的第一结果数,以及利用所述二级索引进行视频搜索返回的第二结果数;

第二确定模块,用于根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别;

搜索模块,用于利用所确定级别的索引,进行视频搜索。

7.根据权利要求6所述的装置,其特征在于,所述训练模块,具体用于:根据所述特征数据,利用梯度下降法,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型。

8.根据权利要求6所述的装置,其特征在于,所述第二确定模块,具体用于:判断所述第一结果数是否不小于所述请求结果数;

如果是,将所述一级索引确定为用于进行视频搜索的索引;

如果否,判断所述第二结果数是否不小于所述请求结果数;如果是,将所述二级索引确定为用于进行视频搜索的索引;如果否,将所述一级索引确定为用于进行视频搜索的索引。

9.根据权利要求8所述的装置,其特征在于,所述装置还包括:第一处理模块,其中,所述第一处理模块,用于在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,判断利用所述一级索引,进行视频搜索返回的实际搜索结果数是否小于所述请求结果数;如果是,利用所述二级索引,继续进行视频搜索。

10.根据权利要求8所述的装置,其特征在于,所述装置还包括:第二处理模块,其中,所述第二处理模块,用于在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,针对利用所述一级索引,进行视频搜索返回的每一搜索结果,计算所述搜索结果与所述视频搜索请求的相关度;根据所述相关度,确定满足所述视频搜索请求的结果数量;判断所述结果数量是否小于所述请求结果数;如果是,利用所述二级索引,继续进行视频搜索。

说明书 :

一种视频索引分级方法及装置

技术领域

[0001] 本发明涉及视频处理技术领域,特别涉及一种视频索引分级方法及装置。

背景技术

[0002] 随着用户的需求提高,视频搜索引擎需要提供高频和高并发的在线服务,即同时让不同的用户在极低的响应时间内搜索到满意的视频。视频搜索引擎根据用户的视频搜索请求,在索引中进行搜索。
[0003] 随着用户数、访问数的增长带来视频搜索引擎QPS(Query Per Second,每秒查询率)负载的提升,即每秒须同时处理的请求数更多,另外,每天网络上不断有新的视频产生,造成搜索引擎索引量的数量巨大,为了保证视频搜索的召回率,所有视频均需建立索引,容纳一套索引需要的服务器内存空间会越来越大。但服务器由于带宽等限制,单台服务器所能承担的QPS负载是有限的,服务器的内存空间也是有限的,为了满足QPS负载和索引量的不断增长,现有的方法是增加服务器的数量,但这种方法会导致在线服务器的数量庞大。

发明内容

[0004] 本发明实施例的目的在于提供一种视频索引分级方法及装置,以节省在线服务器的数量。
[0005] 为达到上述目的,本发明实施例公开了一种视频索引分级方法,所述方法包括:
[0006] 将全部视频中满足预设规则的视频对应的索引加入到一级索引中,并将全部视频对应的索引加入到二级索引中;
[0007] 对除所述一级索引包含的索引对应的视频之外的其他视频,抽取用于确定视频的索引是否需要加入到所述一级索引中的特征数据;
[0008] 根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型;
[0009] 针对除所述一级索引包含的索引对应的视频之外的每一视频,根据训练好的所述分类模型,确定是否需要将所述视频的索引加入到所述一级索引中;
[0010] 将所确定的索引加入到所述一级索引中。
[0011] 较佳的,所述方法还包括:
[0012] 接收用户的视频搜索请求,所述视频搜索请求中至少包含请求结果数;
[0013] 估计利用所述一级索引进行视频搜索返回的第一结果数,以及利用所述二级索引进行视频搜索返回的第二结果数;
[0014] 根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别;
[0015] 利用所确定级别的索引,进行视频搜索。
[0016] 较佳的,所述根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型,包括:
[0017] 根据所述特征数据,利用梯度下降法,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型。
[0018] 较佳的,所述根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别,包括:
[0019] 判断所述第一结果数是否不小于所述请求结果数;
[0020] 如果是,将所述一级索引确定为用于进行视频搜索的索引;
[0021] 如果否,判断所述第二结果数是否不小于所述请求结果数;如果是,将所述二级索引确定为用于进行视频搜索的索引;如果否,将所述一级索引确定为用于进行视频搜索的索引。
[0022] 较佳的,在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,所述方法还包括:
[0023] 判断利用所述一级索引,进行视频搜索返回的实际搜索结果数是否小于所述请求结果数;
[0024] 如果是,利用所述二级索引,继续进行视频搜索。
[0025] 较佳的,在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,所述方法还包括:
[0026] 针对利用所述一级索引,进行视频搜索返回的每一搜索结果,计算所述搜索结果与所述视频搜索请求的相关度;
[0027] 根据所述相关度,确定满足所述视频搜索请求的结果数量;
[0028] 判断所述结果数量是否小于所述请求结果数;
[0029] 如果是,利用所述二级索引,继续进行视频搜索。
[0030] 为达到上述目的,本发明实施例还公开了一种视频索引分级装置,所述装置包括:
[0031] 加入模块,用于将全部视频中满足预设规则的视频对应的索引加入到一级索引中,并将全部视频对应的索引加入到二级索引中;
[0032] 抽取模块,用于对除所述一级索引包含的索引对应的视频之外的其他视频,抽取用于确定视频的索引是否需要加入到所述一级索引中的特征数据;
[0033] 训练模块,用于根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型;
[0034] 第一确定模块,用于针对除所述一级索引包含的索引对应的视频之外的每一视频,根据训练好的所述分类模型,确定是否需要将所述视频的索引加入到所述一级索引;
[0035] 所述加入模块,还用于将所确定的索引加入到所述一级索引。
[0036] 较佳的,所述装置还包括:
[0037] 接收模块,用于接收用户的视频搜索请求,所述视频搜索请求中至少包含请求结果数;
[0038] 估计模块,用于估计利用所述一级索引进行视频搜索返回的第一结果数,以及利用所述二级索引进行视频搜索返回的第二结果数;
[0039] 第二确定模块,用于根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别;
[0040] 搜索模块,用于利用所确定级别的索引,进行视频搜索。
[0041] 较佳的,所述训练模块,具体用于:
[0042] 根据所述特征数据,利用梯度下降法,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型。
[0043] 较佳的,所述第二确定模块,具体用于:
[0044] 判断所述第一结果数是否不小于所述请求结果数;
[0045] 如果是,将所述一级索引确定为用于进行视频搜索的索引;
[0046] 如果否,判断所述第二结果数是否不小于所述请求结果数;如果是,将所述二级索引确定为用于进行视频搜索的索引;如果否,将所述一级索引确定为用于进行视频搜索的索引。
[0047] 较佳的,所述装置还包括:第一处理模块,其中,
[0048] 所述第一处理模块,用于在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,判断利用所述一级索引,进行视频搜索返回的实际搜索结果数是否小于所述请求结果数;如果是,利用所述二级索引,继续进行视频搜索。
[0049] 较佳的,所述装置还包括:第二处理模块,其中,
[0050] 所述第二处理模块,用于在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,针对利用所述一级索引,进行视频搜索返回的每一搜索结果,计算所述搜索结果与所述视频搜索请求的相关度;根据所述相关度,确定满足所述视频搜索请求的结果数量;判断所述结果数量是否小于所述请求结果数;如果是,利用所述二级索引,继续进行视频搜索。
[0051] 由上述技术方案可见,本发明实施例提供一种视频索引分级方法及装置,所述方法包括:将全部视频中满足预设规则的视频对应的索引加入到所述一级索引中;对除所述一级索引包含的索引对应的视频之外的其他视频,抽取用于确定视频的索引是否需要加入到所述一级索引中的特征数据;根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型;针对除所述一级索引包含的索引对应的视频之外的每一视频,根据训练好的所述分类模型,确定是否需要将所述视频的索引加入到所述一级索引中;将所确定的索引加入到所述一级索引中;将全部视频对应的索引加入到二级索引中。
[0052] 应用本发明实施例,通过建立两级索引,容纳一级索引所需要的服务器的数量小于容纳二级索引所需要的服务器的数量,而且一级索引能够承担大部分QPS负载,二级索引只需较少的服务器数量承担剩余小部分QPS负载,所以,在相同索引量和QPS负载下,节省了在线服务器的数量。
[0053] 当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

[0054] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0055] 图1为本发明实施例提供的一种视频索引分级方法的流程示意图;
[0056] 图2为本发明实施例提供的另一种视频索引分级方法的流程示意图;
[0057] 图3为本发明实施例提供的一种视频索引分级装置的结构示意图;
[0058] 图4为本发明实施例提供的另一种视频索引分级装置的结构示意图。

具体实施方式

[0059] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060] 为了解决现有技术问题,本发明实施例提供了一种视频索引分级方法及装置。下面首先对本发明实施例所提供的一种视频索引分级方法进行介绍。
[0061] 图1为本发明实施例提供的一种视频索引分级方法的流程示意图,方法可以包括:
[0062] S101:将全部视频中满足预设规则的视频对应的索引加入到一级索引中,并将全部视频对应的索引加入到二级索引中。
[0063] 需要说明的是,预设规则可以根据具体情况而定,可以是将具有明显特征的视频对应的索引加入到一级索引,这里所说的明显特征可以为视频的名称、视频的类型、时长、站点、上线时间、在预设时间内被搜索或点击的次数等等,可以根据实际需要选择上述所说的明显特征中的一种或多种组成预设规则,对视频进行筛选。例如,可以将视频的时长超过预设值作为预设规则,将满足该预设规则的视频的索引加入到一级索引;还可以将在预设时间内被搜索或点击的次数排名在预设排名内的视频的索引加入到一级索引。示例性的,可以将上线时间是2016年的视频对应的索引加入到一级索引中。
[0064] 本领域人员可以理解的是,为了保证视频的召回率,需要建立全部视频的索引,将全部视频对应的索引加入到二级索引中。
[0065] S102:对除所述一级索引包含的索引对应的视频之外的其他视频,抽取用于确定视频的索引是否需要加入到所述一级索引中的特征数据。
[0066] 本领域技术人员可以理解的是,抽取视频的特征数据,这里所抽取的特征数据可以分为三类:一是视频本身的属性,例如时长、上线时间、码率等等;二是通过搜索日志统计的视频搜索点击的相关特征,例如各时间维度上的搜索次数、点击次数等等;三是人工构建特征,例如视频的搜索趋势等等。
[0067] 在实际应用中,需要对抽取的特征数据进行处理,去除噪音数据,如将时长为0的视频对应的特征数据删除,将去除噪声数据后的特征数据进行归一化处理,归一化的目的为了加快训练的收敛性。本发明实施例中的归一化处理为:去掉特征数据的量纲,并将去掉量纲的特征数据变为(0,1)之间的特征数据。
[0068] 在实际应用中,还需要针对除一级索引包含的索引对应的视频之外的其他视频设置标签,设置标签的方法为:根据当天的搜索日志,判断视频在当天是否被搜索展示,如果是,将该视频的标签设置为第一预设标识,如果否,将该视频的标签设置为第二预设标识。例如,第一预设标识可以为1,第二预设标识可以为0;或者,第一预设标识可以为A,第二预设标识可以为B等等。设置标签会对视频对应的索引是否可以加入一级索引产生影响。日志是发生在网站服务器上的所有事件的记录,包括用户访问记录,搜索引擎抓取记录,这里所说的搜索日志是搜索的记录。
[0069] S103:根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型。
[0070] 具体的,所述根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型,可以包括:
[0071] 根据所述特征数据,利用梯度下降法,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型。
[0072] 需要说明的是,梯度下降法又被称为最速下降法(Steepest descend method),其理论基础是梯度的概念,利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数逐步减小。梯度下降法是机器学习算法的其中一种。机器学习算法的本质就是如何对问题抽象建模,使一个学习的问题变为一个可求解的优化问题,机器学习就是寻找输入特征与输出之间的映射关系,在寻找映射关系时,重要的原则就是使得寻找到的映射结果与原始输出之间的误差最小。利用梯度下降法训练分类模型是现有技术,在这里不进行赘述。需要说明的是,实际应用中,分类模型可以是逻辑回归模型。逻辑回归(Logistic Regression)模型是机器学习中的一种分类模型,由于算法的简单和高效,在实际中应用非常广泛。
[0073] S104:针对除所述一级索引包含的索引对应的视频之外的每一视频,根据训练好的所述分类模型,确定是否需要将所述视频的索引加入到所述一级索引中。
[0074] 本领域技术人员可以理解的是,训练好的分类模型可以根据视频的特征数据或根据特征数据和设置的标签,对视频标记一个数值,如果这个数值不小于预设数值,则该视频的索引为确定的索引,否则,该索引不是所确定的索引。
[0075] S105:将所确定的索引加入到所述一级索引中。
[0076] 本领域技术人员可以理解的是,在将所确定的索引加入到一级索引后,需要判断一级索引是否能承担预设阈值的QPS负载,如果不能,根据实际情况增加一级索引的索引量,直至一级索引能承担预设阈值的QPS负载。例如,可以扩大预设规则的范围,将满足扩大后的预设规则的视频,将该视频的索引加入到一级索引,假设,原先预设规则为将上线时间为2016年的视频的索引加入到一级索引,现在可以将上线时间为2016年扩大为2015年和2016年;或者,调整S104中的预设数值的大小,使更多的视频标记的数值可以不小于预设数值。当然,并不仅限于此,在这里不进行一一赘述。
[0077] 本领域人员技术人员可以理解的是,因每天都有新的视频产生,为了保证召回率,需要在预设时间内,更新一级索引和二级索引。
[0078] 应用本发明实施例,通过建立两级索引,容纳一级索引所需要的服务器的数量小于容纳二级索引所需要的服务器的数量,而且一级索引能够承担大部分QPS负载,二级索引只需较少的服务器数量承担剩余小部分QPS负载,所以,在相同索引量和QPS负载下,节省了在线服务器的数量。
[0079] 下面对减少服务器数量的原因进行具体说明。
[0080] 为了满足用户的需求,索引需尽可能包含更多的视频,让任何用户在搜索时都能找到自己想看的视频,即有较高的召回率才能保证搜索服务的质量,这就需要把从创建时间较早到最新的所有视频全部收入索引中。现在每天都会产生新视频,不断的添加新的视频到索引中,造成索引量越来越大。但是,从搜索日志中可以发现,每天用户搜索到和点击观看的视频只占全部索引包含视频的小部分,还有很多视频由于用户兴趣转移,被搜索展示到的机会逐渐减小;从全部索引中划分出来部分索引,作为一级索引,以全部的视频作为二级索引,就可节省大量的服务器。根据实际情况可知,建立的一级索引可以满足大部分的视频搜索请求,但是相较于全部视频的二级索引,一级索引的容量较小,所以一套一级索引所需的服务器个数也比全量索引所需服务器数量少,如果可以用一级索引满足大部分在线请求,这部分视频搜索请求对应的服务器就可减少许多,达到节省服务器的目的,同理,在相同服务器成本下,也可以容纳更多的索引量,负载更多的QPS。假设,当前QPS负载总量为Q,需要n套容纳全部索引的服务器组可满足需求,一套服务器组包含p台服务器,则当前线上所需服务器总数为n×p,设一级索引可承担80%的QPS负载,且一级索引的大小为全部索引的25%,则索引分级所需的服务器总数为:
[0081] n×0.8×(p×0.25)+n×(1-0.8)×p=0.4×n×p
[0082] 相同索引量和QPS负载下可节约60%的服务器。因此,应用本发明实施例,根据视频搜索请求估计是在一级索引中搜索还是在二级索引中搜索,根据估计的结果,确定用于进行视频搜索的索引级别,在确定的索引级别中,进行视频搜索。由于本发明实施例中一级索引包含全部视频中部分视频的索引,而且该一级索引能够承担QPS负载,容纳一级索引的服务器相对于容纳二级索引的服务器的数量要少;相较于现有技术中,二级索引承担全部的QPS,二级索引由于一级索引的分担QPS负载,为了满足QPS负载,需要容纳二级索引的服务器也减少。在QPS负载和索引量相同的情况下,减少服务器的数量,同理,在服务器的数量相同的情况下,相较于现有技术,可以容纳更大的索引量和更高的QPS负载。
[0083] 图2为本发明实施例提供的另一种视频搜索方法的流程示意图,本发明图2所示实施例在图1所示实施例的基础上,增加S106、S107、S108和S109。
[0084] S106:接收用户的视频搜索请求,所述视频搜索请求中至少包含请求结果数。
[0085] 本领域技术人员可以理解的是,当接收到的视频搜索请求,需要对视频搜索请求进行识别,根据识别后的视频搜索请求可以获得请求结果数,请求结果数是用户自定义需要返回的搜索结果的数量。
[0086] S107:估计利用所述一级索引进行视频搜索返回的第一结果数,以及利用所述二级索引进行视频搜索返回的第二结果数。
[0087] 在实际应用中,每个视频搜索请求针对的视频在一级索引中都有对应的统计数量,可以根据统计数量针对该视频搜索请求估计如果在一级索引中进行搜索反馈的第一结果数;同理,每个视频搜索请求针对的视频在二级索引中都有对应的统计数量,可以根据统计数量针对该请求估计如果在二级索引中进行搜索反馈的第二结果数。例如,视频搜索请求要求搜索的是“极限挑战”,在一级索引中统计的“极限挑战”的数量为15,那么,第一结果数为15;在二级索引中统计的“极限挑战”的数量为23,那么,第二结果数为23。
[0088] S108:根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别。
[0089] 具体的,所述根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别,可以判断所述第一结果数是否不小于所述请求结果数;如果是,将所述一级索引确定为用于进行视频搜索的索引;如果否,判断所述第二结果数是否不小于所述请求结果数;如果是,将所述二级索引确定为用于进行视频搜索的索引;如果否,将所述一级索引确定为用于进行视频搜索的索引。
[0090] 本领域技术人员可以理解的是,当第一结果数小于请求结果数,说明如果在一级索引中进行搜索,搜索结果可能会满足请求结果数,则直接在一级索引中进行搜索,如果在一级索引中进行搜索,搜索结果肯定不满足请求结果数,为了提高搜索效率,需要进一步地判断第二结果数是否不小于请求结果数。在第二结果数也小于请求结果数的情况下,为了提高服务效率,直接在一级索引中进行搜索。
[0091] 例如,第一结果数为10,第二结果数是20,在请求结果数为5的情况下,在一级索引中进行视频搜索很有可能返回搜索结果满足请求结果数,则将一级索引确定为用于进行视频搜索的索引;在请求结果数为25的情况下,在一级索引和二级索引中进行视频搜索很有可能返回搜索结果都不能满足请求结果数,则将一级索引确定为进行视频搜索的索引;在请求结果数为15的情况下,在一级索引中进行视频搜索很有可能返回搜索结果不能满足请求结果数,在二级索引中进行视频搜索很有可能返回搜索结果能满足请求结果数,则将二级索引确定为进行视频搜索的索引。
[0092] S109:利用所确定级别的索引,进行视频搜索。
[0093] 本领域技术人员可以理解的是,如果一级索引为所确定的索引,则根据视频搜索请求,利用一级索引进行视频搜索;如果二级索引为所确定的索引,则根据视频搜索请求,利用二级索引进行视频搜索。
[0094] 进一步的,在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,还可以(图2为示出):
[0095] 判断利用所述一级索引,进行视频搜索返回的实际搜索结果数是否小于所述请求结果数;
[0096] 如果是,利用所述二级索引,继续进行视频搜索。
[0097] 本领域技术人员可以理解的是,当利用一级索引进行视频搜索的结果数小于请求结果数时,为了提高服务质量,需要利用二级索引进行视频搜索。因为二级索引是全部视频的索引,如果利用二级索引,进行视频搜索返回的实际搜索结果数无论是否小于请求结果数,都会将实际搜索结果向用户进行展示。
[0098] 进一步的,在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,还可以(图2为示出):
[0099] 针对利用所述一级索引,进行视频搜索返回的每一搜索结果,计算所述搜索结果与所述视频搜索请求的相关度;
[0100] 根据所述相关度,确定满足所述请求的结果数量;
[0101] 判断所述结果数量是否小于所述请求结果数;
[0102] 如果是,利用所述二级索引,继续进行视频搜索。
[0103] 需要说明的是,在将一级索引确定为用于进行视频搜索的索引、第一结果数不小于请求结果数的情况下,需要进一步的对搜索结果进行检查。计算每一搜索结果与视频搜索请求的相关度,在实际应用中,可以根据不同的需求,计算相关度的函数可以不同。例如,可以将根据实际情况,将视频搜索请求中的针对视频的全部或部分特征赋予不同的权重,将搜索到的视频中与视频搜索请求中相同的特征标记为一个数字,将不同的特征标记为另一个数字,根据标记的结果和相关度的函数,可以计算出该视频与视频搜索请求的相关度。如果搜索结果中的视频与请求的相关度不小于预设阈值,则该视频为满足请求的视频,针对搜索结果中的每一视频,都要计算相关度并判断相关度是否不小于预设阈值,统计相关度不小于预设阈值对应的视频的数量,如果统计得到的数量小于请求结果数,为了提高服务质量,需要对二级索引进行搜索,如果统计得到的数量不小于请求结果数,则说明利用一级索引进行视频搜索就能满足用户的要求。
[0104] 需要说明的是,将在第一结果数小于请求结果数且第二结果数小于请求结果数的情况下,利用一级索引进行视频搜索返回的实际搜索结果,或在利用二级索引进视频搜索返回的实际搜索结果直接向用户展示,不需要将实际搜索结果数与请求结果数进行比较,也不需要在实际搜索结果数不小于请求结果数的情况下,计算实际搜索结果中的每一视频与视频搜索请求的相关度。当然,如果利用一级索引或二级索引进行视频搜索返回的实际搜索结果数量太多,可以按照一定的规则筛选出预期数量的搜索结果。
[0105] 应用本发明实施例,通过建立两级索引,容纳一级索引所需要的服务器的数量小于容纳二级索引所需要的服务器的数量,而且一级索引能够承担大部分QPS负载,二级索引只需较少的服务器数量承担剩余小部分QPS负载,所以,在相同索引量和QPS负载下,节省了在线服务器的数量。因为视频索引分级而造成了服务质量下降,本发明实施例还通过估计利用分级后的索引进行视频搜索返回的结果数,确定用于进行视频搜索的索引级别,在所确定的索引中进行视频搜索,可以保证服务质量。
[0106] 图3为本发明实施例提供的一种视频索引分级装置的结构示意图,所述装置可以包括:加入模块201、抽取模块202、训练模块203和第一确定模块204。
[0107] 加入模块201,用于将全部视频中满足预设规则的视频对应的索引加入到所述一级索引中,并将全部视频对应的索引加入到二级索引中。
[0108] 加入模块201,还用于将所确定的索引加入到所述一级索引。
[0109] 抽取模块202,用于对除所述一级索引包含的索引对应的视频之外的其他视频,抽取用于确定视频的索引是否需要加入到所述一级索引中的特征数据。
[0110] 训练模块203,用于根据所述特征数据,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型。
[0111] 具体的,所述训练模块203,可以用于:
[0112] 根据所述特征数据,利用梯度下降法,训练用于确定视频的索引是否需要加入到所述一级索引中的分类模型。
[0113] 第一确定模块204,用于针对除所述一级索引包含的索引对应的视频之外的每一视频,根据训练好的所述分类模型,确定是否需要将所述视频的索引加入到所述一级索引。
[0114] 应用本发明实施例,通过建立两级索引,容纳一级索引所需要的服务器的数量小于容纳二级索引所需要的服务器的数量,而且一级索引能够承担大部分QPS负载,二级索引只需较少的服务器数量承担剩余小部分QPS负载,所以,在相同索引量和QPS负载下,节省了在线服务器的数量。
[0115] 图4为本发明实施例提供的另一种视频搜索装置的结构示意图,本发明图4所示实施例在图3所示实施例的基础上,增加接收模块205、估计模块206、第二确定模块207和搜索模块208。
[0116] 接收模块205,用于接收用户的视频搜索请求,所述搜索请求中至少包含请求结果数。
[0117] 估计模块206,用于估计利用所述一级索引进行视频搜索返回的第一结果数,以及利用所述二级索引进行视频搜索返回的第二结果数。
[0118] 第二确定模块207,用于根据所述请求结果数、所述第一结果数以及所述第二结果数,确定用于进行视频搜索的索引级别。
[0119] 具体的,所述第二确定模块207,可以用于:
[0120] 判断所述第一结果数是否不小于所述请求结果数;
[0121] 如果是,将所述一级索引确定为用于进行视频搜索的索引;
[0122] 如果否,判断所述第二结果数是否不小于所述请求结果数;如果是,将所述二级索引确定为用于进行视频搜索的索引;如果否,将所述一级索引确定为用于进行视频搜索的索引。
[0123] 搜索模块208,用于利用所确定级别的索引,进行视频搜索。
[0124] 进一步的,还可以包括第一处理模块(图4未示出):
[0125] 其中,第一处理模块,用于在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,判断利用所述一级索引,进行视频搜索返回的实际搜索结果数是否小于所述请求结果数;如果是,利用所述二级索引,继续进行视频搜索。
[0126] 进一步的,还可以包括第二处理模块(图4未示出):
[0127] 其中,第二处理模块,用于在将所述一级索引确定为用于进行视频搜索的索引、且所述第一结果数不小于所述请求结果数的情况下,针对利用所述一级索引,进行视频搜索返回的每一搜索结果,计算所述搜索结果与所述视频搜索请求的相关度;根据所述相关度,确定满足所述视频搜索请求的结果数量;判断所述结果数量是否小于所述请求结果数;如果是,利用所述二级索引,继续进行视频搜索。
[0128] 应用本发明实施例,通过建立两级索引,容纳一级索引所需要的服务器的数量小于容纳二级索引所需要的服务器的数量,而且一级索引能够承担大部分QPS负载,二级索引只需较少的服务器数量承担剩余小部分QPS负载,所以,在相同索引量和QPS负载下,节省了在线服务器的数量。因为视频索引分级而造成了服务质量下降,本发明实施例还通过估计利用分级后的索引进行视频搜索返回的结果数,确定用于进行视频搜索的索引级别,在所确定的索引中进行视频搜索,可以保证服务质量。
[0129] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0130] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0131] 本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
[0132] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。