CN111611372A - 搜索结果的排序方法及装置、音乐搜索方法及装置 - Google Patents
搜索结果的排序方法及装置、音乐搜索方法及装置 Download PDFInfo
- Publication number
- CN111611372A CN111611372A CN201910139196.5A CN201910139196A CN111611372A CN 111611372 A CN111611372 A CN 111611372A CN 201910139196 A CN201910139196 A CN 201910139196A CN 111611372 A CN111611372 A CN 111611372A
- Authority
- CN
- China
- Prior art keywords
- search
- search result
- similarity
- score
- character string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种搜索结果的排序方法及装置、音乐搜索方法及装置,其中,该搜索结果的排序方法包括:分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,当前搜索组是基于搜索信息得到的一组搜索结果;设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;对于每个搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;基于每个搜索结果的综合分值,对当前搜索组中的搜索结果排序。本申请能够对搜索结果进行合理排序,有助于使排序后的搜索结果满足用户需求,提升用户体验。
Description
技术领域
本申请涉及搜索技术领域,具体而言,涉及一种搜索结果的排序方法及装置、音乐搜索方法及装置。
背景技术
随着人工智能的发展,诸如语音机器人、车载系统、手机等智能设备大多具有搜索功能,可以接收用户以语音形式或文字形式输入的搜索信息,并查找与该搜索信息对应的一个或多个搜索结果,并将搜索结果直接呈现给用户。
然而,由于用户表述不清或者设备的语音识别有误等多种因素,都有可能使搜索信息出现诸如错字、漏字、多字等问题,会相应导致搜索出的结果大多不是用户想要的结果,现有技术中大多是将搜索结果直接呈现给用户,难以满足用户需求,用户体验较差。
发明内容
有鉴于此,本申请实施例的目的在于提供一种搜索结果的排序方法及装置、音乐搜索方法及装置,能够对搜索结果进行合理排序,有助于使排序后的搜索结果满足用户需求,提升用户体验。
根据本申请的一个方面,提供一种搜索结果的排序方法,包括:分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,所述当前搜索组是基于搜索信息得到的一组搜索结果;所述设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;对于每个所述搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序。
在一些实施例中,所述方法还包括:当接收到语音搜索信息时,基于机器识别算法将所述语音搜索信息转换为搜索文本信息;按照所述搜索文本信息在预存的数据库中搜索;将搜到的结果中相关性大于预设阈值的结果,组成当前搜索组。
在一些实施例中,分别计算当前搜索组中的搜索结果对应每个设定因素的分值的步骤,包括:如果所述设定因素包括相似性因素,对所述搜索信息进行槽位解析;基于槽位解析结果确定目标字符串;其中,所述目标字符串包括所述搜索信息的原始字符串或者所述搜索信息的槽位字符串;计算当前搜索组中的搜索结果与所述目标字符串之间的相似性,得到所述搜索结果对应相似性因素的分值。
在一些实施例中,基于槽位解析结果确定目标字符串的步骤,包括:如果从所述搜索信息中解析出槽位,确定目标字符串为所述搜索信息的槽位字符串;如果从所述搜索信息中未解析出槽位,确定目标字符串为所述搜索信息的原始字符串。
在一些实施例中,当所述相似性因素包含文本相似性时,所述原始字符串包含所述搜索信息的原始文本,所述槽位字符串包含所述搜索信息的槽位文本;当所述相似性因素包含拼音相似性时,所述原始字符串包含所述搜索信息的原始拼音,所述槽位字符串包含所述搜索信息的槽位拼音。
在一些实施例中,计算当前搜索组中的搜索结果与所述目标字符串之间的相似性的步骤,包括:如果所述相似性因素包含文本相似性,将所述目标字符串和当前搜索组中的搜索结果均进行分词处理,得到所述目标字符串和所述搜索结果的单字字符串数组和双字字符串数组;计算所述搜索结果的单字字符串数组与所述目标字符串的单字字符串数组之间的单字相似性数值,以及所述搜索结果的双字字符串数组与所述目标字符串的双字字符串数组之间的双字相似性数值;对所述搜索结果的单字相似性数值和双字相似性数值进行加权平均处理,得到所述搜索结果与所述目标字符串之间的文本相似性。
在一些实施例中,计算当前搜索组中的搜索结果与所述目标字符串之间的相似性的步骤,包括:如果所述相似性因素包含拼音相似性,将所述搜索结果与所述目标字符串均进行拼音拆分处理,得到所述目标字符串和所述搜索结果的拼音数组;根据拼音音节、拼音发音和拼音长度中的一种或多种,计算所述搜索结果的拼音数组与所述目标字符串的拼音数组之间的编辑距离;根据所述搜索结果对应的编辑距离确定所述搜索结果与所述目标字符串之间的拼音相似性。
在一些实施例中,分别计算当前搜索组中的搜索结果对应每个设定因素的分值的步骤,包括:如果所述设定因素包括热度因素,获取当前搜索组中的搜索结果的热度值;对所述搜索结果的热度值进行归一化处理,得到所述搜索结果对应热度因素的分值。
在一些实施例中,分别计算当前搜索组中的搜索结果对应每个设定因素的分值的步骤,包括:如果所述设定因素包括最优匹配因素,获取所述搜索结果对应相似性因素的分值;其中,所述搜索结果对应相似性因素的分值包括:所述搜索结果对应的槽位文本相似性分值、原始文本相似性分值、槽位拼音相似性分值和原始拼音相似性分值;将所述搜索结果对应相似性因素的分值中的最大值,确定为所述搜索结果对应最优匹配的分值。
在一些实施例中,分别计算当前搜索组中的搜索结果对应每个设定因素的分值的步骤,包括:如果所述设定因素包括搜索算法因素,通过所述搜索结果对应的搜索算法计算所述搜索结果的算法分值;对所述搜索结果的算法分值进行归一化处理,得到所述搜索结果对应搜索算法因素的分值。
在一些实施例中,对所述搜索结果的算法分值进行归一化处理的步骤,包括:如果所述搜索算法包括BM25算法,获取针对所述搜索文本串的ES检索中出现的最大BM25算法分值;将所述搜索结果的BM25算法分值与所述最大BM25算法分值进行除法运算,得到所述搜索结果的BM25算法分值与所述最大BM25算法分值的比值;将所述搜索结果对应的比值确定为所述搜索结果的经归一化处理后的算法分值。
在一些实施例中,对于每个所述搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值的步骤,包括:对于每个所述搜索结果,求取该搜索结果对应多个设定因素的分值的加权平均值,将该搜索结果对应的加权平均值确定为该搜索结果的综合分值。
在一些实施例中,基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序的步骤,包括:按照每个所述搜索结果的综合分值由高到低的顺序,对所述当前搜索组中的搜索结果进行排序。
根据本申请的另一个方面,还提供一种音乐搜索方法,包括:如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用上述任一项所述的搜索结果的排序方法对所述当前搜索组中的搜索结果进行排序;根据排序后的当前搜索组执行所述音乐搜索信息的响应操作。
在一些实施例中,根据排序后的当前搜索组执行所述音乐搜索信息的响应操作的步骤,包括:播放排序后的当前搜索组中处于首位的搜索结果对应的歌曲。
根据本申请的另一个方面,还提供一种搜索结果的排序装置,包括:第一计算模块,用于分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,所述当前搜索组是基于搜索信息得到的一组搜索结果;所述设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;第二计算模块,用于对于每个所述搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;排序模块,用于基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序。
在一些实施例中,所述装置还包括:语音转换模块,用于当接收到语音搜索信息时,基于机器识别算法将所述语音搜索信息转换为搜索文本信息;搜索模块,用于按照所述搜索文本信息在预存的数据库中搜索;搜索组确定模块,用于将搜到的结果中相关性大于预设阈值的结果,组成当前搜索组。
在一些实施例中,所述第一计算模块用于:如果所述设定因素包括相似性因素,对所述搜索信息进行槽位解析;基于槽位解析结果确定目标字符串;其中,所述目标字符串包括所述搜索信息的原始字符串或者所述搜索信息的槽位字符串;计算当前搜索组中的搜索结果与所述目标字符串之间的相似性,得到所述搜索结果对应相似性因素的分值。
在一些实施例中,所述第一计算模块用于:如果从所述搜索信息中解析出槽位,确定目标字符串为所述搜索信息的槽位字符串;如果从所述搜索信息中未解析出槽位,确定目标字符串为所述搜索信息的原始字符串。
在一些实施例中,当所述相似性因素包含文本相似性时,所述原始字符串包含所述搜索信息的原始文本,所述槽位字符串包含所述搜索信息的槽位文本;当所述相似性因素包含拼音相似性时,所述原始字符串包含所述搜索信息的原始拼音,所述槽位字符串包含所述搜索信息的槽位拼音。
在一些实施例中,所述第一计算模块用于:如果所述相似性因素包含文本相似性,将所述目标字符串和当前搜索组中的搜索结果均进行分词处理,得到所述目标字符串和所述搜索结果的单字字符串数组和双字字符串数组;计算所述搜索结果的单字字符串数组与所述目标字符串的单字字符串数组之间的单字相似性数值,以及所述搜索结果的双字字符串数组与所述目标字符串的双字字符串数组之间的双字相似性数值;对所述搜索结果的单字相似性数值和双字相似性数值进行加权平均处理,得到所述搜索结果与所述目标字符串之间的文本相似性。
在一些实施例中,所述第一计算模块用于:如果所述相似性因素包含拼音相似性,将所述搜索结果与所述目标字符串均进行拼音拆分处理,得到所述目标字符串和所述搜索结果的拼音数组;根据拼音音节、拼音发音和拼音长度中的一种或多种,计算所述搜索结果的拼音数组与所述目标字符串的拼音数组之间的编辑距离;根据所述搜索结果对应的编辑距离确定所述搜索结果与所述目标字符串之间的拼音相似性。
在一些实施例中,所述第一计算模块用于:如果所述设定因素包括热度因素,获取当前搜索组中的搜索结果的热度值;对所述搜索结果的热度值进行归一化处理,得到所述搜索结果对应热度因素的分值。
在一些实施例中,所述第一计算模块用于:如果所述设定因素包括最优匹配因素,获取所述搜索结果对应相似性因素的分值;其中,所述搜索结果对应相似性因素的分值包括:所述搜索结果对应的槽位文本相似性分值、原始文本相似性分值、槽位拼音相似性分值和原始拼音相似性分值;将所述搜索结果对应相似性因素的分值中的最大值,确定为所述搜索结果对应最优匹配的分值。
在一些实施例中,所述第一计算模块用于:如果所述设定因素包括搜索算法因素,通过所述搜索结果对应的搜索算法计算所述搜索结果的算法分值;对所述搜索结果的算法分值进行归一化处理,得到所述搜索结果对应搜索算法因素的分值。
在一些实施例中,所述第一计算模块用于:如果所述搜索算法包括BM25算法,获取针对所述搜索文本串的ES检索中出现的最大BM25算法分值;将所述搜索结果的BM25算法分值与所述最大BM25算法分值进行除法运算,得到所述搜索结果的BM25算法分值与所述最大BM25算法分值的比值;将所述搜索结果对应的比值确定为所述搜索结果的经归一化处理后的算法分值。
在一些实施例中,所述第二计算模块用于:对于每个所述搜索结果,求取该搜索结果对应多个设定因素的分值的加权平均值,将该搜索结果对应的加权平均值确定为该搜索结果的综合分值。
在一些实施例中,所述排序模块用于:按照每个所述搜索结果的综合分值由高到低的顺序,对所述当前搜索组中的搜索结果进行排序。
根据本申请的另一个方面,还提供一种音乐搜索装置,包括:搜索排序模块,用于如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用上述任一项所述的搜索结果的排序装置对所述当前搜索组中的搜索结果进行排序;操作执行模块,用于根据排序后的当前搜索组执行所述音乐搜索信息的响应操作。
在一些实施例中,所述操作执行模块用于:播放排序后的当前搜索组中处于首位的搜索结果对应的歌曲。
根据本申请的另一个方面,还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述任一所述的搜索结果的排序方法的步骤,或者执行如上述任一所述的音乐搜索方法的步骤。
根据本申请的另一个方面,还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述任一所述的搜索结果的排序方法的步骤,或者执行如上述任一所述的音乐搜索方法的步骤。
本申请实施例提供的搜索结果的排序方法及装置,能够分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;并对于每个搜索结果,都根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;进而可基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序。这种方式考虑了搜索结果在多个设定因素下的分值,并对各搜索结果进行综合评分,从而基于综合分值对搜索结果进行合理排序,有助于使排序后的搜索结果更符合用户所需的搜索结果,可较好地满足用户需求,提升用户体验。
本申请实施例提供的音乐搜索方法及装置,如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用上述搜索结果的排序方法对当前搜索组中的搜索结果进行排序,进而根据排序后的当前搜索组执行所述音乐搜索信息的响应操作。这种方式可以通过上述排序方法对搜索结果进行合理准确的排序,使得执行与响应信息对应的操作能够符合用户意图,较好地满足用户需求,提升用户体验。
为使本申请实施例的上述目的、特征和优点能更明显易懂,下面将结合实施例,并配合所附附图,作详细说明。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种搜索结果的排序方法流程图;
图2示出了本申请实施例所提供的设定因素的分类示意图;
图3示出了本申请实施例所提供的一种搜索结果的排序方法流程图;
图4示出了本申请实施例所提供的一种音乐搜索方法流程图;
图5示出了本申请实施例所提供的一种音乐搜索方法流程图;
图6示出了本申请实施例所提供的一种搜索结果的排序装置的结构框图;
图7示出了本申请实施例所提供的另一种搜索结果的排序装置的结构框图;
图8示出了本申请实施例所提供的一种音乐搜索装置的结构框图;
图9示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“对搜索结果进行排序”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕对搜索结果进行排序进行描述,但是应该理解,这仅是一个示例性实施例。本申请还可以包括用于对搜索结果进行排序的任何服务系统,例如,信息搜索系统或语音交互系统等。本申请的系统或方法的应用可以包括网页、浏览器的插件、客户端终端、车载系统、定制系统、内部分析系统、或人工智能机器人等,或其任意组合。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
本申请的一个方面涉及一种搜索结果的排序系统,该系统能够分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;并对于每个搜索结果,都根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;进而可基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序。这种方式考虑了搜索结果在多个设定因素下的分值,并对各搜索结果进行综合评分,从而基于综合分值对搜索结果进行合理排序,有助于使排序后的搜索结果更符合用户所需的搜索结果,可较好地满足用户需求,提升用户体验。
本申请的另一个方面涉及一种音乐搜索系统,如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用上述搜索结果的排序方法对当前搜索组中的搜索结果进行排序,进而根据排序后的当前搜索组执行所述音乐搜索信息的响应操作。这种方式可以通过上述排序方法对搜索结果进行合理准确的排序,使得执行与响应信息对应的操作能够符合用户意图,较好地满足用户需求,提升用户体验。
值得注意的是,在本申请提出申请之前,给用户提供的搜索结果可能因用户输入形式问题或者系统解析问题而出现搜索结果难以满足用户需求的问题。为改善此问题,本实施例提供了一种搜索结果的排序方法及装置、音乐搜索方法及装置,以下对本实施例进行详细说明。
参见图1所示的一种搜索结果的排序方法流程图,该方法可应用于计算机、机器人、手机、车载系统以及其它智能终端等,该方法包括以下步骤:
步骤S102,分别计算当前搜索组中的搜索结果对应每个设定因素的分值。
其中,当前搜索组是基于搜索信息得到的一组搜索结果,一组搜索结果中通常包含有基于指定数据库搜索得到的至少一个搜索结果。以音乐搜索为例,搜索结果可以是从音乐库中检索得到的与搜索信息(诸如,用户输入的歌曲名称)相对应的歌曲搜索结果。歌曲搜索结果可能包含有歌曲名、歌手名以及专辑名、发布时间等。
在一种实施方式中,参见图2所示的设定因素的分类示意图,设定因素可以包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种。
其中,相似性因素可以理解为搜索结果与搜索信息之间的相似性;搜索结果对应在相似性因素下的分值可表征搜索结果与搜索信息之间的相似程度,搜索结果与搜索信息之间的相似程度越高,搜索结果对应在相似性因素下的分值越大。具体实施时,还可以进一步包括文本相似性和拼音相似性。进一步,还可以根据搜索结果的槽位信息划分为有槽位拼音相似性,有槽位文本相似性,无槽位拼音相似性,无槽位文本相似性等。不同搜索信息的所属领域类型不同,还可以进一步细分相似性;以音乐领域为例,可以进一步计算歌名文本相似性、歌手文本相似性、专辑文本相似性等。
热度因素可以理解为搜索结果受人关注的程度,如果搜索结果出现的次数/频率越高,说明受人关注的程度越高,对应在热度因素下的分值越高。
最优匹配因素可以理解为搜索结果与搜索信息的最佳匹配度,也可以理解为搜索结果与搜索信息之间的最大相似性。诸如,假设搜索结果与搜索信息之间计算得到多个相似性分值(比如,有槽位拼音相似性分值,有槽位文本相似性分值,无槽位拼音相似性分值,无槽位文本相似性分值)中的最大分值,确定为搜索结果在最优匹配因素下的分值。
搜索算法因素可以理解为采用某一搜索算法所得到的搜索结果与搜索信息之间的相关程度,诸如,采用同一搜索算法得到搜索结果A1与搜索信息的相关性高于搜索结果A2与搜索信息的相关性,则说明搜索结果A1在该搜索算法下的分值更高。
步骤S104,对于每个搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值。
由于搜索结果考虑了多个设定因素,每个设定因素都对应一个分值,因此可根据每个设定因素的分值,计算该搜索结果的综合分值,以便于通过综合分值去衡量搜索结果与搜索信息之间的相关性。采用多个设定因素的分值计算得到一个综合分值的方式有多种,诸如,为每个分数设定一个权重,不同设定因素下的分值的权重可以相同或不同,然后将多个分值的加权平均值作为综合分值,也即直接将多个分值的平均值作为综合分值,在此不进行限制。
步骤S106,基于每个搜索结果的综合分值,对当前搜索组中的搜索结果排序。可以理解的是,搜索结果对应每个设定因素的分值,都会对该搜索结果的综合分值有所影响。也即,该搜索结果的最终排序结果是多个设定因素的共同体现,因此更为客观准确,更接近于用户意图。
诸如,可以按照每个搜索结果的综合分值由高到低的顺序,对当前搜索组中的搜索结果进行排序。综合分值越高,排序越靠前,接近用户意图的可能性越大。之后,可以将所有的排序结果显示在界面上以提供给用户,当然如果是语音机器人或车载系统等应用场合,也可以仅将排序在第一位的搜索结果播放给用户。
本申请实施例提供的搜索结果的排序方法,能够分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;并对于每个搜索结果,都根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;进而可基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序。这种方式考虑了搜索结果在多个设定因素下的分值,并对各搜索结果进行综合评分,从而基于综合分值对搜索结果进行合理排序,有助于使排序后的搜索结果更符合用户所需的搜索结果,可较好地满足用户需求,提升用户体验。
考虑到越来越多的用户通过语音发起搜索信息,参见图3所示的一种搜索结果的排序方法流程图,包括如下步骤:
步骤S302,当接收到语音搜索信息时,基于机器识别算法将语音搜索信息转换为搜索文本信息。诸如,用户会通过语音表述搜索需求,用于执行搜索结果的排序方法的电子设备(如,语音机器人、车载系统、手机等)接收到用户的语音搜索信息时,可以采用诸如语音识别算法等机器识别算法将语音搜索信息转换为搜索文本信息,也即语音识别后的文本信息。
步骤S304,按照搜索文本信息在预存的数据库中搜索。在具体实施时,可以根据搜索信息所在领域类别的不同而相应设置存储有对应搜索结果的数据库,诸如,音乐数据库、地图数据库等;当然也可以将所有类型的搜索信息所对应的搜索结果综合存储在一个数据库中。本实施例提及的数据库又可称为知识图谱,包含有较为全面的知识信息,可用于为用户提供搜索结果。以音乐数据库(也即,音乐知识图谱)为例,音乐知识图谱中的知识主要包括歌曲的基本信息,诸如歌名、歌手、专辑名称、歌曲热度、发行时间等信息。
步骤S306,将搜到的结果中相关性大于预设阈值的结果,组成当前搜索组。可以预先设定一个阈值,将相关性大于预设阈值的搜索结果组成待排序的搜索组。
步骤S308,分别计算当前搜索组中的搜索结果对应每个设定因素的分值。
步骤S310,对于每个搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值。
步骤S312,基于每个搜索结果的综合分值,对当前搜索组中的搜索结果排序。
步骤S308~步骤S312可以参照前述步骤S102~步骤S106,在此不在赘述。
本实施例给出了计算当前搜索组中的搜索结果分别对应在相似性因素、热度因素、最优匹配因素和搜索算法因素下的分值的具体实施示例,参照如下所示:
(一)相似性因素
如果设定因素包括相似性因素,可以按照以下步骤计算搜索结果对应在相似性因素下的分值:
步骤1,对搜索信息进行槽位解析。其中,槽位解析是指语句中具有普遍意义的词语(包括例如人名、地名、机构名、歌曲名、语种名等),也可称为命名实体(简称NE),例如:导航去[西直门]LOCATION_NE,西直门就是地名槽位,我要听[张韶涵]SINGER_NE的[隐形的翅膀]SONG_NE,张韶涵就是歌手槽位,隐形的翅膀就是歌曲槽位。
步骤2,基于槽位解析结果确定目标字符串;其中,目标字符串包括搜索信息的原始字符串或者搜索信息的槽位字符串。
如果从搜索信息中解析出槽位,确定目标字符串为搜索信息的槽位字符串;如果从搜索信息中未解析出槽位,确定目标字符串为搜索信息的原始字符串。
步骤3,计算当前搜索组中的搜索结果与目标字符串之间的相似性,得到搜索结果对应相似性因素的分值。在实际应用中,相似性因素还可以细分为文本相似性和拼音相似性;当相似性因素包含文本相似性时,原始字符串包含搜索信息的原始文本,槽位字符串包含搜索信息的槽位文本;当相似性因素包含拼音相似性时,原始字符串包含搜索信息的原始拼音,槽位字符串包含搜索信息的槽位拼音。
为便于理解,以下分别给出了计算搜索结果与目标字符串之间的文本相似性及拼音相似性的具体实施方式:
1)文本相似性
如果设定因素包括文本相似性,首先,将目标字符串和当前搜索组中的搜索结果均进行分词处理,得到目标字符串和搜索结果的单字字符串数组和双字字符串数组。也即,文本相似性主要计算两部分的相似性,分别为unigram(单个字)字符串数组的相似性和bigram(两个字)字符串数组的相似性。例如,“我是中国人”这个语句当中,unigram字符串数组为:[我、是、中、国、人];bigram字符串数组是:[我是、是中、中国、国人]。
然后,计算搜索结果的单字字符串数组与目标字符串的单字字符串数组之间的单字相似性数值,以及搜索结果的双字字符串数组与目标字符串的双字字符串数组之间的双字相似性数值。
单字相似性数值的计算方式可以基于单字字符串数组的编辑距离以及两个单字字符串数组共同的字符串长度。其中,上述编辑距离是将一个字符串转换成另外一个字符串需要经过的最少操作次数,可允许的操作包括插入、删除和替换。可以理解的是,操作次数越少,编辑距离就越小。采用上述方式的原因在于,用户输入的搜索信息中包含有一些与歌曲无关的部分,虽然歌曲名称部分可能会精确匹配,但是由于匹配串过长而导致编辑距离过大,在这种情况下可优先考虑已经匹配上的部分。具体而言,单字相似性数值的计算公式可参照如下所示:
其中,hituni指的是两个单字字符串数组共同的字符串个数,disuni指的是两个单字字符串数组的编辑距离。
双字相似性数值的计算方式与单字相似性数值的计算方式类似,主要是需要先把字符串处理成双字格式。然后再计算双字字符串数组的编辑距离和共同的双字个数,在此不再赘述。
之后,对搜索结果的单字相似性数值和双字相似性数值进行加权平均处理,得到搜索结果与目标字符串之间的文本相似性。在实际应用中,可以将加权平均处理后的值标准化至[0,1]之间。
2)拼音相似性
如果设定因素包括拼音相似性,可以首先将搜索结果与目标字符串均进行拼音拆分处理,得到目标字符串和搜索结果的拼音数组。
然后根据拼音音节、拼音发音和拼音长度中的一种或多种,计算搜索结果的拼音数组与目标字符串的拼音数组之间的编辑距离。具体考虑两个拼音发音的相似性时,可以把拼音分成声母和韵母两部分,发音相似的声母之间的编辑距离小于发音不相似的声母之间的编辑距离,例如“z”和“zh”的拼音相似性大于“z”和“k”。发音相似的韵母之间的编辑距离小于发音不相似的韵母之间的编辑距离,例如“en”和“eng”的拼音相似性大于“en”和“ei”。另外,还可以优先考虑两个拼音数组中共同的拼音的长度。
之后,根据搜索结果对应的编辑距离确定搜索结果与目标字符串之间的拼音相似性。可以理解的是,搜索结果与目标字符串之间的编辑距离越小,拼音相似性越高。最后可以把确定的拼音相似性标准化到[0,1]之间。
(二)热度因素
如果设定因素包括热度因素,可以首先获取当前搜索组中的搜索结果的热度值;然后对搜索结果的热度值进行归一化处理,得到搜索结果对应热度因素的分值。
在具体实施时,可以直接获取搜索结果的热度值,也可以对搜索结果进行计算,得到各搜索结果的热度值。以音乐搜索结果为例,在歌曲库中搜索得到的同一歌名的搜索结果中,可能包含有不同歌手演唱的音频信息,也可能包含同一歌手在不同演唱会或不同专辑发布的音频信息,有些歌曲库会为每个音频信息标注热度值,基于此,可以直接获取音频信息的热度值。有些歌曲库可能并未给每个音频信息标注热度值,则可以获取各搜索结果的历史搜索记录,根据历史搜索记录确定每个搜索结果出现的次数和/或频率,从而计算得到每个搜索结果的热度值。通常而言,搜索结果出现的次数越多,或者指定时长内出现的频率越高,说明该搜索结果的热度值越大。
(三)最优匹配因素
如果设定因素包括最优匹配因素,可以首先获取搜索结果对应相似性因素的分值;其中,搜索结果对应相似性因素的分值可以包括:搜索结果对应的槽位文本相似性分值、原始文本相似性分值、槽位拼音相似性分值和原始拼音相似性分值;然后将搜索结果对应相似性因素的分值中的最大值,确定为搜索结果对应最优匹配的分值。
在实际应用中,可以直接获取预先记录的搜索结果对应相似性因素的分值,也可以按照搜索结果对应相似性因素的分值的计算方式再次计算得到,在此不进行限制。
(四)搜索算法因素
如果设定因素包括搜索算法因素,通过搜索结果对应的搜索算法计算搜索结果的算法分值;然后对搜索结果的算法分值进行归一化处理,得到搜索结果对应搜索算法因素的分值。
以搜索算法包括BM25算法为例,本实施例给出了一种对搜索结果的算法分值进行归一化处理的具体实施方式:首先获取针对搜索文本串的ES检索中出现的最大BM25算法分值(BM25_MAX);然后将搜索结果的BM25算法分值(BMScore)与最大BM25算法分值进行除法运算,得到搜索结果的BM25算法分值与最大BM25算法分值的比值;最后将搜索结果对应的比值确定为搜索结果的经归一化处理后的算法分值。归一化处理后的算法分值也即标准化到[0,1]之间。也即,搜索结果对应搜索算法因素的分值为BMScore/(BM25_MAX)。
在本实施例中,还可以对每一个搜索词统计TFIDF,然后计算每一次ES检索中出现的最大可能匹配分数,通过最大可能匹配分数把ES检索的相关性得分标准化到[0,1]之间。TF-IDF表征每一单词对应的值是词频(Term Frequency,TF)和逆文本频率(InverseDcument Frequency,IDF)的乘积。其中,词频是指某个词在文本中出现的次数,由于不同的文本具有不同的长度,为了方便不同文本之间的比较,可以将词频标准化;通常而言,词频越大,相关性越高。而逆文本频率是文本频率的倒数,假设一个单词在整个语料库中出现在文本中的频率越高,则该单词的逆文本频率就越小。TF-IDF主要用TF基于单个文本进行计算,IDF则是基于整个语料库进行计算。具体而言,TF-IDF与文本中的某个词的出现次数成正比,与整个语料库中存在该词的文本的总数量成反比。一个文本中的某个单词的TF-IDF值越大,说明在给定语料库的前提下该单词在这个文本中越重要。本实施例提及的BM25算法,可以理解是在TF-IDF的基础上进行改进的算法,传统的TF值理论上是可以无限大的,而BM25算法与之不同,BM25算法在TF计算方法中增加了一个常量k,用来限制TF值的增长极限,从而确保计算值符合文本相关性逻辑。本实施例采用的BM25算法在应用上更佳灵活,具有较高的实用性和可靠性。
具体而言,BM25算法通常用于搜索相关性评分。其主要思想是对搜索信息(Query)进行语素解析,生成语素qi;然后对于每个搜索结果D,计算每个语素qi与D的相关性得分,最后,将qi相对于D的相关性得分进行加权求和,从而得到Query与D的相关性得分。
基于以上方式,可以计算得到每个搜索结果对应在每个设定因素下的分值,进而可求取每个搜索结果的综合分值,一种实施方式中,对于每个搜索结果,求取该搜索结果对应多个设定因素的分值的加权平均值,将该搜索结果对应的加权平均值确定为该搜索结果的综合分值。在实际应用中,可以根据各设定因素的重要程度而为其分值对应设置权重,然后再求取加权平均值,当然也可以认为各设定因素的重要程度等同,将该搜索结果对应多个设定因素的分值的平均值确定为每个搜索结果的综合分值。
诸如,可以参照以下公式计算每个搜索结果的综合分值finalScore:
finalScore=(pinyinScore+queryPinyinScore+textScore+queryTextScore+
heatScore+bestMatchScore+BM_Score/(BM25_MAX))/7.0
其中,pinyinScore为搜索结果对应相似性因素下的有槽位拼音相似性分值,queryPinyinScore为搜索结果对应相似性因素下的无槽位拼音相似性分值(又称为原始拼音相似性分值),textScore为搜索结果对应相似性因素下的有槽位文本相似性分值,queryTextScore为搜索结果对应相似性因素下的无槽位文本相似性分值(又称为原始文本相似性分值),heatScore为搜索结果对应热度因素下的分值,bestMatchScore为搜索结果对应最优匹配因素下的分值,BM_Score/(BM25_MAX)为搜索结果对应搜索算法因素下的分值。
在实际应用中,假设没有提取出槽位,还可以给有槽位拼音相似性分值和无槽位拼音相似性分值均设定最小值,诸如1e-6。比如,用户的搜索信息为“隐形的翅膀”,从中没有提取出任何槽位,那么对应的pinyinScore和textScore均为1e-6。搜索引擎从数据库中检索得到的一个搜索结果为:歌手=张韶涵,专辑=潘多拉,歌名=隐形的翅膀,且计算出来的queryPinyinScore为0.368;queryTextScore为0.333;heatScore为0.999;bestMatchScore为0.368;归一化的搜索得分BM_Score/(BM25_MAX)为0.938;那么最终得分(也即,综合分值)为:
(1e-6+0.368+1e-6+0.333+0.999+0.368+0.938)/7.0=0.429
通过上述方式,可以计算各搜索结果的综合分值,并根据分值高低对各搜索结果进行排序。
综上所述,本实施例提供的搜索结果的排序方法考虑了搜索结果在多个设定因素下的分值,并对各搜索结果进行综合评分,从而基于综合分值对搜索结果进行合理排序,有助于使排序后的搜索结果更符合用户所需的搜索结果,可较好地满足用户需求,提升用户体验。
而且,针对搜索信息可能存在错字、漏字、多字、槽位提取丢失或者错误的情况,即便在诸如搜索信息错误、语音搜索信息的机器识别错误、槽位提取错误等方面出现问题,本实施例由于考虑到多个设定因素对搜索结果进行排序,排序后反馈给用户的搜索结果也可较好地符合用户需求。诸如,假设解析用户输入的搜索信息为“我想听周杰的《晴天》”,通过上述各个设定因素的综合考虑,可以得到综合评分较高的搜索结果为“周杰伦的《晴天》”。
在前述搜索结果的排序方法的基础上,本申请实施例还提供了一种音乐搜索方法,该方法主要应用于用户搜索歌曲的场合,可由诸如音乐机器人、车载系统、音响设备、手机等智能终端执行,参见图4所示的一种音乐搜索方法流程图,包括:
步骤S402,如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用上述搜索结果的排序方法对当前搜索组中的搜索结果进行排序。诸如,一组搜索结果可以是搜索引擎根据用户输入的音乐搜索信息在音乐库中搜索得到的可能符合用户意图的歌曲信息。
步骤S404,根据排序后的当前搜索组执行音乐搜索信息的响应操作。诸如,该响应操作可以是直接为用户播放排序在第一位的歌曲音频,或者,将排序后的搜索结果都通过显示器展示给用户,供用户自己选择。
本申请实施例提供的上述音乐搜索方法可以通过上述排序方法对搜索结果进行合理准确的排序,使得执行与响应信息对应的操作能够符合用户意图,较好地满足用户需求,提升用户体验。
参见图5所示的一种音乐搜索方法流程图,该方法包括:
步骤S502,如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用上述搜索结果的排序方法对当前搜索组中的搜索结果进行排序。
步骤S504,播放排序后的当前搜索组中处于首位的搜索结果对应的歌曲。
采用上述方式,可以将考虑了多种设定因素后得到的综合分值最高的搜索结果呈现给用户,使得给用户播放的歌曲在较大程度上是符合用户需求的,从而有效提升了用户体验。上述方法可以直接应用于诸如专业的音乐机器人,或者应用于车载系统、安装有语音智能问答功能的手机等。
本实施例还提供了一种搜索结果的排序装置,该装置实现的功能对应上述搜索结果的排序方法执行的步骤。该装置可以理解为用于进行搜索结果的排序的处理器,也可以直接理解为车载设备、机器人、智能终端等,参见图6所示的一种搜索结果的排序装置的结构框图,包括如下模块:
第一计算模块602,用于分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,当前搜索组是基于搜索信息得到的一组搜索结果;设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;
第二计算模块604,用于对于每个搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;
排序模块606,用于基于每个搜索结果的综合分值,对当前搜索组中的搜索结果排序。
本申请实施例提供的上述搜索结果的排序装置,考虑了搜索结果在多个设定因素下的分值,并对各搜索结果进行综合评分,从而基于综合分值对搜索结果进行合理排序,有助于使排序后的搜索结果更符合用户所需的搜索结果,可较好地满足用户需求,提升用户体验。
参见图7所示的另一种搜索结果的排序装置的结构框图,在图6的基础上,上述装置还包括:
语音转换模块702,用于当接收到语音搜索信息时,基于机器识别算法将语音搜索信息转换为搜索文本信息;
搜索模块704,用于按照搜索文本信息在预存的数据库中搜索;
搜索组确定模块706,用于将搜到的结果中相关性大于预设阈值的结果,组成当前搜索组。
在一种实施方式中,上述第一计算模块用于:
如果设定因素包括相似性因素,对搜索信息进行槽位解析;
基于槽位解析结果确定目标字符串;其中,目标字符串包括搜索信息的原始字符串或者搜索信息的槽位字符串;
计算当前搜索组中的搜索结果与目标字符串之间的相似性,得到搜索结果对应相似性因素的分值。
在一种具体实施方式中,上述第一计算模块用于:如果从搜索信息中解析出槽位,确定目标字符串为搜索信息的槽位字符串;如果从搜索信息中未解析出槽位,确定目标字符串为搜索信息的原始字符串。
当相似性因素包含文本相似性时,原始字符串包含搜索信息的原始文本,槽位字符串包含搜索信息的槽位文本;当相似性因素包含拼音相似性时,原始字符串包含搜索信息的原始拼音,槽位字符串包含搜索信息的槽位拼音。
在一种实施方式中,上述第一计算模块用于:如果相似性因素包含文本相似性,将目标字符串和当前搜索组中的搜索结果均进行分词处理,得到目标字符串和搜索结果的单字字符串数组和双字字符串数组;计算搜索结果的单字字符串数组与目标字符串的单字字符串数组之间的单字相似性数值,以及搜索结果的双字字符串数组与目标字符串的双字字符串数组之间的双字相似性数值;对搜索结果的单字相似性数值和双字相似性数值进行加权平均处理,得到搜索结果与目标字符串之间的文本相似性。
在一种实施方式中,上述第一计算模块用于:如果相似性因素包含拼音相似性,将搜索结果与目标字符串均进行拼音拆分处理,得到目标字符串和搜索结果的拼音数组;根据拼音音节、拼音发音和拼音长度中的一种或多种,计算搜索结果的拼音数组与目标字符串的拼音数组之间的编辑距离;根据搜索结果对应的编辑距离确定搜索结果与目标字符串之间的拼音相似性。
在一种实施方式中,上述第一计算模块用于:如果设定因素包括热度因素,获取当前搜索组中的搜索结果的热度值;对搜索结果的热度值进行归一化处理,得到搜索结果对应热度因素的分值。
在一种实施方式中,上述第一计算模块用于:如果设定因素包括最优匹配因素,获取搜索结果对应相似性因素的分值;其中,搜索结果对应相似性因素的分值包括:搜索结果对应的槽位文本相似性分值、原始文本相似性分值、槽位拼音相似性分值和原始拼音相似性分值;将搜索结果对应相似性因素的分值中的最大值,确定为搜索结果对应最优匹配的分值。
在一种实施方式中,上述第一计算模块用于:如果设定因素包括搜索算法因素,通过搜索结果对应的搜索算法计算搜索结果的算法分值;对搜索结果的算法分值进行归一化处理,得到搜索结果对应搜索算法因素的分值。
在一种具体实施方式中,上述第一计算模块用于:如果搜索算法包括BM25算法,获取针对搜索文本串的ES检索中出现的最大BM25算法分值;将搜索结果的BM25算法分值与最大BM25算法分值进行除法运算,得到搜索结果的BM25算法分值与最大BM25算法分值的比值;将搜索结果对应的比值确定为搜索结果的经归一化处理后的算法分值。
在一种实施方式中,上述第二计算模块用于:对于每个搜索结果,求取该搜索结果对应多个设定因素的分值的加权平均值,将该搜索结果对应的加权平均值确定为该搜索结果的综合分值。
在一种实施方式中,上述排序模块用于:按照每个搜索结果的综合分值由高到低的顺序,对当前搜索组中的搜索结果进行排序。
本实施例还提供了一种音乐搜索装置,该装置实现的功能对应上述音乐搜索方法执行的步骤。该装置可以理解为用于进行音乐搜索的处理器,也可以直接理解为车载设备、机器人、智能终端等,参见图8所示的一种音乐搜索装置的结构框图,包括如下模块:
搜索排序模块802,用于如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用上述任一项的搜索结果的排序装置对当前搜索组中的搜索结果进行排序。
操作执行模块804,用于根据排序后的当前搜索组执行音乐搜索信息的响应操作。
本申请实施例提供的上述音乐搜索装置可以通过上述排序方法对搜索结果进行合理准确的排序,使得执行与响应信息对应的操作能够符合用户意图,较好地满足用户需求,提升用户体验。
在一种实施方式中,操作执行模块用于:播放排序后的当前搜索组中处于首位的搜索结果对应的歌曲。
本申请还提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如上述任一搜索结果的排序方法的步骤,或者执行如上述任一音乐搜索方法的步骤。
为便于理解,图9示出根据本申请的一些实施例的可以实现本申请思想的电子设备100的示例性硬件和软件组件的示意图。例如,处理器120可以用于电子设备100上,并且用于执行本申请中的功能。
电子设备100可以是通用计算机或特殊用途的计算机,诸如车载电脑、机器人等智能设备,都可以用于实现本申请的搜索结果的排序方法或音乐搜索方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。
例如,电子设备100可以包括连接到网络的网络端口110、用于执行程序指令的一个或多个处理器110、通信总线130、和不同形式的存储介质140,例如,磁盘、ROM、或RAM,或其任意组合。示例性地,计算机平台还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备100还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(Input/Output,I/O)接口150。
为了便于说明,在电子设备100中仅描述了一个处理器。然而,应当注意,本申请中的电子设备100还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备100的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。
进一步,本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述任一的搜索结果的排序方法的步骤,或者执行如上述任一的音乐搜索方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (32)
1.一种搜索结果的排序方法,其特征在于,包括:
分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,所述当前搜索组是基于搜索信息得到的一组搜索结果;所述设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;
对于每个所述搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;
基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到语音搜索信息时,基于机器识别算法将所述语音搜索信息转换为搜索文本信息;
按照所述搜索文本信息在预存的数据库中搜索;
将搜到的结果中相关性大于预设阈值的结果,组成当前搜索组。
3.根据权利要求1所述的方法,其特征在于,分别计算当前搜索组中的搜索结果对应每个设定因素的分值的步骤,包括:
如果所述设定因素包括相似性因素,对所述搜索信息进行槽位解析;
基于槽位解析结果确定目标字符串;其中,所述目标字符串包括所述搜索信息的原始字符串或者所述搜索信息的槽位字符串;
计算当前搜索组中的搜索结果与所述目标字符串之间的相似性,得到所述搜索结果对应相似性因素的分值。
4.根据权利要求3所述的方法,其特征在于,所述基于槽位解析结果确定目标字符串的步骤,包括:
如果从所述搜索信息中解析出槽位,确定目标字符串为所述搜索信息的槽位字符串;
如果从所述搜索信息中未解析出槽位,确定目标字符串为所述搜索信息的原始字符串。
5.根据权利要求3所述的方法,其特征在于,当所述相似性因素包含文本相似性时,所述原始字符串包含所述搜索信息的原始文本,所述槽位字符串包含所述搜索信息的槽位文本;当所述相似性因素包含拼音相似性时,所述原始字符串包含所述搜索信息的原始拼音,所述槽位字符串包含所述搜索信息的槽位拼音。
6.根据权利要求5所述的方法,其特征在于,计算当前搜索组中的搜索结果与所述目标字符串之间的相似性的步骤,包括:
如果所述相似性因素包含文本相似性,将所述目标字符串和当前搜索组中的搜索结果均进行分词处理,得到所述目标字符串和所述搜索结果的单字字符串数组和双字字符串数组;
计算所述搜索结果的单字字符串数组与所述目标字符串的单字字符串数组之间的单字相似性数值,以及所述搜索结果的双字字符串数组与所述目标字符串的双字字符串数组之间的双字相似性数值;
对所述搜索结果的单字相似性数值和双字相似性数值进行加权平均处理,得到所述搜索结果与所述目标字符串之间的文本相似性。
7.根据权利要求6所述的方法,其特征在于,计算当前搜索组中的搜索结果与所述目标字符串之间的相似性的步骤,包括:
如果所述相似性因素包含拼音相似性,将所述搜索结果与所述目标字符串均进行拼音拆分处理,得到所述目标字符串和所述搜索结果的拼音数组;
根据拼音音节、拼音发音和拼音长度中的一种或多种,计算所述搜索结果的拼音数组与所述目标字符串的拼音数组之间的编辑距离;
根据所述搜索结果对应的编辑距离确定所述搜索结果与所述目标字符串之间的拼音相似性。
8.根据权利要求1所述的方法,其特征在于,分别计算当前搜索组中的搜索结果对应每个设定因素的分值的步骤,包括:
如果所述设定因素包括热度因素,获取当前搜索组中的搜索结果的热度值;
对所述搜索结果的热度值进行归一化处理,得到所述搜索结果对应热度因素的分值。
9.根据权利要求1所述的方法,其特征在于,分别计算当前搜索组中的搜索结果对应每个设定因素的分值的步骤,包括:
如果所述设定因素包括最优匹配因素,获取所述搜索结果对应相似性因素的分值;其中,所述搜索结果对应相似性因素的分值包括:所述搜索结果对应的槽位文本相似性分值、原始文本相似性分值、槽位拼音相似性分值和原始拼音相似性分值;
将所述搜索结果对应相似性因素的分值中的最大值,确定为所述搜索结果对应最优匹配的分值。
10.根据权利要求1所述的方法,其特征在于,分别计算当前搜索组中的搜索结果对应每个设定因素的分值的步骤,包括:
如果所述设定因素包括搜索算法因素,通过所述搜索结果对应的搜索算法计算所述搜索结果的算法分值;
对所述搜索结果的算法分值进行归一化处理,得到所述搜索结果对应搜索算法因素的分值。
11.根据权利要求10所述的方法,其特征在于,对所述搜索结果的算法分值进行归一化处理,得到所述搜索结果对应搜索算法因素的分值的步骤,包括:
如果所述搜索算法包括BM25算法,获取针对所述搜索文本串的ES检索中出现的最大BM25算法分值;
将所述搜索结果的BM25算法分值与所述最大BM25算法分值进行除法运算,得到所述搜索结果的BM25算法分值与所述最大BM25算法分值的比值;
将所述搜索结果对应的比值确定为所述搜索结果的经归一化处理后的算法分值。
12.根据权利要求1所述的方法,其特征在于,对于每个所述搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值的步骤,包括:
对于每个所述搜索结果,求取该搜索结果对应多个设定因素的分值的加权平均值,将该搜索结果对应的加权平均值确定为该搜索结果的综合分值。
13.根据权利要求1所述的方法,其特征在于,基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序的步骤,包括:
按照每个所述搜索结果的综合分值由高到低的顺序,对所述当前搜索组中的搜索结果进行排序。
14.一种音乐搜索方法,其特征在于,包括:
如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用权利要求1至13任一项所述的搜索结果的排序方法对所述当前搜索组中的搜索结果进行排序;
根据排序后的当前搜索组执行所述音乐搜索信息的响应操作。
15.根据权利要求14所述的方法,其特征在于,根据排序后的当前搜索组执行所述音乐搜索信息的响应操作的步骤,包括:播放排序后的当前搜索组中处于首位的搜索结果对应的歌曲。
16.一种搜索结果的排序装置,其特征在于,包括:
第一计算模块,用于分别计算当前搜索组中的搜索结果对应每个设定因素的分值;其中,所述当前搜索组是基于搜索信息得到的一组搜索结果;所述设定因素包括相似性因素、热度因素、最优匹配因素和搜索算法因素中的多种;
第二计算模块,用于对于每个所述搜索结果,根据该搜索结果对应每个设定因素的分值,计算该搜索结果的综合分值;
排序模块,用于基于每个所述搜索结果的综合分值,对所述当前搜索组中的搜索结果排序。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
语音转换模块,用于当接收到语音搜索信息时,基于机器识别算法将所述语音搜索信息转换为搜索文本信息;
搜索模块,用于按照所述搜索文本信息在预存的数据库中搜索;
搜索组确定模块,用于将搜到的结果中相关性大于预设阈值的结果,组成当前搜索组。
18.根据权利要求16所述的装置,其特征在于,所述第一计算模块用于:
如果所述设定因素包括相似性因素,对所述搜索信息进行槽位解析;
基于槽位解析结果确定目标字符串;其中,所述目标字符串包括所述搜索信息的原始字符串或者所述搜索信息的槽位字符串;
计算当前搜索组中的搜索结果与所述目标字符串之间的相似性,得到所述搜索结果对应相似性因素的分值。
19.根据权利要求18所述的装置,其特征在于,所述第一计算模块用于:
如果从所述搜索信息中解析出槽位,确定目标字符串为所述搜索信息的槽位字符串;
如果从所述搜索信息中未解析出槽位,确定目标字符串为所述搜索信息的原始字符串。
20.根据权利要求18所述的装置,其特征在于,当所述相似性因素包含文本相似性时,所述原始字符串包含所述搜索信息的原始文本,所述槽位字符串包含所述搜索信息的槽位文本;当所述相似性因素包含拼音相似性时,所述原始字符串包含所述搜索信息的原始拼音,所述槽位字符串包含所述搜索信息的槽位拼音。
21.根据权利要求20所述的装置,其特征在于,所述第一计算模块用于:
如果所述相似性因素包含文本相似性,将所述目标字符串和当前搜索组中的搜索结果均进行分词处理,得到所述目标字符串和所述搜索结果的单字字符串数组和双字字符串数组;
计算所述搜索结果的单字字符串数组与所述目标字符串的单字字符串数组之间的单字相似性数值,以及所述搜索结果的双字字符串数组与所述目标字符串的双字字符串数组之间的双字相似性数值;
对所述搜索结果的单字相似性数值和双字相似性数值进行加权平均处理,得到所述搜索结果与所述目标字符串之间的文本相似性。
22.根据权利要求21所述的装置,其特征在于,所述第一计算模块用于:
如果所述相似性因素包含拼音相似性,将所述搜索结果与所述目标字符串均进行拼音拆分处理,得到所述目标字符串和所述搜索结果的拼音数组;
根据拼音音节、拼音发音和拼音长度中的一种或多种,计算所述搜索结果的拼音数组与所述目标字符串的拼音数组之间的编辑距离;
根据所述搜索结果对应的编辑距离确定所述搜索结果与所述目标字符串之间的拼音相似性。
23.根据权利要求16所述的装置,其特征在于,所述第一计算模块用于:
如果所述设定因素包括热度因素,获取当前搜索组中的搜索结果的热度值;
对所述搜索结果的热度值进行归一化处理,得到所述搜索结果对应热度因素的分值。
24.根据权利要求16所述的装置,其特征在于,所述第一计算模块用于:
如果所述设定因素包括最优匹配因素,获取所述搜索结果对应相似性因素的分值;其中,所述搜索结果对应相似性因素的分值包括:所述搜索结果对应的槽位文本相似性分值、原始文本相似性分值、槽位拼音相似性分值和原始拼音相似性分值;
将所述搜索结果对应相似性因素的分值中的最大值,确定为所述搜索结果对应最优匹配的分值。
25.根据权利要求16所述的装置,其特征在于,所述第一计算模块用于:
如果所述设定因素包括搜索算法因素,通过所述搜索结果对应的搜索算法计算所述搜索结果的算法分值;
对所述搜索结果的算法分值进行归一化处理,得到所述搜索结果对应搜索算法因素的分值。
26.根据权利要求25所述的装置,其特征在于,所述第一计算模块用于:
如果所述搜索算法包括BM25算法,获取针对所述搜索文本串的ES检索中出现的最大BM25算法分值;
将所述搜索结果的BM25算法分值与所述最大BM25算法分值进行除法运算,得到所述搜索结果的BM25算法分值与所述最大BM25算法分值的比值;
将所述搜索结果对应的比值确定为所述搜索结果的经归一化处理后的算法分值。
27.根据权利要求16所述的装置,其特征在于,所述第二计算模块用于:
对于每个所述搜索结果,求取该搜索结果对应多个设定因素的分值的加权平均值,将该搜索结果对应的加权平均值确定为该搜索结果的综合分值。
28.根据权利要求16所述的装置,其特征在于,所述排序模块用于:
按照每个所述搜索结果的综合分值由高到低的顺序,对所述当前搜索组中的搜索结果进行排序。
29.一种音乐搜索装置,其特征在于,包括:
搜索排序模块,用于如果当前搜索组为音乐搜索信息对应的一组搜索结果,采用权利要求16至28任一项所述的搜索结果的排序装置对所述当前搜索组中的搜索结果进行排序;
操作执行模块,用于根据排序后的当前搜索组执行所述音乐搜索信息的响应操作。
30.根据权利要求29所述的装置,其特征在于,所述操作执行模块用于:播放排序后的当前搜索组中处于首位的搜索结果对应的歌曲。
31.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1至13任一所述的搜索结果的排序方法的步骤,或者执行如权利要求14至15任一所述的音乐搜索方法的步骤。
32.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至13任一所述的搜索结果的排序方法的步骤,或者执行如权利要求14至15任一所述的音乐搜索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910139196.5A CN111611372A (zh) | 2019-02-25 | 2019-02-25 | 搜索结果的排序方法及装置、音乐搜索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910139196.5A CN111611372A (zh) | 2019-02-25 | 2019-02-25 | 搜索结果的排序方法及装置、音乐搜索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111611372A true CN111611372A (zh) | 2020-09-01 |
Family
ID=72205265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910139196.5A Pending CN111611372A (zh) | 2019-02-25 | 2019-02-25 | 搜索结果的排序方法及装置、音乐搜索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111611372A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199587A (zh) * | 2020-09-29 | 2021-01-08 | 上海博泰悦臻电子设备制造有限公司 | 搜索方法、装置、电子设备及存储介质 |
CN112818080A (zh) * | 2021-02-08 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 搜索方法、装置、设备及存储介质 |
CN113010791A (zh) * | 2021-03-31 | 2021-06-22 | 北京金堤征信服务有限公司 | 搜索结果展示处理方法、装置及计算机可读存储介质 |
CN113886685A (zh) * | 2021-09-23 | 2022-01-04 | 北京三快在线科技有限公司 | 一种搜索方法、装置、存储介质及电子设备 |
CN115905297A (zh) * | 2023-01-04 | 2023-04-04 | 脉策(上海)智能科技有限公司 | 用于检索数据的方法、设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120203776A1 (en) * | 2011-02-09 | 2012-08-09 | Maor Nissan | System and method for flexible speech to text search mechanism |
CN103136226A (zh) * | 2011-11-25 | 2013-06-05 | 深圳市腾讯计算机系统有限公司 | 一种搜索用户的方法与装置 |
CN103246681A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种搜索方法及装置 |
CN104572717A (zh) * | 2013-10-18 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 信息搜索方法和装置 |
CN106776763A (zh) * | 2016-11-22 | 2017-05-31 | 北京云知声信息技术有限公司 | 目的地搜索方法及装置 |
CN108733745A (zh) * | 2018-03-30 | 2018-11-02 | 华东师范大学 | 一种基于医学知识的查询扩展方法 |
CN109492081A (zh) * | 2018-10-30 | 2019-03-19 | 上海智臻智能网络科技股份有限公司 | 文本信息搜索和信息交互方法、装置、设备及存储介质 |
-
2019
- 2019-02-25 CN CN201910139196.5A patent/CN111611372A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120203776A1 (en) * | 2011-02-09 | 2012-08-09 | Maor Nissan | System and method for flexible speech to text search mechanism |
CN103136226A (zh) * | 2011-11-25 | 2013-06-05 | 深圳市腾讯计算机系统有限公司 | 一种搜索用户的方法与装置 |
CN103246681A (zh) * | 2012-02-13 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种搜索方法及装置 |
CN104572717A (zh) * | 2013-10-18 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 信息搜索方法和装置 |
CN106776763A (zh) * | 2016-11-22 | 2017-05-31 | 北京云知声信息技术有限公司 | 目的地搜索方法及装置 |
CN108733745A (zh) * | 2018-03-30 | 2018-11-02 | 华东师范大学 | 一种基于医学知识的查询扩展方法 |
CN109492081A (zh) * | 2018-10-30 | 2019-03-19 | 上海智臻智能网络科技股份有限公司 | 文本信息搜索和信息交互方法、装置、设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199587A (zh) * | 2020-09-29 | 2021-01-08 | 上海博泰悦臻电子设备制造有限公司 | 搜索方法、装置、电子设备及存储介质 |
CN112818080A (zh) * | 2021-02-08 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 搜索方法、装置、设备及存储介质 |
CN113010791A (zh) * | 2021-03-31 | 2021-06-22 | 北京金堤征信服务有限公司 | 搜索结果展示处理方法、装置及计算机可读存储介质 |
CN113886685A (zh) * | 2021-09-23 | 2022-01-04 | 北京三快在线科技有限公司 | 一种搜索方法、装置、存储介质及电子设备 |
CN113886685B (zh) * | 2021-09-23 | 2023-01-06 | 北京三快在线科技有限公司 | 一种搜索方法、装置、存储介质及电子设备 |
CN115905297A (zh) * | 2023-01-04 | 2023-04-04 | 脉策(上海)智能科技有限公司 | 用于检索数据的方法、设备和介质 |
CN115905297B (zh) * | 2023-01-04 | 2023-12-15 | 脉策(上海)智能科技有限公司 | 用于检索数据的方法、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829893B (zh) | 确定视频标签的方法、装置、存储介质和终端设备 | |
CN108304375B (zh) | 一种信息识别方法及其设备、存储介质、终端 | |
CN111611372A (zh) | 搜索结果的排序方法及装置、音乐搜索方法及装置 | |
US8341112B2 (en) | Annotation by search | |
US11182435B2 (en) | Model generation device, text search device, model generation method, text search method, data structure, and program | |
US7542966B2 (en) | Method and system for retrieving documents with spoken queries | |
US9454957B1 (en) | Named entity resolution in spoken language processing | |
US20100070263A1 (en) | Speech data retrieving web site system | |
CN105956053B (zh) | 一种基于网络信息的搜索方法及装置 | |
CN101952824A (zh) | 计算机执行的对数据库中的文献进行索引和检索的方法以及信息检索系统 | |
CN111090771B (zh) | 歌曲搜索方法、装置及计算机存储介质 | |
CN112035598A (zh) | 一种智能语义检索方法、系统和电子设备 | |
CN108038099B (zh) | 基于词聚类的低频关键词识别方法 | |
CN111382260A (zh) | 一种检索文本纠错方法、装置和存储介质 | |
JP5308786B2 (ja) | 文書データ検索装置 | |
CN111198936B (zh) | 一种语音搜索方法、装置、电子设备及存储介质 | |
TW201822190A (zh) | 語音辨識系統及其方法、詞彙建立方法與電腦程式產品 | |
CN114880447A (zh) | 信息检索方法、装置、设备及存储介质 | |
CN114003682A (zh) | 一种文本分类方法、装置、设备及存储介质 | |
Lin et al. | Enhanced BERT-based ranking models for spoken document retrieval | |
CN111309926B (zh) | 一种实体链接方法、装置及电子设备 | |
CN104731918A (zh) | 一种语音搜索方法及装置 | |
Gupta et al. | Songs recommendation using context-based semantic similarity between lyrics | |
JP5436307B2 (ja) | 類似文書検索装置 | |
CN111737413A (zh) | 基于概念网语义的反馈模型信息检索方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |