音乐推荐方法及系统的制作方法

文档序号:6340943阅读:294来源:国知局
专利名称:音乐推荐方法及系统的制作方法
音乐推荐方法及系统
技术领域
本发明涉及网络技术领域,尤其涉及一种音乐推荐方法及系统。背景技术
随着网络技术的发展,越来越多的用户通过互联网或移动互联网在线收听或下 载音乐。用户在点歌时,需要提供音乐的相关信息,例如音乐的名称、作者等,然后服 务器返回符合搜索条件的音乐列表供用户选择。此外,用户可能会喜欢某一类的音乐, 因此需要将音乐主动推荐给用户。传统的音乐推荐方法仅仅通过音乐相关信息(例如专 辑名称、作者、类型等)来进行推荐,例如用户收听了音乐A,音乐A与音乐B属于同 一专辑,则认为用户也会喜欢音乐B,因此将音乐B推荐给用户。然而,传统的这种音乐推荐方法由于仅参考音乐相关信息来进行推荐,但在实 际应用中,有些用户的习惯差别很大,往往相关信息相同的两个音乐并不会为用户所喜 欢,因此传统的这种音乐推荐方法推荐的准确度不高。

发明内容基于此,有必要提供一种能提高推荐准确度的音乐推荐方法。一种音乐推荐方法,包括以下步骤获取用户的音乐记录;从所述音乐记录中提取用户最新收听的音乐;获取曲库中的音乐与所述用户最新收听的音乐之间的音乐距离根据所述音乐距离生成第一音乐推荐列表。优选的,所述根据音乐距离生成音乐推荐列表的步骤为按所述音乐距离从小到大对音乐进行排序;提取预设数量个排序靠前的音乐;根据提取的音乐生成第一音乐推荐列表。优选的,所述方法还包括获取两两用户之间的用户距离;根据所述用户距离对用户进行归类;用虚拟用户表示每个用户类,对每个用户类生成虚拟用户音乐推荐列表;计算用户与每个用户类之间的距离;提取与所述用户的距离最近的用户类;根据所述用户类的虚拟用户音乐推荐列表生成第二音乐推荐列表。优选的,所述方法还包括将音乐距离转换为第一音乐推荐分值并记录在第一音乐推荐列表中;及将用户距离转换为第二音乐推荐分值并记录在所述第二音乐推荐列表中。优选的,所述方法还包括
提取所述第一音乐推荐列表和第二音乐推荐列表中相同的音乐;获取所述音乐的第一音乐推荐分值和第二音乐推荐分值;对所述第一音乐推荐分值和第二音乐推荐分值进行加权计算,得到最终音乐推 荐分值;按照所述最终音乐推荐分值从大到小对提取的音乐进行排序,生成第三音乐推 荐列表。此外,还有必要提供一种能提高推荐准确度的音乐推荐系统。一种音乐推荐系统,包括音乐记录获取模块,获取用户的音乐记录,并从所述音乐记录中提取用户最新 收听的音乐;音乐距离计算模块,获取曲库中的音乐与用户最新收听的音乐之间的音乐距 罔;音乐推荐列表生成模块,根据所述音乐距离生成第一音乐推荐列表。优选的,所述音乐推荐列表生成模块用于按所述音乐距离从小到大对音乐进行 排序,提取预设数量个排序靠前的音乐,根据提取的音乐生成第一音乐推荐列表。优选的,还包括用户距离计算模块,获取两两用户之间的用户距离,根据所述用户距离对用户 进行归类,用虚拟用户表示每个用户类,对每个用户类生成虚拟用户音乐推荐列表,计 算用户与每个用户类之间的距离;所述音乐推荐列表生成模块还用于提取与所述用户的距离最近的用户类,根据 所述用户类的虚拟用户音乐推荐列表生成第二音乐推荐列表。优选的,还包括音乐分值转换模块,用于将音乐距离转换为第一音乐推荐分值并记录在第一音 乐推荐列表中,以及将用户距离转换为第二音乐推荐分值并记录在第二音乐推荐列表 中。优选的,所述音乐推荐列表生成模块还用于提取所述第一音乐推荐列表和第二 音乐推荐列表中相同的音乐,对所述提取的音乐的第一音乐推荐分值和第二音乐推荐分 值进行加权计算,得到最终音乐推荐分值,按照所述最终音乐推荐分值从大到小对提取 的音乐进行排序,生成第三音乐推荐列表。上述音乐推荐方法和系统,根据音乐与用户最新收听的音乐之间的音乐距离生 成第一音乐推荐列表,由于音乐之间的距离越近则说明音乐之间的相似度越高,因此可 以推荐与用户最新收听的音乐相似度高的音乐,这些音乐更符合用户的习惯,因此能够 提高推荐准确度。

图1为实施例一的音乐推荐方法的流程图;图2为图1中的生成第一音乐推荐列表的方法流程图;图3为实施例二的音乐推荐方法的流程图;图4为实施例三的音乐推荐方法的流程图5为实施例一的音乐推荐系统的结构示意图;图6为实施例二的音乐推荐系统的结构示意图。
具体实施方式上述音乐推荐方法及系统可以在用户点歌后自动执行,例如,用户输入音乐的 相关信息(如音乐名称、作者、专辑名称等)进行音乐搜索,系统根据用户输入的关键词 在音乐数据库搜索相应的音乐,并将搜索到的音乐信息以列表形式返回给用户,用户可 选择下载音乐、在线收听音乐或将音乐设为铃声等,收到用户的选择后则从音乐数据库 获取音乐文件。图1示出了实施例一中的音乐推荐方法流程,该方法流程具体过程如下步骤S102中,获取用户的音乐记录。如上所述,用户对返回的音乐列表选择 后,则生成了用户的音乐记录。用户的音乐记录记录了用户选择和收听过的音乐的列表。步骤S104中,从音乐记录中提取用户最新的音乐。用户最新的音乐是指用户最 后选择的音乐,包括用户当前下载或选择某首没有在音乐记录中的音乐、用户选择其音 乐记录中的某首音乐以及用户选择的喜好音乐库中的某首音乐。步骤S106中,获取曲库中的音乐与用户最新收听的音乐之间的音乐距离。曲库 中的音乐是指在系统中的所有音乐。该实施例中,对于音乐数据库中的所有音乐,可以 由一个特征矢量进行表示,例如,可以采用音乐的名称、歌手的名字、音乐的曲词、专 辑名称等,预先计算两两音乐之间的距离,例如可采用传统的欧式距离计算方法计算音 乐之间的欧式距离,该距离能够用来表示音乐之间的相似度,距离越小则相似度越高。每个音乐与其它音乐的距离都预先计算好并保存在音乐数据库中,当有新增音 乐时,新增音乐与其他音乐的距离也需预先计算好并对音乐数据库保存的数据进行更 新。步骤S106中,直接从音乐数据库获取所有音乐与用户最新收听的音乐之间的音乐距 罔。步骤S108中,根据音乐距离生成第一音乐推荐列表。如图2所示,在一个实施 例中,步骤S108的具体过程为在步骤S202中,根据音乐距离从小到大对音乐进行排序。在步骤S106中获取 到所有音乐与用户最新收听的音乐之间的音乐距离后,按照该音乐距离从小到大对音乐 进行排序,则越靠前的音乐与用户最新收听的音乐的相似度越高。在步骤S204中,提取预设数量个排序靠前的音乐。例如可以选取前10个音乐。在步骤S206中,根据提取的音乐生成第一音乐推荐列表。将第一音乐推荐列表 返回给用户,由于第一音乐推荐列表中的音乐是与用户最新收听的音乐的相似度较高的 音乐,因此更容易符合用户的习惯,能够提高音乐推荐的准确度。应当说明的是,上述步骤S106中,也可以将音乐距离转换为相似度,例如相似 度为音乐距离加上1,然后取倒数,使得音乐相似度处于0 1之间,相似度为1则两个 音乐非常相似,相似度为0,则两个音乐相似度很小。那么,在步骤S202中则根据音乐 相似度从大到小对音乐进行排序,这样排序越靠前的音乐与用户最新收听的音乐相似度 越高。
图3示出了实施例二中的音乐推荐方法流程,该方法流程在实施例一的基础上 还包括以下步骤步骤S302中,获取两两用户之间的用户距离。在音乐数据库维护了大量用户, 这些用户进行点歌操作,用户标识号以及用户的音乐记录都会记录在音乐数据库中。每 个用户可以采用特征矢量进行表示,例如,用户曾经选择过10000首音乐,如果用户选 择了第一首歌2次和第二首歌1次,则该用户的特征矢量为[2,0,1,0...]。用户的特征 矢量会根据音乐的多少进行变化。该实施例中,可采用传统的欧式距离计算方法根据特 征矢量计算两个用户之间的欧式距离。步骤S304中,根据用户距离对用户进行归类。例如,将距离在设定的阈值内的 用户归为一类。步骤S306中,用虚拟用户表示每个用户类,对每个用户类生成虚拟用户音乐推 荐列表。对于同一类用户,把属于这一类别的所有用户用一个虚拟用户表示,对于虚拟 用户(即用户类)生成对应的虚拟用户音乐推荐列表,虚拟用户音乐推荐列表中的音乐可 选取属于该类的用户所收听的并集。步骤S308中,计算用户与每个用户类之间的距离。对系统中的每个用户,获取 用户与每个用户类中的用户之间的距离,然后采用取平均值计算得到用户与该用户类的距离。步骤S310中,提取与用户的距离最近的用户类。步骤S312中,根据该用户类的虚拟用户音乐推荐列表生成第二音乐推荐列表。 当提取的与用户的距离最近的用户类中包含多个用户时,则选取这些用户的音乐记录中 相同的音乐,生成第二音乐推荐列表。也可以选取这些用户的音乐记录中预设数量个排 序靠前的音乐,生成第二音乐推荐列表。由于与用户的距离最近的用户类中的用户所收听的音乐会符合用户的音乐习 惯,也就是说,用户很可能想收听与其相似的用户收听过的音乐,因此生成的第二音乐 推荐列表更符合用户需求,提高了音乐推荐的准确度。图4示出了实施例三中的音乐推荐方法流程,该方法流程在实施例一和实施例 二的基础上还包括以下步骤在执行步骤S402之前,在生成第一音乐推荐列表时,将音乐距离转换第一音乐 推荐分值并记录在第一音乐推荐列表中,第一音乐推荐分值可以取0 1之间,由音乐距 离换算得到,例如音乐距离为D,则第一音乐推荐分值为1/(1+D)。在生成第二音乐推 荐列表时,将用户距离转换为第二音乐推荐分值并记录在第二音乐推荐列表中,第二音 乐推荐分值也可以取0 1之间,由用户距离换算得到,例如,用户距离为L,则第二音 乐推荐分值可以是1/L。步骤S402中,提取第一音乐推荐列表和第二音乐推荐列表中相同的音乐。步骤S404中,获取相同的音乐的第一音乐推荐分值和第二音乐推荐分值。步骤S406中,对第一音乐推荐分值和第二音乐推荐分值进行加权计算,得到最 终音乐推荐分值。该实施例中,事先分别设定第一音乐推荐列表和第二音乐推荐列表的 权重,可根据经验分别赋予不同的权重。例如,事先设定第一音乐推荐列表的权重是P, 第二音乐推荐列表的权重是q,则对于第一音乐推荐列表和第二音乐推荐列表中的相同音乐,若它的第一音乐推荐分值为Si,第二音乐推荐分值为S2,其最终音乐推荐分值为S =p*Sl+q*S2。步骤S408中,按照最终音乐推荐分值从大到小对提取的音乐进行排序,生成第 三音乐推荐列表。由于第三音乐推荐列表是第一音乐推荐列表和第二音乐推荐列表中相 同的音乐,因此会更符合用户需求,进一步提高了音乐推荐的准确度。应当说明的是, 若第一音乐推荐列表和第二音乐推荐列表中相同的音乐太多,也可以只取排序靠前的预 设数量个音乐,生成第三音乐推荐列表,例如取前10个、前15个等。图5示出了实施例一中的音乐推荐系统,该系统包括音乐记录获取模块102、音 乐距离计算模块104和音乐推荐列表生成模块106,其中音乐记录获取模块102用于获取用户的音乐记录,并从音乐记录中提取用户最 新的音乐。音乐距离计算模块104用于获取曲库中的音乐与用户最新收听的音乐之间的音 乐距离。对于音乐数据库中的所有音乐,可由一个特征矢量进行表示,例如,可以采用 音乐的名称、歌手的名字、音乐的曲词、专辑名称等,预先计算两两音乐之间的距离, 例如可采用传统的欧式距离计算方法计算音乐之间的欧式距离,该距离能够用来表示音 乐之间的相似度,距离越小则相似度越高。每个音乐与其它音乐的距离都预先计算好并保存在音乐数据库中,当有新增音 乐时,新增音乐与其他音乐的距离也需预先计算好并对音乐数据库保存的数据进行更 新。因此可以直接从音乐数据库获取所有音乐与用户最新收听的音乐之间的音乐距离。音乐推荐列表生成模块106用于根据音乐距离生成第一音乐推荐列表。在一个 实施例中,音乐推荐列表生成模块106用于按音乐距离从小到大对音乐进行排序,提取 预设数量个排序靠前的音乐,根据提取的音乐生成第一音乐推荐列表。图6示出了实施例二中的音乐推荐系统,该系统在实施例一的基础上还包括用 户距离计算模块108和音乐分值转换模块110 其中用户距离计算模块108用于获取两两用户之间的用户距离,根据用户距离对用 户进行归类,用虚拟用户表示每个用户类,对每个用户类生成虚拟用户音乐推荐列表, 计算用户与每个用户类之间的距离。在音乐数据库维护了大量用户,这些用户进行点歌操作,用户标识号以及用户 的音乐记录都会记录在音乐数据库中。每个用户可以采用特征矢量进行表示,例如,用 户曾经选择过10000首音乐,如果用户选择了第一首歌2次和第二首歌1次,则该用户的 特征矢量为[2,0,1,0...]。用户的特征矢量会根据音乐的多少进行变化。该实施例中,可采用传统的欧式距离计算方法根据特征矢量计算两个用户之间 的欧式距离。根据用户距离进行归类时可将距离在设定的阈值内的用户归为一类,取用 户与每个用户类中的用户之间的距离的平均值来计算得到用户与该用户类的距离。音乐推荐列表生成模块106还用于提取与所述用户的距离最近的用户类,根据 所述用户类的虚拟用户音乐推荐列表生成第二音乐推荐列表。当提取的与用户的距离最 近的用户类中包含多个用户时,则选取这些用户的音乐记录中相同的音乐,生成第二音 乐推荐列表。也可以选取这些用户的音乐记录中预设数量个排序靠前的音乐,生成第二 音乐推荐列表。
8
音乐分值转换模块110用于将音乐距离转换为第一音乐推荐分值并记录在第一 音乐推荐列表中,以及将用户距离转换为第二音乐推荐分值并记录在第二音乐推荐列表 中。音乐推荐列表生成模块106在生成第一音乐推荐列表时,将音乐距离转换第一 音乐推荐分值并记录在第一音乐推荐列表中,第一音乐推荐分值可以取0 1之间,由音 乐距离换算得到,例如音乐距离为D,则第一音乐推荐分值为1/(1+D)。音乐推荐列表生成模块106在生成第二音乐推荐列表时,将用户距离转换为第 二音乐推荐分值并记录在第二音乐推荐列表中,第二音乐推荐分值也可以取0 1之间, 由用户距离换算得到,例如,用户距离为L,则第二音乐推荐分值可以是1/L。音乐推荐列表生成模块106还用于提取第一音乐推荐列表和第二音乐推荐列表 中相同的音乐,对提取的音乐的第一音乐推荐分值和第二音乐推荐分值进行加权计算, 得到最终音乐推荐分值,按照最终音乐推荐分值从大到小对提取的音乐进行排序,生成 第三音乐推荐列表。该实施例中,事先分别设定第一音乐推荐列表和第二音乐推荐列表的权重,可 根据经验分别赋予不同的权重。例如,事先设定第一音乐推荐列表的权重是p,第二音 乐推荐列表的权重是q,则对于第一音乐推荐列表和第二音乐推荐列表中的相同音乐, 若它的第一音乐推荐分值为Si,第二音乐推荐分值为S2,其最终音乐推荐分值为S = p*Sl+q*S2。音乐推荐列表生成模块106按照计算得到的最终音乐推荐分值从大到小对提 取的音乐进行排序,生成第三音乐推荐列表。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但 并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术 人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本 发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种音乐推荐方法,包括以下步骤 获取用户的音乐记录;从所述音乐记录中提取用户最新的音乐;获取曲库中的音乐与所述用户最新收听的音乐之间的音乐距离根据所述音乐距离生成第一音乐推荐列表。
2.根据权利要求1所述的音乐推荐方法,其特征在于,所述根据音乐距离生成音乐推 荐列表的步骤为按所述音乐距离从小到大对音乐进行排序; 提取预设数量个排序靠前的音乐; 根据提取的音乐生成第一音乐推荐列表。
3.根据权利要求2所述的音乐推荐方法,其特征在于,所述方法还包括 获取两两用户之间的用户距离;根据所述用户距离对用户进行归类;用虚拟用户表示每个用户类,对每个用户类生成虚拟用户音乐推荐列表; 计算用户与每个用户类之间的距离; 提取与所述用户的距离最近的用户类;根据所述用户类的虚拟用户音乐推荐列表生成第二音乐推荐列表。
4.根据权利要求3所述的音乐推荐方法,其特征在于,所述方法还包括 将音乐距离转换为第一音乐推荐分值并记录在第一音乐推荐列表中;及 将用户距离转换为第二音乐推荐分值并记录在所述第二音乐推荐列表中。
5.根据权利要求4所述的音乐推荐方法,其特征在于,所述方法还包括 提取所述第一音乐推荐列表和第二音乐推荐列表中相同的音乐; 获取所述音乐的第一音乐推荐分值和第二音乐推荐分值;对所述第一音乐推荐分值和第二音乐推荐分值进行加权计算,得到最终音乐推荐分值;按照所述最终音乐推荐分值从大到小对提取的音乐进行排序,生成第三音乐推荐列表。
6.—种音乐推荐系统,其特征在于,包括音乐记录获取模块,获取用户的音乐记录,并从所述音乐记录中提取用户最新的音乐;音乐距离计算模块,获取曲库中的音乐与用户最新的音乐之间的音乐距离; 音乐推荐列表生成模块,根据所述音乐距离生成第一音乐推荐列表。
7.根据权利要求6所述的音乐推荐系统,其特征在于,所述音乐推荐列表生成模块用 于按所述音乐距离从小到大对音乐进行排序,提取预设数量个排序靠前的音乐,根据提 取的音乐生成第一音乐推荐列表。
8.根据权利要求7所述的音乐推荐系统,其特征在于,还包括用户距离计算模块,获取两两用户之间的用户距离,根据所述用户距离对用户进行 归类,用虚拟用户表示每个用户类,对每个用户类生成虚拟用户音乐推荐列表,计算用 户与每个用户类之间的距离;所述音乐推荐列表生成模块还用于提取与所述用户的距离最近的用户类,根据所述 用户类的虚拟用户音乐推荐列表生成第二音乐推荐列表。
9.根据权利要求8所述的音乐推荐系统,其特征在于,还包括音乐分值转换模块,用于将音乐距离转换为第一音乐推荐分值并记录在第一音乐推 荐列表中,以及将用户距离转换为第二音乐推荐分值并记录在第二音乐推荐列表中。
10.根据权利要求9所述的音乐推荐系统,其特征在于,所述音乐推荐列表生成模块 还用于提取所述第一音乐推荐列表和第二音乐推荐列表中相同的音乐,对所述提取的音 乐的第一音乐推荐分值和第二音乐推荐分值进行加权计算,得到最终音乐推荐分值,按 照所述最终音乐推荐分值从大到小对提取的音乐进行排序,生成第三音乐推荐列表。
全文摘要
一种音乐推荐方法,包括以下步骤获取用户的音乐记录;从所述音乐记录中提取用户最新收听的音乐;获取曲库中的音乐与所述用户最新的音乐之间的音乐距离;根据所述音乐距离生成第一音乐推荐列表。第一音乐推荐列表中的音乐与用户最新的音乐相似度较高,更符合用户习惯,因此能提高音乐推荐的准确度。还提供一种音乐推荐系统。
文档编号G06F17/30GK102024058SQ20101061796
公开日2011年4月20日 申请日期2010年12月31日 优先权日2010年12月31日
发明者冯雁, 史乐, 杨永胜 申请人:万音达有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1