著录项信息
专利名称 | 一种歌曲推荐方法及系统 |
申请号 | CN201110048824.2 | 申请日期 | 2011-03-01 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2012-09-05 | 公开/公告号 | CN102654859A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 北京彩云在线技术开发有限公司 | 申请人地址 | 北京市朝阳区建国路71号惠通时代广场A区2号楼102
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京彩云在线技术开发有限公司 | 当前权利人 | 北京彩云在线技术开发有限公司 |
发明人 | 孙武;石建平;赵凌;刘畅 |
代理机构 | 北京律诚同业知识产权代理有限公司 | 代理人 | 梁挥;祁建国 |
摘要
本发明公开了一种歌曲推荐方法及系统,包括如下步骤:步骤1,建立一标签体系,该标签体系具有至少一个维度特征,每个维度特征具有至少一子特征标签;步骤2,为同一维度特征下的任意两个子特征标签之间的相关度赋值;步骤3,分别为每个维度特征设置权重;步骤4,根据该标签体系为歌曲设置该至少一个维度特征的子特征标签;步骤5,针对一首该歌曲的子特征标签,根据该相关度与该权重,计算该歌曲与其它歌曲的相似度,并将相似度符合特定要求的歌曲作为推荐内容。本发明统一了标签体系以及标签的颗粒度,为用户自主设置的用户标签提供了通用性,进而提高了歌曲推荐的准确度。
1.一种歌曲推荐方法,其特征在于,包括如下步骤:
步骤1,建立一标签体系,该标签体系具有至少一个维度特征,每个维度特征具有至少一子特征标签;
步骤2,为同一维度特征下的任意两个子特征标签之间的相关度赋值;
步骤3,分别为每个维度特征设置权重;
步骤4,根据该标签体系为歌曲设置该至少一个维度特征的子特征标签; 步骤5,针对一首该歌曲的子特征标签,根据该相关度与该权重,计算该歌曲与其它歌曲的相似度,并将相似度符合特定要求的歌曲作为推荐内容;
该步骤5进一步包括:
步骤11,根据用户终端针对歌曲的操作生成用户行为数据,该用户行为数据包括操作时间标签、操作次数标签和歌曲子特征标签;
步骤12,对该用户行为数据进行聚类计算,得到多个结果标签;
步骤13,对该用户行为数据的操作次数依据其所处时段进行加权处理,越临近当前时刻的时段权重越高;
步骤14,针对加权处理后的该用户行为数据进行归一化处理;
步骤15,对该多个结果标签进行排列组合,将该归一化后的用户行为数据依次与每种排列组合进行基于该相关度与该权重的多维相似度计算,根据该计算结果得到用户口味,并从用户口味中选取用户口味模型;
步骤16,计算该用户口味模型与其它歌曲的相似度,将相似度符合特定要求的歌曲作为推荐内容。
2.如权利要求1所述的方法,其特征在于,该维度特征至少包括:音乐风格流派的特征、歌曲的配器特征、歌曲的编曲特征、歌曲的演进节奏特征、歌手演唱的嗓音特征、歌曲整体氛围特征、歌曲的表达主题特征、歌曲的多声部特征、歌曲的年代特征、歌曲演唱语言特征、歌曲的地域特征、歌手的性别特征或歌手的活跃年代特征。
3.如权利要求1所述的方法,其特征在于,该建立标签体系的步骤进一步包括: 收集用户为多首歌曲设置的用户标签,对所收集的用户标签进行聚类计 算,利用语义识别工具识别出聚类结果的上位语义,作为该维度特征。
4.如权利要求1所述的方法,其特征在于,该维度特征包括主子特征标签以及从子特征标签。
5.如权利要求1所述的方法,其特征在于,该分别为每个维度特征设置权重的步骤进一步包括:
收集用户为多首歌曲设置的用户标签;
计算所收集的用户标签的类别的分布比例;
根据该分布比例,确定该类别所对应的维度特征的权重。
6.如权利要求1所述的方法,其特征在于,该根据该标签体系为歌曲设置该至少一个维度特征的子特征标签的步骤进一步包括:
收集用户为多首歌曲设置的用户标签;
根据预定映射规则,为每首歌曲确定与该用户标签对应的该标签体系内的子特征标签。
7.如权利要求5或6所述的方法,其特征在于,该收集用户为多首歌曲设置的用户标签的步骤还包括一过滤步骤:
统计针对同一首歌曲设置同一用户标签的用户数量,如果该用户数量小于预定值,该用户标签被过滤。
8.如权利要求1所述的方法,其特征在于,该根据该标签体系为所有歌曲设置该至少一个维度特征的子特征标签的步骤还包括:
通过数字节拍器分析歌曲的BPM值,作为该歌曲的演进节奏特征的标签。
9.如权利要求1所述的方法,其特征在于,通过UGC方式收集用户为多首歌曲设置的用户标签。
10.如权利要求1所述的方法,其特征在于,步骤12之后还包括,每隔第一预定时间,循环执行步骤12-15,该步骤12包括对当前已生成的全部用户行为数据进行聚类计算。
11.如权利要求10所述的方法,其特征在于,步骤15、16之间进一步包括,每隔第二预定时间,第二预定时间大于等于第一预定时间,循环执行以下步骤:
针对该用户行为数据,计算各维度的子特征标签的聚集比例,根据该聚集比例调整该维度特征的权重,聚集比例越高,权重值越高;
根据历史用户行为数据或用户终端针对所推荐的歌曲的反馈操作,依照预定规则调整该用户口味模型。
12.一种歌曲推荐系统,其特征在于,包括多个用户终端与一歌曲推荐服务器,该歌曲推荐服务器进一步包括:
标签体系建立单元,用于建立一标签体系,该标签体系具有至少一个维度特征,每个维度特征具有至少一子特征标签;
赋值单元,进一步包括相关度赋值单元与权重赋值单元,该相关度赋值单元用于为同一维度特征下的任意两个子特征标签之间的相关度赋值,该权重赋值单元用于分别为每个维度特征设置权重;
标定单元,用于根据该标签体系为歌曲设置该至少一个维度特征的子特征标签; 数据处理单元,用于针对一首该歌曲,利用该歌曲的子特征标签的该相关度与该权重,计算该歌曲与其它歌曲的相似度,并将相似度符合特定要求的歌曲作为推荐内容; 该数据处理单元进一步包括:
用户数据存储管理模块,用于接收用户终端针对歌曲进行的操作数据,并据以生成用户行为数据,该用户行为数据包括操作时间标签、操作次数标签和歌曲子特征标签; 相似度计算模块,基于相似度计算对该用户行为数据进行聚类计算,得到多个结果标签;
用户口味发现模块,包括加权处理模块、归一化模块以及用户口味模型选择模块,该加权处理模块用于对该用户行为数据的操作次数依据其所处时段进行加权处理,越临近当前时刻的时段权重越高,该归一化模块用于针对加权处理后的该用户行为数据进行归一化处理,该用户口味模型选择模块用于对该多个结果标签进行排列组合,调用该相似度计算模块将该归一化后的用户行为数据依次与每种排列组合进行多维相似度计算,根据该计算结果得到用户口味,并从用户口味中选取用户口味模型;
推荐过滤模块,用于根据该用户口味模型与其它歌曲的相似度,将相似度符合特定要求的歌曲作为推荐内容。
13.如权利要求12所述的系统,其特征在于,该维度特征至少包括:音 乐风格流派的特征、歌曲的配器特征、歌曲的编曲特征、歌曲的演进节奏特征、歌手演唱的嗓音特征、歌曲整体氛围特征、歌曲的表达主题特征、歌曲的多声部特征、歌曲的年代特征、歌曲演唱语言特征、歌曲的地域特征、歌手的性别特征或歌手的活跃年代特征。
14.如权利要求12所述的系统,其特征在于,该标签体系建立单元对所收集的用户标签进行聚类计算,利用语义识别工具识别出聚类结果的上位语义,作为该维度特征。
15.如权利要求12所述的系统,其特征在于,该维度特征包括主子特征标签以及从子特征标签。
16.如权利要求12所述的系统,其特征在于,该系统还包括一收集单元,用于收集该用户终端为多首歌曲设置的用户标签;该收集单元还包括一过滤模块,用于统计针对同一首歌曲设置同一用户标签的用户数量,如果该用户数量小于预定值,该用户标签被过滤。
17.如权利要求16所述的系统,其特征在于,该权重赋值单元包括:
计算模块,用于计算所收集的用户标签的类别的分布比例;
确定模块,用于根据该分布比例确定该类别所对应的维度特征的权重。
18.如权利要求16所述的系统,其特征在于,该标定单元还用于根据预定映射规则,为每首所收集的歌曲确定与该歌曲的用户标签对应的该标签体系内的子特征标签。
19.如权利要求16所述的系统,其特征在于,该收集单元还包括一数字节拍器,用于分析歌曲的BPM值,作为该歌曲的演进节奏特征。
20.如权利要求16所述的系统,其特征在于,该收集单元通过UGC方式收集用户为多首歌曲设置的用户标签。
21.如权利要求12所述的系统,其特征在于,该系统还包括一模型训练演进模块,该模型训练演进模块包括一权重调整模块以及一模型调整模块,该权重调整模块用于针对该用户行为数据,计算各维度的子特征标签的聚集比例,根据该聚集比例调整该维度特征的权重,聚集比例越高,权重值越高,该模型调整模块用于根据历史用户行为数据或用户终端针对音乐推荐服务器推荐的歌曲的反馈操作,根据预定规则调整该用户口味模型。
一种歌曲推荐方法及系统\n技术领域\n[0001] 本发明涉及一种音乐数据处理服务,尤其涉及一种歌曲推荐方法及系统。\n背景技术\n[0002] 对歌曲音频文件的结构化标注将有助于歌曲的传播、搜索、推荐等针对音频文件的扩展引申功能的实现。\n[0003] 在现有技术中,用户可以自主的针对歌曲进行标注,即,为所收藏的歌曲依据用户的试听感受,从多个角度设置标签,以标识歌曲的多方面的特征。基于进行过标注的歌曲,可以根据经过用户认可的一首歌曲,为该用户推荐与该歌曲类似的其他歌曲。\n[0004] 具体技术手段包括:\n[0005] 步骤A,收集用户为歌曲设置的用户标签。\n[0006] 收集的方式为利用用户终端的客户端插件或者web页面。\n[0007] 步骤B,针对所收集的用户标签,统计针对同一歌曲的用户标签的重合度。\n[0008] 步骤C,选取重合度高的用户标签作为该歌曲的标签;\n[0009] 步骤D,根据某一首歌曲,为用户推荐与该歌曲具有相同标签的其他歌曲。\n[0010] 但是,现有技术中存在如下问题:\n[0011] (1)不同用户对歌曲的标签设置的随意性比较大,很难保证用户标签的一致性。即使对于同一含义,所采用的具体标签也千差万别,例如“好听”、“优美”、“动听”。\n[0012] (2)由用户所设置的用户标签的颗粒度无法保持一致。例如,用户A设置“摇滚”标签,而用户B针对同一歌曲设置“民谣摇滚”,虽然这个两个标签相对近似,均是正确的,但是颗粒度不同。\n[0013] (3)由于现有技术基于统计学来计算重合度,故而,必须保证统计的样本足够典型,进而所需样本数量较高,才能实现对该用户标签的准确选择。可见该方法缺少普适性,没有百万级的活跃用户社区无法保证该方法的可靠性。\n[0014] (4)对于所收集的多种重合度高的用户标签,无法区分其特征权重,无法在后续计算中突显出各个用户标签的重要程度。\n[0015] (5)用户收听歌曲的口味通常是随时间变化的,不但有随着长时间跨度而发生的缓慢的无周期规律的变化,而且有按照天、星期等短时间跨度和应用场景而发生的周期性变化。例如:上个月喜欢听爱情相关的歌曲,这个月可能就会喜欢听励志歌曲;早上上班路上喜欢听振奋精神的音乐,晚上可能会喜欢听悠扬的器乐歌曲。而现有技术无法准确识别出由于时间变化所带来的用户口味差异,无法基于时间属性给出相应的推荐内容。\n[0016] (6)用户的口味通常是以固定组合形式出现的,例如用户可能会喜欢听美国歌手演唱的乡村音乐和中国歌手演唱的RAP音乐。如果仅机械的识别出用户具有乡村音乐和RAP音乐的口味,而忽略了演唱歌手的因素,为用户推荐了中国或美国歌手演唱的乡村音乐或者RAP音乐,则将出现噪声推荐数据,不符合用户的需求,降低了用户体验度。\n[0017] (7)现有技术还无法根据用户的反馈数据,调整推荐内容。\n发明内容\n[0018] 本发明解决的技术问题在于,统一歌曲的标签设置的标准,保证颗粒度相同,实现了依照统一的歌曲标签进行歌曲推荐,以提高歌曲推荐的准确度。\n[0019] 更进一步的,避免了现有技术中需要大量统计学样本才能启动的缺陷。\n[0020] 更进一步的,解决了区分不同维度的标签的权重的问题。\n[0021] 更进一步的,用于发现与时间相关的用户口味,并根据该口味为用户推荐符合该用户口味的歌曲。\n[0022] 更进一步的,根据用户对推荐内容的反馈数据进一步调整推荐内容。\n[0023] 为了解决上述技术问题,本发明公开了一种歌曲推荐方法,包括如下步骤:\n[0024] 步骤1,建立一标签体系,该标签体系具有至少一个维度特征,每个维度特征具有至少一子特征标签;\n[0025] 步骤2,为同一维度特征下的任意两个子特征标签之间的相关度赋值;\n[0026] 步骤3,分别为每个维度特征设置权重;\n[0027] 步骤4,根据该标签体系为歌曲设置该至少一个维度特征的子特征标签;\n[0028] 步骤5,针对一首该歌曲的子特征标签,根据该相关度与该权重,计算该歌曲与其它歌曲的相似度,并将相似度符合特定要求的歌曲作为推荐内容。\n[0029] 该步骤5进一步包括:\n[0030] 步骤11,根据用户终端针对歌曲的操作生成用户行为数据,该用户行为数据包括操作时间标签、操作次数标签和歌曲子特征标签;\n[0031] 步骤12,对该用户行为数据进行聚类计算,得到多个结果标签;\n[0032] 步骤13,对该用户行为数据的操作次数依据其所处时段进行加权处理,越临近当前时刻的时段权重越高;\n[0033] 步骤14,针对加权处理后的该用户行为数据进行归一化处理;\n[0034] 步骤15,对该多个结果标签进行排列组合,将该归一化后的用户行为数据依次与每种排列组合进行基于该相关度与该权重的多维相似度计算,根据该计算结果得到用户口味,并从用户口味中选取用户口味模型;\n[0035] 步骤16,计算该用户口味模型与其它歌曲的相似度,将相似度符合特定要求的歌曲作为推荐内容。\n[0036] 该操作次数标签包括正向操作的次数以及反向操作的次数。\n[0037] 步骤13的加权处理包括:操作次数*时段权重系数。\n[0038] 步骤12、13之间包括步骤21,根据预定规则对该用户行为数据进行删除。\n[0039] 该预定规则包括:对于用户终端针对歌曲的操作方式为播放,且操作次数少于预定次数的歌曲,删除该歌曲对应的用户行为数据,或者,对应该结果标签的歌曲数量少于预定数量,删除对应该结果标签的用户行为数据,或者,当该结果标签中的一个与其他结果标签的相似度小于预定值时,删除对应该结果标签的用户行为数据。\n[0040] 步骤15中根据该计算结果得到用户口味的步骤进一步包括:\n[0041] 对于相似度计算结果超过预定值的排列组合,视为用户口味;或者,\n[0042] 对于相似度计算结果未超过预定值的排列组合,计算不同排列组合在同一维度下的不同结果标签之间的相似度,对于相似度大于预定值的结果标签进行合并,合并后的结果标签执行该步骤5,如多维相似度计算结果超过预定值,将该合并后的结果标签所在的排列组合视为用户口味。\n[0043] 步骤15从该用户口味中选取用户口味模型的步骤进一步包括:\n[0044] 判断对应一该用户口味的歌曲数占总歌曲数的比例是否超过一预定值,如果是,该用户口味视为用户口味模型;或者,依次判断对应该用户口味中同一维度标签的每种结果标签对应的歌曲数占总歌曲数的比例是否超过一预定值,如果是,该结果标签视为用户口味模型;或者,对于全部m个用户口味,进一步对每个该用户口味依照其对应的歌曲数进行排序,排序的前n个用户口味所对应的歌曲总数占总歌曲数的比例为c,当c/(n/m)>4时,前n个用户口味视为用户口味模型;或者,将全部用户口味直接视为用户口味模型。\n[0045] 该相似度计算采用余弦相似度算法或用户协同过滤算法,该聚类算法也采用余弦相似度算法。\n[0046] 步骤12之后还包括,每隔第一预定时间,循环执行步骤12-15,该步骤12包括对当前已生成的全部用户行为数据进行聚类计算。\n[0047] 步骤15、16之间进一步包括,每隔第二预定时间,第二预定时间大于等于第一预定时间,循环执行以下步骤:\n[0048] 针对该用户行为数据,计算各维度的标签的聚集比例,根据该聚集比例调整该维度的标签在计算相似度时的权重,聚集比例越高,权重值越高;\n[0049] 根据历史用户行为数据或用户终端针对音乐推荐服务器推荐的歌曲的反馈操作,依照预定规则调整该用户口味模型。\n[0050] 该根据该聚集比例调整该维度的标签在计算相似度时的权重的步骤进一步包括:\n[0051] m为某维度前20%标签在用户行为数据中的比例,则权重=m/0.2。\n[0052] 该根据历史用户行为数据或用户终端针对音乐推荐服务器推荐的歌曲的反馈操作,依照预定规则调整该用户口味模型的步骤进一步包括:\n[0053] 计算不同时间同一用户的用户口味,发现用户是否在不同时间具有不同的用户口味,如果有在该步骤16中根据时间使用不同的用户口味模型进行推荐;和/或\n[0054] 计算用户行为数据中,操作方式为播放,标签为流行的歌曲数占所有操作方式为播放的歌曲总数的比例,作为流行追随度;和/或\n[0055] 计算用户行为数据中,针对步骤16所推荐的全部歌曲,进行播放的操作方式的比例,作为新事物接受度。\n[0056] 该步骤16进一步包括:根据该用户口味模型,计算数据库中所有歌曲与该用户口味模型的相似度;依照预定的推荐控制策略,从相似度高于预定值的歌曲中选择推荐歌曲。\n[0057] 该依照预定的推荐控制策略,从相似度高于预定值的歌曲中选择推荐歌曲的步骤进一步包括:\n[0058] 根据用户终端的访问时间,选择与该访问时间对应的用户口味模型所对应的歌曲;和/或\n[0059] 根据该流行追随度,控制推荐歌曲中流行歌曲的比例;和/或\n[0060] 根据该新事物接受度,控制推荐歌曲中与用户已播放过的歌曲的相似度,该新事物接受度越高,该相似度越低;和/或\n[0061] 根据预设的特殊事件/时间点,推荐对应的歌曲;和/或\n[0062] 根据预设的歌曲音质要求,推荐符合对应音质要求的歌曲;和/或\n[0063] 根据用户终端的型号,依据与该用户终端型号相关的用户口味模型进行推荐。\n[0064] 为了解决上述技术问题,本发明还公开了一种歌曲推荐系统,包括多个用户终端与一歌曲推荐服务器,该歌曲推荐服务器进一步包括:\n[0065] 标签体系建立单元,用于建立一标签体系,该标签体系具有至少一个维度特征,每个维度特征具有至少一子特征标签;赋值单元,进一步包括相关度赋值单元与权重赋值单元,该相关度赋值单元用于为同一维度特征下的任意两个子特征标签之间的相关度赋值,该权重赋值单元用于分别为每个维度特征设置权重;标定单元,用于根据该标签体系为歌曲设置该至少一个维度特征的子特征标签;数据处理单元,用于针对一首该歌曲,利用该歌曲的子特征标签的该相关度与该权重,计算该歌曲与其它歌曲的相似度,并将相似度符合特定要求的歌曲作为推荐内容。\n[0066] 该数据处理单元进一步包括:\n[0067] 用户数据存储管理模块,用于接收用户终端针对歌曲进行的操作数据,并据以生成用户行为数据,该用户行为数据包括操作时间标签、操作次数标签和歌曲子特征标签;\n[0068] 相似度计算模块,基于相似度计算对该用户行为数据进行聚类计算,得到多个结果标签;\n[0069] 用户口味发现模块,包括加权处理模块、归一化模块以及用户口味模型选择模块,该加权处理模块用于对该用户行为数据的操作次数依据其所处时段进行加权处理,越临近当前时刻的时段权重越高,该归一化模块用于针对加权处理后的该用户行为数据进行归一化处理,该用户口味模型选择模块用于对该多个结果标签进行排列组合,调用该相似度计算模块将该归一化后的用户行为数据依次与每种排列组合进行多维相似度计算,根据该计算结果得到用户口味,并从用户口味中选取用户口味模型;\n[0070] 推荐过滤模块,用于根据该用户口味模型与其它歌曲的相似度,将相似度符合特定要求的歌曲作为推荐内容。\n[0071] 该操作次数标签包括正向操作的次数以及反向操作的次数。\n[0072] 该用户口味发现模块的加权处理包括:操作次数*时段权重系数。\n[0073] 该用户口味发现模块还包括一用户行为数据过滤模块,该用户行为数据过滤模块根据预定规则对该用户行为数据进行删除,该预定规则包括:对于用户终端针对歌曲的操作方式为播放,且操作次数少于预定次数的歌曲,删除该歌曲对应的用户行为数据,或者,对应该结果标签的歌曲数量少于预定数量,删除对应该结果标签的用户行为数据,或者,当该结果标签中的一个与其他结果标签的相似度小于预定值时,删除对应该结果标签的用户行为数据。\n[0074] 该用户口味模型选择模块还包括一用户口味取得模块,用于从调用该相似度计算模块将该归一化后的用户行为数据依次与每种排列组合进行多维相似度计算后的结果中取得对应的用户口味;\n[0075] 其中,对于相似度计算结果超过预定值的排列组合,视为用户口味;或者,[0076] 对于相似度计算结果未超过预定值的排列组合,计算不同排列组合在同一维度下的不同结果标签之间的相似度,对于相似度大于预定值的结果标签进行合并,将合并后的结果标签发送至该用户口味模型选择模块,如多维相似度计算结果超过预定值,将该合并后的结果标签所在的排列组合视为用户口味。\n[0077] 该用户口味模型选择模块还包括一用户口味模型取得模块,用于从用户口味中选取用户口味模型;\n[0078] 其中,判断对应该用户口味的歌曲数占总歌曲数的比例是否超过一预定值,如果是,该用户口味视为用户口味模型;或者\n[0079] 依次判断对应该用户口味中同一维度标签的每种结果标签对应的歌曲数占总歌曲数的比例是否超过一预定值,如果是,该结果标签视为用户口味模型;或者\n[0080] 对于全部m个用户口味,进一步对每个该用户口味依照其对应的歌曲数进行排序,排序的前n个用户口味所对应的歌曲总数占总歌曲数的比例为c,当c/(n/m)>4时,前n个用户口味视为用户口味模型;或者\n[0081] 将全部用户口味直接视为用户口味模型。\n[0082] 该相似度计算采用余弦相似度算法或用户协同过滤算法,该聚类算法也采用余弦相似度算法。\n[0083] 该系统还包括一模型训练演进模块,该模型训练演进模块包括一权重调整模块以及一模型调整模块,该权重调整模块用于针对该用户行为数据,计算各维度的标签的聚集比例,根据该聚集比例调整该维度的标签在相似度计算模块中计算相似度时的权重,聚集比例越高,权重值越高,该模型调整模块用于根据历史用户行为数据或用户终端针对音乐推荐服务器推荐的歌曲的反馈操作,根据预定规则调整该用户口味模型。\n[0084] 该预定规则包括:\n[0085] 该权重调整模块计算不同时间同一用户的用户口味,发现用户是否在不同时间具有不同的用户口味,如果有,在该推荐过滤模块中根据时间使用不同的用户口味模型进行推荐;和/或\n[0086] 该权重调整模块计算用户行为数据中,操作方式为播放,标签为流行的歌曲数占所有操作方式为播放的歌曲总数的比例,作为流行追随度;和/或\n[0087] 该权重调整模块计算用户行为数据中,针对该推荐过滤模块所推荐的全部歌曲,进行播放的操作方式的比例,作为新事物接受度。\n[0088] 该推荐过滤模块调用该相似度计算模块计算数据库中所有歌曲与该用户口味模型的相似度,并依照预定的推荐控制策略,从相似度高于预定值的歌曲中选择推荐歌曲。\n[0089] 该预定的推荐控制策略进一步包括:\n[0090] 根据用户终端的访问时间,选择与该访问时间对应的用户口味模型所对应的歌曲;和/或\n[0091] 根据该流行追随度,控制推荐歌曲中流行歌曲的比例;和/或\n[0092] 根据该新事物接受度,控制推荐歌曲中与用户已播放的歌曲的相似度,该新事物接受度越高,该相似度越低;和/或\n[0093] 根据预设的特殊事件/时间点,推荐对应的歌曲;和/或\n[0094] 根据预设的歌曲音质要求,推荐符合对应音质要求的歌曲;和/或\n[0095] 根据用户终端的型号,依据与该用户终端型号相关的用户口味模型进行推荐。\n[0096] 本发明实现的技术效果在于,统一了标签体系以及标签的颗粒度,区分不同维度的权重。为用户自主设置的用户标签提供了通用性,进而提高了歌曲推荐的准确度,且避免了现有技术中需要大量统计学样本才能启动的缺陷。\n附图说明\n[0097] 图1A、1D所示为本发明的歌曲推荐系统的结构示意图;\n[0098] 图1B、1C所示为本发明的歌曲推荐方法的流程示意图;\n[0099] 图2所示为本发明的歌曲推荐系统的结构示意图;\n[0100] 图3所示为本发明的歌曲推荐系统的结构示意图;\n[0101] 图4A、4B所示为本发明的歌曲推荐系统的结构示意图;\n[0102] 图5所示为本发明的歌曲推荐系统的结构示意图;\n[0103] 图6A、6B所示为本发明的歌曲推荐系统的结构示意图。\n具体实施方式\n[0104] 本发明公开了一种歌曲推荐方法及系统,用于统一歌曲的标签设置的标准,保证颗粒度相同,据以标识歌曲并进行歌曲推荐,提高歌曲推荐的准确度。\n[0105] 在用户终端中,用户可以自主为歌曲在多个维度上进行标注,也就是设置用户标签。每个维度均为用户在音乐感受上容易感知的一个方面的特征,例如节奏方面、音色方面、旋律方面等。不同用户在设置用户标签时,采取的维度虽然有些出入或差别,但大体是相近似或相同的。可以说,存在多数用户普遍采用的维度。\n[0106] 请参阅图1A、1D所示为本发明的歌曲推荐系统的结构示意图。\n[0107] 至少一个用户终端1通过网络与音乐推荐服务器2连接。用户终端1可为PC机、手机、PDA、平板电脑、车载移动终端等。音乐推荐服务器2包括数据处理单元20、标定单元\n30、标签体系建立单元40、赋值单元50和收集单元60。\n[0108] 标签体系建立单元40用于建立一标签体系,该标签体系具有至少一个维度特征,每个维度特征具有至少一子特征标签。即,对所有的歌曲均采用相同的一套维度进行标签的设置。\n[0109] 标签体系建立单元40所确立的该维度特征至少包括:音乐风格流派的特征、歌曲的配器特征、歌曲的编曲特征、歌曲的演进节奏特征、歌手演唱的嗓音特征、歌曲整体氛围特征、歌曲的表达主题特征、歌曲的多声部特征、歌曲的年代特征、歌曲演唱语言特征、歌曲的地域特征、歌手的性别特征或歌手的活跃年代特征。\n[0110] 标签体系建立单元40的具体操作方式包括:\n[0111] 第一种方式:标签体系建立单元40中预先存储有该输入的一套维度特征及其子特征标签。\n[0112] 第二种方式:通过对用户标签的分析提取而获得。\n[0113] 多个用户终端1为歌曲设置的用户标签通过网络发送至该音乐推荐服务器2,由该音乐推荐服务器2在为每个用户划分的存储空间中,存储每个用户为歌曲设置的用户标签。收集单元60收集这些来自不同用户终端的用户标签。收集单元60可以通过UGC(User Generated Content)方式进行收集。对于收集单元60所收集到的用户标签,标签体系建立单元40进行聚类计算,对用户标签进行初步的依照其聚集程度的划分。对于聚类计算得到的多个用户标签,可利用现有的语意识别工具,确定该多个用户标签各自对应的上位语意,作为该维度特征。\n[0114] 或者,标签体系建立单元40还包括一人机接口模块,用于供管理员根据该初步的聚类结果,确立该具体的维度特征。\n[0115] 另外,管理员还可利用该人机接口模块对每个该维度特征下所包括的子特征标签进行明确限定,将多种不同命名统一为一种最常见的形式。或是,标签体系建立单元40直接将通过聚类计算得到的聚集程度最高的用户标签作为子特征标签。\n[0116] 例如,对于音乐风格流派的特征这一维度特征,对于同一含义可能存在多种用户标签,包括neoclassic,也neo-classic,neo_calssic,neo-calssical、neoclassical、新古典等,但是,通过该人机接口模块可确定音乐风格流派的一子特征标签为neoclassical,或者,通过聚类计算的结果而自动设定neoclassical为子特征标签。\n[0117] 赋值单元50,进一步包括相关度赋值单元51与权重赋值单元52。根据已经确定的维度特征及其子特征标签,利用相关度赋值单元51为同一维度特征下的任意两个子特征标签进行相关度的赋值。\n[0118] 例如,歌曲的配器特征里,子特征标签包括双簧管、单簧管、唢呐、吉他、钢琴、贝斯,同为木管乐器,音色相近的单簧管与双簧管之间的相关度高,利用赋值单元50将二者的相关度赋值为75(相关度赋值例如有五种100,75,50,25,0)。而钢琴和唢呐音色之间的相关度就可以定义为无,对应的赋值为0。\n[0119] 赋值单元50可包括一人机接口模块,用于供管理员设定该相关度的赋值。\n[0120] 或者,相关度赋值单元51预先存储现有的相关度的设定,例如现有技术中知名流行音乐网站allmusic有关音乐体系的相关度划分,进行该多个维度特征下的任意两个子特征标签的相关度赋值。\n[0121] 另外,权重赋值单元52还用于分别为每个维度特征设置权重。权重赋值单元52包括一计算模块521与一确定模块522,计算模块521计算所收集的用户标签类别的分布比例。即,该计算模块521先对所收集的用户标签进行聚类操作,然后根据标签体系里每一维度在该聚类操作中计算得到的分布比例来确定权重。确定模块522根据该分布比例,确定该类别所对应的维度特征的权重。其中,分布比例越高,权重越大。\n[0122] 或者,赋值单元50利用该人机接口模块,由管理员调整该权重值。\n[0123] 基于当前已经建立的标签体系,为每首歌曲设定标签。\n[0124] 该标定单元30,用于根据该标签体系为所有歌曲设置该至少一个维度特征的子特征标签。\n[0125] 在实际应用中,在用户终端一侧,用户为大量没有统一设置标签的歌曲自主的设置了用户标签,故而,将歌曲已经设置有用户标签自动映射到当前的标签体系中,改变了用户各自为政的局面,将纷繁芜杂各不相同的用户标签统一起来,则增加了后续在搜索/分享等领域操作的通用性。\n[0126] 通过对用户标签的分析汇总,该标定单元30中预先存储有一映射规则表,其中记载了每个子特征标签所可能对应的多个用户标签。对于收集单元60所收集的用户标签,依次输送到该该标定单元30,通过搜索该映射规则表,找到该用户标签所对应的子特征标签,则将每个用户所设定的用户标签映射到了该标签体系内。如果某一用户标签根本不隶属于上述任一维度之下,也不存在对应的子特征标签,则该用户标签被过滤,不进行后续操作。\n即,独立存在于该标签体系之外的用户标签不作为后续相似度计算以及推荐歌曲操作的基础。\n[0127] 或者,标定单元30将标签体系发送至该用户终端一侧,使得用户终端在进行标签设置时,即在该标签体系内进行标注,并将标注结果发送回服务器一侧。\n[0128] 或者,标定单元30具有人机接口模块,由管理员为歌曲进行各维度的子特征标签的设定。\n[0129] 更进一步的,音乐推荐服务器2针对所接收到的不同用户对同一歌曲设置的标签,进行汇总,通过一预定规则确定其中一种设置方式作为该歌曲的标签。该预定规则包括,被最多用户选择的设置方式作为该歌曲的标签。\n[0130] 基于上述建立的标签体系以及映射规则,则无需大量统计学样本也可启动后续的相似度计算。少量的用户标签也可映射到该标签体系中来,进行后续计算,为用户推荐歌曲。\n[0131] 数据处理单元20用于计算歌曲之间的相似度,特别是针对一首歌曲的子特征标签,根据标签体系中的该相关度与该权重,计算该歌曲与其它歌曲的相似度,并将相似度符合特定要求的歌曲作为推荐内容。\n[0132] 该计算相似度的具体过程包括:\n[0133] 歌曲A和歌曲B在某维度特征下的对应的子特征标签分别为:\n[0134] Taga1、Taga2……Tagam\n[0135] Tagb1、Tagb2……Tagbn\n[0136] 那么A、B两首歌在这个维度特征上对应的相似得分为\n[0137] Sim(A,B)=\n[0138] (Taga1*Tagb1+Taga1*Tagb2+……+Taga1*Tagbn+Taga2*Tagb1+Taga2*Tagb2+……+Taga2*Tagbn+……+Tagam*Tagb 1+Tagam*Tagb2+……+Tagam*Tagbn)/m*n[0139] Taga1*Tagb1、Taga1*Tagb2……Tagam*Tagbn表示两个标签之间的相关度,可以在赋值单元50中取得相应数值。\n[0140] Sim(A,B)=∑w at∑sim(atA,atB)\n[0141] sim(atA,atB)为每一维度特征对应的相似度,w at为每一维度特征对应的权重,可以在赋值单元50中取得相应数值。\n[0142] 基于以上方案,参阅图1B、1C,为本发明的歌曲推荐方法的流程示意图。\n[0143] 步骤1,建立一标签体系,该标签体系具有至少一个维度特征,每个维度特征具有至少一子特征标签;\n[0144] 步骤2,为同一维度特征下的任意两个子特征标签之间的相关度赋值;\n[0145] 步骤3,分别为每个维度特征设置权重;\n[0146] 步骤4,根据该标签体系为所有歌曲设置该至少一个维度特征的子特征标签;\n[0147] 步骤5,针对一首该歌曲,利用该歌曲的子特征标签的该相关度与该权重,计算该歌曲与其它歌曲的相似度,并将相似度符合特定要求的歌曲作为推荐内容。\n[0148] 其中,该步骤3进一步包括:\n[0149] 步骤301,收集用户终端为多首歌曲设置的用户标签;\n[0150] 步骤302,计算所收集的用户标签的类别的分布比例;\n[0151] 步骤303,根据该分布比例,确定该类别所对应的维度特征的权重。\n[0152] 该步骤4进一步包括:根据预定映射规则,为每首歌曲确定与该用户标签对应的该标签体系内的子特征标签。\n[0153] 利用上述歌曲推荐方法,用户在用户终端所操作的歌曲信息可发送至该音乐推荐服务器2,音乐推荐服务器2将根据用户所设定用户标签为用户选择推荐内容。由于多个用户所设置的用户标签均被映射至固定的标签体系中,故而,即使用户针对同一歌曲所设置的用户标签都各不相同,音乐推荐服务器可以将各个用户标签转换至统一的标签体系,并针对某一用户所操作的某一歌曲,在其他所有用户已经标注过用户标签的歌曲中进行相似度的匹配计算。即,由于其他用户为不同歌曲进行了用户标签的设置,则使得大部分歌曲已经被用户进行了人工的筛检,根据歌曲在旋律、音色、节奏、主题等方面确定了相应的用户标签。再通过映射规则使得各个该用户标签的颗粒度一致,标签的维度范围一致,保证了后续相似度计算的一致性基础。\n[0154] 在一优化的实施例中,该维度特征包括主子特征标签以及从子特征标签。例如,当一首摇滚歌曲中加入了古典的歌剧花腔段落,则在音乐风格流派这一维度特征中,摇滚为主要风格流派,歌剧为从属风格流派。则摇滚为主子特征标签,歌剧为从子特征标签。\n[0155] 主子特征标签以及从子特征标签在后续相似度计算中分别依照Sim(A,B)的计算公式进行与其他歌曲的相似度计算,但是,主子特征标签所占比重略高。例如,相似度结果=主子特征标签的计算结果*70%+从子特征标签的计算结果*30%。该70%与30%的权重仅为示例,其他权重值也在本发明的范围内。\n[0156] 通常情况下,音乐风格流派的特征、歌曲的配器特征、歌曲整体氛围特征这三个维度特征需要进行主从划分。\n[0157] 参阅图2所示为本发明的歌曲推荐系统的结构示意图。\n[0158] 在一优化的实施例中,收集单元60还包括一过滤模块61,用于从所收到的用户标签中,统计针对同一首歌曲设置同一用户标签的用户数量,如果该用户数量小于预定值,该用户标签被过滤。即,不同用户针对同一歌曲的标签的设置应该趋于近似,如果对一歌曲出现某种非常少量的用户标签,则该种用户标签可视为噪声,不将其作为后续标签映射、相似度计算的基础。\n[0159] 在一优化的实施例中,收集单元60还包括一数字节拍器62,用于分析歌曲的BPM(beats per minute)值,提供至该标定单元30以作为该歌曲的演进节奏特征。\n[0160] 数字节拍器62可对大量歌曲进行批量处理,流行音乐的BPM值一般在60-150之间,数字节拍器62对采集到的歌曲的BPM值利用分段函数进行映射,对60-150划分为预定数量段,每段对应一个子特征标签,例如“快速”、“中快”、“中速”、“中慢”、“慢速”。则根据一首歌曲的BPM值,可基于数字节拍器62而直接获得其对应的演进节奏特征中的子特征标签。\n[0161] 因而,在本发明中,对于歌曲的标签设置,既包括用户主观听觉感知方面的标签,又包括关于客观乐理的标签,使得标签设置更为合理科学。\n[0162] 另外,上述步骤5中仅仅通过相似度计算来进行歌曲推荐,即,仅根据歌曲本身的特征差别进行推荐,没有顾及到用户的收听口味,特别是没有顾及到用户口味变化以及与时间相关的口味变化。从而无法准确的为用户提供符合用户需求的歌曲。为解决这一问题,本申请对步骤5以及数据处理单元20做进一步的扩充。\n[0163] 如图3所示为本发明的歌曲推荐系统的结构示意图。\n[0164] 数据处理单元20包括用户数据存储管理模块21、相似度计算模块22、用户口味发现模块23以及推荐过滤模块24。\n[0165] 用户终端1通过有线或无线方式登录音乐推荐服务器2,在音乐推荐服务器2提供的界面中进行针对歌曲的操作,并对应生成操作数据。该歌曲已获得该标签体系内的子特征标签。\n[0166] 通常,对歌曲的操作可包括正向操作或负向操作,例如播放歌曲、将歌曲添加入播放列表、阅读歌曲的相关资料、推荐歌曲、为歌曲评分等为正向操作,跳过歌曲、将歌曲从播放列表中删除等为负向操作。\n[0167] 用户终端对歌曲进行操作,对应的操作数据被发送至该音乐推荐服务器2,用户数据存储管理模块21用于存储/管理该操作数据,并根据该操作数据对应生成用户行为数据。该用户行为数据至少包括操作时间标签、操作次数标签和歌曲子特征标签。用户数据存储管理模块21还用于存储用户终端的环境因素信息,例如用户终端的型号、登录音乐推荐服务器时的地理位置等。该用户行为数据还可以包括环境标签(用户终端的型号、登录时的位置等)。\n[0168] 关于操作次数标签,不同的操作可根据一预先设置的数据表对应不同的操作次数赋值,可根据一数据表确定。比如,进行收听的操作,其操作次数为+1,进行添加至播放列表的操作,其操作次数是+2,而进行跳过的操作,其操作次数为-1。正向操作正向记次,负向操作负向记次。其他常用操作也包括在本发明的公开范围内。\n[0169] 当用户终端收听歌曲《大海》并将其加入播放列表时,用户数据存储管理模块21对应生成一条用户行为数据,其中包括操作时间标签为下午(或16:00),操作次数标签为+3(1+2),歌曲标签为歌曲《大海》的全部子特征标签。\n[0170] 随后,相似度计算模块22开始针对用户数据存储管理模块21当前收集到的所有用户行为数据进行聚类计算。或者,相似度计算模块22可对一定时间范围内收集到的用户行为数据进行聚类计算,例如最近12个月内。本领域的技术人员可知,聚类计算包括相似度计算,需基于相似度计算的数据,实现最终聚类。该聚类计算利用了现有技术中的常用算法,例如DENCLUE算法等。相似度计算模块22还可执行后续涉及的相似度计算。\n[0171] 由于用户行为数据均由标签组成,故而聚类计算将得到针对该用户的多个结果标签,可体现出用户的部分操作特点。例如,结果标签可能包括早晨、下午、摇滚、乡村、中国、美国等。由于这些标签频繁出现在用户的操作行为中,因此这些结果标签将作为确定用户口味的备选标签。\n[0172] 用户口味发现模块23将基于结果标签以及用户行为数据,从中发现用户收听歌曲的口味。该口味就是用户的欣赏偏好,对于歌曲的选择倾向性。\n[0173] 如图4A、4B所示为本发明的歌曲推荐系统的结构示意图。\n[0174] 用户口味发现模块23进一步包括加权处理模块231、归一化模块232、用户口味模型选择模块233。\n[0175] 加权处理模块231针对当前聚类计算所针对的所有用户行为数据,进行加权处理。具体处理包括:对用户行为数据中的操作次数,依据其所处时段进行加权处理。加权值=时间系数K*用户行为数据的操作次数。时间系数K依下表所示。“用户行为所在时间范围”为该用户行为距离当前时刻的时长,用户行为处于越临近当前时刻的时段,其时间系数(权重)越高。下表仅用于示例。\n[0176] 用户行为所在时间范围(天) 时间系数K\n[0177] 0~7(不含) 1\n[0178] 7~14(不含) 0.7\n[0179] 14~21(不含) 0.4\n[0180] 21~∞ 0.2\n[0181] 如果该用户发生3个用户行为数据,用户行为数据A在3天前收听歌曲《大海》并将其加入播放列表,用户行为数据B在10天前收听歌曲《大海》1次,用户行为数据C在20天前跳过收听歌曲《大海》1次,则针对用户行为数据A,加权值=1*3=3,针对用户行为数据B,加权值=0.7*1=0.7,针对用户行为数据C,加权值=0.4*(-1)=-0.4,则针对《大海》的加权值可累计为3+0.7-0.4=3.3。其他加权处理的方式也可,例如,加权值=K*K*用户行为数据的操作次数。\n[0182] 由于临近当前时刻的时段的时间系数K较大,故而近期的操作行为会导致该加权值大幅增加,可及时体现出用户短时间内的口味,又由于逐渐远离当前时刻的时段的时间系数K存在渐变降低,但仍大于0,故而加权值中也可以体现出用户长时间内的口味。\n[0183] 随后,归一化模块232对该加权处理后的该用户行为数据进行归一化处理。\n[0184] 归一化处理的目的是为了避免用户极大量收听的某歌曲对于收听的其他歌曲产生绝对压制,例如:一首歌曲由于用户喜欢或者误操作(循环播放)试听了50次,那样将会极大地影响到后续进行歌曲推荐的结果,因此需要对该用户行为数据进行归一化。归一化的方法可参照下表,但不以此为限。其他归一化方法也在本发明的公开范围中\n[0185] \n 编号 加权后的用户行为值x 归一值\n 1 0<x<10 x/20\n 2 10<x<100 lgx/2\n 3 x>100 1\n[0186] 该加权后的用户行为值X包括上述的对操作次数加权处理后的加权值。\n[0187] 例如,当上述歌曲《大海》的加权值累加为3.3,则其属于编号1的0~10的范围内,则归一值为3.3/20=0.0165。该归一值视为对用户行为数据附加的权重,特别是对于用户行为数据中的歌曲标签附加了权重。\n[0188] 该用户口味模型选择模块233,对该多个结果标签进行排列组合,并调用相似度计算模块22将该归一化后的用户行为数据依次与每种排列组合进行多维相似度计算,根据该计算结果得到用户口味,并从用户口味中选取用户口味模型。\n[0189] 具体来说,承接上例,结果标签可能包括早晨、下午、摇滚、乡村、中国、美国等。用户口味模型选择模块233对所有的结果标签依照维度进行排列组合。早晨、下午为同一维度,摇滚、乡村为同一维度,中国、美国为同一维度,则每个维度选择一个标签进行排列组合,得到的结果例如为,早晨中国摇滚、下午中国摇滚、早晨美国乡村等等。这样,用户口味可以以固定组合的方式出现,更加贴近用户的实际口味。同时,还可体现出用户口味在一天中的变化,体现出口味与时间属性的关联关系。\n[0190] 利用该归一化后的用户行为数据依次与每种排列组合进行多维相似度计算。该归一化后的用户行为数据由标签组成,每种排列组合也由标签组成。二者之间的多维相似度计算可以采用余弦相似度算法,或者,用户协同过滤算法。\n[0191] 本领域的技术人员可以知道,余弦相似度算法是为了解决具有多维度属性实体间的相似度而提出的计算模型。可以认为两个实体之间的相似度S是两实体的多个维度的相似度乘以权重后的叠加。\n[0192] S=D1*S1+D2*S2+……+Dn*Sn (1)\n[0193] Sn为两个实体在第n维度特征内的相似度,Dn为第n维度特征的权重,Dn为该权重赋值单元预先设定。\n[0194] 在同一维度特征内,相似度赋值单元为任意两个子特征标签间都设定有确定的相似度。例如,在时间这一维度特征内,早晨、下午为不同的子特征标签,每个子特征标签都有预先设定的相似度赋值,这样该维度内任意两个子特征标签之间的相似度可以通过对该相似度赋值的计算而得到。而该归一化后的用户行为数据与每种排列组合之间进行的多维相似度计算,就是在分别计算每个维度内,属于用户行为数据的标签与属于排列组合的标签之间的相似度Sn,并进行公式(1)的累加计算。\n[0195] 特别是,该归一化后的用户行为数据还包括该归一值,其可视为在公式(1)的基础上附加一权重值,即,S=(D1*S1+D2*S2+……+Dn*Sn)*归一值。\n[0196] 具体的说,该用户口味模型选择模块233包括一用户口味取得模块2331,用于依照预定规则从该多维相似度计算的结果中进行选择,确定对应的用户口味,形成用户口味集合。\n[0197] 该预定规则包括但不限于:从该多维相似度计算的结果中,选取相似度大于预定值的结果,该结果所对应的排列组合,视为用户口味。或,对于多维相似度计算结果未超过预定值的排列组合,按照标签的维度进行累加,即计算任意两个该多维相似度计算结果未超过预定值的排列组合中,在同一维度下的结果标签之间的相似度,对于相似度大于一阈值(例如0.8)的两结果标签进行合并,将合并后的结果标签重新进行排列组合以进行该多维相似度计算,如果结果大于该预定值,同样认定该合并后的结果标签所在的排列组合为用户口味。\n[0198] 例如,由于部分维度划分很细,造成无法达到门限的情况。用户在流派这一维度上同时喜欢硬摇滚、慢摇滚、前卫摇滚,通过上述聚类步骤可以得到硬摇滚、慢摇滚、前卫摇滚这三个结果标签。但是按照这三个结果标签分别进行多维相似度计算都不能达到该预定值。可见,由于用户同时喜欢多种摇滚形式,其同时也分散了对摇滚的相似度计数。此时,计算硬摇滚、慢摇滚、前卫摇滚之间的相似度,依照前述相似度计算规则,假设这三者的两两之间都超过了该阈值,则此时可将流派这一维度下的这三个结果标签进行合并。即,针对该三个结果标签的用户行为数据可合为一体,累计计算。将该三个结果标签视为一个整体进行后续计算。\n[0199] 由于将三个结果标签进行了合并,则在进行上述多维相似度计算时,对该三个结果标签分别与其他维度的结果标签进行排列组合,并进行与用户行为数据之间的相似度计算,这三个结果标签的相似度计算值可以累加,其累加结果可能超过该预定值,则合并后的结果标签也可作为用户口味,也就是说,这三个结果标签都视为用户口味。\n[0200] 用户口味体现出了用户操作行为的特点,可以据以直接为用户推荐歌曲,或者,还可以从中精细挑选用户口味模型。\n[0201] 更进一步的,本发明的该用户口味模型选择模块233还可以包括一用户口味模型取得模块2332,用于从该已经获得的用户口味中,依照预定规则挑取用于实际为用户推荐歌曲的用户口味模型。\n[0202] 该用户口味模型取得模块2332所遵循的预定规则包括,依次判断用户口味集合中,每个用户口味所对应的歌曲数占音乐推荐服务器所存储的总歌曲数的比例是否超过一预定值(例如30%),如果是,该用户口味视为用户口味模型。例如,早上美国乡村为一用户口味,判断该用户所操作过的歌曲中,具有早上美国乡村这一标签的歌曲数,占总歌曲数的比例是否超过预定值,如果超过,代表该类型歌曲较多,该用户口味可以作为用户口味模型。\n[0203] 或者,在已经获取的用户口味中,依次统计同一维度特征内每种结果标签所对应的歌曲占总歌曲数的比例,如果该比例超过一比例阈值,,则该结果标签成为用户口味模型。\n[0204] 即,在已经获取的用户口味的范围内,针对例如地区、主题、流派等维度,逐个维度进行判断。例如,在流派维度内,如果具有流行的标签的歌曲占歌曲总数的20%,摇滚占45%,古典占20%,民族占15%。而该比例阈值例如设定为30%,按照上述规则,摇滚(45%)超过该比例阈值,则摇滚成为用户在流派纬度上的口味模型。\n[0205] 或者,该用户口味模型取得模块2332,对于全部m个用户口味,进一步对每个该用户口味依照其对应的歌曲数进行排序,排序的前n个用户口味所对应的歌曲总数占总歌曲数的比例为c,当c/(n/m)>4时,前n个用户口味视为用户口味模型;\n[0206] 或者,该用户口味模型取得模块2332将所有的用户口味直接作为用户口味模型。\n[0207] 用户口味模型取得模块2332更进一步实现了从众多用户口味中挑选出更符合用户操作倾向性,更贴合用户需求的用户口味模型,以提高推荐的准确性。\n[0208] 该推荐过滤模块24,根据该用户口味发现模块23提供的用户口味或者该用户口味模型,从音乐推荐服务器所存储的大量歌曲中,选择符合该用户口味或者该用户口味模型的歌曲,推荐给用户。\n[0209] 基于以上描述,本发明的歌曲推荐方法的流程包括:\n[0210] 步骤101,音乐推荐服务器根据用户终端针对歌曲的操作生成用户行为数据,该用户行为数据至少包括操作时间标签、操作次数标签和歌曲子特征标签;\n[0211] 步骤102,对该用户行为数据进行聚类计算,得到多个结果标签;\n[0212] 步骤103,对该用户行为数据的操作次数依据其所处时段进行加权处理,越临近当前时刻的时段权重越高;\n[0213] 步骤104,针对加权处理后的该用户行为数据进行归一化处理;\n[0214] 步骤105,对该多个结果标签进行排列组合,将该归一化后的用户行为数据依次与每种排列组合进行多维相似度计算,根据该计算结果得到用户口味,并从用户口味中选取用户口味模型;\n[0215] 步骤106,音乐推荐服务器根据该用户口味模型,为用户终端推荐歌曲。\n[0216] 图5所示为本发明的歌曲推荐系统的结构示意图。\n[0217] 在用户口味发现模块23中进一步包括一用户行为数据过滤模块234。对应于在步骤102与103之间执行一依照预定规则对用户行为数据进行删除的步骤(步骤1021)。用于从当前收集的用户行为数据中过滤掉噪声。\n[0218] 步骤1021,对于用户终端针对歌曲的操作方式为播放,且操作次数少于预定次数的歌曲,视为噪声,删除该歌曲对应的用户行为数据,或者,对应该结果标签的歌曲数量少于预定数量,视为噪声,删除对应该结果标签的用户行为数据,或者,由于人不可能同时包括有较大差异的多种口味,当该结果标签中的一个与其他结果标签的相似度小于预定值时(差异较大),则认为该结果标签是用户的误操作,删除对应该结果标签的用户行为数据,不对其进行后续操作,不将其作为发现用户口味的基础。\n[0219] 另外,步骤102-105每隔第一预定时间循环依次执行。由于用户不定时执行对歌曲的操作,因此,步骤101为不定时执行。步骤102-105每隔特定时间循环执行可以不断收集用户行为数据,通过加权计算从中分析出用户长时间与短时间内的口味变化,并最终体现在自动选取出的用户口味模型中,以提高为用户推荐歌曲的准确度。在用户不定时登陆时,执行步骤106,最终实现推荐。\n[0220] 请参阅图6A、6B所示为本发明的歌曲推荐系统的结构示意图。\n[0221] 数据处理单元20中还可进一步包括一模型训练演进模块25。该模型训练演进模块25用于根据不断累积的用户历史数据,自动对用户口味模型做进一步的精确调整,以无限接近用户的喜好,提高后续歌曲推荐与用户需求的匹配度。其对应的步骤执行于步骤\n105、106之间。\n[0222] 模型训练演进模块25进一步包括权重调整模块251以及模型调整模块252。\n[0223] 权重调整模块251针对当前所生成的该用户行为数据,计算各维度的标签的聚集比例,根据该聚集比例调整该维度的标签在计算相似度时的权重Sn,聚集比例越高,权重值越高(步骤1051),则在下一次循环执行步骤102、105时,将采用调整后的权重进行计算,则在后续选出的用户口味中进一步突出。\n[0224] 关于聚集比例的计算,其针对每个维度分别进行。以流派维度为例,对预定时间段内的用户行为数据涉及的流派进行累计,发现在此预定时间段内用户行为数据共涉及N种流派,根据经验值n%,计算得到一经验数据N*n%。\n[0225] 对截止到目前每种流派的试听次数进行累计,对试听次数进行排序,提取排序的前N*n%种流派,对前N*n%种流派的试听次数进行加总得到一加总数据,计算该加总数据在总试听数中所占比例,该比例就是流派这一维度的聚集比例。\n[0226] 例如,m为流派这一维度的聚集比例,则该流派维度的权重Sn=m/0.2。\n[0227] 模型调整模块252根据历史用户行为数据或用户终端针对音乐推荐服务器推荐的歌曲的反馈操作,依照预定规则调整该用户口味模型(步骤1052)。即,为后续的推荐操作,做更精确的符合用户个人习惯的调整。\n[0228] 步骤1052的预定规则包括:\n[0229] A、计算不同时间同一用户的用户口味,发现用户是否在不同时间具有不同的用户口味,如果有,在该步骤106中根据时间使用不同的用户口味模型进行推荐;和/或[0230] B、计算用户行为数据中,操作方式为播放,标签为流行的歌曲数占所有操作方式为播放的歌曲总数的比例,作为用户口味模型的流行追随度;和/或\n[0231] C、计算用户行为数据中,针对步骤106所推荐的全部歌曲,进行播放的操作方式的比例,作为用户口味模型的新事物接受度。\n[0232] D、该预定规则覆盖了用户在各个方面的收听习惯因素,其他具体规则也在本发明的公开范围之内。\n[0233] 其中,对于预定规则A,本发明划分了不同的时间段,例如7-9点为一时间段,\n9-18、18-19、19-7各为一时间段。其他时间分段也在本发明的公开范围内。\n[0234] 首先在各个时间段内分别依照上述方法计算用户口味,也就是说,分别收集这四个时间段中的用户行为数据,依照图1B的方法针对这四个时间段分别收集到的用户行为数据,分别进行用户口味的计算。对于计算出的各个时间段的用户口味,两两进行重合度或者相似度计算,如果两个时间段间的重合度或相似度小于门限(例如50%),视为用户在这两个时间段中的口味差异较大,则认定用户在不同时间段需要采用不同的用户口味模型进行推荐。\n[0235] 即,如果差异较大,则利用每个时间段的用户口味作为用户口味模型,进行推荐。\n如果差异不大,可利用任一时间段的用户口味作为用户口味模型,进行推荐。使得为用户推荐的歌曲更加符合用户在当时这一时刻的需求。\n[0236] 步骤1051、1052每隔第二预定时间循环执行一次,第二预定时间大于等于第一预定时间。\n[0237] 推荐过滤模块24执行的步骤106可进一步执行以下步骤:\n[0238] 步骤1061,根据该用户口味模型,计算音乐推荐服务器的数据库中所有歌曲与该用户口味模型的相似度;\n[0239] 步骤1062,依照预定的推荐控制策略,从相似度高于预定值的歌曲中选择推荐歌曲。\n[0240] 该推荐控制策略进一步包括:\n[0241] 根据用户终端的访问时间,选择与该访问时间对应的用户口味模型所对应的歌曲;和/或\n[0242] 根据该流行追随度,控制推荐歌曲中流行歌曲的比例;和/或\n[0243] 根据该新事物接受度,控制推荐歌曲中与用户已播放过的歌曲的相似度,该新事物接受度越高,该相似度越低;和/或\n[0244] 根据预设的特殊事件/时间点,推荐对应的歌曲(例如,在国庆节当天或临近几天内,推荐《我爱我的祖国》等歌曲);和/或\n[0245] 根据预设的歌曲音质要求,推荐符合对应音质要求的歌曲。\n[0246] 该推荐控制策略将结合步骤1052的预定规则中涉及的调整因素,具体选择推荐内容。\n[0247] 另外,该推荐控制策略还包括根据用户终端的设备类型(同一用户每次利用不同用户设备(手机、音响、电脑)登录音乐推荐服务器2时,均提供当前设备型号),基于用户针对当前设备类型的口味,推荐相关歌曲。\n[0248] 另外,本发明中计算得到的每个用户的用户口味模型还可用于区分用户群以及为一用户寻找好友。当不同用户的用户口味模型的相似度大于预定值时,可将该不同用户划分至同一群,或者,推荐该不同用户互为好友。或者,利用用户口味模型之间的相似度作为用户之间的距离,按照距离进行聚类计算。根据聚类计算的结果划分用户群,或,为用户推荐好友。\n[0249] 基于以上技术方案,本发明实现的技术效果在于,统一了标签体系以及标签的颗粒度,区分不同维度的权重。为用户自主设置的用户标签提供了通用性,进而提高了歌曲推荐的准确度,且避免了现有技术中需要大量统计学样本才能启动的缺陷。\n[0250] 另外,本发明还可发掘用户口味,并体现出与时间相关联的用户口味,能够体现出口味组合,提高所发掘的用户口味的准确度。并自适应的根据用户对推荐内容的反馈数据调整推荐策略与内容。\n[0251] 上述为本发明的具体实施例,并不用于限定本发明的保护范围,具体保护范围以后续权利要求为准。
法律信息
- 2019-03-08
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 201110048824.2
申请日: 2011.03.01
授权公告日: 2014.04.23
- 2014-04-23
- 2012-10-31
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201110048824.2
申请日: 2011.03.01
- 2012-09-05
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-10-01
|
2008-03-31
| | |
2
| |
2009-02-11
|
2008-09-02
| | |
3
| |
2008-10-15
|
2008-05-16
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2016-01-22 | 2016-01-22 | | |
2 | | 2016-01-22 | 2016-01-22 | | |