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

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

Info

Publication number
CN105488068B
CN105488068B CN201410484475.2A CN201410484475A CN105488068B CN 105488068 B CN105488068 B CN 105488068B CN 201410484475 A CN201410484475 A CN 201410484475A CN 105488068 B CN105488068 B CN 105488068B
Authority
CN
China
Prior art keywords
song
songs
unit
query string
query
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.)
Active
Application number
CN201410484475.2A
Other languages
English (en)
Other versions
CN105488068A (zh
Inventor
胡剑柳
杨洋
姚创沐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Youku Culture Technology Beijing Co ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410484475.2A priority Critical patent/CN105488068B/zh
Publication of CN105488068A publication Critical patent/CN105488068A/zh
Priority to HK16109895.9A priority patent/HK1221793A1/zh
Application granted granted Critical
Publication of CN105488068B publication Critical patent/CN105488068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种搜索音乐和建立索引的方法及装置、搜索结果判断方法,所述搜索音乐的方法包括:接收查询串,对查询串进行分词,得到一个或多个查询词;根据查询词得到候选的第一歌曲集合;获取第一歌曲集合中歌曲的排列属性,根据查询词在歌曲的排列属性中的位置偏移量,对查询串进行分段,得到一个或多个分段文本;将分段文本与歌曲的排列属性进行匹配,基于匹配结果计算所述查询串与所述歌曲的相关性权重;根据所述查询串与所述歌曲的相关性权重对第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为查询串的搜索结果,并返回给用户。本申请提供的搜索音乐的方法返回的搜索结果可以更符合用户的搜索意图。

Description

搜索音乐和建立索引的方法及装置、搜索结果判断方法
技术领域
本申请涉及搜索技术领域,特别涉及一种搜索音乐和建立索引的方法及装置、搜索结果判断方法。
背景技术
随着计算机技术和多媒体技术的发展,音乐搜索因为能够为广大用户检索到符合用户意图的音乐信息而被广泛使用。
在音乐搜索技术领域中,一首歌曲通常包含多个排列属性,例如歌曲名、艺人名、专辑名等。用户在进行音乐搜索时,一般按排列属性来构造查询串。通常,一个查询串可能是与歌曲的一个排列属性匹配,也可能与多个排列属性的组合匹配。另外,用户还可能因为对要检索的歌曲信息了解不全面而使用不完整的排列属性信息及其组合来构造查询串。
现有的搜索音乐的方法通常都建立在倒排索引的基础上,搜索方法与网页搜索方法类似。
现有的搜索音乐的方法一般可以包括:接受用户输入的查询串;对接收到的查询串进行分词,得到关键词;对每个关键词根据倒排索引获得歌曲标识符并对获得的歌曲标识符求交集,得到包含每个关键词的候选歌曲;对所述候选歌曲进行排序,并返回排序后的歌曲。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:考虑到关键词在查询串中的位置关系对用户搜索意图的影响,现有的搜索音乐的方法仅对查询串中所有关键词的倒排索引求交集,这种方式返回的搜索结果的精确度仍然有待提升。
发明内容
本申请实施例的目的是提供一种搜索音乐和建立索引的方法及装置、搜索结果判断方法,以保证搜索结果符合用户的搜索意图。
为解决上述技术问题,本申请实施例提供一种搜索音乐和建立索引的方法及装置、搜索结果判断方法,是这样实现的:
一种搜索音乐的方法,包括:接收查询串,对所述查询串进行分词,得到一个或多个查询词;根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对各查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合;获取所述候选的第一歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本;将所述分段文本与所述歌曲的排列属性进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重;根据所述查询串与所述歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
一种搜索结果判断方法,包括:对所述查询串进行分词,得到一个或多个查询词;获取所述候选的歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本;对所述候选的歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到相关结果集合。
一种建立索引的方法,包括:记录歌曲排列属性,设置歌曲标识符;对所述歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所述关键词在所述排列属性中的位置偏移量;根据所述关键词、所述歌曲标识符和所述关键词的位置偏移量,生成倒排索引表。
一种搜索音乐的装置,包括:查询串分词单元、第一歌曲集合单元、分段文本单元、歌曲权重单元和排序返回单元;其中,所述查询串分词单元,用于接收查询串,对所述查询串进行分词,得到一个或多个查询词;所述第一歌曲集合单元,用于根据所述查询串分词单元中的查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合;所述分段文本单元,用于获取所述第一歌曲集合单元中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本;所述歌曲权重单元,用于将所述分段文本单元得到的分段文本与所述歌曲的排列属性进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重;所述排序返回单元,用于根据所述歌曲权重单元得到的所述查询串与所述歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
一种建立索引的装置,包括:排列属性单元、位置偏移量单元和倒排索引单元;其中,所述排列属性单元,用于记录歌曲排列属性,设置歌曲标识符;所述位置偏移量单元,用于对所述排列属性单元中歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所述关键词在所述排列属性中的位置偏移量;所述倒排索引单元,用于根据所述位置偏移量单元中的关键词、歌曲标识符和关键词的位置偏移量,生成倒排索引表。
由以上本申请实施例提供的技术方案可见,本申请实施例通过计算候选歌曲集合中歌曲的歌曲权重来对歌曲进行排序,在计算歌曲权重的过程中考虑了查询串中关键词的位置、歌曲排列属性与查询串的匹配结果、歌曲的热度等,按计算出的歌曲权重进行排序的搜索结果可以更符合用户的搜索意图。
进一步地,本申请实施例还可以通过筛选分段文本数目小于或等于第一预设值的歌曲,去除排列属性与查询串相关性不强的歌曲,从而减少了计算歌曲权重这一步骤的计算量,节约了计算资源。
进一步地,本申请实施例还可以判断第一歌曲集合中歌曲与查询串的相关程度,筛选出其中相关程度较高的结果,再进行进一步的排序,可以使得返回给用户的结果更符合用户的搜索意图,同时可以减少了计算歌曲权重这一步骤的计算量,节约了计算资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一种搜索音乐的方法第一实施例的流程图;
图2是本申请一种搜索音乐的方法第二实施例的流程图;
图3是本申请一种搜索音乐的方法第三实施例的流程图;
图4是本申请一种建立音乐倒排索引的方法一个实施例的流程图;
图5是本申请一种搜索音乐的装置的一个实施例的模块图;
图6是本申请搜索音乐的装置中歌曲权重单元的模块图;
图7是本申请搜索音乐的装置中相关结果集合单元的模块图;
图8是本申请一种建立倒排索引的装置一个实施例的模块图。
具体实施方式
本申请实施例提供一种搜索音乐和建立索引的方法及装置、搜索结果判断方法。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
现有的搜索音乐的方法仅对查询串中所有关键词的倒排索引求交集,不考虑查询串中关键词的位置关系,返回的搜索结果中可能包含不符合用户的搜索意图的搜索结果。例如用户一般不会输入查询串“日子刘德华一起走过的”,因此,对于这样的查询串返回的歌曲中若包含“刘德华”的歌曲“一起走过的日子”将不符合用户的搜索意图。但现有的搜索音乐的方法仅对所有关键词的倒排索引结果求交集,无论用户输入的查询串格式如何,交集中出现的歌曲都会被返回,这样可能会返回与用户搜索意图不相关的无关结果。例如,现有的搜索音乐的方法对查询串“日子刘德华一起走过的”进行分词并对关键词的倒排索引结果求交集后,可能会返回“刘德华”的歌曲“一起走过的日子”这一不符合用户搜索意图的结果。
下面介绍本申请提供一种搜索音乐的方法实施例。图1是本申请一种搜索音乐的方法第一实施例的流程图。如图1所示,所述搜索音乐的方法可以包括:
S110:接收查询串,对所述查询串进行分词,得到一个或多个查询词。
计算机可以接收查询串。计算机可以对所述查询串进行分词得到查询词,具体地,可以对所述查询串逐字进行分词,所述查询串中包含英文的,可以对所述英文逐单词进行分词,分词后得到的单字或英文单词可以设置为一个查询词。一个查询串分词后可以得到一个或多个查询词。
S120:根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对各查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合。
根据所述查询词可以从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符(下文可以简称歌曲ID)。所述歌曲ID可以是编号的形式。所述歌曲ID可以具有唯一性。所述歌曲ID可以与歌曲的排列属性相对应。所述排列属性可以包括:歌曲名、歌曲别名、艺人名、艺人别名、专辑名、专辑别名、演唱者等字段中的一种或多种。所述字段可以用于表示歌曲的一个属性,例如字段“歌曲名”可以表示歌曲名称这一属性。所述排列属性可以是所述字段的集合。所述排列属性中包含的字段可以按照预设的顺序进行排列。每一个查询词可以对应一个或多个歌曲ID,所述查询词也可以没有对应的歌曲ID,即在所述歌曲倒排索引表中没有歌曲ID对应的排列属性中包含该查询词。
计算机可以对查询串中每一个查询词对应的歌曲ID求交集,得到的歌曲ID所对应的排列属性中可以包含根据所述查询串分词后得到的所有的查询词。所述求交集得到的歌曲ID形成的集合可以设置为候选的第一歌曲集合。
S130:获取所述候选的第一歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本。
计算机可以获取所述候选的第一歌曲集合中每一首歌曲的排列属性,并获取各查询词在其匹配的排列属性中的位置偏移量。所述查询词在所述歌曲排列属性中的位置偏移量可以包括:各查询词在所述排列属性中出现的位置。若某一查询词在所述排列属性中出现的次数大于或等于2次,则分别记录所述查询词在所述排列属性不同位置处的位置偏移量。为了便于区分所述查询词属于所述排列属性中不同的字段,可以在两个不同的字段之间将位置偏移量增加一预设值,例如增加5。
根据所述查询词在所述排列属性中的位置偏移量,可以对所述查询串按照第一预设规则进行分段,得到分段文本。对所述查询串按照第一预设规则进行分段,具体可以包括:将查询串中相邻且同时在排列属性中位置相邻的词作为一个分段文本。
对所述查询串进行分段后,可以得到一个或多个分段文本,以及所述查询串的分段文本数。
S140:将所述分段文本与所述歌曲的排列属性按照预定的顺序进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。
计算机可以将所述每一个分段文本与所述歌曲的排列属性中的字段分别按照预定的顺序进行匹配,得到匹配结果。具体地,对应每一个分段文本可以按照下述的先后顺序进行匹配:歌曲名或艺人名、演唱者、歌曲别名、艺人别名、专辑名、专辑别名。对于一个分段文本,首先将所述分段文本与所述歌曲的歌曲名或艺人名进行匹配,若所述分段文本能与所述歌曲的歌曲名或艺人名完全精确匹配,则所述分段文本与所述歌曲的歌曲名或艺人名匹配成功,可以记录所述分段文本的匹配结果;若不能匹配成功,可以将所述分段文本与演唱者进行匹配,以此类推,直至与所述歌曲的排列属性中的某个字段匹配成功;若所述分段文本最终不能与所述歌曲的排列属性中的专辑别名匹配成功,则所述分段文本匹配不成功,记录所述分段文本的匹配结果。所述匹配成功可以包括:分段文本的内容与排列属性的内容完全相同,或,分段文本的内容存在于字段的内容中。
基于所述匹配结果可以计算所述歌曲与所述查询串的相关性权重。具体地,所述查询串与所述歌曲的相关性权重可以通过下式来计算获得:
上述公式(1)中,W表示查询串与歌曲的相关性权重;Wtext表示文本分;Wstatic表示静态分,Wmax表示文本分的最大值;α为静态分加权因子。
所述静态分可以用于表示歌曲热度,所述静态分可以根据歌曲的试听数来计算。具体地,可以将所述歌曲的试听数除以一个固定值所得的结果设置为所述静态分的值。所述固定值的取值可以根据实际试验结果进行选取。
所述Wmax可以用于限制文本分的最大值。
所述静态分加权因子α的取值可以根据实际试验结果进行选取。
所述文本分的值可以根据查询串的分段文本与所述歌曲的排列属性匹配的结果来计算。所述文本分可以包括:精确匹配权值和路径权值。
所述文本分的计算方法可以如下:
上述公式(2)中,Wexact为精确匹配权值,Wpath为路径权值;b为路径权值因子。所述路径权值因子b的取值可以根据实际试验结果进行选取。
所述精确匹配权值可以由所述分段文本与所述歌曲的排列属性匹配结果确定。所述分段文本与歌曲的排列属性匹配结果不同,对应的精确匹配权值也可以不同。所述与所述分段文本匹配成功的字段在匹配过程中优先程度越高的,对应的精确匹配权值可以越大。根据匹配过程中字段的匹配优先程度,所述精确匹配权值可以符合下述规律:
Wtitle=Wartist_title>Wsinger>Wsub_title>Waritst_sub_title>Walbum_title>Walbum_sub_title (3)
其中,Wtitle表示歌曲名;Wartist_title表示艺人名;Wsinger表示演唱者;Wsub_title表示歌曲别名;Waritst_sub_title表示艺人别名;Walbum_title表示专辑名;Walbum_sub_title表示专辑别名。
所述精确匹配权值的取值可以根据实际试验结果进行选取。例如,可以选取歌曲名、艺人名、演唱者、歌曲别名、艺人别名、专辑名、专辑别名匹配成功时所对应的精确匹配权值分别为:10000,10000,9500,8000,7000,3600,3400。
当分段文本的匹配结果是与歌曲名匹配成功时,可以将Wtitle的值作为Wexact进行计算。当分段文本与歌曲的排列属性中每一字段的匹配结果是匹配不成功时,Wexact的值可以为0。若某一歌曲中同时有多个字段匹配成功,则选取对应的精确匹配权值中的最大值带入公式(2)中进行计算。
所述路径权值可以用于表示查询串的查询词在所述歌曲排列属性中位置偏移量的分布情况。所述路径权值可以根据最短路径值来计算。所述最短路径值可以包括:查询串中的第一个查询词到最后一个查询词在所述歌曲排列属性中所经过的最短路径的值。
例如,有一歌曲的排列属性为“中国人爱中国”,查询串为“爱中国”。对所述查询串分词后可以分别得到查询词“爱”“中”“国”。其中,
所述查询词“爱”在所述排列属性中的位置偏移量为:4;
所述查询词“中”在所述排列属性中的位置偏移量为:1和5;
所述查询词“国”在所述排列属性中的位置偏移量为:2和6。
则所述查询串中“爱中国”的第一个查询词“爱”到最后一个查询词“国”在所述歌曲排列属性中所经过的路径可以包括:
位置偏移量为4->位置偏移量为1->位置偏移量为2,所经过的路径值为4;
或者,位置偏移量为4->位置偏移量为1->位置偏移量为6,所经过的路径值为8;
或者,位置偏移量为4->位置偏移量为5->位置偏移量为2,所经过的路径值为4;
或者位置偏移量为4->位置偏移量为5->位置偏移量为6,所经过的路径值为2。
选择其中路径值最小的2作为所述歌曲“中国人爱中国”的最短路径值。
根据所述最短路径值计算路径权值,具体可以通过下述公式来计算:
Wpath=Nword×C-Wshortest (4)
公式(4)中,所述Wpath用于表示需要计算的路径权值;所述Nword用于表示所述查询串对应的查询词的词数;所述Wshortest用于表示最短路径值;所述C为查询词系数,可以是一个固定值;所述C可以根据实际试验结果进行选取。所述C的取值范围可以包括:大于10000。
由公式(4)可以看出,最短路径值越小,得到的路径权值越大,表示所述歌曲与查询串的相关性越高。
将每一歌曲对应的路径权值和精确匹配权值带入公式(2)中,可以计算出所述歌曲的文本分;将所述歌曲的文本分和静态分的值带入公式(1)中可以计算出所述歌曲的歌曲权值。所述歌曲权值可以用于对歌曲进行排序。
S150:根据所述查询串与所述歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
根据所述候选的第一歌曲集合中每一歌曲计算所得的歌曲权重,可以对所述歌曲进行排序,以使得符合用户搜索意图的歌曲排在前面。具体地,可以将所述候选的第一歌曲集合中的歌曲按照歌曲权重的值从大到小依次进行排列。通过对所述歌曲进行排序,可以得到第二歌曲集合,可以将所述第二歌曲集合设置为所述查询串对应的搜索结果。计算机可以将所述搜索结果返回给用户。
上述实施例公开的搜索音乐的方法,通过计算候选歌曲集合中歌曲的歌曲权重来对歌曲进行排序,在计算歌曲权重的过程中考虑了查询串中关键词的位置、歌曲排列属性与查询串的匹配结果、歌曲的热度等,按计算出的歌曲权重进行排序的搜索结果可以更符合用户的搜索意图。
下面介绍本申请搜索音乐的方法的第二实施例。
图2是本申请一种搜索音乐的方法第二实施例的流程图。如图2所示,所述搜索音乐的方法可以包括:
S210:接收查询串,对所述查询串进行分词,得到一个或多个查询词。
S220:根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对各查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合。
S230:获取所述候选的第一歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本。
S240:计算所述歌曲对应的分段文本的数目,所述分段文本的数目小于或等于第一预设值的,将所述歌曲存放至第三歌曲集合。
S250:将第三歌曲集合中歌曲的排列属性与所述歌曲对应的分段文本进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。
S260:根据所述查询串与所述歌曲的相关性权重对所述候选的第三歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
所述搜索音乐的方法第二实施例与所述搜索音乐的方法第一实施例的区别在于:本实施例中,将所述查询串根据候选的第一歌曲集合中每一歌曲的排列属性进行分段后,还进一步筛选出分段文本数目小于或等于第一预设值的歌曲,形成第三歌曲集合,再对第三歌曲集合中的歌曲计算歌曲权重并排序。所述第一预设值可以根据实际试验结果进行选取,第一预设值的取值范围可以包括:大于或等于5。
将查询串的内容根据歌曲的排列属性进行分段时,若分段数目较多,则表示所述查询串的内容在所述排列属性中基本不相连,则可以设定所述排列属性与所述查询串的相关性不强,所述排列属性对应的歌曲可以从候选歌曲集合中去除。本实施例筛选出分段文本数目小于或等于第一预设值的歌曲可以实现上述效果。
本实施例的其他部分与本申请搜索音乐的方法第一实施例相同,可以参照搜索音乐的方法第一实施例,本实施例在此不再赘述。
上述公开的搜索音乐的方法的第二实施例,在实现了搜索音乐的方法第一实施例技术效果的基础上,通过筛选分段文本数目小于或等于第一预设值的歌曲,可以去除排列属性与查询串相关性不强的歌曲,从而减少了计算歌曲权重这一步骤的计算量,节约了计算资源。
下面介绍本申请搜索音乐的方法的第三个实施例。
图3是本申请一种搜索音乐的方法第三实施例的流程图。如图3所示,所述搜索音乐的方法可以包括:
S310:接收查询串,对所述查询串进行分词,得到一个或多个查询词。
S320:根据所述查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对各查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合。
S330:获取所述候选的第一歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本。
S340:对所述候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到第四歌曲集合。
S350:将第四歌曲集合中歌曲的排列属性与所述歌曲对应的分段文本进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。
S360:根据所述查询串与所述歌曲的相关性权重对所述候选的第四歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
所述搜索音乐的方法第三实施例与所述搜索音乐的方法第一实施例的区别在于:本实施例中,得到候选的第一歌曲集合后,还可以对第一歌曲集合中的歌曲根据第二规则进行判断,选取出与用户搜索意图较符合的相关歌曲结果,所述相关歌曲结果可以形成第四歌曲集合,再对第四歌曲集合求取歌曲权重值并排序。
所述歌曲与查询串的相关程度可以分为三种:相关、可能相关和不相关。具体地,可以用一特定的字段来表示某一歌曲与查询串的相关程度,通过对该字段设定不同的值来设定歌曲与查询串的相关程度。例如,可以设定相关程度这一字段的值为0来表示相关程度为相关;可以设定相关程度这一字段的值为1来表示相关程度为可能相关;可以设定相关程度这一字段的值为2来表示相关程度为不相关。
所述对候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到第四歌曲集合,具体可以包括:
S341:将所述查询串与候选的第一歌曲集合中歌曲的排列属性进行匹配,所述查询串与所述排列属性中字段完全精确匹配的,设定所述歌曲与所述查询串的相关程度为相关;没有设定相关程度的歌曲,进入下一步骤进行处理。
可以将所述查询串与候选的第一歌曲集合中每一首歌曲的排列属性进行匹配,所述查询串与所述排列属性中字段能完全精确匹配的,可以设定所述歌曲与所述查询串的相关程度为相关。所述设定相关程度为相关可以通过设定相关程度这一字段的值为0来表示。
S342:将所述根据歌曲的排列属性对所述查询串进行分段得到的分段文本与所述排列属性中的字段进行匹配,所述分段文本存在于所述排列属性中同一个字段内的,设定所述排列属性对应的歌曲与所述查询串的相关程度为相关;没有设定相关程度的,进入下一步骤进行处理。
该步骤可以用于对上一步骤处理结束后没有设定相关程度的歌曲进行处理。具体地,可以将所述分段文本与所述排列属性中的字段分别进行匹配,所述分段文本存在于所述排列属性中同一个字段内的,可以设定所述排列属性对应的歌曲与所述查询串的相关程度为相关。所述设定相关程度为相关可以通过设定相关程度这一字段的值为0来表示。
S343:判断所述分段文本的数目是否大于第二预设值,若所述分段文本的数目大于第二预设值,设定所述歌曲与所述查询串的相关程度为不相关;没有设定相关程度的,进入下一步骤进行处理。
该步骤可以用于对上一步骤处理结束后没有设定相关程度的歌曲进行处理。具体地,可以判断所述分段文本的数目是否大于第二预设值,若分段文本的数目大于第二预设值,可以设定所述歌曲与所述查询串的相关程度为不相关。所述设定相关程度为不相关可以通过设定相关程度这一字段的值为2来表示。所述第二预设值的取值可以是2。
对将查询串的内容根据歌曲的排列属性进行分段后,若分段文本不存在于同一个字段,则可以表示,所述查询串的内容与所述歌曲的排列属性相关性不强,进一步可以判断分段文本的数目。若分段文本数目较多,则表示所述查询串的内容在所述排列属性中基本不相连,可以表示所述排列属性与所述查询串的相关性差,可以设定所述歌曲与所述查询串的相关程度为不相关。
S344:判断所述查询词的数目是否大于第三预设值,若所述查询词的数目小于或等于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为可能相关;若所述查询词的数目大于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为不相关。
该步骤可以用于对上一步骤处理结束后没有设定相关程度的歌曲进行处理。具体地,可以判断所述查询词的数目是否大于第三预设值,若所述查询词的数目小于或等于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为可能相关;若所述查询词的数目大于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为不相关。所述第三预设值的取值可以是3。
S345:将所述第一歌曲集合中歌曲的相关程度为相关的歌曲存储至相关结果集合。
所述第一歌曲集合中歌曲的相关程度为相关的歌曲可以存储至相关结果集合。所述相关结果集合中可以包括返回给用户的歌曲结果。
例如,对于刘德华的歌曲“忘情水”,当查询串不同是,判断相关性的结果也可能不同。表1给出了不同查询串对应的相关程度判断结果。利用上述的步骤对表1中的查询串与刘德华的歌曲“忘情水”进行判断,判断结果如表1所示。
表1不同查询串对应的相关程度判断结果
当经过上述S341~S345处理后,得到的相关结果集合中包含的歌曲数目为0时,所述判断过程还可以包括:
S346:将所述第一歌曲集合中歌曲的相关程度为可能相关的歌曲存储至相关结果集合。
若经过上述S341~S345处理后,得到的相关结果集合中包含的歌曲数目为0,表示第一歌曲集合中没有相关程度为相关的歌曲,则可以将相关程度设定为“可能相关”的歌曲作为返回给用户的歌曲结果。
本实施例的其他部分与本申请搜索音乐的方法第一实施例相同,可以参照搜索音乐的方法第一实施例,本实施例在此不再赘述。
本实施例公开的搜索音乐的方法,在实现了搜索音乐的方法第一实施例技术效果的基础上,可以判断第一歌曲集合中歌曲与查询串的相关程度,筛选出其中相关程度较高的结果,再进行进一步的排序,可以使得返回给用户的结果更符合用户的搜索意图,同时可以减少了计算歌曲权重这一步骤的计算量,节约了计算资源。
下面介绍与本申请搜索音乐的方法相对应的建立音乐倒排索引的方法实施例。
图4是本申请一种建立音乐倒排索引的方法一个实施例的流程图。如图4所示,所述建立音乐倒排索引的方法可以包括:
S401:记录歌曲排列属性,设置歌曲标识符。
计算机可以对每一首歌曲记录所述歌曲的排列属性。所述排列属性可以包括:歌曲名、歌曲别名、艺人名、艺人别名、专辑名、专辑别名、演唱者等字段。所述排列属性中包含的字段可以按照预设的顺序进行排列。
计算机可以为每一歌曲设置歌曲标识符,所述歌曲标识符可以是编号的形式。所述标识符具有唯一性。所述歌曲标识符可以与该歌曲的排列属性相对应。
S402:对所述歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所述关键词在所述排列属性中的位置偏移量。
计算机可以对所述歌曲标识符对应的所述排列属性进行分词,具体地,可以对所述排列属性逐字进行分词,所述排列属性中包含英文的,可以对所述英文逐单词进行分词。分词后可以得到关键词。例如排列属性中的歌曲名“忘情水”可以被逐字分成:关键词“忘”、“情”、“水”,歌曲名“To live&Die In TJ”可以被分为关键词“To”、“live”、“&”、“Die”、“In”、“TJ”。
计算机可以记录分词后每个关键词在所述排列属性中的位置偏移量。所述位置偏移量可以用于表示所述关键词在所述排列属性中的位置,例如可以用于表示所述关键词在所述排列属性中为第几个字或单词。所述排列属性分词后存在重复关键词的,由于每个关键词具有不同的位置偏移量,所述重复的词可以都保留。例如,歌曲ID为“1”的歌曲排列属性“忘情水忘情水”进行分词,可以得到两个关键词“忘”,其位置偏移量可以分别为1和4。
S403:根据所述关键词、所述歌曲标识符和所述关键词的位置偏移量,生成倒排索引表。
计算机根据所述关键词、所述歌曲标识符和所述关键词的位置偏移量可以生成倒排索引表。具体地,可以将所述关键词作为倒排索引表的索引词;可以将所述歌曲ID以及每个关键词在歌曲所述排列属性中的位置偏移量作为每个关键词的索引内容;所述索引词和索引词对应的索引内容可以生成倒排索引表。
上述实施例提供的建立音乐倒排索引的方法实施例与本申请搜索音乐的方法相对应,可以为本申请搜索音乐的方法中得到第一歌曲集合提供倒排索引表。
下面举个实例来说明本申请的搜索音乐的方法和建立倒排索引的方法:
假设曲库中有以下三首歌曲,歌曲的属性可以如表2所示。
表2歌曲排列属性信息
歌曲ID 歌曲名 艺人名 专辑名
0 忘情水 刘德华 忘情水
1 一起走过的日子 刘德华 经典重现
2 她来听我的演唱会 张学友 友情歌
可以对所有歌曲的排列属性逐字或者逐单词进行分词,记录每个词所属的歌曲ID以及每个词在歌曲排列属性中的位置偏移量。
可以将所述词作为倒排索引表的索引词;可以将所述歌曲ID以及每个词在歌曲所述排列属性中的位置偏移量作为每个词的索引内容;所述索引词和所述词对应的索引内容可以生成倒排索引表,例如可以如表3所示。
表3中,第一列表示索引词,第二列表示索引内容。所述索引内容可以是用(A,B)的形式来表示,其中A可以表示歌曲ID,B可以表示所述索引词在歌曲排列属性的位置偏移量。为区分歌曲的排列属性中不同属性的字段,可以在两个不同属性的字段之间将位置偏移量增加一预设值,例如增加5。
表3倒排索引表
假设用户输入一个查询串“刘忘情”,逐字分词的结果可以是:查询词“刘”、“忘”、“情”。
根据表3的倒排索引,求取分词后所有查询词对应的结果,并对所述求取的倒排索引的结果求交集,可以得到歌曲ID为0的歌曲作为候选歌曲,同时可以得到每个查询词在所述候选歌曲排列属性的位置偏移量,如表4所示。
由表4信息可见,“忘”、“情”在歌曲ID为0的歌曲正排排列属性中位置相邻,则可以将“忘情”作为一个分段文本,查询词“刘”可以作为另一个分段文本。
表4查询词在候选歌曲中的位置偏移量
所述查询串“刘忘情”分成的两个文本分段“刘”“忘情”分别可以与艺人名、歌曲名部分精确匹配,同时查询词长度为3,可以设定歌曲“忘情水”与查询串的相关程度为1。对于假设的曲库数据,由于不存在与查询串相关程度为0的歌曲结果,则可以将与查询串的相关程度为1的歌曲“忘情水”存储至相关结果集合。
对所述相关结果集合中的歌曲计算歌曲权重。假设:取静态分加权因子α=50;文本分计算时路径权值因子b=50;限制最大文本分Wmax=30000;歌曲名、艺人名、演唱者、歌曲别名、艺人别名、专辑名、专辑别名的精确匹配权值分别为:10000,10000,9500,8000,7000,3600,3400。
查询串“刘忘情”的文本分段为2,分别为“刘”、“忘情”,将这两个文本分段分别与所述候选歌曲“忘情水”的排列属性进行匹配。按精确匹配的优先级顺序,分段文本“忘情”可以首先与歌曲名或艺人名作匹配,可以与歌曲名匹配成功;分段文本“刘”可以首先与歌曲名或艺人名作匹配,可以与艺人名匹配成功。
所述歌曲存在歌曲名和艺人名的精确匹配,取其中精确匹配权值较大的值,由于歌曲名和艺人名的精确匹配权值相同,则精确匹配权值的取值可以是Wexact=10000。
利用本申请提供的计算路径权值的方法可以计算路径权值Wpath,假设结果为Wpath=2300,则文本分的值可以是Wtext=Wexact+Wpath/50=10000+2300/50=10046。
假设歌曲“忘情水”的试听数为859000,则静态分的值可以是Wstatic=试听数/100=8590。
则所述歌曲“忘情水”的歌曲与查询串“刘忘情”的相关性权重可以是:
W=Wtext+50log(Wstatic)=10046+50*log(8590)=10242
当所述查询串对应搜索结果有多个歌曲时,每个歌曲分别按照上述方法计算歌曲与查询串的相关性权重,最后将多个歌曲按所述相关性权重进行降序排序,得到最终的搜索结果。
下面介绍本申请搜索音乐的装置的一个实施例。
图5是本申请一种搜索音乐的装置的一个实施例的模块图。如图5所示,所述搜索音乐的装置可以包括:查询串分词单元510、第一歌曲集合单元520、分段文本单元530、歌曲权重单元540和排序返回单元550。
其中,所述查询串分词单元510,可以用于接收查询串,对所述查询串进行分词,得到一个或多个查询词。
所述第一歌曲集合单元520,可以用于根据所述查询串分词单元510中的查询词,从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合。
所述分段文本单元530,可以用于获取所述第一歌曲集合单元520中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本。
所述歌曲权重单元540,可以用于将所述分段文本单元530得到的分段文本与所述歌曲的排列属性进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。
所述排序返回单元550,可以用于根据所述歌曲权重单元540得到的查询串与歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
图6是本申请搜索音乐的装置中歌曲权重单元的模块图。如图6所示,所述歌曲权重单元540可以包括:匹配结果单元541、精确匹配权值单元542、路径权值单元543、文本分单元544、静态分单元545和歌曲权重计算单元546。其中,
所述匹配结果单元541,可以用于将查询串与所述候选的第一歌曲集合中歌曲的排列属性进行匹配,得到查询串的分段文本与排列属性中字段的匹配结果。
所述精确匹配权值单元542,可以用于根据匹配结果单元541中的匹配结果,确定所述歌曲的精确匹配权值。
所述路径权值单元543,可以用于确定所述歌曲的路径权值。
所述文本分单元544,可以用于根据精确匹配权值单元542确定的精确匹配权值和路径权值单元543确定的路径权值计算所述歌曲的文本分。
所述静态分单元545,可以用于确定所述歌曲的静态分。
所述歌曲权重计算单元546,可以用于根据所述文本分单元544计算出的文本分和所述静态分单元545确定的静态分,计算所述查询串与所述歌曲的相关性权重。
进一步地,所述搜索音乐的装置还可以包括:文本数目筛选单元560。所述文本数目筛选单元560,可以用于计算所述分段文本单元530得到的分段文本的数目,所述分段文本的数目小于或等于第一预设值的,将所述歌曲存放至第三歌曲集合。
相应地,所述歌曲权重单元540,可以用于将所述文本数目筛选单元560筛选后的第三歌曲集合中歌曲对应的分段文本与所述歌曲的排列属性中的字段按照预定的顺序进行匹配,基于所述匹配结果计算所述歌曲的歌曲权重。
进一步地,所述搜索音乐的装置还可以包括:相关结果集合单元570。所述相关结果集合单元570,可以用于对所述分段文本单元530中候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到第四歌曲集合。
相应地,所述歌曲权重单元540,可以用于将所述相关结果集合单元570得到的第四歌曲集合中歌曲对应的分段文本与所述歌曲的排列属性中的字段按照预定的顺序进行匹配,基于所述匹配结果计算所述歌曲的歌曲权重。
图7是本申请搜索音乐的装置中相关结果集合单元的模块图。如图7所示,所述相关结果集合单元570可以包括:相关程度设定单元571和相关结果集合确定单元572。
其中,所述相关程度设定单元571,可以用于对所述候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度。
相关结果集合确定单元572,可以用于将所述相关程度设定单元571中相关程度为相关的歌曲存储至相关结果集合,当所述相关程度设定单元571中没有相关程度为相关的歌曲时,将所述相关程度设定单元571中相关程度为可能相关的歌曲存储至相关结果集合。
上述实施例提供的搜索音乐的装置与本申请搜索音乐的方法实施例相对应,可以实现本申请方法实施例的技术效果。
图8是本申请一种建立倒排索引的装置一个实施例的模块图。如图8所示,所述建立倒排索引的装置可以包括:排列属性单元801、位置偏移量单元802和倒排索引单元803。
其中,所述排列属性单元801,可以用于记录歌曲排列属性,设置歌曲标识符。
所述位置偏移量单元802,可以用于对所述排列属性单元801中歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所述关键词在所述排列属性中的位置偏移量。
所述倒排索引单元803,可以用于根据所述位置偏移量单元802中的关键词、歌曲标识符和关键词的位置偏移量,生成倒排索引表。
上述实施例提供的建立倒排索引的装置与本申请建立倒排索引的方法实施例相对应,可以实现本申请方法实施例的技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(JavaHardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby HardwareDescription Language)等,目前最普遍使用的是VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (27)

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所述的一种搜索音乐的方法,其特征在于,根据所述歌曲的最短路径值计算所述歌曲的路径权值,包括:
将所述查询串的对应的查询词数目乘以一个查询词系数,所得乘积减去最短路径值,相减所得的结果为所述歌曲的路径权值;
所述最短路径值包括所述查询串中的第一个查询词到最后一个查询词在所述歌曲排列属性中所经过的最短路径的值;所述查询词系数的取值范围包括:大于10000。
12.如权利要求1所述的一种搜索音乐的方法,其特征在于,根据所述查询串与所述歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,包括:将所述候选的第一歌曲集合中的歌曲按照歌曲权重的值从大到小依次进行排列。
13.如权利要求1所述的一种搜索音乐的方法,其特征在于,所述搜索音乐的方法,在得到分段文本的步骤后,还包括:
计算所述歌曲对应的分段文本的数目,所述分段文本的数目小于或等于第一预设值的,将所述歌曲存放至第三歌曲集合;
相应地,
匹配和排序步骤中将第三歌曲集合中歌曲的排列属性中的字段与所述歌曲对应的分段文本按照预定的顺序进行匹配及排序。
14.如权利要求13所述的一种搜索音乐的方法,其特征在于,所述第一预设值的取值范围包括:大于或等于5。
15.如权利要求1所述的一种搜索音乐的方法,其特征在于,所述搜索音乐的方法,在得到分段文本的步骤后,还包括:
对所述候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到第四歌曲集合;
相应地,
匹配和排序步骤中将第四歌曲集合中歌曲的排列属性中的字段与所述歌曲对应的分段文本按照预定的顺序进行匹配及排序。
16.如权利要求15所述的一种搜索音乐的方法,其特征在于,对所述候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到第四歌曲集合,具体包括:
将所述查询串与候选的第一歌曲集合中歌曲的排列属性进行匹配,所述查询串与所述排列属性中字段完全精确匹配的,设定所述歌曲与所述查询串的相关程度为相关;没有设定相关程度的歌曲,进入下一步骤进行处理;
将所述根据歌曲的排列属性对所述查询串进行分段得到的分段文本与所述排列属性中的字段进行匹配,所述分段文本存在于所述排列属性中同一个字段内的,设定所述排列属性对应的歌曲与所述查询串的相关程度为相关;没有设定相关程度的,进入下一步骤进行处理;
判断所述分段文本的数目是否大于第二预设值,若所述分段文本的数目大于第二预设值,设定所述歌曲与所述查询串的相关程度为不相关;没有设定相关程度的,进入下一步骤进行处理;
判断所述查询词的数目是否大于第三预设值,若所述查询词的数目小于或等于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为可能相关;若所述查询词的数目大于第三预设值,将所述第一歌曲集合中未设定相关程度的歌曲的相关程度设置为不相关;
将所述第一歌曲集合中歌曲的相关程度为相关的歌曲存储至相关结果集合。
17.如权利要求16所述的一种搜索音乐的方法,其特征在于,所述相关结果集合中包含的歌曲数目为0时,还包括:将所述第一歌曲集合中歌曲的相关程度为可能相关的歌曲存储至相关结果集合。
18.如权利要求1-17中任意一项所述的搜索音乐的方法,其特征在于,所述排列属性包括:按照预设的顺序进行排列的字段;所述字段包括:歌曲名、歌曲别名、艺人名、艺人别名、专辑名、专辑别名或演唱者。
19.一种搜索结果判断方法,其特征在于,包括:
对查询串进行分词,得到一个或多个查询词;
获取候选的歌曲集合中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本;
对所述候选的歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到相关结果集合,具体包括:
将所述查询串与候选的歌曲集合中歌曲的排列属性进行匹配,所述查询串与所述排列属性中字段完全精确匹配的,设定所述歌曲与所述查询串的相关程度为相关;没有设定相关程度的歌曲,进入下一步骤进行处理;
将所述根据歌曲的排列属性对所述查询串进行分段得到的分段文本与所述排列属性中的字段进行匹配,所述分段文本存在于所述排列属性中同一个字段内的,设定所述排列属性对应的歌曲与所述查询串的相关程度为相关;没有设定相关程度的,进入下一步骤进行处理;
判断所述分段文本的数目是否大于第二预设值,若所述分段文本的数目大于第二预设值,设定所述歌曲与所述查询串的相关程度为不相关;没有设定相关程度的,进入下一步骤进行处理;
判断所述查询词的数目是否大于第三预设值,若所述查询词的数目小于或等于第三预设值,将所述候选的歌曲集合中未设定相关程度的歌曲的相关程度设置为可能相关;若所述查询词的数目大于第三预设值,将所述候选的歌曲集合中未设定相关程度的歌曲的相关程度设置为不相关;
将所述候选的歌曲集合中歌曲的相关程度为相关的歌曲存储至相关结果集合。
20.如权利要求19所述的一种搜索结果判断方法,其特征在于,所述相关结果集合中包含的歌曲数目为0时,还包括:将所述候选的歌曲集合中歌曲的相关程度为可能相关的歌曲存储至相关结果集合。
21.一种建立索引的方法,其特征在于,包括:
记录歌曲排列属性,设置歌曲标识符;
对所述歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所述关键词在所述排列属性中的位置偏移量;
根据所述关键词、所述歌曲标识符和所述关键词的位置偏移量,生成倒排索引表。
22.一种搜索音乐的装置,其特征在于,包括:查询串分词单元、第一歌曲集合单元、分段文本单元、歌曲权重单元和排序返回单元;其中,
所述查询串分词单元,用于接收查询串,对所述查询串进行分词,得到一个或多个查询词;
所述第一歌曲集合单元,用于根据所述查询串分词单元中的查询词从歌曲倒排索引表中查找与所述查询词对应的歌曲标识符,对查询词对应的歌曲标识符求交集,得到候选的第一歌曲集合;
所述分段文本单元,用于获取所述第一歌曲集合单元中歌曲的排列属性,根据所述查询词在所述歌曲的排列属性中的位置偏移量,对所述查询串进行分段,得到一个或多个分段文本;
所述歌曲权重单元,用于将所述分段文本单元得到的分段文本与所述歌曲的排列属性进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重;
所述排序返回单元,用于根据所述歌曲权重单元得到的所述查询串与所述歌曲的相关性权重对所述候选的第一歌曲集合中的歌曲进行排序,得到第二歌曲集合,设置第二歌曲集合为所述查询串的搜索结果,并返回给用户。
23.如权利要求22所述的一种搜索音乐的装置,其特征在于,所述歌曲权重单元包括:匹配结果单元、精确匹配权值单元、路径权值单元、文本分单元、静态分单元和歌曲权重计算单元;其中,
所述匹配结果单元,用于将查询串与所述候选的第一歌曲集合中歌曲的排列属性进行匹配,得到匹配结果;
所述精确匹配权值单元,用于根据匹配结果单元中的匹配结果,确定所述歌曲的精确匹配权值;
所述路径权值单元,用于确定所述歌曲的路径权值;
所述文本分单元,用于根据精确匹配权值单元确定的精确匹配权值和路径权值单元确定的路径权值计算所述歌曲的文本分;
所述静态分单元,用于确定所述歌曲的静态分;
所述歌曲权重计算单元,用于根据所述文本分单元计算出的文本分和所述静态分单元确定的静态分,计算所述查询串与所述歌曲的相关性权重。
24.如权利要求22所述的一种搜索音乐的装置,其特征在于,所述搜索音乐的装置还包括:文本数目筛选单元;所述文本数目筛选单元,用于计算所述分段文本单元得到的分段文本的数目,所述分段文本的数目小于或等于第一预设值的,将所述歌曲存放至第三歌曲集合;
相应地,
所述歌曲权重单元,用于将所述文本数目筛选单元筛选后的第三歌曲集合中歌曲对应的分段文本与所述歌曲的排列属性中的字段按照预定的顺序进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。
25.如权利要求22所述的一种搜索音乐的装置,其特征在于,所述搜索音乐的装置还包括:相关结果集合单元;所述相关结果集合单元,用于对所述分段文本单元中候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度,得到第四歌曲集合;
相应地,
所述歌曲权重单元,用于将所述相关结果集合单元得到的第四歌曲集合中歌曲对应的分段文本与所述歌曲的排列属性中的字段按照预定的顺序进行匹配,基于所述匹配结果计算所述查询串与所述歌曲的相关性权重。
26.如权利要求25所述的一种搜索音乐的装置,其特征在于,所述相关结果集合单元包括:相关程度设定单元和相关结果集合确定单元;其中,
所述相关程度设定单元,用于对所述候选的第一歌曲集合中的歌曲根据预设的第二规则进行判断,确定所述歌曲与查询串的相关程度;
相关结果集合确定单元,用于将所述相关程度设定单元中相关程度为相关的歌曲存储至相关结果集合,当所述相关程度设定单元中没有相关程度为相关的歌曲时,将所述相关程度设定单元中相关程度为可能相关的歌曲存储至相关结果集合。
27.一种建立索引的装置,其特征在于,包括:排列属性单元、位置偏移量单元和倒排索引单元;其中,
所述排列属性单元,用于记录歌曲排列属性,设置歌曲标识符;
所述位置偏移量单元,用于对所述排列属性单元中歌曲标识符对应的所述排列属性进行分词,得到关键词,记录所述关键词在所述排列属性中的位置偏移量;
所述倒排索引单元,用于根据所述位置偏移量单元中的关键词、歌曲标识符和关键词的位置偏移量,生成倒排索引表。
CN201410484475.2A 2014-09-19 2014-09-19 搜索音乐和建立索引的方法及装置、搜索结果判断方法 Active CN105488068B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410484475.2A CN105488068B (zh) 2014-09-19 2014-09-19 搜索音乐和建立索引的方法及装置、搜索结果判断方法
HK16109895.9A HK1221793A1 (zh) 2014-09-19 2016-08-18 搜索音樂和建立索引的方法及裝置、搜索結果判斷方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410484475.2A CN105488068B (zh) 2014-09-19 2014-09-19 搜索音乐和建立索引的方法及装置、搜索结果判断方法

Publications (2)

Publication Number Publication Date
CN105488068A CN105488068A (zh) 2016-04-13
CN105488068B true CN105488068B (zh) 2018-11-16

Family

ID=55675047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410484475.2A Active CN105488068B (zh) 2014-09-19 2014-09-19 搜索音乐和建立索引的方法及装置、搜索结果判断方法

Country Status (2)

Country Link
CN (1) CN105488068B (zh)
HK (1) HK1221793A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268572B (zh) * 2017-01-04 2020-09-08 北京酷我科技有限公司 一种歌曲同步方法及系统
CN106980674A (zh) * 2017-03-28 2017-07-25 旗瀚科技有限公司 一种基于关键信息的搜索音频方法
US10042935B1 (en) * 2017-04-27 2018-08-07 Canva Pty Ltd. Systems and methods of matching style attributes
CN109388690A (zh) * 2017-08-10 2019-02-26 阿里巴巴集团控股有限公司 文本检索方法、用于文本检索的倒排表生成方法以及系统
CN108829651A (zh) * 2018-04-17 2018-11-16 平安科技(深圳)有限公司 一种公文处理的方法、装置、终端设备及存储介质
CN109241360B (zh) * 2018-08-21 2021-08-20 创新先进技术有限公司 组合字符串的匹配方法及装置和电子设备
CN110750533A (zh) * 2019-09-25 2020-02-04 支付宝(杭州)信息技术有限公司 一种基于多条业务属性的数据存储方法、装置及设备
CN113536156B (zh) * 2020-04-13 2024-05-28 百度在线网络技术(北京)有限公司 搜索结果排序方法、模型构建方法、装置、设备和介质
CN112182283B (zh) * 2020-09-21 2024-07-02 咪咕文化科技有限公司 歌曲搜索方法、装置、网络设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105815A (zh) * 2007-09-06 2008-01-16 腾讯科技(深圳)有限公司 互联网音乐文件排序方法、系统和搜索方法及搜索引擎
CN101477568A (zh) * 2009-02-12 2009-07-08 清华大学 一种结构化数据和非结构化数据综合检索的方法
CN103034734A (zh) * 2012-12-27 2013-04-10 上海顶竹通讯技术有限公司 文件存储查询代理以及信息查找方法与系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007081681A2 (en) * 2006-01-03 2007-07-19 Textdigger, Inc. Search system with query refinement and search method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101105815A (zh) * 2007-09-06 2008-01-16 腾讯科技(深圳)有限公司 互联网音乐文件排序方法、系统和搜索方法及搜索引擎
CN101477568A (zh) * 2009-02-12 2009-07-08 清华大学 一种结构化数据和非结构化数据综合检索的方法
CN103034734A (zh) * 2012-12-27 2013-04-10 上海顶竹通讯技术有限公司 文件存储查询代理以及信息查找方法与系统

Also Published As

Publication number Publication date
CN105488068A (zh) 2016-04-13
HK1221793A1 (zh) 2017-06-09

Similar Documents

Publication Publication Date Title
CN105488068B (zh) 搜索音乐和建立索引的方法及装置、搜索结果判断方法
Kutuzov et al. Diachronic word embeddings and semantic shifts: a survey
CN108268617B (zh) 用户意图确定方法及装置
CN109657213B (zh) 文本相似度检测方法、装置和电子设备
TWI512507B (zh) A method and apparatus for providing multi-granularity word segmentation results
CN104750798B (zh) 一种应用程序的推荐方法和装置
CN108108426B (zh) 自然语言提问的理解方法、装置及电子设备
CN102737039B (zh) 索引建立方法、搜索方法和搜索结果排序方法及对应装置
Reinanda et al. Mining, ranking and recommending entity aspects
CN106598999B (zh) 一种计算文本主题归属度的方法及装置
TW201546633A (zh) 文本資訊的匹配、業務對象的推送方法和裝置
CN102033880A (zh) 基于结构化数据集合的标注方法和装置
JP2012533819A (ja) 文書インデックス化およびデータクエリングのための方法およびシステム
CN109597983B (zh) 一种拼写纠错方法及装置
CN110413738A (zh) 一种信息处理方法、装置、服务器及存储介质
CN110516011B (zh) 一种多源实体数据融合方法、装置及设备
CN109885688A (zh) 文本分类方法、装置、计算机可读存储介质和电子设备
CN111368038A (zh) 一种关键词的提取方法、装置、计算机设备和存储介质
JP2023501010A (ja) TextRankに基づくアプリケーション選好テキストの分類方法
WO2015051481A1 (en) Determining collection membership in a data graph
CN105653547A (zh) 一种提取文本关键词的方法和装置
CN105279289B (zh) 基于指数衰减窗口的个性化音乐推荐排序方法
CN108345679B (zh) 一种音视频检索方法、装置、设备及可读存储介质
CN105354224A (zh) 知识数据的处理方法和装置
CN106294784B (zh) 资源搜索方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1221793

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240622

Address after: Room 201, No. 9 Fengxiang East Street, Yangsong Town, Huairou District, Beijing

Patentee after: Youku Culture Technology (Beijing) Co.,Ltd.

Country or region after: China

Address before: Greater Cayman, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

Country or region before: Cayman Islands