一种搜索处理方法、装置、电子设备及存储介质
技术领域
本公开涉及搜索引擎技术领域,具体而言,涉及一种搜索处理方法、装置、电子设备及存储介质。
背景技术
在涉及大量数据的业务场景中,往往会用到搜索技术,比如针对一些搜索类的客户端,用户可以在客户端输入搜索信息,然后搜索引擎可以根据该搜索信息在媒体内容库中召回与该搜索信息相关的媒体内容,并发送至客户端。
搜索引擎在基于搜索信息进行搜索时,可以对搜索信息中包含的各个关键词进行组合,得到多种索引词组,然后基于每种索引词组在媒体内容库中查找与每种索引词组相关的媒体内容。
当搜索信息中包含的关键词数量较多,得到的索引词组数量较大时,容易造成的搜索压力较大,搜索效率较低的问题。
发明内容
本公开实施例至少提供一种搜索处理方案,以降低搜索压力,提高搜索效率。
第一方面,本公开实施例提供了一种搜索处理方法,包括:
获取搜索信息中包含的多个关键词;
基于所述多个关键词,确定用于进行检索的至少一个目标索引词组;所述目标索引词组中的关键词数量大于预设数量;
针对每个所述目标索引词组,基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在所述媒体内容库中对应的媒体内容数量;每个所述子索引词组中的关键词数量大于或等于1,且小于或等于所述预设数量;
基于每个目标索引词组以及各个子索引词组在所述媒体内容库中对应的媒体内容数量,确定该搜索信息关联的有效索引词组。
在一种可能的实施方式中,所述获取搜索信息中包含的多个关键词,包括:
对所述搜索信息关联的文本进行分词,得到多个词单元;
基于每个词单元在媒体内容库中对应的媒体内容数量,以及所述媒体内容库中的媒体内容总量,确定用于表征该词单元在媒体内容库中的重要程度的分值;
将对应分值超过设定分值的词单元作为所述搜索请求的关键词。
在一种可能的实施方式中,所述基于所述多个关键词,确定用于进行检索的至少一个目标索引词组,包括:
基于所述多个关键词的关键词总数,确定包含的关键词个数大于所述预设数量的至少一种索引词组类型,不同索引词组类型对应的索引词组包含的关键词个数不同;
按照每种索引词组类型,在所述多个关键词中提取与该种索引词组类型对应个数的关键词,得到与该种索引词组类型关联的至少一个目标索引词组。
在一种可能的实施方式中,按照以下方式确定任一目标索引词组在所述媒体内容库中对应的媒体内容数量:
确定该任一目标索引词组包含的不同维度的子索引词组,不同维度的子索引词组中包含的关键词个数不同;
基于预先存储的不同维度的子索引词组对应的媒体内容数量,确定该任一目标索引词组中,每个高维度的子索引词组相对于与该高维度的子索引词组对应的低维度的子索引词组的降维特征;
对该任一目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量的数量级进行处理,得到该任一目标索引词组对应的各个子索引词组对应的媒体内容数量特征;
基于所述任一目标索引词组关联的所述降维特征和所述媒体内容数量特征,确定所述任一目标索引词组在所述媒体内容库中对应的媒体内容数量。
在一种可能的实施方式中,针对每个所述目标索引词组,基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在所述媒体内容库中对应的媒体内容数量,包括:
基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量和对应的网络模型,得到该目标索引词组在所述媒体内容库中对应的媒体内容数量;其中,不同的网络模型用于预估包含不同关键词个数的目标索引词组在所述媒体内容库中对应的媒体内容数量。
在一种可能的实施方式中,按照以下方式预先训练所述网络模型:
获取样本搜索信息中包含的多个样本关键词;
基于所述多个样本关键词,确定用于进行检索的至少一个样本索引词组,所述样本索引词组中的关键词数量大于预设数量;获取所述样本搜索信息中,每个样本索引词组在所述媒体内容库中对应的真实媒体内容数量;
针对每个所述样本索引词组,基于预先存储的该样本索引词组对应的各个样本子索引词组在媒体内容库中对应的媒体内容数量和待训练的网络模型,预估该样本索引词组在所述媒体内容库中对应的媒体内容数量;每个所述样本子索引词组中的关键词数量大于或等于1,且小于或等于所述预设数量;
基于预估的该样本索引词组在所述媒体内容库中对应的媒体内容数量,以及该样本索引词组在所述媒体内容库中对应的真实媒体内容数量,对所述待训练的网络模型中的模型参数值进行调整,得到训练后的网络模型。
在一种可能的实施方式中,所述搜索处理方法还包括:
响应于客户端针对所述搜索信息触发的搜索请求,确定所述搜索信息关联的每个有效索引词组在所述媒体内容库中对应的媒体内容数量;
在媒体内容库中对应的媒体内容数量达到设定阈值的有效索引词组中,选择包含的关键词个数最多的有效索引词组作为推荐索引词组;
将所述推荐索引词组对应的媒体内容作为搜索结果发送至所述客户端。
第二方面,本公开实施例提供了一种搜索处理方法,包括:
接收客户端发送的搜索请求;
基于所述搜索请求中包含的关键词,确定所述搜索请求关联的各个索引词组;
在媒体内容库中对应的媒体内容数量达到设定阈值的索引词组中,选择包含的关键词个数最多的索引词组作为推荐索引词组,所述索引词组对应的媒体内容数量按照第一方面所述的搜索处理方法确定;
将所述推荐索引词组对应的媒体内容作为搜索结果发送至所述客户端。
第三方面,本公开实施例提供了一种搜索处理装置,包括:
获取模块,用于获取搜索信息中包含的多个关键词;
第一确定模块,用于基于所述多个关键词,确定用于进行检索的至少一个目标索引词组;所述目标索引词组中的关键词数量大于预设数量;
第二确定模块,用于针对每个所述目标索引词组,基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在所述媒体内容库中对应的媒体内容数量;每个所述子索引词组中的关键词数量大于或等于1,且小于或等于所述预设数量;
第三确定模块,用于基于每个目标索引词组以及各个子索引词组在所述媒体内容库中对应的媒体内容数量,确定该搜索信息关联的有效索引词组。
在一种可能的实施方式中,所述获取模块在用于获取搜索信息中包含的多个关键词时,包括:
对所述搜索信息关联的文本进行分词,得到多个词单元;
基于每个词单元在媒体内容库中对应的媒体内容数量,以及所述媒体内容库中的媒体内容总量,确定用于表征该词单元在媒体内容库中的重要程度的分值;
将对应分值超过设定分值的词单元作为所述搜索请求的关键词。
在一种可能的实施方式中,所述第一确定模块在用于基于所述多个关键词,确定用于进行检索的至少一个目标索引词组时,包括:
基于所述多个关键词的关键词总数,确定包含的关键词个数大于所述预设数量的至少一种索引词组类型,不同索引词组类型对应的索引词组包含的关键词个数不同;
按照每种索引词组类型,在所述多个关键词中提取与该种索引词组类型对应个数的关键词,得到与该种索引词组类型关联的至少一个目标索引词组。
在一种可能的实施方式中,所述第一确定模块用于按照以下方式确定任一目标索引词组在所述媒体内容库中对应的媒体内容数量:
确定该任一目标索引词组包含的不同维度的子索引词组,不同维度的子索引词组中包含的关键词个数不同;
基于预先存储的不同维度的子索引词组对应的媒体内容数量,确定该任一目标索引词组中,每个高维度的子索引词组相对于与该高维度的子索引词组对应的低维度的子索引词组的降维特征;
对该任一目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量的数量级进行处理,得到该任一目标索引词组对应的各个子索引词组对应的媒体内容数量特征;
基于所述任一目标索引词组关联的所述降维特征和所述媒体内容数量特征,确定所述任一目标索引词组在所述媒体内容库中对应的媒体内容数量。
在一种可能的实施方式中,针对每个所述目标索引词组,所述第二确定模块在用于基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在所述媒体内容库中对应的媒体内容数量时,包括:
基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量和对应的网络模型,得到该目标索引词组在所述媒体内容库中对应的媒体内容数量;其中,不同的网络模型用于预估包含不同关键词个数的目标索引词组在所述媒体内容库中对应的媒体内容数量。
在一种可能的实施方式中,所述搜索处理装置还包括模型训练模块,所述模型训练模块用于按照以下方式预先训练所述网络模型:
获取样本搜索信息中包含的多个样本关键词;
基于所述多个样本关键词,确定用于进行检索的至少一个样本索引词组,所述样本索引词组中的关键词数量大于预设数量;获取所述样本搜索信息中,每个样本索引词组在所述媒体内容库中对应的真实媒体内容数量;
针对每个所述样本索引词组,基于预先存储的该样本索引词组对应的各个样本子索引词组在媒体内容库中对应的媒体内容数量和待训练的网络模型,预估该样本索引词组在所述媒体内容库中对应的媒体内容数量;每个所述样本子索引词组中的关键词数量大于或等于1,且小于或等于所述预设数量;
基于预估的该样本索引词组在所述媒体内容库中对应的媒体内容数量,以及该样本索引词组在所述媒体内容库中对应的真实媒体内容数量,对所述待训练的网络模型中的模型参数值进行调整,得到训练后的网络模型。
在一种可能的实施方式中,所述搜索处理装置还包括搜索模块,所述搜索模块用于:
响应于客户端针对所述搜索信息触发的搜索请求,确定所述搜索信息关联的每个有效索引词组在所述媒体内容库中对应的媒体内容数量;
在媒体内容库中对应的媒体内容数量达到设定阈值的有效索引词组中,选择包含的关键词个数最多的有效索引词组作为推荐索引词组;
将所述推荐索引词组对应的媒体内容作为搜索结果发送至所述客户端。
第四方面,本公开实施例提供了一种搜索处理装置,包括:
接收模块,用于接收客户端发送的搜索请求;
确定模块,用于基于所述搜索请求中包含的关键词,确定所述搜索请求关联的各个索引词组;
选择模块,用于在媒体内容库中对应的媒体内容数量达到设定阈值的索引词组中,选择包含的关键词个数最多的索引词组作为推荐索引词组,所述索引词组对应的媒体内容数量按照第一方面所述的搜索处理方法确定;
发送模块,用于将所述推荐索引词组对应的媒体内容作为搜索结果发送至所述客户端。
第五方面,本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面或第二方面所述的搜索处理方法的步骤。
第六方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面或第二方面所述的搜索处理方法的步骤。
本公开实施例提供的搜索处理方法,在得到搜索信息包含的多个关键词后,可以基于多个关键词,得到多个用于检索的索引词组,比如每个关键词可以构成一个索引词组,或者每两个关键词可以构成一个索引词组,或者两个以上的关键词构成一个索引词组,这样针对关键词数量大于预设数量的目标索引词组,可以基于该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,来确定该目标索引词组在媒体内容库中对应的媒体内容数量,从而可以基于对应的媒体内容数量,确定有效索引词组,比如将在媒体内容库能够搜索到媒体内容的索引词组作为有效索引词组,这样在基于该搜索信息进行检索时,即可以排除掉无效索引词组,通过减少搜索次数降低搜索压力,同时提高搜索效率。
另外,因为子索引词组中包含的关键词个数较少,可以预先保存各个子索引词组在媒体内容库中对应的媒体内容数量,然后即可以基于预先保存的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组对应的媒体内容数量,在不对存储***造成较大的存储压力的基础上,进一步提高搜索效率。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种搜索处理方法的流程图;
图2示出了本公开实施例所提供的一种搜索处理方法的具体应用方法流程图;
图3示出了本公开实施例所提供的另一种搜索处理方法的具体应用方法流程图;
图4示出了本公开实施例所提供的一种搜索处理装置的结构示意图;
图5示出了本公开实施例所提供的另一种搜索处理装置的结构示意图;
图6示出了本公开实施例所提供的一种电子设备的示意图;
图7示出了本公开实施例所提供的另一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在基于搜索信息进行搜索时,搜索引擎一般会基于该搜索信息包含的关键词构成多种索引词组来来召回与搜索信息相关的媒体内容,比如基于不同的关键词构成多种用于搜索的索引词组,然后按照每个索引词组分别召回的媒体内容,当搜索信息包含的关键词较多时,构成的索引词组的数量就较多,若依次按照每个索引词组进行搜索,容易造成的搜索压力较大,搜索效率较低的问题。
基于上述研究,本公开提供了一种搜索处理方法,在得到搜索信息包含的多个关键词后,可以基于多个关键词,得到多个用于检索的索引词组,比如每个关键词可以构成一个索引词组,或者每两个关键词可以构成一个索引词组,或者两个以上的关键词构成一个索引词组,这样针对关键词数量大于预设数量的目标索引词组,可以基于该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,来确定该目标索引词组在媒体内容库中对应的媒体内容数量,从而可以基于对应的媒体内容数量,确定有效索引词组,比如将在媒体内容库能够搜索到媒体内容的索引词组作为有效索引词组,这样在基于该搜索信息进行检索时,即可以排除掉无效索引词组,通过减少搜索次数降低搜索压力,同时提高搜索效率。
另外,因为子索引词组中包含的关键词个数较少,可以预先保存各个子索引词组在媒体内容库中对应的媒体内容数量,然后即可以基于预先保存的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组对应的媒体内容数量,在不对存储***造成较大的存储压力的基础上,进一步提高搜索效率。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种搜索处理方法进行详细介绍,本公开实施例所提供的搜索处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括服务器或其它处理设备。在一些可能的实现方式中,该搜索处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的搜索处理方法的流程图,该搜索处理方法应用于服务器,具体包括以下步骤S101~S104:
S101,获取搜索信息中包含的多个关键词。
其中该搜索信息可以是用户发送的搜索请求中携带的,也可以是当前统计的较为热门的搜索信息。
这里的关键词表示具有实际含义,且能够表示搜索信息部分含义的词单元,具体可以基于搜索信息中的各个词单元在媒体内容库中出现的次数,来确定搜索信息包含的关键词,将在后文进行具体说明。
S102,基于多个关键词,确定用于进行检索的至少一个目标索引词组;目标索引词组中的关键词数量大于预设数量。
搜索信息中的每个关键词均可以作为用于进行检索的索引词组,且不同关键词之间的组合也可以作为用于进行检索的索引词组,比如针对搜索信息“简约风演讲PPT的模板”,如该搜索信息包含的关键词为:“简约风”、“演讲”、“PPT”、“模板”,则可以作为“简约风”、“演讲”、“PPT”、“模板”可以分别构成索引词组,同时,每两个关键词也可以构成索引词组,比如“简约风演讲”、“简约风PPT”、“简约风模板”等,或者,每三个关键词也可以构成索引词组,同样这四个关键词也可以构成索引词组。
这里目标索引词组包含的关键词数量与服务器中的存储器的存储能力相关,比如服务器中的存储器可以以键值对形式存储媒体内容库中每个关键词对应的媒体内容数量,以及每两个关键词构成的组合关键词对应的媒体内容数量,若某搜索引擎中,保存的单个词汇的数量就高达45万。统计两个词汇的组合时,独立组合的数量即达到千亿量级,除去基本不会同时出现的词汇,也有10亿的量级。这种情况下,统计三个词汇同时出现的数量会出现万亿的组合数,这样普通的存储器无法进行存储,因此,本公开实施例将包含的关键词数量大于2的索引词组作为这里的目标索引词组。
S103,针对每个目标索引词组,基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在媒体内容库中对应的媒体内容数量。
其中,每个子索引词组中的关键词数量大于或等于1,且小于或等于预设数量。
针对每个目标索引词组,该目标索引词组对应的各个子索引词组是指指该目标索引词组中的每个关键词构成的子索引词组,或者包含大于1且小于或等于预设数量的关键词构成的子索引词组,比如某个目标索引词组包含3个关键词分别为A、B和C,则该目标索引词组的子索引词组包括3个单个关键词对应的子索引词组即“A”、“B”和“C”,以及包含每两个关键词构成的子索引词组,分别为“AB”、“AC”和“BC”。
另外,这里目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量可以预先以键值对的形式存储在存储器中,在需要对目标索引词组在媒体内容库中对应的媒体内容数量进行确定时,可以在存储器中提取预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量。
S104,基于每个目标索引词组以及各个子索引词组在媒体内容库中对应的媒体内容数量,确定该搜索信息关联的有效索引词组。
具体地,可以将在媒体内容库中对应的媒体内容数量超过设定阈值的索引词组作为有效索引词组,比如搜索信息中的某个目标索引词组或者某个子索引词组在媒体内容库中对应的媒体内容数量少于该设定阈值,则搜索引擎在基于搜索信息进行搜索时,则无需基于对应媒体内容数量小于该设定阈值的索引词组进行搜索,从而降低搜索压力,提高搜索效率。
以上为S101~S104提出的搜索处理方法,在得到搜索信息包含的多个关键词后,可以基于多个关键词,得到多个用于检索的索引词组,比如每个关键词可以构成一个索引词组,或者每两个关键词可以构成一个索引词组,或者两个以上的关键词构成一个索引词组,这样针对关键词数量大于预设数量的目标索引词组,可以基于该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,来确定该目标索引词组在媒体内容库中对应的媒体内容数量,从而可以基于对应的媒体内容数量,确定有效索引词组,比如将在媒体内容库能够搜索到媒体内容的索引词组作为有效索引词组,这样在基于该搜索信息进行检索时,即可以排除掉无效索引词组,通过减少搜索次数降低搜索压力,同时提高搜索效率。
另外,因为子索引词组中包含的关键词个数较少,可以预先保存各个子索引词组在媒体内容库中对应的媒体内容数量,然后即可以基于预先保存的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组对应的媒体内容数量,在不对存储***造成较大的存储压力的基础上,进一步提高搜索效率。
下面将结合具体实施例对上述S101~S104进行具体阐述。
针对上述S101,在获取搜索信息中包含的多个关键词时,可以包括以下(1)~(3):
(1)对搜索信息关联的文本进行分词,得到多个词单元。
这里可以基于预先构建的分词词典,对搜索信息关联的文本进行分词处理,这样即可以得到多个词单元,比如上文提到的针对“简约风演讲PPT的模板”进行分词处理,即可以得到多个词单元:“简约风”、“演讲”、“PPT”、“的”、“模板”。
(2)基于每个词单元在媒体内容库中对应的媒体内容数量,以及媒体内容库中的媒体内容总量,确定用于表征该词单元在媒体内容库中的重要程度的分值。
考虑到一些词单元,比如停用词在媒体内容库中出现的频次较高,几乎媒体内容库中所有的媒体内容均包含这类停用词,因此这类词单元在确定关键词时对应的重要程度的分值较低,具体地,这里的关键词是指能够表征该搜索信息的含义或者部分含义,在基于该关键词进行检索时,可以召回相关的媒体内容,基于此,在确定每个词单元的分值时,可以通过该词单元在媒体内容库中对应媒体内容数量除以媒体内容库中的媒体内容总量,然后对得到的商进一步处理,即可以得到作为表征该词单元在媒体内容库中的重要程度的分值。
具体地,每个词单元在媒体内容库中对应的媒体内容数量,是指媒体内容库中包含该词单元的媒体内容数量,考虑到包含该词单元的媒体内容数量小于或者远远小于媒体内容库中的媒体内容总量,则得到的商一般均小于1,且上述得到的商越小,表示重要程度越高,为了使得分值和重要程度成正相关,这里可以对得到的商进行取负对数,即可以得到表征该词单元在媒体内容库中的重要程度的分值。
(3)将对应分值超过设定分值的词单元作为搜索请求的关键词。
这里的设定分值可以为预先经过大数据统计确定的,然后将对应分值超过设定分值的词单元作为这里的搜索请求的关键词。
针对上述S102,即在基于多个关键词,确定用于进行检索的至少一个目标索引词组时,可以包括以下(1)~(2):
(1)基于多个关键词的关键词总数,确定包含的关键词个数大于预设数量的至少一种索引词组类型,不同索引词组类型对应的索引词组包含的关键词个数不同。
这里可以基于包含的关键词的个数,将索引词组分别不同的类型,这里在确定索引词组类型时,与该搜索信息包含的关键词总数相关,若该搜索信息包含的关键词总数为5,则该搜索信息对应的索引词组类型包括包含3个关键词的索引词组类型、包含4个关键词的索引词组类型以及包含5个关键词的索引词组类型。
(2)按照每种索引词组类型,在多个关键词中提取与该种索引词组类型对应个数的关键词,得到与该种索引词组类型关联的至少一个目标索引词组。
比如,针对包含3个关键词的索引词组类型,即在多个关键词中提取3个关键词,即可以构成包含3个关键词的索引词组类型对应的目标索引词组,比如多个关键词包含A、B、C和D,若目标索引词组要求包含2个以上的关键词,则这里可以得到两种索引词组类型,分别为包含3个关键词的索引词组类型和包含4个关键词的索引词组类型,其中包含3个关键词的索引词组类型对应的目标索引词组可以包括:“ABC”、“ABD”和“BCD”,同理可以得到包含4个关键词的索引词组类型对应的目标索引词组,具体过程在这里不再赘述。
具体地,针对上述S103,具体可以按照以下方式确定任一目标索引词组在媒体内容库中对应的媒体内容数量:
(1)确定该任一目标索引词组包含的不同维度的子索引词组,不同维度的子索引词组中包含的关键词个数不同。
这里的维度是指包含的关键词个数,比如包含两个关键词的子索引词组即可以记为二维的子索引词组,包含一个关键词的子索引词组即可以记为一维的子索引词组。
(2)基于预先存储的不同维度的子索引词组对应的媒体内容数量,确定该任一目标索引词组中,每个高维度的子索引词组相对于与该高维度的子索引词组对应的低维度的子索引词组的降维特征。
这里与该高纬度的子索引词组对应的低维度的子索引词是指:该低维度的子索引词中的关键词均出现在该高纬度的子索引词组中,比如,某个高纬度的子索引词组由关键词A和关键词B构成,则该高维度的子索引词组对应的低维度的子索引词组可以包括:关键词A构成的子索引词组和关键词B构成的子索引词组。
则针对由关键词A和关键词B构成的高维度的子索引词组,相对于与该高维度的子索引词组对应的低维度的子索引词组的降维特征,可以按照以下方式具体确定:
获取高维度的子索引词组对应的媒体内容数量,比如通过count(AB)来表示,则与该高维度的子索引词组对应的低维度的子索引词组包括由关键词A构成的子索引词组和由关键词B构成的子索引词组,这两个低维度的子索引词组对应的媒体内容数量可以通过count(A)和count(B)表示,则该高维度的子索引词组相对于与该高维度的子索引词组对应的低维度的子索引词组的降维特征可以通过count(AB)/count(A),以及count(AB)/count(B)来表示。
即降维特征可以通过高纬度的子索引词组对应的媒体内容数量和相关的低维度的子索引词对应的媒体内容数量的商表示。
(3)对该任一目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量的数量级进行处理,得到该任一目标索引词组对应的各个子索引词组对应的媒体内容数量特征。
考虑到各个降维特征,是通过高维度的子索引词组对应的媒体内容数量和相关的低维度的子索引词组对应的媒体内容数量作商得来的,因此降维特征的数量级与各个子索引词组在媒体内容库中对应的媒体内容数量的数量级相差较大,这里可以基于log对数,对该任一目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量的数量级进行降级处理,即可以得到该任一目标索引词组对应的各个子索引词组对应的媒体内容数量特征。
(4)基于该任一目标索引词组关联的降维特征和媒体内容数量特征,确定该任一目标索引词组在媒体内容库中对应的媒体内容数量。
这里该任一目标索引词组关联的降维度特征即为该任一目标索引词组中,每个高维度的子索引词组相对于与该高维度的子索引词组对应的低维度的子索引词组的降维特征;该任一目标索引词组关联的媒体内容数量特征即为该任一目标索引词组对应的各个子索引词组对应的媒体内容数量特征。
然后可以基于该任一目标索引词组关联的降维特征、媒体内容数量特征和对应的网络模型,来确定该任一目标索引词组在媒体内容库中对应的媒体内容数量,比如可以将该任一目标索引词组中的降维特征和媒体内容数量特征输入对应的网络模型,从而得到该任一目标索引词组在媒体内容库中对应的媒体内容数量,具体将在后文进行解释说明。
针对上述S103,针对每个目标索引词组,基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在媒体内容库中对应的媒体内容数量,可以包括:
基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量和对应的网络模型,得到该目标索引词组在媒体内容库中对应的媒体内容数量;其中,不同的网络模型用于预估包含不同关键词个数的目标索引词组在媒体内容库中对应的媒体内容数量。
这里包含不同关键词个数的索引词组对应的网络模型在训练时的可以根据不同索引词组类型的索引词组进行训练,比如训练包含3个关键词的索引词组对应的网络模型,则可以基于大量包含3个关键词的索引词组进行训练,当然,可以基于包含不同关键词的索引词组来训练多种网络模型。
这里的网络模型可以包含树模型,也可以包括神经网络模型,在此不做具体限定。
具体地,可以按照以下方式预先训练网络模型:
(1)获取样本搜索信息中包含的多个样本关键词。
这里获取样本索引信息中包含的多个样本关键词与上文提到的获取搜索信息中包含的多个关键词的方式相同,在这里不再赘述。
(2)基于多个样本关键词,确定用于进行检索的至少一个样本索引词组,样本索引词组中的关键词数量大于预设数量;获取样本搜索信息中,每个样本索引词组在媒体内容库中对应的真实媒体内容数量。
这里基于多个样本关键词,确定用于进行检索的至少一个样本索引词组与上文提到的基于多个关键词,确定用于进行检索的至少一个目标索引词组的方式相同,在此不再赘述。
另外这里需要提前统计出样本搜索信息中,每个样本索引词组在媒体内容库中对应的真实媒体内容数量。
(3)针对每个样本索引词组,基于预先存储的该样本索引词组对应的各个样本子索引词组在媒体内容库中对应的媒体内容数量和待训练的网络模型,预估该样本索引词组在媒体内容库中对应的媒体内容数量;每个样本子索引词组中的关键词数量大于或等于1,且小于或等于预设数量。
这里在基于预先存储的该样本索引词组对应的各个样本子索引词组在媒体内容库中对应的媒体内容数量和待训练的网络模型,预估该样本索引词组在媒体内容库中对应的媒体内容数量时,可以先确定该样本索引词组关联的降维特征和媒体内容数量特征,然后将该样本索引词组关联的降维特征和媒体内容数量特征输入待训练的网络模型,即可以预估该样本索引词组在媒体内容库中对应的媒体内容数量。
具体地,这里的待训练的网络模型可以包含与多种类型,若样本索引词组包含N个样本关键词,则基于包含N个样本关键词的样本索引词组训练得到的网络模型,可以用于预估包含N个关键词的目标索引词组对应的媒体内容数量。
(4)基于预估的该样本索引词组在媒体内容库中对应的媒体内容数量,以及该样本索引词组在媒体内容库中对应的真实媒体内容数量,对待训练的网络模型中的模型参数值进行调整,得到训练后的网络模型。
这里即在得到预估的该样本索引词组在媒体内容库中对应的媒体内容数量后,结合该样本索引词组在媒体内容库中对应的真实媒体内容数量,可以构成损失函数,基于该损失函数可以对待训练的网络模型中的模型参数值进行调整,当损失函数的损失值小于设定阈值,或者训练次数达到设定次数后,即可以得到训练后的网络模型。
具体在训练时,可以采集大量的搜索信息,然后基于这些搜索信息,得到包含不同样本关键词的样本索引词组,然后针对相同索引词组类型的样本索引词组分别对待训练的网络模型进行训练,即可以得到与每种索引词组类型对应的网络模型。
下面将结合具体实施例解释确定目标索引词组对应的媒体内容数量,以搜索信息为“ate all food”为例。
针对该搜索信息可以得到的关键词包括“ate”、“all”和“food”,然后获取存储器中存储的目标索引词组“ate all food”的各个子索引词组对应的媒体内容数量,比如“ate”对应的媒体内容数量为315220,即count(ate)=315220,同理,count(all)=4099216,count(food)=1826744,count(all&ate)=2912,count(all&food)=33378,count(ate&food)=33378;
针对这些子索引词组对应的媒体内容数量进行去对数后,该对数是以10为底的对数,可以得到各个子索引词组对应的多媒体内容数量特征:count(ate)=18.27,count(all)=21.97,count(food)=20.8,count(all&ate)=11.51,count(all&food)=15.03,count(ate&food)=11.06;
获取二维度的子索引词组与一维度的子索引词组的降维特征,得到:count(all&ate)/count(all)=0.524,count(all&ate)/count(ate)=0.630,count(all&food)/count(all)=0.684,count(all&food)/count(food)=0.723,count(ate&food)/count(ate)=0.605,count(ate&food)/count(food)=0.532;
然后将目标索引词组“ate all food”关联的各个多媒体内容数量特征和各个降维特征输入与用于预测包含三个关键词的目标索引词组对应的网络模型,即可以得到count(ate&all&food)=7.68,然后对该数取反对数,即可以得到count(ate&all&food)=205,即得到媒体内容库中同时包含“ate all food”的媒体内容数量为205。
以上搜索信息可以为服务器预先统计的一些热门搜索信息,按照上述方式即可以确定出这些热门搜索信息关联的有效索引词组。
如图2所示,在一种实施方式中,本公开提出搜索处理方法还包括以下具体步骤S201~S203:
S201,响应于客户端针对搜索信息触发的搜索请求,确定搜索信息关联的每个有效索引词组在媒体内容库中对应的媒体内容数量。
这里的搜索信息即可以为上述提到的搜索信息,即用户在客户端输入搜索信息进行搜索时,客户端可以生成并向服务器发送针对该搜索信息的搜索请求。
服务器可以针对该搜索信息确定该搜索信息关联的每个有效索引词组在媒体内容库中对应的媒体内容数量。
S202,在媒体内容库中对应的媒体内容数量达到设定阈值的有效索引词组中,选择包含的关键词个数最多的有效索引词组作为推荐索引词组。
为了节省搜索时间,同时为了搜索到与客户端输入的搜索信息相关的媒体内容,这里可以选择符合两个条件的有效索引词组作为推荐索引词组,第一个条件即为在媒体内容库中对应的媒体内容数量达到设定阈值,即保证用户基于该有效索引词组可以得到满足设定阈值的媒体内容数量,第二个条件即该有效索引词组中包含的关键词个数最多,即搜索与客户端输入的搜索信息最相关的媒体内容。
比如,某个搜索信息中包含4个关键词:A、B、C和D,若该搜索信息包含的索引词组均为有效索引词组,则这里先确定包含A、B、C和D的有效索引词组对应的媒体内容数量是否达到设定阈值,若是,则将包含A、B、C和D的有效索引词组作为推荐索引词组进行搜索,若未达到设定阈值,则可以查看包含三个关键词的有效索引词组对应的媒体内容数量是否达到设定阈值,按照该方式,找到符合上述两个条件的有效索引词组。
S203,将推荐索引词组对应的媒体内容作为搜索结果发送至客户端。
如图3所示,为本公开实施例提供的另一种搜索处理方法,具体可以包括以下步骤S301~S304:
S301,接收客户端发送的搜索请求。
该搜索请求中可以包含搜索信息。
S302,基于搜索请求中包含的关键词,确定搜索请求关联的各个索引词组。
这里的索引词组可以包含类似于上文提到的目标索引词组和各个子索引词组,即对包含的关键词的个数不进行限定。确定目标索引词组的方式具体方式可以参见上文提到的确定各个目标索引词组的方式,在这里不再具体阐述。
S303,在媒体内容库中对应的媒体内容数量达到设定阈值的索引词组中,选择包含的关键词个数最多的索引词组作为推荐索引词组。
这里在得到搜索请求关联的各个索引词组后,可以按照上述实施例提供的搜索处理方法,确定出包含关键词最多的索引词组对应的媒体内容数量,然后确定该媒体内容数量是否达到设定阈值,若达到的话,即将包含关键词最多的索引词组作为推荐索引词组,若未达到,依次降低关键词的数量,直至找到推荐索引词组。
特别地,这里的索引词组可以包含目标索引词组和目标索引词组对应的子索引词组,子索引词组对应的媒体内容数量可以是提前以键值对的形式存储在存储器中的,然后按照上述实施例提供的搜索处理方法,即可以预估出各个目标索引词组对应的媒体内容数量。
S304,将推荐索引词组对应的媒体内容作为搜索结果发送至客户端。
然后将通过推荐索引词组找到的媒体内容作为搜索结果发送至客户端进行展示。
该搜索处理方法即为在线进行搜索的一种方式,即接收到客户端发送的搜索请求后,再基于搜索请求中包含的搜索信息进行搜索处理,该方式在得到推荐索引词组后,无需再确定其它索引词组对应的媒体内容数量,该方式可以保障搜索到与客户端输入的搜索信息相关的媒体内容的基础上,提高搜索效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一技术构思,本公开实施例中还提供了与搜索处理方法对应的搜索处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述搜索处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图4所示,为本公开实施例提供的一种搜索处理装置400的示意图,该搜索处理装置400包括:获取模块401、第一确定模块402、第二确定模块403和第三确定模块404。
其中,获取模块401,用于获取搜索信息中包含的多个关键词;
第一确定模块402,用于基于多个关键词,确定用于进行检索的至少一个目标索引词组;目标索引词组中的关键词数量大于预设数量;
第二确定模块403,用于针对每个目标索引词组,基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在媒体内容库中对应的媒体内容数量;每个子索引词组中的关键词数量大于或等于1,且小于或等于预设数量;
第三确定模块404,用于基于每个目标索引词组以及各个子索引词组在媒体内容库中对应的媒体内容数量,确定该搜索信息关联的有效索引词组。
在一种可能的实施方式中,获取模块401在用于获取搜索信息中包含的多个关键词时,包括:
对搜索信息关联的文本进行分词,得到多个词单元;
基于每个词单元在媒体内容库中对应的媒体内容数量,以及媒体内容库中的媒体内容总量,确定用于表征该词单元在媒体内容库中的重要程度的分值;
基于每个词单元的对应分值,对多个词单元进行降序排序,并将排序前设定个数的词单元作为搜索请求的关键词。
在一种可能的实施方式中,第一确定模块402在用于基于多个关键词,确定用于进行检索的至少一个目标索引词组时,包括:
基于多个关键词的关键词总数,确定包含的关键词个数大于预设数量的至少一种索引词组类型,不同索引词组类型对应的索引词组包含的关键词个数不同;
按照每种索引词组类型,在多个关键词中提取与该种索引词组类型对应个数的关键词,得到与该种索引词组类型关联的至少一个目标索引词组。
在一种可能的实施方式中,第一确定模块401用于按照以下方式确定任一目标索引词组在媒体内容库中对应的媒体内容数量:
确定该任一目标索引词组包含的不同维度的子索引词组,不同维度的子索引词组中包含的关键词个数不同;
基于预先存储的不同维度的子索引词组对应的媒体内容数量,确定该任一目标索引词组中,每个高维度的子索引词组相对于与该高维度的子索引词组对应的低维度的子索引词组的降维特征;
对该任一目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量的数量级进行处理,得到该任一目标索引词组对应的各个子索引词组对应的媒体内容数量特征;
基于任一目标索引词组关联的降维特征和媒体内容数量特征,确定任一目标索引词组在媒体内容库中对应的媒体内容数量。
在一种可能的实施方式中,针对每个目标索引词组,第二确定模块402在用于基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在媒体内容库中对应的媒体内容数量时,包括:
基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量和对应的网络模型,得到该目标索引词组在媒体内容库中对应的媒体内容数量;其中,不同的网络模型用于预估包含不同关键词个数的目标索引词组在媒体内容库中对应的媒体内容数量。
在一种可能的实施方式中,搜索处理装置400还包括模型训练模块405,模型训练模块405用于按照以下方式预先训练网络模型:
获取样本搜索信息中包含的多个样本关键词;
基于多个样本关键词,确定用于进行检索的至少一个样本索引词组,样本索引词组中的关键词数量大于预设数量;获取样本搜索信息中,每个样本索引词组在媒体内容库中对应的真实媒体内容数量;
针对每个样本索引词组,基于预先存储的该样本索引词组对应的各个样本子索引词组在媒体内容库中对应的媒体内容数量和待训练的网络模型,预估该样本索引词组在媒体内容库中对应的媒体内容数量;每个样本子索引词组中的关键词数量大于或等于1,且小于或等于预设数量;
基于预估的该样本索引词组在媒体内容库中对应的媒体内容数量,以及该样本索引词组在媒体内容库中对应的真实媒体内容数量,对待训练的网络模型中的模型参数值进行调整,得到训练后的网络模型。
在一种可能的实施方式中,搜索处理装置400还包括搜索模块406,搜索模块406用于:
响应于客户端针对搜索信息触发的搜索请求,确定搜索信息关联的每个有效索引词组在媒体内容库中对应的媒体内容数量;
在媒体内容库中对应的媒体内容数量达到设定阈值的有效索引词组中,选择包含的关键词个数最多的有效索引词组作为推荐索引词组;
将推荐索引词组对应的媒体内容作为搜索结果发送至客户端。
参照图5所示,为本公开实施例提供的一种搜索处理装置的示意图,所述装置包括:接收模块501、确定模块502、选择模块503和发送模块504。
接收模块501,用于接收客户端发送的搜索请求;
确定模块502,用于基于搜索请求中包含的关键词,确定搜索请求关联的各个索引词组;
选择模块503,用于在媒体内容库中对应的媒体内容数量达到设定阈值的索引词组中,选择包含的关键词个数最多的索引词组作为推荐索引词组,索引词组对应的媒体内容数量按照本公开实施例提供的搜索处理方法确定;
发送模块504,用于将推荐索引词组对应的媒体内容作为搜索结果发送至客户端。
对应于图1中的搜索处理方法,本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:
处理器61、存储器62、和总线63;存储器62用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当所述电子设备600运行时,所述处理器61与所述存储器62之间通过总线63通信,使得所述处理器61执行以下指令:获取搜索信息中包含的多个关键词;基于多个关键词,确定用于进行检索的至少一个目标索引词组;目标索引词组中的关键词数量大于预设数量;针对每个目标索引词组,基于预先存储的该目标索引词组对应的各个子索引词组在媒体内容库中对应的媒体内容数量,确定该目标索引词组在媒体内容库中对应的媒体内容数量;每个子索引词组中的关键词数量大于或等于1,且小于或等于预设数量;基于每个目标索引词组以及各个子索引词组在媒体内容库中对应的媒体内容数量,确定该搜索信息关联的有效索引词组。
对应于图3中的搜索处理方法,本公开实施例还提供了一种电子设备700,如图7所示,为本公开实施例提供的电子设备700结构示意图,包括:
处理器71、存储器72、和总线73;存储器72用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换,当电子设备700运行时,处理器71与存储器72之间通过总线73通信,使得处理器71执行以下指令:接收客户端发送的搜索请求;基于搜索请求中包含的关键词,确定搜索请求关联的各个索引词组;在媒体内容库中对应的媒体内容数量达到设定阈值的索引词组中,选择包含的关键词个数最多的索引词组作为推荐索引词组,索引词组对应的媒体内容数量按照本公开实施例提供的的搜索处理方法确定;将推荐索引词组对应的媒体内容作为搜索结果发送至客户端。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的搜索处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的搜索处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的搜索处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。