基于音乐搜索引擎的多层查询纠正方法及系统与流程

文档序号:13804787阅读:322来源:国知局
基于音乐搜索引擎的多层查询纠正方法及系统与流程

本发明涉及音乐数据处理领域,特别是涉及一种基于音乐搜索引擎的多层查询纠正方法及系统。



背景技术:

当今社会,电子音乐飞速增长,人们对快速有效地检索音乐的需求逐渐变大。近些年,随着研究者的探索,多媒体搜索引擎的使用实现了突破性的增长。但是,索引歌曲的主导方式仍然是通过对基本的歌曲属性数据进行建模完成的。当给定一个查询,没有精确匹配或者近似匹配的记录来匹配它时,音乐检索系统便很难找到符合该用户查询的歌曲。

用户在搜索引擎中输入查询词的时候,常见的错误是输错字符,比如将“易烊千玺”错写成“易洋千玺”。统计分析,在搜索引擎的查询中,大约有10%~15%的查询是错误输入的,所以如何能够自动并准确地纠正用户的错误查询,对于搜索结果质量的提升有着很大的帮助。

综上,在音乐搜索引擎中,用户错误查询是很常见的。如果能够准确地纠正用户的错误查询,对于提高搜索引擎的质量是有很大帮助。然而,在音乐垂直搜索领域中,目前还没有一种有效的并且准确率很高的方法,尤其是在音乐搜索引擎中没有任何返回结果的情况下。



技术实现要素:

基于此,本发明的目的在于提供一种基于音乐搜索引擎的多层查询纠正方法及系统,可以在音乐搜索引擎中没有任何返回结果的前提下,对用户的查询词进行高效纠正,提高音乐搜索的准确率。

为达到上述目的,本发明实施例采用以下技术方案:

一种基于音乐搜索引擎的多层查询纠正方法,包括:

s1、当基于用户查询词进行音乐搜索,无结果返回时,判断用户查询词是否为中文,如果是执行步骤s2,否则执行步骤s4;

s2、将用户查询词转换成拼音,然后查询歌曲要素文档的全拼及简拼字段的索引项,得到所需的歌曲要素文档;其中,歌曲要素文档包括:歌曲要素字段、歌曲要素全拼字段、歌曲要素简拼字段、歌曲要素类型字段以及歌曲要素热度字段;

s3、将查询得到的歌曲要素文档按照热度进行排序,返回热度最高的文档的歌曲要素字段为最优纠正查询;

s4、在歌曲文档的歌曲名字段以及歌手名字段的索引项中找出与用户查询词的文本编辑距离为第一阈值的索引项;其中,所述歌曲文档包括歌曲名、歌手名、专辑名、歌词以及歌曲名与歌手名的组合字段;

s5、判断是否有匹配的索引项,如果有执行步骤s6,否则执行步骤s7;

s6、将返回的匹配索引项作为纠正查询的候选集,在候选集中选择文档频率最高的歌曲要素字段为最优纠正查询;其中,所述索引项的文档频率是指包含该索引项的文档数量;

s7、在歌曲文档的组合字段的索引项中找出与用户查询词的文本编辑距离为第二阈值的组合索引项;

s8、判断是否有匹配的组合索引项,如果有执行步骤s9,否则执行步骤s10;

s9、将返回的匹配组合索引项作为纠正查询候选集,在候选集中选择最长公共子串最大的索引项为最优纠正查询;其中,所述最长公共子串是指在两个序列中同时出现的最长子序列的长度;

s10、返回没有纠正查询的提示。

以及,提出一种基于音乐搜索引擎的多层查询纠正系统,包括:

第一判断单元,用于当基于用户查询词进行音乐搜索,无结果返回时,判断用户查询词是否为中文,如果是则通知转换单元将用户查询词转换成拼音;第一查询单元将查询歌曲要素文档的全拼及简拼字段的索引项,得到所需的歌曲要素文档;其中,歌曲要素文档包括:歌曲要素字段、歌曲要素全拼字段、歌曲要素简拼字段、歌曲要素类型字段以及歌曲要素热度字段;第一纠正单元,用于将查询得到的歌曲要素文档按照热度进行排序,返回热度最高的文档的歌曲要素字段为最优纠正查询;

否则,通知第二查询单元在歌曲文档的歌曲名字段以及歌手名字段的索引项中找出与用户查询词的文本编辑距离为第一阈值的索引项;其中,所述歌曲文档包括歌曲名、歌手名、专辑名、歌词以及歌曲名与歌手名的组合字段;

第二判断单元,用于判断是否有匹配的索引项,如果有,则通知第二纠正单元将返回的匹配索引项作为纠正查询的候选集,在候选集中选择文档频率最高的歌曲要素字段为最优纠正查询;其中,所述索引项的文档频率是指包含该索引项的文档数量;否则通知第三查询单元在歌曲文档的组合字段的索引项中找出与用户查询词的文本编辑距离为第二阈值的组合索引项;

第三判断单元,用于判断是否有匹配的组合索引项,如果有,则通知第三纠正单元将返回的匹配组合索引项作为纠正查询候选集,在候选集中选择最长公共子串最大的索引项为最优纠正查询;其中,所述最长公共子串是指在两个序列中同时出现的最长子序列的长度;

否则,通知结果返回单元返回没有纠正查询的提示。

利用本发明,当无结果返回时,可对用户查询词进行纠正,包括将用户查询词转换成拼音进行同音词查询以及利用编辑距离算法找到与用户查询词相似的索引项,尽可能保证无返回结果的用户查询词能够纠正成功。采用合适的候选集筛选方法,包括热度筛选方法、文档频率筛选方法以及最长公共子串长度筛选方法,在候选集中选择最优的纠正查询替代用户查询词,确保纠正查询的准确性。

附图说明

附图是用来提供对本发明的进一步理解,并构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但不应构成对本发明的限制。在附图中,

图1是本发明提出的基于音乐搜索引擎的多层查询纠正方法的流程示意图;

图2是本发明提出的基于音乐搜索引擎的多层查询纠正系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

图1示出了一种基于音乐搜索引擎的多层查询纠正方法的流程示意图,包括:

s1、判断用户查询词是否为中文,如果是执行步骤s2,否则执行步骤s4;

具体的,当基于用户查询词进行音乐搜索,无结果返回时,判断用户查询词是否为中文,如果是执行步骤s2,否则执行步骤s4。

s2、将用户查询词转换成拼音,然后查询歌曲要素文档的全拼及简拼字段的索引项,得到所需的歌曲要素文档;其中,歌曲要素文档包括:歌曲要素字段、歌曲要素全拼字段、歌曲要素简拼字段、歌曲要素类型字段以及歌曲要素热度字段;

歌曲要素类型字段用来区分歌曲要素是歌曲名还是歌手名,歌曲要素热度字段用来表示歌曲要素的热度。另外歌曲要素拼音字段和歌曲要素简拼字段需要创建索引项,在创建索引项之前不需要对字段进行任何文本处理。

s3、将查询得到的歌曲要素文档按照热度进行排序,返回热度最高的文档的歌曲要素字段为最优纠正查询;

s4、在歌曲文档的歌曲名字段以及歌手名字段的索引项中找出与用户查询词的文本编辑距离为第一阈值的索引项;其中,所述歌曲文档包括歌曲名、歌手名、专辑名、歌词以及歌曲名与歌手名的组合字段;

歌曲名和歌手名字段需要创建索引项,创建索引项之前需要进行分词、大小写转换、非ascii码转化以及去除所有格等文本处理,组合字段创建索引之前不需要进行文本处理。

所述编辑距离是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。允许的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

优选地,所述第一阈值为1。

s5、判断是否有匹配的索引项;如果有执行步骤s6,否则执行步骤s7;

s6、将返回的匹配索引项作为纠正查询的候选集,在候选集中选择文档频率最高的歌曲要素字段为最优纠正查询;其中,所述索引项的文档频率是指包含该索引项的文档数量;

s7、在歌曲文档的组合字段的索引项中找出与用户查询词的文本编辑距离为第二阈值的组合索引项;

所述组合字段是指多个字段组合产生的字段,对于组合字段,创建索引之前不进行任何文本处理,另外组合字段中间用空格分隔不同的字段。举个例子,歌曲文档包含歌曲名字段“黑色毛衣”和歌手名字段“周杰伦”,那么组合字段就是“黑色毛衣周杰伦”和“周杰伦黑色毛衣”,生成的索引项也就是“黑色毛衣周杰伦”和“周杰伦黑色毛衣”。

优选地,所述第二阈值为1。

s8、判断是否有匹配的组合索引项;如果有执行步骤s9,否则执行步骤s10;

s9、将返回的匹配组合索引项作为纠正查询候选集,在候选集中选择最长公共子串最大的索引项为最优纠正查询;其中,所述最长公共子串是指在两个序列中同时出现的最长子序列的长度;

一个子序列是出现在相对顺序的序列,但不一定是连续的。

s10、返回没有纠正查询的提示。

进一步地,当步骤s8中判断没有匹配的组合索引项时,进行以下步骤:

s11、在歌曲文档的组合字段的索引项中找出与用户查询词的文本编辑距离为第二阈值加1的组合索引项;

s12、判断是否有匹配的组合索引项,如果有执行步骤s13,否则执行步骤s10;

s13、将返回的匹配组合索引项作为纠正文本候选集,在候选集中选择最长公共子串最大的索引项;

s14、判断所述最长公共子串是否大于门限阀值,如果是执行步骤s15,否则执行步骤s10;

s15、返回最长公共子串最大的索引项为最优纠正查询。

对应上述方法,本发明提出一种基于音乐搜索引擎的多层查询纠正系统,其结构示意图如图2,包括:

第一判断单元,用于当基于用户查询词进行音乐搜索,无结果返回时,判断用户查询词是否为中文,如果是则通知转换单元将用户查询词转换成拼音;第一查询单元将查询歌曲要素文档的全拼及简拼字段的索引项,得到所需的歌曲要素文档;其中,歌曲要素文档包括:歌曲要素字段、歌曲要素全拼字段、歌曲要素简拼字段、歌曲要素类型字段以及歌曲要素热度字段;第一纠正单元,用于将查询得到的歌曲要素文档按照热度进行排序,返回热度最高的文档的歌曲要素字段为最优纠正查询;

否则,通知第二查询单元在歌曲文档的歌曲名字段以及歌手名字段的索引项中找出与用户查询词的文本编辑距离为第一阈值的索引项;其中,所述歌曲文档包括歌曲名、歌手名、专辑名、歌词以及歌曲名与歌手名的组合字段;

第二判断单元,用于判断是否有匹配的索引项,如果有,则通知第二纠正单元将返回的匹配索引项作为纠正查询的候选集,在候选集中选择文档频率最高的歌曲要素字段为最优纠正查询;其中,所述索引项的文档频率是指包含该索引项的文档数量;否则通知第三查询单元在歌曲文档的组合字段的索引项中找出与用户查询词的文本编辑距离为第二阈值的组合索引项;

第三判断单元,用于判断是否有匹配的组合索引项,如果有,则通知第三纠正单元将返回的匹配组合索引项作为纠正查询候选集,在候选集中选择最长公共子串最大的索引项为最优纠正查询;其中,所述最长公共子串是指在两个序列中同时出现的最长子序列的长度;

否则,通知结果返回单元返回没有纠正查询的提示。

进一步地,还包括:第三查询单元、第四判断单元、第五判断单元、第四纠正单元;

第三查询单元,用于当第三判断单元判断没有匹配的组合索引项时,在歌曲文档的组合字段的索引项中找出与用户查询词的文本编辑距离为第二阈值加1的组合索引项;

第四判断单元用于判断是否有匹配的组合索引项,如果有,则通知选择单元将返回的匹配组合索引项作为纠正文本候选集,在候选集中选择最长公共子串最大的索引项;第五判断单元判断所述最长公共子串是否大于门限阀值,如果是,则通知第四纠正单元返回最长公共子串最大的索引项为最优纠正查询;

否则,通知结果返回单元返回没有纠正查询的提示。

本发明的有益效果:

1、本发明提出多层查询纠正算法对用户查询词进行纠正,包括将用户查询词转换成拼音进行同音词查询以及利用编辑距离算法找到与用户查询词相似的索引项,尽可能保证无返回结果的用户查询词能够纠正成功。

2、采用合适的候选集筛选方法,包括热度筛选方法、文档频率筛选方法以及最长公共子串长度筛选方法,在候选集中选择最优的纠正查询替代用户查询词,确保纠正查询的准确性。

3、本发明能本发明能够准确地纠正搜索引擎中用户的错误查询,提高搜索结果的质量,具有很高的可用性。

只要不违背本发明创造的思想,对本发明的各种不同实施例进行任意组合,均应当视为本发明公开的内容;在本发明的技术构思范围内,对技术方案进行多种简单的变型及不同实施例进行的不违背本发明创造的思想的任意组合,均应在本发明的保护范围之内。

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