搜索音乐和建立索引的方法及装置、搜索结果判断方法

xiaoxiao2021-2-28  224

搜索音乐和建立索引的方法及装置、搜索结果判断方法
【技术领域】
[0001] 本申请涉及搜索技术领域,特别涉及一种搜索音乐和建立索引的方法及装置、搜 索结果判断方法。
【背景技术】
[0002] 随着计算机技术和多媒体技术的发展,音乐搜索因为能够为广大用户检索到符合 用户意图的音乐信息而被广泛使用。
[0003] 在音乐搜索技术领域中,一首歌曲通常包含多个排列属性,例如歌曲名、艺人名、 专辑名等。用户在进行音乐搜索时,一般按排列属性来构造查询串。通常,一个查询串可能 是与歌曲的一个排列属性匹配,也可能与多个排列属性的组合匹配。另外,用户还可能因为 对要检索的歌曲信息了解不全面而使用不完整的排列属性信息及其组合来构造查询串。
[0004] 现有的搜索音乐的方法通常都建立在倒排索引的基础上,搜索方法与网页搜索方 法类似。
[0005] 现有的搜索音乐的方法一般可以包括:接受用户输入的查询串;对接收到的查询 串进行分词,得到关键词;对每个关键词根据倒排索引获得歌曲标识符并对获得的歌曲标 识符求交集,得到包含每个关键词的候选歌曲;对所述候选歌曲进行排序,并返回排序后的 歌曲。
[0006] 在实现本申请过程中,发明人发现现有技术中至少存在如下问题:考虑到关键词 在查询串中的位置关系对用户搜索意图的影响,现有的搜索音乐的方法仅对查询串中所有 关键词的倒排索引求交集,这种方式返回的搜索结果的精确度仍然有待提升。

【发明内容】

[0007] 本申请实施例的目的是提供一种搜索音乐和建立索引的方法及装置、搜索结果判 断方法,以保证搜索结果符合用户的搜索意图。
[0008] 为解决上述技术问题,本申请实施例提供一种搜索音乐和建立索引的方法及装 置、搜索结果判断方法,是这样实现的:
[0009] -种搜索音乐的方法,包括:接收查询串,对所述查询串进行分词,得到一个或多 个查询词;根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对 各查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合;获取所述候选的第一歌曲 集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述 查询串进行分段,得到一个或多个分段文本;将所述分段文本与所述歌曲的排列属性进行 匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重;根据所述查询串与所 述歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合, 设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
[0010] 一种搜索结果判断方法,包括:对所述查询串进行分词,得到一个或多个查询词; 获取所述候选的歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的 位置偏移量,对所述查询串进行分段,得到一个或多个分段文本;对所述候选的歌曲集合中 的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到相关结果 集合。
[0011] -种建立索引的方法,包括:记录歌曲排列属性,设置歌曲标识符;对所述歌曲标 识符对应的所述排列属性进行分词,得到关键词,记录所述关键词在所述排列属性中的位 置偏移量;根据所述关键词、所述歌曲标识符和所述关键词的位置偏移量,生成倒排索引 表。
[0012] -种搜索音乐的装置,包括:查询串分词单元、第一歌曲集合单元、分段文本单元、 歌曲权重单元和排序返回单元;其中,所述查询串分词单元,用于接收查询串,对所述查询 串进行分词,得到一个或多个查询词;所述第一歌曲集合单元,用于根据所述查询串分词单 元中的查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对查询词对应的 歌曲标识符求交集,得到候选的第一歌曲集合;所述分段文本单元,用于获取所述第一歌曲 集合单元中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对 所述查询串进行分段,得到一个或多个分段文本;所述歌曲权重单元,用于将所述分段文本 单元得到的分段文本与所述歌曲的排列属性进行匹配,基于所述匹配结果计算所述查询串 与所述歌曲的相关性权重;所述排序返回单元,用于根据所述歌曲权重单元得到的所述查 询串与所述歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌 曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
[0013] -种建立索引的装置,包括:排列属性单元、位置偏移量单元和倒排索引单元;其 中,所述排列属性单元,用于记录歌曲排列属性,设置歌曲标识符;所述位置偏移量单元,用 于对所述排列属性单元中歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所 述关键词在所述排列属性中的位置偏移量;所述倒排索引单元,用于根据所述位置偏移量 单元中的关键词、歌曲标识符和关键词的位置偏移量,生成倒排索引表。
[0014] 由以上本申请实施例提供的技术方案可见,本申请实施例通过计算候选歌曲集合 中歌曲的歌曲权重来对歌曲进行排序,在计算歌曲权重的过程中考虑了查询串中关键词的 位置、歌曲排列属性与查询串的匹配结果、歌曲的热度等,按计算出的歌曲权重进行排序的 搜索结果可以更符合用户的搜索意图。
[0015] 进一步地,本申请实施例还可以通过筛选分段文本数目小于或等于第一预设值的 歌曲,去除排列属性与查询串相关性不强的歌曲,从而减少了计算歌曲权重这一步骤的计 算量,节约了计算资源。
[0016] 进一步地,本申请实施例还可以判断第一歌曲集合中歌曲与查询串的相关程度, 筛选出其中相关程度较高的结果,再进行进一步的排序,可以使得返回给用户的结果更符 合用户的搜索意图,同时可以减少了计算歌曲权重这一步骤的计算量,节约了计算资源。
【附图说明】
[0017] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提 下,还可以根据这些附图获得其他的附图。
[0018] 图1是本申请一种搜索音乐的方法第一实施例的流程图;
[0019] 图2是本申请一种搜索音乐的方法第二实施例的流程图;
[0020] 图3是本申请一种搜索音乐的方法第三实施例的流程图;
[0021] 图4是本申请一种建立音乐倒排索引的方法一个实施例的流程图;
[0022] 图5是本申请一种搜索音乐的装置的一个实施例的模块图;
[0023] 图6是本申请搜索音乐的装置中歌曲权重单元的模块图;
[0024] 图7是本申请搜索音乐的装置中相关结果集合单元的模块图;
[0025] 图8是本申请一种建立倒排索引的装置一个实施例的模块图。
【具体实施方式】
[0026] 本申请实施例提供一种搜索音乐和建立索引的方法及装置、搜索结果判断方法。
[0027] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实 施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施 例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通 技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护 的范围。
[0028] 现有的搜索音乐的方法仅对查询串中所有关键词的倒排索引求交集,不考虑查询 串中关键词的位置关系,返回的搜索结果中可能包含不符合用户的搜索意图的搜索结果。 例如用户一般不会输入查询串"日子刘德华一起走过的",因此,对于这样的查询串返回的 歌曲中若包含"刘德华"的歌曲"一起走过的日子"将不符合用户的搜索意图。但现有的搜 索音乐的方法仅对所有关键词的倒排索引结果求交集,无论用户输入的查询串格式如何, 交集中出现的歌曲都会被返回,这样可能会返回与用户搜索意图不相关的无关结果。例如, 现有的搜索音乐的方法对查询串"日子刘德一华起走过的"进行分词并对关键词的倒排索 引结果求交集后,可能会返回"刘德华"的歌曲"一起走过的日子"这一不符合用户搜索意 图的结果。
[0029] 下面介绍本申请提供一种搜索音乐的方法实施例。图1是本申请一种搜索音乐的 方法第一实施例的流程图。如图1所示,所述搜索音乐的方法可以包括:
[0030] S110 :接收查询串,对所述查询串进行分词,得到一个或多个查询词。
[0031] 计算机可以接收查询串。计算机可以对所述查询串进行分词得到查询词,具体地, 可以对所述查询串逐字进行分词,所述查询串中包含英文的,可以对所述英文逐单词进行 分词,分词后得到的单字或英文单词可以设置为一个查询词。一个查询串分词后可以得到 一个或多个查询词。
[0032] S120 :根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识 符,对各查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合。
[0033] 根据所述查询词可以从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符 (下文可以简称歌曲ID)。所述歌曲ID可以是编号的形式。所述歌曲ID可以具有唯一性。 所述歌曲ID可以与歌曲的排列属性相对应。所述排列属性可以包括:歌曲名、歌曲别名、艺 人名、艺人别名、专辑名、专辑别名、演唱者等字段中的一种或多种。所述字段可以用于表示 歌曲的一个属性,例如字段"歌曲名"可以表示歌曲名称这一属性。所述排列属性可以是所 述字段的集合。所述排列属性中包含的字段可以按照预设的顺序进行排列。每一个查询词 可以对应一个或多个歌曲ID,所述查询词也可以没有对应的歌曲ID,即在所述歌曲倒排索 引表中没有歌曲ID对应的排列属性中包含该查询词。
[0034] 计算机可以对查询串中每一个查询词对应的歌曲ID求交集,得到的歌曲ID所对 应的排列属性中可以包含根据所述查询串分词后得到的所有的查询词。所述求交集得到的 歌曲ID形成的集合可以设置为候选的第一歌曲集合。
[0035] S130:获取所述候选的第一歌曲集合中歌曲的排列属性,根据所述查询词在所述 歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本。
[0036] 计算机可以获取所述候选的第一歌曲集合中每一首歌曲的排列属性,并获取各查 询词在其匹配的排列属性中的位 置偏移量。所述查询词在所述歌曲排列属性中的位置偏移 量可以包括:各查询词在所述排列属性中出现的位置。若某一查询词在所述排列属性中出 现的次数大于或等于2次,则分别记录所述查询词在所述排列属性不同位置处的位置偏移 量。为了便于区分所述查询词属于所述排列属性中不同的字段,可以在两个不同的字段之 间将位置偏移量增加一预设值,例如增加5。
[0037] 根据所述查询词在所述排列属性中的位置偏移量,可以对所述查询串按照第一预 设规则进行分段,得到分段文本。对所述查询串按照第一预设规则进行分段,具体可以包 括:将查询串中相邻且同时在排列属性中位置相邻的词作为一个分段文本。
[0038] 对所述查询串进行分段后,可以得到一个或多个分段文本,以及所述查询串的分 段文本数。
[0039] S140:将所述分段文本与所述歌曲的排列属性按照预定的顺序进行匹配,基于所 述匹配结果计算所述查询串与所述歌曲的相关性权重。
[0040] 计算机可以将所述每一个分段文本与所述歌曲的排列属性中的字段分别按照预 定的顺序进行匹配,得到匹配结果。具体地,对应每一个分段文本可以按照下述的先后顺序 进行匹配:歌曲名或艺人名、演唱者、歌曲别名、艺人别名、专辑名、专辑别名。对于一个分 段文本,首先将所述分段文本与所述歌曲的歌曲名或艺人名进行匹配,若所述分段文本能 与所述歌曲的歌曲名或艺人名完全精确匹配,则所述分段文本与所述歌曲的歌曲名或艺人 名匹配成功,可以记录所述分段文本的匹配结果;若不能匹配成功,可以将所述分段文本与 演唱者进行匹配,以此类推,直至与所述歌曲的排列属性中的某个字段匹配成功;若所述分 段文本最终不能与所述歌曲的排列属性中的专辑别名匹配成功,则所述分段文本匹配不成 功,记录所述分段文本的匹配结果。所述匹配成功可以包括:分段文本的内容与排列属性的 内容完全相同,或,分段文本的内容存在于字段的内容中。
[0041] 基于所述匹配结果可以计算所述歌曲与所述查询串的相关性权重。具体地,所述 查询串与所述歌曲的相关性权重可以通过下式来计算获得:
[0042]
[0043] 上述公式(1)中,W表示查询串与歌曲的相关性权重;Wtext表示文本分;Wstatic 表示静态分,Wmax表示文本分的最大值;α为静态分加权因子。
[0044] 所述静态分可以用于表示歌曲热度,所述静态分可以根据歌曲的试听数来计算。 具体地,可以将所述歌曲的试听数除以一个固定值所得的结果设置为所述静态分的值。所 述固定值的取值可以根据实际试验结果进行选取。
[0045] 所述Wmax可以用于限制文本分的最大值。
[0046] 所述静态分加权因子α的取值可以根据实际试验结果进行选取。
[0047] 所述文本分的值可以根据查询串的分段文本与所述歌曲的排列属性匹配的结果 来计算。所述文本分可以包括:精确匹配权值和路径权值。
[0048] 所述文本分的计算方法可以如下:
[0049]
[0050] 上述公式⑵中,Wexact为精确匹配权值,Wpath为路径权值;b为路径权值因子。 所述路径权值因子b的取值可以根据实际试验结果进行选取。
[0051] 所述精确匹配权值可以由所述分段文本与所述歌曲的排列属性匹配结果确定。所 述分段文本与歌曲的排列属性匹配结果不同,对应的精确匹配权值也可以不同。所述与所 述分段文本匹配成功的字段在匹配过程中优先程度越高的,对应的精确匹配权值可以越 大。根据匹配过程中字段的匹配优先程度,所述精确匹配权值可以符合下述规律:
[0052] ^title Wartist-titie〉W singer〉Wsub-titi e〉Waritst-sub-ti tie〉Waibum-title〉Walbum-sub-title (3)
[0053] 其中, Wti tie 表示歌曲名 ?^artist_title 表示艺人名;WsingCT表示演唱者;Wsub_ title 表示歌 曲别名;W ar i ts t_sub_t i 11e 表示艺人别名;W album-title 表示专辑名;W album-sub-ti tie 表示专辑别名。
[0054] 所述精确匹配权值的取值可以根据实际试验结果进行选取。例如,可以选取歌曲 名、艺人名、演唱者、歌曲别名、艺人别名、专辑名、专辑别名匹配成功时所对应的精确匹配 权值分别为:10000,10000,9500,8000,7000,3600,3400。
[0055] 当分段文本的匹配结果是与歌曲名匹配成功时,可以将Wtltle的值作为Wexact进 行计算。当分段文本与歌曲的排列属性中每一字段的匹配结果是匹配不成功时,Wexact的 值可以为〇。若某一歌曲中同时有多个字段匹配成功,则选取对应的精确匹配权值中的最大 值带入公式
[0056] (2)中进行计算。
[0057] 所述路径权值可以用于表示查询串的查询词在所述歌曲排列属性中位置偏移量 的分布情况。所述路径权值可以根据最短路径值来计算。所述最短路径值可以包括:查询 串中的第一个查询词到最后一个查询词在所述歌曲排列属性中所经过的最短路径的值。
[0058] 例如,有一歌曲的排列属性为"中国人爱中国",查询串为"爱中国"。对所述查询 串分词后可以分别得到查询词"爱""中""国"。其中,
[0059] 所述查询词"爱"在所述排列属性中的位置偏移量为:4 ;
[0060] 所述查询词"中"在所述排列属性中的位置偏移量为:1和5 ;
[0061] 所述查询词"国"在所述排列属性中的位置偏移量为:2和6。
[0062] 则所述查询串中"爱中国"的第一个查询词"爱"到最后一个查询词"国"在所述歌 曲排列属性中所经过的路径可以包括:
[0063] 位置偏移量为4_>位置偏移量为1->位置偏移量为2,所经过的路径值为4 ;
[0064] 或者,位置偏移量为4_>位置偏移量为1_>位置偏移量为6,所经过的路径值为8 ;
[0065] 或者,位置偏移量为4_>位置偏移量为5_>位置偏移量为2,所经过的路径值为4 ;
[0066] 或者位置偏移量为4_>位置偏移量为5_>位置偏移量为6,所经过的路径值为2。
[0067] 选择其中路径值最小的2作为所述歌曲"中国人爱中国"的最短路径值。
[0068] 根据所述最短路径值计算路径权值,具体可以通过下述公式来计算:
[0069] ffpath = NwordXC-ff shortest (4)
[0070] 公式(4)中,所述Wpath用于表示需要计算的路径权值;所述Nword用于表示所述 查询串对应的查询词的词数;所述Wshortest用于表示最短路径值;所述C为查询词系数, 可以是一个固定值;所述C可以根据实际试验结果进行选取。所述C的取值范围可以包括: 大于10000。
[0071] 由公式⑷可以看出,最短路径值越小,得到的路径权值越大,表示所述歌曲与查 询串的相关性越1?。
[0072] 将每一歌曲对应的路径权值和精确匹配权值带入公式(2)中,可以计算出所述歌 曲的文本分;将所述歌曲的文本分和静态分的值带入公式(1)中可以计算出所述歌曲的歌 曲权值。所述歌曲权值可以用于对歌曲进行排序。
[0073] S150:根据所述查询串与所述歌曲的相关性权重对所述候选的第一歌曲集合中的 歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给 用户。
[0074] 根据所述候选的第一歌曲集合中每一歌曲计算所得的歌曲权重,可以对所述歌曲 进行排序,以使得符合用户搜索意图的歌曲排在前面。具体地,可以将所述候选的第一歌曲 集合中的歌曲按照歌曲权重的值从大到小依次进行排列。通过对所述歌曲进行排序,可以 得到第二歌曲集合,可以将所述第二歌曲集合设置为所述查询串对应的搜索结果。计算机 可以将所述搜索结果返回给用户。
[0075] 上述实施例公开的搜索音乐的方法,通过计算候选歌曲集合中歌曲的歌曲权重来 对歌曲进行排序,在计算歌曲权重的过程中考虑了查询串中关键词的位置、歌曲排列属性 与查询串的匹配结果、歌曲的热度等,按计算出的歌曲权重进行排序的搜索结果可以更符 合用户的搜索意图。
[0076] 下面介绍本申请搜索音乐的方法的第二实施例。
[0077] 图2是本申请一种搜索音乐的方法第二实施例的流程图。如图2所示,所述搜索 音乐的方法可以包括:
[0078] S210 :接收查询串,对所述查询串进行分词,得到一个或多个查询词。
[0079] S220 :根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识 符,对各查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合。
[0080] S230:获取所述候选的第一歌曲集合中歌曲的排列属性,根据所述查询词在所述 歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本。
[0081] S240 :计算所述歌曲对应的分段文本的数目,所述分段文本的数目小于或等于第 一预设值的,将所述歌曲存放至第三歌曲集合。
[0082] S250 :将第三歌曲集合中歌曲的排列属性与所述歌曲对应的分段文本进行匹配, 基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。
[0083] S260:根据所述查询串与所述歌曲的相关性权重对所述候选的第三歌曲集合中的 歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给 用户。
[0084] 所述搜索音乐的方法第二实施例与所述搜索音乐的方法第一实施例的区别在于: 本实施例中,将所述查询串根据候选的第一歌曲集合中每一歌曲的排列属性进行分段后, 还进一步筛选出分段文本数目小于或等于第一预设值的歌曲,形成第三歌曲集合,再对第 三歌曲集合中的歌曲计算歌曲权重并排序。所述第一预设值可以根据实际试验结果进行选 取,第一预设值的取值范围可以包括:大于或等于5。
[0085] 将查询串的内容根据歌曲的排列属性进行分段时,若分段数目较多,则表示所述 查询串的内容在所述排列属性中基本不相连,则可以设定所述排 列属性与所述查询串的相 关性不强,所述排列属性对应的歌曲可以从候选歌曲集合中去除。本实施例筛选出分段文 本数目小于或等于第一预设值的歌曲可以实现上述效果。
[0086] 本实施例的其他部分与本申请搜索音乐的方法第一实施例相同,可以参照搜索音 乐的方法第一实施例,本实施例在此不再赘述。
[0087] 上述公开的搜索音乐的方法的第二实施例,在实现了搜索音乐的方法第一实施例 技术效果的基础上,通过筛选分段文本数目小于或等于第一预设值的歌曲,可以去除排列 属性与查询串相关性不强的歌曲,从而减少了计算歌曲权重这一步骤的计算量,节约了计 算资源。
[0088] 下面介绍本申请搜索音乐的方法的第三个实施例。
[0089] 图3是本申请一种搜索音乐的方法第三实施例的流程图。如图3所示,所述搜索 音乐的方法可以包括:
[0090] S310 :接收查询串,对所述查询串进行分词,得到一个或多个查询词。
[0091] S320 :根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识 符,对各查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合。
[0092] S330:获取所述候选的第一歌曲集合中歌曲的排列属性,根据所述查询词在所述 歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本。
[0093] S340:对所述候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定 所述歌曲与查询串的相关程度,得到第四歌曲集合。
[0094] S350:将第四歌曲集合中歌曲的排列属性与所述歌曲对应的分段文本进行匹配, 基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。
[0095] S360 :根据所述查询串与所述歌曲的相关性权重对所述候选的第四歌曲集合中的 歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给 用户。
[0096] 所述搜索音乐的方法第三实施例与所述搜索音乐的方法第一实施例的区别在于: 本实施例中,得到候选的第一歌曲集合后,还可以对第一歌曲集合中的歌曲根据第二规则 进行判断,选取出与用户搜索意图较符合的相关歌曲结果,所述相关歌曲结果可以形成第 四歌曲集合,再对第四歌曲集合求取歌曲权重值并排序。
[0097] 所述歌曲与查询串的相关程度可以分为三种:相关、可能相关和不相关。具体地, 可以用一特定的字段来表示某一歌曲与查询串的相关程度,通过对该字段设定不同的值来 设定歌曲与查询串的相关程度。例如,可以设定相关程度这一字段的值为0来表示相关程 度为相关;可以设定相关程度这一字段的值为1来表示相关程度为可能相关;可以设定相 关程度这一字段的值为2来表示相关程度为不相关。
[0098] 所述对候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌 曲与查询串的相关程度,得到第四歌曲集合,具体可以包括:
[0099] S341 :将所述查询串与候选的第一歌曲集合中歌曲的排列属性进行匹配,所述查 询串与所述排列属性中字段完全精确匹配的,设定所述歌曲与所述查询串的相关程度为相 关;没有设定相关程度的歌曲,进入下一步骤进行处理。
[0100] 可以将所述查询串与候选的第一歌曲集合中每一首歌曲的排列属性进行匹配,所 述查询串与所述排列属性中字段能完全精确匹配的,可以设定所述歌曲与所述查询串的相 关程度为相关。所述设定相关程度为相关可以通过设定相关程度这一字段的值为0来表 /_J、1 〇
[0101] S342:将所述根据歌曲的排列属性对所述查询串进行分段得到的分段文本与所述 排列属性中的字段进行匹配,所述分段文本存在于所述排列属性中同一个字段内的,设定 所述排列属性对应的歌曲与所述查询串的相关程度为相关;没有设定相关程度的,进入下 一步骤进行处理。
[0102] 该步骤可以用于对上一步骤处理结束后没有设定相关程度的歌曲进行处理。具体 地,可以将所述分段文本与所述排列属性中的字段分别进行匹配,所述分段文本存在于所 述排列属性中同一个字段内的,可以设定所述排列属性对应的歌曲与所述查询串的相关程 度为相关。所述设定相关程度为相关可以通过设定相关程度这一字段的值为〇来表示。
[0103] S343:判断所述分段文本的数目是否大于第二预设值,若所述分段文本的数目大 于第二预设值,设定所述歌曲与所述查询串的相关程度为不相关;没有设定相关程度的,进 入下一步骤进行处理。
[0104] 该步骤可以用于对上一步骤处理结束后没有设定相关程度的歌曲进行处理。具体 地,可以判断所述分段文本的数目是否大于第二预设值,若分段文本的数目大于第二预设 值,可以设定所述歌曲与所述查询串的相关程度为不相关。所述设定相关程度为不相关可 以通过设定相关程度这一字段的值为2来表示。所述第二预设值的取值可以是2。
[0105] 对将查询串的内容根据歌曲的排列属性进行分段后,若分段文本不存在于同一个 字段,则可以表示,所述查询串的内容与所述歌曲的排列属性相关性不强,进一步可以判断 分段文本的数目。若分段文本数目较多,则表示所述查询串的内容在所述排列属性中基本 不相连,可以表示所述排列属性与所述查询串的相关性差,可以设定所述歌曲与所述查询 串的相关程度为不相关。
[0106] S344:判断所述查询词的数目是否大于第三预设值,若所述查询词的数目小于或 等于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为可能相 关;若所述查询词的数目大于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲 的相关程度设置为不相关。
[0107] 该步骤可以用于对上一步骤处理结束后没有设定相关程度的歌曲进行处理。具体 地,可以判断所述查询词的数目是否大于第三预设值,若所述查询词的数目小于或等于第 三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为可能相关;若 所述查询词的数目大于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关 程度设置为不相关。所述第三预设值的取值可以是3。
[0108] S345:将所述第一歌曲集合中歌曲的相关程度为相关的歌曲存储至相关结果集 合。
[0109] 所述第一歌曲集合中歌曲的相关程度为相关的歌曲可以存储至相关结果集合。所 述相关结果集合中可以包括返回给用户的歌曲结果。
[0110] 例如,对于刘德华的歌曲"忘情水",当查询串不同是,判断相关性的结果也可能不 同。表1给出了不同查询串对应的相关程度判断结果。利用上述的步骤对表1中的查询串 与刘德华的歌曲"忘情水"进行判断,判断结果如表1所示。
[0111] 表1不同查询串对应的相关程度判断结果 [0112]
[0113] 当经过上述S341~S345处理后,得到的相关结果集合中包含的歌曲数目为0时, 所述判断过程还可以包括:
[0114] S346:将所述第一歌曲集合中歌曲的相关程度为可能相关的歌曲存储至相关结果 集合。
[0115] 若经过上述S341~S345处理后,得到的相关结果集合中包含的歌曲数目为0,表 示第一歌曲集合中没有相关程度为相关的歌曲,则可以将相关程度设定为"可能相关"的歌 曲作为返回给用户的歌曲结果。
[0116] 本实施例的其他部分与本申请搜索音乐的方法第一实施例相同,可以参照搜索音 乐的方法第一实施例,本实施例在此不再赘述。
[0117] 本实施例公开的搜索音乐的方法,在实现了搜索音乐的方法第一实施例技术效果 的基础上,可以判断第一歌曲集合中歌曲与查询串的相关程度,筛选出其中相关程度较高 的结果,再进行进一步的排序,可以使得返回给用户的结果更符合用户的搜索意图,同时可 以减少了计算歌曲权重这一步骤的计算量,节约了计算资源。
[0118] 下面介绍与本申请搜索音乐的方法相对应的建立音乐倒排索引的方法实施例。
[0119] 图4是本申请一种建立音乐倒排索引的方法一个实施例的流程图。如图4所示, 所述建立音乐倒排索引的方法可以包括:
[0120] S401 :记录歌曲排列属性,设置歌曲标识符。
[0121] 计算机可以对每一首歌曲记录所述歌曲的排列属性。所述排列属性可以包括:歌 曲名、歌曲别名、艺人名、艺人别名、专辑名、专辑别名、演唱者等字段。所述排列属性中包含 的字段可以按照预设的顺序进行排列。
[0122] 计算机可以为每一歌曲设置歌曲标识符,所述歌曲标识符可以是编号的形式。所 述标识符具有唯一性。所述歌曲标识符可以与该歌曲的排列属性相对应。
[0123] S402:对所述歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所述关 键词在所述排列属性中的位置偏移量。
[0124] 计算机可以对所述歌曲标识符对应的所述排列属性进行分词,具体地,可以对所 述排列属性逐字进行分词,所述排列属性中包含英文的,可以对所述英文逐单词进行分词。 分词后可以得到关键词。例如排列属性中的歌曲名"忘情水"可以被逐字分成:关键词"忘"、 "情"、"水",歌曲名 "To live&Die In TJ" 可以被分为关键词"T〇"、"live"、"&"、"Die"、 "In,,、"TJ,,。
[0125] 计算机可以记录分词后每个关键词在所述排列属性中的位置偏移量。所述位置偏 移量可以用于表示所述关键词在所述排列属性中的位置,例如可以用于表示所述关键词在 所述排列属性中为第几个字或单词。所述排列属性分词后存在重复关键词的,由于每个关 键词具有不同的位置偏移量,所述重复的词可以都保留。例如,歌曲ID为"1"的歌曲排列 属性"忘情水忘情水"进行分词,可以得到两个关键词"忘",其位置偏移量可以分别为1和 4。
[0126] S403 :根据所述关键词、所述歌曲标识符和所述关键词的位置偏移量,生成倒排索 引表。计算机根据所述关键词、所述歌曲标识符和所述关键词的位置偏移量可以生成倒排 索引表。具体地,可以将所述关键词作为倒排索引表的索引词;可以将所述歌曲ID以及每 个关键词在歌曲所述排列属性中的位置偏移量作为每个关键词的索引内容;所述索引词和 索引词对应的索引内容可以生成倒排索引表。
[0127] 上述实施例提供的建立音乐倒排索引的方法实施例与本申请搜索音乐的方法相 对应,可以为本申请 搜索音乐的方法中得到第一歌曲集合提供倒排索引表。
[0128] 下面举个实例来说明本申请的搜索音乐的方法和建立倒排索引的方法:
[0129] 假设曲库中有以下三首歌曲,歌曲的属性可以如表2所示。
[0130] 表2歌曲排列属性信息
[0131]

[0132] 可以对所有歌曲的排列属性逐字或者逐单词进行分词,记录每个词所属的歌曲ID 以及每个词在歌曲排列属性中的位置偏移量。
[0133] 可以将所述词作为倒排索引表的索引词;可以将所述歌曲ID以及每个词在歌曲 所述排列属性中的位置偏移量作为每个词的索引内容;所述索引词和所述词对应的索引内 容可以生成倒排索引表,例如可以如表3所示。
[0134] 表3中,第一列表示索引词,第二列表示索引内容。所述索引内容可以是用(A,B) 的形式来表示,其中A可以表示歌曲ID,B可以表示所述索引词在歌曲排列属性的位置偏移 量。为区分歌曲的排列属性中不同属性的字段,可以在两个不同属性的字段之间将位置偏 移量增加一预设值,例如增加5。
[0135] 表3倒排索引表
[0136]
[0137] 假设用户输入一个查询串"刘忘情",逐字分词的结果可以是:查询词"刘"、"忘"、 "情,'。
[0138] 根据表3的倒排索引,求取分词后所有查询词对应的结果,并对所述求取的倒排 索引的结果求交集,可以得到歌曲ID为0的歌曲作为候选歌曲,同时可以得到每个查询词 在所述候选歌曲排列属性的位置偏移量,如表4所示。
[0139] 由表4信息可见,"忘"、"情"在歌曲ID为0的歌曲正排排列属性中位置相邻,则 可以将"忘情"作为一个分段文本,查询词"刘"可以作为另一个分段文本。
[0140] 表4查询词在候选歌曲中的位置偏移量
[0141]
[0142] 所述查询串"刘忘情"分成的两个文本分段"刘" "忘情"分别可以与艺人名、歌曲 名部分精确匹配,同时查询词长度为3,可以设定歌曲"忘情水"与查询串的相关程度为1。 对于假设的曲库数据,由于不存在与查询串相关程度为〇的歌曲结果,则可以将与查询串 的相关程度为1的歌曲"忘情水"存储至相关结果集合。
[0143] 对所述相关结果集合中的歌曲计算歌曲权重。假设:取静态分加权因子α = 500 ; 文本分计算时路径权值因子b = 50 ;限制最大文本分Wmax = 30000 ;歌曲名、艺人名、演 唱者、歌曲别名、艺人别名、专辑名、专辑别名的精确匹配权值分别为:10000,10000,9500, 8000,7000,3600,3400。
[0144] 查询串"刘忘情"的文本分段为2,分别为"刘"、"忘情",将这两个文本分段分别与 所述候选歌曲"忘情水"的排列属性进行匹配。按精确匹配的优先级顺序,分段文本"忘情" 可以首先与歌曲名或艺人名作匹配,可以与歌曲名匹配成功;分段文本"刘"可以首先与歌 曲名或艺人名作匹配,可以与艺人名匹配成功。
[0145] 所述歌曲存在歌曲名和艺人名的精确匹配,取其中精确匹配权值较大的值,由于 歌曲名和艺人名的精确匹配权值相同,则精确匹配权值的取值可以是Wexact = 10000。
[0146] 利用本申请提供的计算路径权值的方法可以计算路径权值Wpath,假设结果为 Wpath = 2300,则文本分的值可以是 Wtext = Wexact+Wpath/50 = 10000+2300/50 = 10046。
[0147] 假设歌曲"忘情水"的试听数为859000,则静态分的值可以是Wstatic =试听数 /100 = 8590。
[0148] 则所述歌曲"忘情水"的歌曲与查询串"刘忘情"的相关性权重可以是:
[0149] W = Wtext+501og(ffstatlc) = 10046+50*log(8590) = 10242
[0150] 当所述查询串对应搜索结果有多个歌曲时,每个歌曲分别按照上述方法计算歌曲 与查询串的相关性权重,最后将多个歌曲按所述相关性权重进行降序排序,得到最终的搜 索结果。
[0151 ] 下面介绍本申请搜索音乐的装置的一个实施例。
[0152] 图5是本申请一种搜索音乐的装置的一个实施例的模块图。如图5所示,所述搜 索音乐的装置可以包括:查询串分词单元510、第一歌曲集合单元520、分段文本单元530、 歌曲权重单元540和排序返回单元550。
[0153] 其中,
[0154] 所述查询串分词单元510,可以用于接收查询串,对所述查询串进行分词,得到一 个或多个查询词。
[0155] 所述第一歌曲集合单元520,可以用于根据所述查询串分词单元510中的查询词, 从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对查询词对应的歌曲标识符求 交集,得到候选的第一歌曲集合。
[0156] 所述分段文本单元530,可以用于获取所述第一歌曲集合单元520中歌曲的排列 属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得 到一个或多个分段文本。
[0157] 所述歌曲权重单元540,可以用于将所述分段文本单元530得到的分段文本与所 述歌曲的排列属性进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权 重。
[0158] 所述排序返回单元550,可以用于根据所述歌曲权重单元540得到的查询串与歌 曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置 第二歌曲集合为所述查询串的搜索结果,并返回给用户。
[0159] 图6是本申请搜索音乐的装置中歌曲权重单元的模块图。如图6所示,所述歌曲 权重单元540可以包括:匹配结果单元541、精确匹配权值单元542、路径权值单元543、文 本分单元544、静态分单元545和歌曲权重计算单元546。其中,
[0160] 所述匹配结果单元541,可以用于将查询串与所述候选的第一歌曲集合中歌曲的 排列属性进行匹配,得到查询串的分段文本与排列属性中字段的匹配结果。
[0161] 所述精确匹配权值单元542,可以用于根据匹配结果单元541中的匹配结果,确定 所述歌曲的精确匹配权值。
[0162] 所述路径权值单元543,可以用于确定所述歌曲的路径权值。
[0163] 所述文本分单元544,可以用于根据精确匹配权值单元542确定的精确匹配权值 和路径权值单元543确定的路径权值计算所述歌曲的文本分。
[0164] 所述静态分单元545,可以用于确定所述歌曲的静态分。
[0165] 所述歌曲权重计算单元546,可以用于根据所述文本分单元544计算出的文本分 和所述静态分单元545确定的静态分,计算所述查询串与所述歌曲的相关性权重。
[0166] 进一步地,所述搜索音乐的装置还可以包括:文本数目筛选单元560。所述文本数 目筛选单元560,可以用于计算所述分段文本单元530得到的分段文本的数目,所述分段文 本的数目小于或等于第一预设值的,将所述歌曲存放至第三歌曲集合。
[0167] 相应地,所述歌曲权重单元540,可以用于将所述文本数目筛选单元560筛选后的 第三歌曲集合中歌曲对应的分段文本与所述歌曲的排列属性中的字段按照预定的顺序进 行匹配,基于所述匹配结果计算所述歌曲的歌曲权重。
[0168] 进一步地,所述搜索音乐的装置还可以包括:相关结果集合单元570。所述相关结 果集合单元570,可以用于对所述分段文本单元530中候选的第一歌曲集合中的歌曲根据 预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到第四歌曲集合。
[0169] 相应地,所述歌曲权重单元540,可以用于将所述相关结果集合单元570得到的第 四歌曲集合中歌曲对应的分段文本与所述歌曲的排列属性中的字段按照预定的顺序进行 匹配,基于所述匹配结果计算所述歌曲的歌曲权重。
[0170] 图7是本申请搜索音乐的装置中相关结果集合单元的模块图。如图7所示,所述 相关结果集合单元570可以包括:相关程度设定单元571和相关结果集合确定单元572。
[0171] 其中,
[0172] 所述相关程度设定单元571,可以用于对所述候选的第一歌曲集合中的歌曲根据 预设的第二规则进行判断,确定所述歌曲与查询串的相关程度。
[0173] 相关结果集合确定单元572,可以用于将所述相关程度设定单元571中相关程度 为相关的歌曲存储至相关结果集合,当所述相关程度设定单元571中没有相关程度为相关 的歌曲时,将所述相关程度设定单元571中相关程度为可能相关的歌曲存储至相关结果集 合。
[0174] 上述实施例提供的搜索音乐的装置与本申请搜索音乐的方法实施例相对应,可以 实现本申请方法实施例的技术效果。
[0175] 图8是本申请一种建立倒排索引的装置一个实施例的模块图。如图8所示,所述建 立倒排索引的装置可以包括:排列属性单元801、位置偏移量单元802和倒排索引单元803。 其中,
[0176] 所述排列属性单元801,可以用于记录歌曲排列属性,设置歌曲标识符。
[0177] 所述位置偏移量单元802,可以用于对所述排列属性单元801中歌曲标识符对应 的所述排列属性进行分词,得到关键词,记录所述关键词在所述排列属性中的位置偏移量。
[0178] 所述倒排索引单元803,可以用于根据所述位置偏移量单元802中的关键词、歌曲 标识符和关键词的位置偏移量,生成倒排索引表。
[0179] 上述实施例提供的建立倒排索引的装置与本申请建立倒排索引的方法实施例相 对应,可以实现本申请方法实施例的技术效果。
[0180] 在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例 如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改 进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直 接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路 结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑 器件(Programmable Log ic Device, PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设 计人员自行编程来把一个数字系统"集成"在一片PLD上,而不需要请芯片制造厂商来设 计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也 多半改用"逻辑编译器(logic compiler)"软件来实现,它与程序开发撰写时所用的软件 编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描 述语言(Hardware Description Language, HDL),而HDL也并非仅有一种,而是有许多种, 如 ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、 JHDL (Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL (Ruby Hardware Description Language)等,目前最普遍使用的是 VHDL(Very-High_Speed Integrated Circuit Hardware Description Language)与 Verilog2〇 本令页域技术人员 也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路 中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0181] 控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理 器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算 机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit, ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制 器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及 Silicone Labs C8051F320, 存储器控制器还可以被实现为存储器的控制逻辑的一部分。
[0182] 本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完 全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程 逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种 硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者 甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部 件内的结构。
[0183] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现, 或者由具有某种功能的产品来实现。
[0184] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本 申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0185] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可 借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质 上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置 中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机 软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者 网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产 品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储 器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是 计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体 可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模 块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取 存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储 器(ROM)、电可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只 读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储 或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按 照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制 的数据信号和载波。
[0186] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实 施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例 的部分说明即可。
[0187] 本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、月艮 务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置 顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备 的分布式计算环境等等。
[0188] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序 模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由 通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。
[0189] 虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和 变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的 精神。
【主权项】
1. 一种搜索音乐的方法,其特征在于,包括: 接收查询串,对所述查询串进行分词,得到一个或多个查询词; 根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对各查询 词对应的歌曲标识符求交集,得到候选的第一歌曲集合; 获取所述候选的第一歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列 属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本; 将所述分段文本与所述歌曲的排列属性进行匹配,基于所述匹配结果计算所述查询串 与所述歌曲的相关性权重; 根据所述查询串与所述歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行 排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。2. 如权利要求1所述的一种搜索音乐的方法,其特征在于,对所述查询串进行分词,得 到一个或多个查询词,包括:对所述查询串逐字或逐外语单词进行分词,得到的单个字或单 个外语单词为查询词。3. 如权利要求1所述的一种搜索音乐的方法,其特征在于,根据所述查询词在所述歌 曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本,包括: 对所述查询串按照第一预设规则进行分段,得到一个或多个分段文本;具体地,将所述查询 串中相邻且同时在歌曲排列属性中位置相邻的词作为一个分段文本。4. 如权利要求1所述的一种搜索音乐的方法,其特征在于,所述将所述分段文本与所 述歌曲的排列属性进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权 重,包括:所述将所述分段文本与所述歌曲的排列属性中的字段按照预定的顺序进行匹配, 基于所述匹配结果计算所述查询串与所述歌曲的相关性权重; 具体地, 将所述分段文本与所述歌曲的排列属性中的字段按照下述先后顺序进行匹配:歌曲名 或艺人名、演唱者、歌曲别名、艺人别名、专辑名、专辑别名,得到匹配成功或匹配不成功的 匹配结果; 基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。5. 如权利要求4所述的一种搜索音乐的方法,其特征在于,所述匹配成功,包括:分段 文本的内容与字段的内容完全相同,或,分段文本的内容存在于字段的内容中。6. 如权利要求4所述的一种搜索音乐的方法,其特征在于,基于所述匹配结果计算所 述查询串与所述歌曲的相关性权重,具体包括: 根据所述匹配结果确定精确匹配权值; 根据所述歌曲的最短路径值计算所述歌曲的路径权值; 根据所述精确匹配权值和所述路径权值计算所述歌曲的文本分; 根据所述歌曲的文本分和静态分来计算所述查询串与所述歌曲的相关性权重;所述静 态分用于表示歌曲热度。7. 如权利要求6所述的一种搜索音乐的方法,其特征在于,所述精确匹配权值根据所 述匹配结果中匹配成功的字段来确定,所述精确匹配权值根据匹配成功的字段在下述顺序 中的位置依次减小:歌曲名或艺人名、演唱者、歌曲别名、艺人别名、专辑名、专辑别名。8. 如权利要求6所述的一种搜索音乐的方法,其特征在于,根据所述精确匹配权值和 所述路径权值计算所述歌曲的文本分,通过下述公式计算实现:上式中,Wexact为精确匹配权值,Wpath为路径权值;b为路径权值因子。9. 如权利要求6所述的一种搜索音乐的方法,其特征在于,根据所述歌曲的文本分和 静态分来计算所述歌曲的歌曲权重,通过下述公式计算实现:上式中,W表示歌曲权重;Wtext表示文本分;Wstatic表示静态分,Wmax表示文本分的 最大值,用于限制文本分的最大值;α为静态分加权因子。10. 如权利要求9所述的一种搜索音乐的方法,其特征在于,所述静态分根据歌曲的试 听数来计算,具体地,将所述歌曲的试听数除以一个固定值所得的结果设置为所述静态分 的值。11. 如权利要求6所述的一种搜索音乐的方法,其特征在于,根据所述歌曲的最短路径 值计算所述歌曲的路径权值,包括: 将所述查询串的对应的查询词数目乘以一个查询词系数,所得乘积减去最短路径值, 相减所得的结果为所述歌曲的路径权值; 所述最短路径值包括所述查询串中的第一个查询词到最后一个查询词在所述歌曲排 列属性中所经过的最短路径的值;所述查询词系数的取值范围包括: 大于1〇〇〇〇。12. 如权利要求1所述的一种搜索音乐的方法,其特征在于,根据所述查询串与所述歌 曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,包括: 将所述候选的第一歌曲集合中的歌曲按照歌曲权重的值从大到小依次进行排列。13. 如权利要求1所述的一种搜索音乐的方法,其特征在于,所述搜索音乐的方法,在 得到分段文本的步骤后,还包括: 计算所述歌曲对应的分段文本的数目,所述分段文本的数目小于或等于第一预设值 的,将所述歌曲存放至第三歌曲集合; 相应地, 匹配和排序步骤中将第三歌曲集合中歌曲的排列属性中的字段与所述歌曲对应的分 段文本按照预定的顺序进行匹配及排序。14. 如权利要求13所述的一种搜索音乐的方法,其特征在于,所述第一预设值的取值 范围包括:大于或等于5。15. 如权利要求1所述的一种搜索音乐的方法,其特征在于,所述搜索音乐的方法,在 得到分段文本的步骤后,还包括: 对所述候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与 查询串的相关程度,得到第四歌曲集合; 相应地, 匹配和排序步骤中将第四歌曲集合中歌曲的排列属性中的字段与所述歌曲对应的分 段文本按照预定的顺序进行匹配及排序。16. 如权利要求15所述的一种搜索音乐的方法,其特征在于,对所述候选的第一歌曲 集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到第 四歌曲集合,具体包括: 将所述查询串与候选的第一歌曲集合中歌曲的排列属性进行匹配,所述查询串与所述 排列属性中字段完全精确匹配的,设定所述歌曲与所述查询串的相关程度为相关;没有设 定相关程度的歌曲,进入下一步骤进行处理; 将所述根据歌曲的排列属性对所述查询串进行分段得到的分段文本与所述排列属性 中的字段进行匹配,所述分段文本存在于所述排列属性中同一个字段内的,设定所述排列 属性对应的歌曲与所述查询串的相关程度为相关;没有设定相关程度的,进入下一步骤进 行处理; 判断所述分段文本的数目是否大于第二预设值,若所述分段文本的数目大于第二预设 值,设定所述歌曲与所述查询串的相关程度为不相关;没有设定相关程度的,进入下一步骤 进行处理; 判断所述查询词的数目是否大于第三预设值,若所述查询词的数目小于或等于第三预 设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为可能相关;若所述 查询词的数目大于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度 设置为不相关; 将所述第一歌曲集合中歌曲的相关程度为相关的歌曲存储至相关结果集合。17. 如权利要求16所述的一种搜索音乐的方法,其特征在于,所述相关结果集合中包 含的歌曲数目为〇时,还包括:将所述第一歌曲集合中歌曲的相关程度为可能相关的歌曲 存储至相关结果集合。18. 如权利要求1-17中任意一项所述的搜索音乐的方法,其特征在于,所述排列属性 包括:按照预设的顺序进行排列的字段;所述字段包括:歌曲名、歌曲别名、艺人名、艺人别 名、专辑名、专辑别名或演唱者。19. 一种搜索结果判断方法,其特征在于,包括: 对所述查询串进行分词,得到一个或多个查询词; 获取所述候选的歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性 中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本; 对所述候选的歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询 串的相关程度,得到相关结果集合。20. 如权利要求19所述的一种搜索结果判断方法,其特征在于,对所述候选的歌曲集 合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到相关 结果集合,具体包括: 将所述查询串与候选的歌曲集合中歌曲的排列属性进行匹配,所述查询串与所述排列 属性中字段完全精确匹配的,设定所述歌曲与所述查询串的相关程度为相关;没有设定相 关程度的歌曲,进入下一步骤进行处理; 将所述根据歌曲的排列属性对所述查询串进行分段得到的分段文本与所述排列属性 中的字段进行匹配,所述分段文本存在于所述排列属性中同一个字段内的,设定所述排列 属性对应的歌曲与所述查询串的相关程度为相关;没有设定相关程度的,进入下一步骤进 行处理; 判断所述分段文本的数目是否大于第二预设值,若所述分段文本的数目大于第二预设 值,设定所述歌曲与所述查询串的相关程度为不相关;没有设定相关程度的,进入下一步骤 进行处理; 判断所述查询词的数目是否大于第三预设值,若所述查询词的数目小于或等于第三预 设值,将所述候选的歌曲集合中未设定相关程度的歌曲的相关程度设置为可能相关;若所 述查询词的数目大于第三预设值,将所述候选的歌曲集合中未设定相关程度的歌曲的相关 程度设置为不相关; 将所述候选的歌曲集合中歌曲的相关程度为相关的歌曲存储至相关结果集合。21. 如权利要求20所述的一种搜索结果判断方法,其特征在于,所述相关结果集合中 包含的歌曲数目为0时,还包括:将所述候选的歌曲集合中歌曲的相关程度为可能相关的 歌曲存储至相关结果集合。22. -种建立索引的方法,其特征在于,包括: 记录歌曲排列属性,设置歌曲标识符; 对所述歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所述关键词在所 述排列属性中的位置偏移量; 根据所述关键词、所述歌曲标识符和所述关键词的位置偏移量,生成倒排索引表。23. -种搜索音乐的装置,其特征在于,包括:查询串分词单元、第一歌曲集合单元、分 段文本单元、歌曲权重单元和排序返回单元;其中, 所述查询串分词单元,用于接收查询串,对所述查询串进行分词,得到一个或多个查询 词; 所述第一歌曲集合单元,用于根据所述查询串分词单元中的查询词从歌曲倒排索引表 中查找与所述查询词对应的歌曲标识符,对查询词对应的歌曲标识符求交集,得到候选的 第一歌曲集合; 所述分段文本单元,用于获取所述第一歌曲集合单元中歌曲的排列属性,根据所述查 询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分 段文本; 所述歌曲权重单元,用于将所述分段文本单元得到的分段文本与所述歌曲的排列属性 进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重; 所述排序返回单元,用于根据所述歌曲权重单元得到的所述查询串与所述歌曲的相关 性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲 集合为所述查询串的搜索结果,并返回给用户。24. 如权利要求23所述的一种搜索音乐的装置,其特征在于,所述歌曲权重单元包括: 匹配结果单元、精确匹配权值单元、路径权值单元、文本分单元、静态分单元和歌曲权重计 算单元;其中, 所述匹配结果单元,用于将查询串与所述候选的第一歌曲集合中歌曲的排列属性进行 匹配,得到匹配结果; 所述精确匹配权值单元,用于根据匹配结果单元中的匹配结果,确定所述歌曲的精确 匹配权值; 所述路径权值单元,用于确定所述歌曲的路径权值; 所述文本分单元,用于根据精确匹配权值单元确定的精确匹配权值和路径权值单元确 定的路径权值计算所述歌曲的文本分; 所述静态分单元,用于确定所述歌曲的静态分; 所述歌曲权重计算单元,用于根据所述文本分单元计算出的文本分和所述静态分单元 确定的静态分,计算所述查询串与所述歌曲的相关性权重。25. 如权利要求23所述的一种搜索音乐的装置,其特征在于,所述搜索音乐的装置还 包括:文本数目筛选单元;所述文本数目筛选单元,用于计算所述分段文本单元得到的分 段文本的数目,所述分段文本的数目小于或等于第一预设值的,将所述歌曲存放至第三歌 曲集合; 相应地, 所述歌曲权重单元,用于将所述文本数目筛选单元筛选后的第三歌曲集合中歌曲对应 的分段文本与所述歌曲的排列属性中的字段按照预定的顺序进行匹配,基于所述匹配结果 计算所述查询串与所述歌曲的相关性权重。26. 如权利要求23所述的一种搜索音乐的装置,其特征在于,所述搜索音乐的装置还 包括:相关结果集合单元;所述相关结果集合单元,用于对所述分段文本单元中候选的第 一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度, 得到第四歌曲集合; 相应地, 所述歌曲权重单元,用于将所述相关结果集合单元得到的第四歌曲集合中歌曲对应的 分段文本与所述歌曲的排列属性中的字段按照预定的顺序进行匹配,基于所述匹配结果计 算所述查询串与所述歌曲的相关性权重。27. 如权利要求26所述的一种搜索音乐的装置,其特征在于,所述相关结果集合单元 包括:相关程度设定单元和相关结果集合确定单元;其中, 所述相关程度设定单元,用于对所述候选的第一歌曲集合中的歌曲根据预设的第二规 则进行判断,确定所述歌曲与查询串的相关程度; 相关结果集合确定单元,用于将所述相关程度设定单元中相关程度为相关的歌曲存储 至相关结果集合,当所述相关程度设定单元中没有相关程度为相关的歌曲时,将所述相关 程度设定单元中相关程度为可能相关的歌曲存储至相关结果集合。28. -种建立索引的装置,其特征在于,包括:排列属性单元、位置偏移量单元和倒排 索引单元;其中, 所述排列属性单元,用于记录歌曲排列属性,设置歌曲标识符; 所述位置偏移量单元,用于对所述排列属性单元中歌曲标识符对应的所述排列属性进 行分词,得到关键词,记录所述关键词在所述排列属性中的位置偏移量; 所述倒排索引单元,用于根据所述位置偏移量单元中的关键词、歌曲标识符和关键词 的位置偏移量,生成倒排索引表。
【专利摘要】本申请实施例公开了一种搜索音乐和建立索引的方法及装置、搜索结果判断方法,所述搜索音乐的方法包括:接收查询串,对查询串进行分词,得到一个或多个查询词;根据查询词得到候选的第一歌曲集合;获取第一歌曲集合中歌曲的排列属性,根据查询词在歌曲的排列属性中的位置偏移量,对查询串进行分段,得到一个或多个分段文本;将分段文本与歌曲的排列属性进行匹配,基于匹配结果计算所述查询串与所述歌曲的相关性权重;根据所述查询串与所述歌曲的相关性权重对第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为查询串的搜索结果,并返回给用户。本申请提供的搜索音乐的方法返回的搜索结果可以更符合用户的搜索意图。
【IPC分类】G06F17/30
【公开号】CN105488068
【申请号】CN201410484475
【发明人】胡剑柳, 杨洋, 姚创沐
【申请人】阿里巴巴集团控股有限公司
【公开日】2016年4月13日
【申请日】2014年9月19日

最新回复(0)