著录项信息
专利名称 | 一种音乐推荐方法及装置 |
申请号 | CN200810246667.4 | 申请日期 | 2008-12-29 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2009-05-27 | 公开/公告号 | CN101441667 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 北京搜狗科技发展有限公司 | 申请人地址 | 北京市海淀区中关村东路1号院9号楼搜狐网络大厦9层01房间
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京搜狗科技发展有限公司 | 当前权利人 | 北京搜狗科技发展有限公司 |
发明人 | 吴明达;佟子健 |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 逯长明 |
摘要
本发明公开了一种音乐推荐方法,其特征在于,包括:预先通过获取并分析音乐相关数据源得到各音乐之间的关联值,将所述关联值保存在音乐关联网络;需要向用户推荐音乐时,获取与用户兴趣相关的音乐作为推荐种子;在所述音乐关联网络中获得所述推荐种子与各音乐的关联值;选择与所述推荐种子关联值最大的音乐,并推荐给用户。本发明还公开了一种音乐推荐装置。通过本发明,扩大了音乐推荐的可选范围,便于向用户推荐更多该用户可能喜欢的音乐。另外,可以将用户的喜好信息反馈到音乐关联网络中,提高对用户兴趣的把握,从而在一定程度上实现了针对指定用户的个性化音乐推荐,提升推荐的效果。
一种音乐推荐方法及装置 \n技术领域\n[0001] 本发明涉及信息处理领域,特别是涉及一种音乐推荐方法及装置。 背景技术\n[0002] 目前,用户通常可以通过两种途径来收听音乐,一种是使用传统的音频播放器在本地播放,另一种是通过互联网进行在线搜索及试听。但是,传统的音频播放器只能播放用户已有的音乐文件;当前的音乐搜索也只有在用户已知音乐名称的情况下,找到用户想要的音乐,并提供下载试听服务。可见,这两种情况都是在用户有明确需求的条件下(用户知道想要听的是那首歌等),来满足用户需求的。但是,如果用户自己不清楚想听什么歌曲,只是想随便听听,则将无法满足用户需求。可见,当用户没有明确的目的的情况下,存在向用户进行音乐推荐的需求。但是,又不能够盲目地进行音乐推荐,应该考虑到不同用户往往具有不同的兴趣爱好,否则,将影响到用户的体验。 \n[0003] 为解决上述问题,现有技术可以通过协同推荐的方法向用户进行音乐推荐,即通过挖掘用户群体的使用行为来进行推荐。例如,有相当一部分听了歌曲A的用户也听了歌曲B,那么就认为喜欢A的人喜欢B的可能性比较高。如果发现有一个用户只听了歌曲A,那么就可以给他推荐歌曲B。这种方法的优点在于,只要收集了一定规模的用户日志,不用分析音乐的内容就可以进行推荐。 \n[0004] 但是,其缺点在于,当一个用户听了歌曲A时,只能基于听过歌曲A的用户群体来进行推荐,使得推荐的可选范围比较狭窄,无法引导用户去收听更多该用户可能喜欢的歌曲。 \n发明内容\n[0005] 有鉴于此,本发明的目的在于提供一种音乐推荐方法及装置,以解决现有技术音乐推荐的可选范围狭窄的问题。 \n[0006] 为实现上述目的,本发明提供了如下方案: \n[0007] 一种音乐推荐方法,包括: \n[0008] 预先通过获取并分析音乐相关数据源得到各音乐之间的关联值,将所述关联值保存在音乐关联网络;其中,所述音乐相关数据源包括表征用户收听兴趣的音乐集合,通过以下方式建立所述音乐关联网络:将所有所述音乐集合中的音乐作为网络节点,将出现在同一所述音乐集合中的音乐确定为两两相互关联,并基于所有所述音乐集合计算一音乐到另一音乐的转移概率,将所述转移概率确定为相互关联的音乐之间的关联值; [0009] 需要向用户推荐音乐时,获取与用户兴趣相关的音乐作为推荐种子; [0010] 在所述音乐关联网络中获得所述推荐种子与各音乐的关联值; \n[0011] 选择与所述推荐种子关联值最大的音乐,并推荐给用户。 \n[0012] 优选的,还包括: \n[0013] 将所述推荐给用户的音乐加入到推荐种子中,在音乐关联网络中获得当前推荐种子与各音乐的关联值,并选择与所述当前推荐种子关联值最大的音乐继续推荐给用户。 [0014] 优选的,还包括: \n[0015] 获取用户对所述推荐的音乐喜爱程度的反馈,并将所述反馈进行量化得到反馈值; \n[0016] 利用所述反馈值对所述音乐关联网络中所述推荐的音乐与各音乐的关联值进行更新。 \n[0017] 优选的, \n[0018] 所述基于所有所述音乐集合计算一音乐到另一音乐的转移概率包括: [0019] T(a,b)=∑(P(Ak,a)*T(a,b,Ak))/∑P(Ak,a) \n[0020] 其中, \n[0021] Ak:同时出现音乐a与音乐b的所述音乐集合; \n[0022] P(Ak,a):从所有所述音乐集合中选择到所述音乐集合Ak,并且从所述音 乐集合Ak中选择了收听音乐a的概率; \n[0023] T(a,b,Ak):在所述音乐集合Ak中选择音乐a后又选择音乐b的概率; [0024] T(a,b):在所有所述音乐集合中,音乐a到音乐b的转移概率。 \n[0025] 优选的,所述表征用户收听兴趣的音乐集合包括: \n[0026] 用户自建专辑,或,用户的音乐搜索日志;所述用户自建专辑用于保存用户收藏或下载的音乐。 \n[0027] 优选的,所述音乐相关数据源还包括: \n[0028] 获取到的音乐,以及从各音乐中提取的各音乐的特征信息,所述特征信息包括节奏,和/或,使用的乐器; \n[0029] 通过以下方式建立所述音乐关联网络: \n[0030] 将获取到的各音乐确定为所述音乐关联网络的各节点; \n[0031] 将所述特征信息量化后,计算每两首音乐之间特征信息的相似度; [0032] 如果计算出的两首音乐之间的相似度大于预置阈值,则将这两首音乐确定为相互关联,并将所述相似度确定为这两首音乐之间的关联值。 \n[0033] 优选的,还包括: \n[0034] 将所述音乐关联网络中的音乐的标识信息进行规范化。 \n[0035] 一种音乐推荐装置,包括: \n[0036] 音乐关联网络建立单元,用于预先通过获取并分析音乐相关数据源得到各音乐之间的关联值,将所述关联值保存在音乐关联网络;其中,所述音乐相关数据源包括表征用户收听兴趣的音乐集合,通过以下方式建立所述音乐关联网络:将所有所述音乐集合中的音乐作为网络节点,将出现在同一所述音乐集合中的音乐确定为两两相互关联,并基于所有所述音乐集合计算一音乐到另一音乐的转移概率,将所述转移概率确定为相互关联的音乐之间的关联值; \n[0037] 推荐种子获取单元,用于需要向用户推荐音乐时,获取与用户兴趣相关的音乐作为推荐种子; \n[0038] 关联音乐搜索单元,用于在所述音乐关联网络中获得所述推荐种子与各音 乐的关联值; \n[0039] 音乐推荐单元,用于选择与所述推荐种子关联值最大的音乐,并推荐给用户。 [0040] 优选的,还包括: \n[0041] 继续推荐单元,用于将所述推荐给用户的音乐加入到推荐种子中; [0042] 所述关联音乐搜索单元在音乐关联网络中获得当前推荐种子与各音乐的关联值; \n[0043] 所述音乐推荐单元选择与所述当前推荐种子关联值最大的音乐继续推荐给用户。 [0044] 优选的,还包括: \n[0045] 用户反馈处理单元,用于获取用户对所述推荐的音乐喜爱程度的反馈,并将所述反馈进行量化得到反馈值; \n[0046] 关联值更新单元,用于利用所述反馈值对所述音乐关联网络中所述推荐的音乐与各音乐的关联值进行更新。 \n[0047] 优选的,所述音乐关联网络建立单元基于所有所述音乐集合计算一音乐到另一音乐的转移概率包括: \n[0048] T(a,b)=∑(P(Ak,a)*T(a,b,Ak))/∑P(Ak,a) \n[0049] 其中, \n[0050] Ak:同时出现音乐a与音乐b的所述音乐集合; \n[0051] P(Ak,a):从所有所述音乐集合中选择到所述音乐集合Ak,并且从所述音乐集合Ak中选择了收听音乐a的概率; \n[0052] T(a,b,Ak):在所述音乐集合Ak中选择音乐a后又选择音乐b的概率; [0053] T(a,b):在所有所述音乐集合中,音乐a到音乐b的转移概率。 \n[0054] 优选的,所述表征用户收听兴趣的音乐集合包括: \n[0055] 用户自建专辑,或,用户的音乐搜索日志;所述用户自建专辑用于保存用户收藏或下载的音乐。 \n[0056] 优选的,所述音乐相关数据源还包括: \n[0057] 获取到的音乐,以及从各音乐中提取的各音乐的特征信息,所述特征信息包括节奏,和/或,使用的乐器; \n[0058] 所述音乐关联网络建立单元包括: \n[0059] 节点确定子单元,用于将获取到的各音乐确定为所述音乐关联网络的各节点; [0060] 相似度计算子单元,用于将所述特征信息量化后,计算每两首音乐之间特征信息的相似度; \n[0061] 关系及关联值确定子单元,用于当计算出的两首音乐之间的相似度大于预置阈值时,则将这两首音乐确定为相互关联,并将所述相似度确定为这两首音乐之间的关联值。 [0062] 优选的,还包括: \n[0063] 信息规范单元,用于将所述音乐关联网络中的音乐的标识信息进行规范化。 [0064] 根据本发明提供的具体实施例,本发明公开了以下技术效果: \n[0065] 本发明预先通过获取并分析音乐相关数据源得到各音乐之间的关联值,将上述的关联值保存在音乐关联网络;需要向用户推荐音乐时,获取与用户兴趣相关的音乐作为推荐种子;在所述音乐关联网络中获得所述推荐种子与各音乐的关联值;选择与所述推荐种子关联值最大的音乐,并推荐给用户。可见,只要是音乐相关的数据源都可以用来建立音乐关联网络,使得向用户进行音乐推荐的可选范围不仅仅局限于听过某音乐的用户群,从而扩大了音乐推荐的可选范围,便于向用户推荐更多该用户可能喜欢的音乐。 [0066] 其次,随着向用户推荐的音乐数目的增加,推荐的可选范围都将不断增大。另外,在向用户做出推荐后,通过用户对推荐音乐喜爱程度的反馈,来修改该推荐音乐与所述音乐关联网络中各音乐的关联值,并依据修改后的关联值继续向用户做音乐推荐。这样可以将用户的喜好信息反馈到音乐关联网络中,提高对用户兴趣的把握,从而在一定程度上实现了针对指定用户的个性化音乐推荐,提升推荐的效果。 \n附图说明\n[0067] 图1是本发明实施例提供的方法的流程图; \n[0068] 图2是本发明实施例提供的音乐关联网络的示意图; \n[0069] 图3是本发明实施例提供的第一装置的示意图; \n[0070] 图4是本发明实施例提供的第二装置的示意图; \n[0071] 图5是本发明实施例提供的第三装置的示意图。 \n具体实施方式\n[0072] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。 \n[0073] 参见图1,本发明实施例提供的音乐推荐的方法包括以下步骤: \n[0074] S101:预先通过获取并分析音乐相关数据源得到各音乐之间的关联值,将所述关联值保存在音乐关联网络; \n[0075] S102:需要向用户推荐音乐时,获取与用户兴趣相关的音乐作为推荐种子; [0076] 本发明实施例旨在为用户推荐其可能会感兴趣的音乐(包括歌曲、乐曲等),因此,需要获取与用户兴趣相关的音乐作为推荐种子;该推荐种子可以是用户当前收听的音乐,也可以是用户当前打开的播放列表或下载列表中的音乐,也就是说推荐种子可以是一首音乐,也可以是某音乐列表中的多首音乐。依据该推荐种子进行推荐,以使得推荐的音乐尽可能地迎合用户的喜好。其中,所述当前收听的音乐信息可以是从当前正在收听的音乐中获取的,或者用户在推荐系统中输入的将要收听的音乐的标识信息。 \n[0077] 其中,所述标识信息是指能够识别某音乐的信息,通常可以包括音乐的歌名、歌手等文本信息。 \n[0078] S103:在所述音乐关联网络中获得所述推荐种子与各音乐的关联值; [0079] 本发明实施例所述的音乐推荐是基于预先建立的音乐关联网络进行的,所述音乐关联网络是用来保存各音乐之间的关联关系及用来标识关联程度的关联值,音乐关联网络可以如图2所示,在该网络中,节点表示音乐,连接节点的边表示音乐之间相互关联,边的权重表示关联程度的强弱,即关联值的大小,当然,当关联值为0时,则代表两首音乐之间不互相关联。 \n[0080] 可以在该音乐关联网络中找到所述推荐种子所在的节点,然后找到与该节 点具有连接关系的各节点,各节点对应的各音乐便是与作为推荐种子的音乐相关联的音乐。 [0081] S104:选择与所述推荐种子关联值最大的音乐,并推荐给用户。 [0082] 所述关联值最大的音乐,也就是与所述推荐种子关联程度最强的音乐,关联程度最强即表示该音乐与推荐种子最相似,则将与用户自己选择收听的音乐最相似的音乐推荐给用户是合理的。 \n[0083] 但是,值得注意的是,上述最相似可以是指在某一方面上的,例如均能表达某些用户的兴趣,或音乐的节奏、使用的乐器、风格相似等。 \n[0084] 在向用户推荐完一首音乐后,可以以所述第一音乐及推荐的第二音乐为推荐的种子,继续在音乐关联网络中为用户推荐下一首音乐。即,可以将所述推荐给用户的音乐也加入到推荐种子的行列中,并从音乐关联网络中选择关联值最大的音乐推荐给用户。可以在用户听完该推荐音乐或要求用户主动要求推荐下一首音乐(例如用户不喜欢该推荐的音乐,则可以选择切换到下一首)时,将选择出来的音乐推荐给用户。 \n[0085] 值得注意的是,第二次推荐的音乐可能是与初始推荐种子关联值最大的音乐,也可能是与所述推荐过的音乐关联值最大的音乐,每推荐一次,推荐可选范围都在逐渐增大。 [0086] 本发明在利用音乐关联网络进行音乐推荐时,还可以以下述为依据对用户的兴趣进行定位:用户每多听一首音乐,就能更清晰地定位用户的兴趣;用户听的音乐越有个性,越可以清晰地定位其兴趣。因此,在本发明的优选实施例中,在向用户推荐完一首音乐后,还可以收集用户对该音乐喜爱程度的反馈。这种反馈可以是显式的也可以是隐式的。对于显式的反馈,系统可以支持用户选择一定数目级别的反馈来表示对推荐结果的满意程度,例如,可以是5个级别:{不能忍了、不太好听、凑合听听、比较喜欢、非常喜欢}。 [0087] 对于隐式反馈,可以是包含在用户行为中的反馈。例如,用户听某一首音乐不到\n10秒就切到下一音乐,则很可能表示他不喜欢这首音乐,至少当时不想听这首音乐;如果用户把一首推荐的音乐全部听完,则他可能是喜欢这首音乐的,至少他可以接受这个推荐,等等,这些都是用户对推荐音乐的反馈。 \n[0088] 可以根据用户的选择或对用户行为的判断来收集用户的反馈,并对这些反馈进行量化,例如,将这些反馈都量化为一个-1到1之间的数值F。设所述推荐音乐为m,Fm大于\n0,则表示用户倾向于喜欢音乐m;Fm小于0,则表示用户倾向于厌烦音乐m;Fm值越大,则表示用户越喜欢音乐m。 \n[0089] 获取到上述反馈量化值之后,可以将这些量化值作用到音乐关联网络中与所述推荐音乐相关联的所有节点上。具体的,在音乐关联网络中找到所述音乐m的节点,取出与其关联的所有节点,将每个与节点m相关联的节点ni的关联值Ri乘以Fm得到Vi,并将Vi分别累加到Ri上。如果将与音乐m相关联的音乐ni,及m与ni之间的关联值组成二元数组,则,原数组为,修改后的数组为。 \n[0090] 可见,在考虑到用户反馈的情况下,所述音乐关联网络中部分音乐间的关联值将会发生变化,再次向用户推荐音乐时相当于是基于这个变化后的音乐关联网络进行的推荐。 \n[0091] 另外,当获取的用户反馈信息显示出用户非常不喜欢推荐的音乐时(例如显式反馈中用户选择了“不太好听”或“不能忍了”,或者听某一首推荐的音乐不到10秒就切到下一音乐),可以不再将该音乐作为推荐种子,以免影响到用户的体验。 \n[0092] 其中,可以采用多种方法来建立音乐关联网络,即,只要能够建立起音乐关联网络,便能够按照本发明实施例提供的方法来向用户进行音乐推荐。下面就介绍几种建立音乐关联网络的方法,仅用于举例介绍,而不应看作是对本发明实施例的限制。 [0093] (1)基于用户自建专辑建立音乐关联网络。其中,所述用户自建专辑是指用户自己整理的音乐集合,对于一个用户而言,可以拥有多个用户自建专辑,本发明实施例中建立音乐关联网络所依据的是所有用户的所有用户自建专辑。例如,在搜狗音乐搜索中,用户在通过试听的过程中,将喜爱的音乐分类整理为一个个专辑,例如流行音乐专辑、摇滚专辑、抒情专辑,等等,本发明对用户如何建立自建专辑并没有限制。 \n[0094] 基于用户自建专辑建立音乐关联网络时,本发明实施例所采用的方法的出 发点是:从统计意义上讲,收录在同一自建专辑中的音乐存在一定的相关性;并且,频繁在同一用户自建专辑中同现的音乐对表达相同或相近的兴趣,如果一个用户听了上述音乐对中的一首音乐,则很可能对该音乐对中的另一首音乐感兴趣。 \n[0095] 因此,可以通过下述模型来描述用户的听音乐过程:用户首先以一定的概率(这个概率与其兴趣有关)选择音乐a来听,然后,以一定的概率转移到下一首音乐b上,然后再以一定的概率转移到音乐c上。这个听音乐过程可以看作是在音乐关联网络上的一种游走过程。因此,可以使用音乐a跳转到音乐b的概率来刻画音乐a与音乐b之间的关联程度,具体表示为结点a(音乐a对应的结点)与结点b(音乐b对应的结点)之间的边的权重大小。 \n[0096] 具体地,可以采用如下方法来建立音乐关联网络:将所有用户自建专辑中的音乐作为网络节点(值得注意的是,不同用户自建专辑中的同一音乐使用同一节点来表示),将出现在同一用户自建专辑中的音乐确定为两两相互关联,可以将网络中代表同一用户自建专辑中的音乐的节点两两相连,表示其相互关联。由此来表现出现在同一用户自建专辑中的音乐之间是相互关联的,当然,同一音乐可能出现在不同的用户自建专辑中。最后,依据所有用户自建专辑为相互关联的音乐计算关联值,来建立所述音乐关联网络。 [0097] 所述依据所有用户自建专辑为相互关联的音乐计算关联值的方法可以如下进行: \n[0098] 如上所述,在本发明实施例中,可以使用音乐a到音乐b的转移概率来代表音乐a与音乐b之间的关联值。所述音乐a到音乐b的转移概率表示用户听完音乐a去听音乐b的可能性,此时,音乐a到音乐b的转移概率(用T(a,b)来表示)可以采用如下方法计算: [0099] 首先,假设音乐a和音乐b在用户自建专辑Ak中,专辑Ak中有Nk首音乐,则用户在专辑Ak听完音乐a,从其他的Nk-1首音乐中随机选择一首来听,选择到每首音乐的概率是均等的,则选择到音乐b的概率为: \n[0100] T(a,b,Ak)=1/(N-1) (1) \n[0101] 假设专辑总数为M,每个专辑被选择出来是听到的概率是均等的,因此从 M个专辑中选择到专辑Ak的概率为: \n[0102] P(Ak)=1/M (2) \n[0103] 则,从M个专辑中选择到专辑Ak,并且从专辑Ak中选择了收听音乐a的概率为: [0104] P(Ak,a)=P(Ak)*P(a|Ak)=1/M*1/N=1/(M*N) (3) \n[0105] 进而,从M个专辑中选择到专辑Ak,又从专辑Ak中选择了收听音乐a,并且下一首收听音乐b的概率为: \n[0106] T(a,b,Ak)=P(Ak,a)*T(a,b,Ak)(4) \n[0107] 最后,由于音乐a和音乐b同现的用户自建专辑可能有多个,因此,在全部用户自建专辑上,音乐a到音乐b的转移概率为: \n[0108] T(a,b)=∑(P(Ak,a)*T(a,b,Ak))/∑P(Ak,a)(5) \n[0109] 这样便计算出了两首音乐之间的关联度,将其作为对应的节点对之间边的权重,并组成完整的音乐关联网络。 \n[0110] 当然,在上述音乐关联网络模型中,也可以采用其他的计算音乐关联值的方法,例如,两首音乐每在用户自建专辑中同现一次,便将该两首音乐的同现次数加1,最后得到每两首音乐的同现次数,并将各个同现次数进行归一化处理,将归一化的值作为相应的两首音乐之间的关联值。 \n[0111] 在实际应用中,基于用户自建专辑也可以建立其他结构的音乐关联网络模型,例如,将同一个用户建立的各专辑中的所有音乐都确定为是相互关联的,并将同一专辑中的音乐赋予更高的权重,等等。 \n[0112] (2)基于用户的音乐搜索日志建立音乐关联网络。所述用户的音乐搜索日志中包含了用户使用音乐搜索引擎搜索过的音乐。基于用户的音乐搜索日志建立音乐关联网络的出发点是,同一个用户搜索过的音乐能够代表该用户的兴趣,因此各音乐之间相互关联。 [0113] 因此,可以如下建立音乐关联网络:将所有用户的音乐搜索日志中包含的音乐作为音乐关联网络的节点,同一用户的音乐搜索日志中的各音乐,两两之间相互关联,并依据所有用户的音乐搜索日志计算相关联的音乐之间的关联 值,并最终建立起音乐关联网络。 [0114] 从上述可以看出,基于用户的音乐搜索日志建立音乐关联网络时,与基于用户自建专辑建立音乐关联网络类似,却别仅在于基于用户自建专辑建立时,一个用户可能对应多个专辑,每个专辑包含的音乐数目相对较少。而基于用户的音乐搜索日志时,一个用户仅对应一个日志,而且每个用户的日志中可能包含了非常多的音乐。但是,(1)中所述的建立音乐关联网络的方法与专辑的数目、专辑的大小并没有限制,因此基于用户的音乐搜索日志建立音乐关联网络时,可以直接使用基于用户自建专辑建立音乐关联网络的方法。而且,为了便于实现,还可以将用户的日志中的音乐切分成多个集合,具体的建立音乐关联网络的方法同样可以参照基于用户自建专辑建立音乐关联网络的方法,这里不再赘述。 [0115] 但是,需要说明的是,由于用户的搜索日志中的音乐可以体现出时间性,也就是说有的音乐可能是用户很长时间搜索过的,虽然能从一定程度上表达用户的兴趣,但是可能并不能代表用户近期的兴趣所在。因此,还可以在计算关联值时,适当降低以前搜索过的音乐的权重。 \n[0116] 上述两种方法都是以能够表征用户收听兴趣的音乐集合(包括用户自建专辑或用户的音乐搜索日志)作为数据源来建立音乐关联网络的,在本发明的其他实施例中,还可以采用基于音乐内容的方式,下面进行详细地介绍。 \n[0117] (3)基于任意获取到的音乐,以及从各音乐中提取的各自的特征信息,来建立音乐关联网络。其中,音乐可以是从任意的来源(例如互联网上的音乐文件等)获取的,所述特征信息包括音乐的节奏,和/或,使用的乐器,和/或,风格等。这种方法建立起来的音乐关联网络与前两种方法不同,这种音乐关联网络中,可以首先通过各音乐的特征信息来比较各音乐两两之间的相似度,如果两首音乐之间的相似度满足了预置的要求,则将这两首音乐确定为相互关联的音乐;然后,两首音乐特征信息之间的距离越小,则这两首音乐之间的关联值越大。 \n[0118] 音乐之间距离的计算包括三个步骤:1)抽象出音乐的一组特征(如节奏的快慢),并制定一套量化的准则(如将节奏的快慢量化为10个级别);2)分 析音乐文件,将其特征按制定的量化准则进行量化;3)根据这些量化的特征值,计算每两首音乐之间的相似度,将大于一定阈值的相似度作为音乐关联网络上相应边的权重。(这是机器分类的常规步骤,这里我们用它来建立音乐关联网络)。 \n[0119] 这个过程可以形式化如下: \n[0120] 设抽象出音乐的M个特征,形成特征集合F: \n[0121] F={f1,f2,...fM} \n[0122] 按量化准则将音乐a、b分别进行量化并归一化到[0,1]区间上,用向量表示为: [0123] a= \n[0124] b= \n[0125] 其中,via表示音乐a的特征fi量化后的数值。 \n[0126] 计算音乐之间的相似度有很多,如利用两个向量之间的余弦距离的大小来表示音乐之间的相似度, \n[0127] Sim(a,b)=cosine-distance(a,b)=((v1a-v1b)2+(v2a-v2b)2+...+(vma-vmb)2)1/2[0128] 将这个相似度作为关联网络上的关联权重,即 \n[0129] T(a,b)=Sim(a,b) \n[0130] 上述介绍了几种建立音乐关联网络的方法,但在实际应用中,由于从音乐文件、用户搜索日志中提取出来的音乐标识信息通常书写自由、各式各样,比较具有随意性。例如有些音乐的名称中可能会带有书名号等特殊符号,还有些音乐的名称在输入时使用了不同的编码方式(例如,中文简体与中文繁体方式下输入的同一首音乐的名称可能会不相同),以致系统可能会将同一首音乐误认为是两首不同的音乐,在音乐搜索网络中用不同的节点来表示,可能会出现重复向用户推荐同一首音乐的情况,从而影响到用户的体验。因此,在本发明的优选实施例中,还可以包括对音乐的标识信息进行规范化的步骤。 [0131] 具体的,可以通过以下方式对音乐的标识信息进行规范: \n[0132] 首先,从音乐文件、用户日志等尽可能多地途径收集尽可能全面的音乐,及其音乐标识信息(歌曲的歌名、歌手等),形成一个大的音乐集合。并根据音乐标识信息文本的特征,预定义一组字符集合U,该集合中的字符元素为可能出现在音乐标识信息中的字符,也就是说其中可能不包括《》<>“”等符号。 \n[0133] 然后对所述标识信息的编码方式统一转化为一种预置的编码方式(如统一为GBK编码等);并将音乐的标识信息中包含的非集合U中的字符去掉(例如同一替换为空格等)。这样便实现了对标识信息的规范化,避免了由于细微写法的不同而被判断为不同音乐的情况发生。 \n[0134] 另外,实际应用中,还可能有这样的情况:两首甚至多首不同的音乐但具有相同的音乐名称,这种情况多发生于歌曲中,由于歌曲数量非常多,因此难免会有歌名相同的歌曲。此时,如果单纯地以歌曲的名称作为歌曲的标识信息,则会将不同的歌曲判断为相同的歌曲,使得部分歌曲无法进入音乐关联网络。因此,在本发明的优选实施例中,对于歌曲这种音乐,可以采用“歌名+歌手”的形式作为歌曲的标识信息,相当于将歌手作为区分不同歌曲的另一标识,另外,歌手姓名文本也可以按照上述方法进行规范化,从而从更大程度上保证了音乐关联网络的可靠性。当然,在获取用户当前收听的音乐的标识信息时,也要同时获取歌名及歌手信息,用户在音乐推荐系统中也可以以“歌名+歌手”的方式进行输入,则可以便于在音乐关联网络中查找到推荐种子所在的节点。 \n[0135] 为了便于实现,在对音乐的标识信息规范化后,可以将各音乐进行编号,相当于将各音乐对应到各自的ID(即所述编号,由于音乐处于音乐关联网络中,因此将所述编号形象地称为音乐的ID;并且,在音乐关联网络中都可以用音乐的ID来表示各音乐)上。 [0136] 在实际应用中,可以在一个音乐推荐系统中利用本发明实施例提供的上述方法进行音乐推荐。用户可以自行选择进入音乐推荐系统,然后在音乐推荐系统中输入一首音乐的标识信息(歌名等),这样推荐系统便可以获取用户当前收听的第一音乐标识信息,并将其作为音乐推荐的种子。然后按照上述方法向用户推荐音乐即可,直到用户关闭推荐系统。\n在该音乐推荐系统中,音乐推荐装置可以包括以下单元: \n[0137] 音乐关联网络建立单元U301,用于预先通过获取并分析音乐相关数据源得到各音乐之间的关联值,将所述关联值保存在音乐关联网络; \n[0138] 推荐种子获取单元U302,用于需要向用户推荐音乐时,获取与用户兴趣相关的音乐作为推荐种子; \n[0139] 关联音乐搜索单元U303,用于在所述音乐关联网络中获得所述推荐种子与各音乐的关联值; \n[0140] 音乐推荐单元U304,用于选择与所述推荐种子关联值最大的音乐,并推荐给用户。 [0141] 预先由音乐关联网络建立单元U301通过获取并分析音乐相关数据源得到各音乐之间的关联值,将上述的关联值保存在音乐关联网络中;在进行推荐时,推荐种子获取单元U302获取与用户兴趣相关的音乐作为推荐种子;然后,由关联音乐搜索单元U303在所述音乐关联网络中搜索与所述推荐种子相关联的音乐;最后,音乐推荐单元U304在在所述相关联的音乐中选择关联值最大的音乐,并推荐给用户。 \n[0142] 在向用户推荐完一首音乐之后还可以继续向用户推荐,因此,还可以包括: [0143] 继续推荐单元U305,用于将所述推荐给用户的音乐加入到推荐种子中;关联音乐搜索单元U303在音乐关联网络中获得当前推荐种子与各音乐的关联值,音乐推荐单元U304选择与所述当前推荐种子关联值最大的音乐继续推荐给用户。 \n[0144] 为了提高对用户兴趣的把握,实现针对指定用户的个性化音乐推荐,提升推荐的效果,在本发明的优选实施例中,还可以将用户的喜好信息反馈到音乐关联网络中,因此,参见图4,该装置还包括: \n[0145] 用户反馈处理单元U406,用于获取用户对所述推荐的第二音乐喜爱程度的反馈,并将所述反馈进行量化得到反馈值; \n[0146] 关联值更新单元U407,用于利用所述反馈值对所述音乐关联网络中与所述推荐的音乐相关联的各音乐的关联值进行更新。 \n[0147] 此时,相当于在下次推荐音乐前更新了音乐关联网络,则关联音乐搜索单 元U403在修改后的当前音乐关联网络中获取与当前推荐种子相关联的音乐,并由推荐单元U404关联值最大的音乐继续推荐给用户。以此类推,随着推荐的音乐的增加,推荐的可选范围逐渐增大,直到用户退出用户推荐系统。 \n[0148] 其中,用于进行音乐推荐的音乐关联网络可以是任意建立的,用于建立音乐关联网络的音乐相关数据源可以是:表征用户收听兴趣的音乐集合,其中所述表征用户收听兴趣的集合可以包括用户自建专辑,或,用户的音乐搜索日志;所述用户自建专辑用于保存用户收藏的音乐。此时,音乐关联网络建立单元U401可以包括: \n[0149] 关系确定子单元U4011,用于将所有所述音乐集合中的音乐作为网络节点,将出现在同一所述音乐集合中的音乐确定为两两相互关联; \n[0150] 关联值计算子单元U4012,用于基于所有所述音乐集合为相互关联的音乐计算关联值,来建立所述音乐关联网络。 \n[0151] 其中,关联值计算子单元U4012基于所有所述音乐集合计算一音乐到另一音乐的转移概率,并将所述转移概率确定为相互关联的音乐的关联值; \n[0152] 所述基于所有所述音乐集合计算一音乐到另一音乐的转移概率包括: [0153] T(a,b)=∑(P(Ak,a)*T(a,b,Ak))/∑P(Ak,a) \n[0154] 其中, \n[0155] Ak:同时出现音乐a与音乐b的所述音乐集合; \n[0156] P(Ak,a):从所有所述音乐集合中选择到所述音乐集合Ak,并且从所述音乐集合Ak中选择了收听音乐a的概率; \n[0157] T(a,b,Ak):在所述音乐集合Ak中选择音乐a后又选择音乐b的概率; [0158] T(a,b):在所有所述音乐集合中,音乐a到音乐b的转移概率。 \n[0159] 另外,用于建立音乐关联网络的音乐相关数据源也可以是通过多种途径获取到的音乐,以及从各音乐中提取的各音乐的特征信息,所述特征信息包括节奏,和/或,使用的乐器等等。此时,参见图5,音乐关联网络建立单元U501可以包括: \n[0160] 节点确定子单元U5011,用于将获取到的各音乐确定为所述音乐关联网络的各节点; \n[0161] 相似度计算子单元U5012,用于将所述特征信息量化后,计算每两首音乐之间特征信息的相似度; \n[0162] 关系及关联值确定子单元U5013,用于当计算出的两首音乐之间的相似度大于预置阈值时,则将这两首音乐确定为相互关联,并将所述相似度确定为这两首音乐之间的关联值。 \n[0163] 为了避免出现同一音乐的重复推荐,或将不同音乐认为是相同的(例如歌名相同但歌手不同的情况),该装置还可以包括: \n[0164] 信息规范单元U508,用于将所述音乐关联网络中的音乐的标识信息进行规范化。 [0165] 以上对本发明所提供的一种音乐推荐方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2011-04-06
- 2009-07-22
- 2009-05-27
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |