CN108205533A - 一种基于用户协同的歌曲推荐方法和系统 - Google Patents
一种基于用户协同的歌曲推荐方法和系统 Download PDFInfo
- Publication number
- CN108205533A CN108205533A CN201611169137.5A CN201611169137A CN108205533A CN 108205533 A CN108205533 A CN 108205533A CN 201611169137 A CN201611169137 A CN 201611169137A CN 108205533 A CN108205533 A CN 108205533A
- Authority
- CN
- China
- Prior art keywords
- song
- user
- listened
- listen
- scoring
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/635—Filtering based on additional data, e.g. user or group profiles
- G06F16/637—Administration of user profiles, e.g. generation, initialization, adaptation or distribution
Abstract
本发明涉及一种基于用户协同的歌曲推荐方法和系统。所述方法包括:通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;根据用户相关度模型提取出相关度高的用户,以及根据用户听歌偏好模型推选出的歌曲偏好度高的歌曲;对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对歌曲评分进行排序,评分高的歌曲优先进行推荐。本发明实施例中的用户相关度模型,解决了目前用户相关度低的问题,进一步地,对相关度高的用户,且歌曲偏好度高的歌曲进行评分,并且将评分高的歌曲优先进行推荐,解决了目前歌曲数据更新慢的问题。
Description
技术领域
本发明涉及音频技术领域,具体而言,本发明涉及一种基于用户协同的歌曲推荐方法和系统。
背景技术
目前,常用的基于用户协同的歌曲推荐方法,具体为:用户A同时收听了歌曲A和歌曲C,用户B收听了歌曲B,用户C在收听歌曲A、收听歌曲C的同时,又收听了歌曲D。基于用户A和用户C收听的歌曲相似,因此,将用户C收听的歌曲D推荐给用户A。
目前,现有的基于用户协同的歌曲推荐方法,由于用户收听相同歌曲的数据不多,用户收听相同歌曲的数据重合度低。因此,基于用户所收听歌曲的相关度去推荐相应的歌曲的歌曲推荐方法,其可信度并不高。
其次,现有的基于用户协同的歌曲推荐方法,由于不仅用户收听歌曲的数据量很大,而且用户收听相同歌曲的数据重合度低,因此,基于用户喜好的相似度推荐的歌曲的更新速度慢。因此,需要一种新的基于用户协同个歌曲推荐方法,解决用户收听相同歌曲的数据重合度低,基于用户喜好的相似度推荐的歌曲的更新速度慢的问题,使得推荐给用户的歌曲更加符合预期的效果。
发明内容
本发明实施例在于提供一种基于用户协同的歌曲推荐方法和系统,通过用户相关度模型,解决了现有技术中的用户相关度低的问题,进一步地,评分高的歌曲优先进行推荐,解决了现有技术中的歌曲数据更新慢的问题。
第一方面,本发明实施例提供了一种基于用户协同的歌曲推荐方法,所述方法包括:
通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;
根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;
根据所述用户相关度模型提取出相关度高的用户,以及根据所述用户听歌偏好模型推选出的歌曲偏好度高的歌曲;
对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。
优选的,所述通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型具体包括:
基于深度学习模型,通过对不同用户收听歌曲的列表数据进行模型训练,得到用户收听歌曲的文档向量和每首歌曲的词向量;
基于余弦距离,对不同用户收听歌曲的文档向量计算余弦距离,得到相应的用户相关度;
汇总用户相关度数据,并对用户相关度数据进行修正,以得到相应的用户相关度模型。
优选的,所述基于余弦距离,对不同用户收听歌曲的文档向量计算余弦距离,得到相应的用户相关度具体包括:
从不同用户收听歌曲的文档向量中提取出待计算余弦距离的两个用户收听歌曲的文档向量;
基于余弦距离,计算两个用户收听歌曲的文档向量夹角的余弦值;
若两个用户收听歌曲的文档向量夹角的余弦值接近于1,则得到两个用户收听的歌曲相关度高,若两个用户收听歌曲的文档向量夹角的余弦值越小,则得到两个用户收听的歌曲相关度越低。
优选的,所述方法还包括:
获取不同用户收听歌曲的更新列表数据中的更新数据,其中,所述更新数据具体包括如下至少一种更新数据:
新用户的收听歌曲的更新列表数据;根据新用户收听歌曲的文档向量与当前用户所选择的某一区间的收听歌曲的文档向量夹角的余弦值以获取到的用户相关度数据。
优选的,所述根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型具体包括:
提取预定时间内的用户播放歌曲的日志,以获取到相应的用户听歌行为信息;
解析用户听歌行为信息中的用户听歌行为,并根据用户听歌行为的权重值和听歌来源的权重值,统计出预定时间内的用户所听歌曲的最初评分;
基于时间衰减计算公式,对所述所听歌曲的最初评分进行处理,得到相应的时间衰减后的歌曲评分;
基于歌曲的播歌量,对所述时间衰减后的歌曲评分进行热度降权,得到相应的歌曲偏好度;
汇总相应的歌曲偏好度数据,并对歌曲偏好度数据进行修正,以得到相应的用户听歌偏好度模型。
优选的,计算用户所听歌曲的最初评分的公式具体为:
score=listen*weight,其中,score为用户所听歌曲的最初评分,listen为根据判断歌曲是否完整收听所得到的得分,weight为不同的听歌的来源所对应的不同的权重值。
优选的,得到相应的时间衰减后的歌曲评分的时间衰减计算公式具体为:
Score=Snow+Shistory*decay_factor,其中,score为对所述最初评分进行时间衰减处理所得到的时间衰减后的歌曲评分,Snow为根据判断预定时间是否收听歌曲所得到的得分,Shistory为所听歌曲的历史评分,decay_factor为衰减因子。
优选的,计算歌曲偏好度的计算公式具体为:
其中,preference为歌曲偏好度,score为对所述最初评分进行时间衰减处理所得到的时间衰减后的歌曲评分,CNT为歌曲的播歌量,A为歌曲热度,A为log20(CNT+20)。
优选的,所述方法还包括:计算当前用户对相似用户所听歌曲的评分,其中,计算当前用户对相似用户所听歌曲的评分所采用的计算公式具体为:
其中,S(u,k)为与当前用户u所听歌曲接近的k个用户,N(i)为对歌曲i有过听歌行为的用户集合,Wuv为用户u和用户v的所听歌曲的兴趣相似度,rvi为用户v对歌曲i的兴趣。
第二方面,本发明实施例提供了一种基于用户协同的歌曲推荐系统,所述系统包括:
相关度模型获取单元,通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;
听歌偏好模型获取单元,根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;
歌曲偏好度推选单元,根据所述用户相关度模型提取出相关度高的用户,以及根据所述用户听歌偏好模型推选出的歌曲偏好度高的歌曲;
评分及推荐单元,对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。
本发明实施例提供了一种基于用户协同的歌曲推荐方法和系统,其中,所述方法包括:通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;根据所述用户相关度模型提取出相关度高的用户,以及根据所述用户听歌偏好模型推选出的歌曲偏好度高的歌曲;对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。本发明实施例中的用户相关度模型,解决了现有技术中的用户相关度低的问题,进一步地,对相关度高的用户,且歌曲偏好度高的歌曲进行评分,并且将评分高的歌曲优先进行推荐,解决了现有技术中的歌曲数据更新慢的问题。
附图说明
图1是本发明实施例提供的一种基于用户协同的歌曲推荐方法的流程图;
图2是本发明实施例提供的一种基于用户协同的歌曲推荐系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明。
本发明所提供的技术方案中,通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;根据用户相关度模型提取出相关度高的用户,以及根据用户听歌偏好模型推选出的歌曲偏好度高的歌曲;对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。由于采用了数据量大的用户相关度模型,解决了现有技术中的用户相关度低的问题,进一步地,对相关度高的用户,且歌曲偏好度高的歌曲进行评分,并且将评分高的歌曲优先进行推荐,解决了现有技术中的歌曲数据更新慢的问题。
下面结合附图详细说明本发明的技术方案。
本发明实施例提供的一种基于用户协同的歌曲推荐方法的流程图,如图1所示,一种基于用户协同的歌曲推荐方法包括如下步骤:
S101:通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型。
具体而言,通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型具体包括:
基于深度学习模型,通过对不同用户收听歌曲的列表数据进行模型训练,得到用户收听歌曲的文档向量和每首歌曲的词向量;
基于余弦距离,对不同用户收听歌曲的文档向量计算余弦距离,得到相应的用户相关度;
汇总用户相关度数据,并对用户相关度数据进行修正,以得到相应的用户相关度模型。
其中,深度学习模型所采用的学习模型为doc2vec学习模型,同时,利用gensim库训练,以得到相应的训练库。
进一步地,基于余弦距离,对不同用户收听歌曲的文档向量计算余弦距离,得到相应的用户相关度具体包括:
从不同用户收听歌曲的文档向量中提取出待计算余弦距离的两个用户收听歌曲的文档向量;
基于余弦距离,计算两个用户收听歌曲的文档向量夹角的余弦值;
若两个用户收听歌曲的文档向量夹角的余弦值接近于1,则得到两个用户收听的歌曲相关度高,若两个用户收听歌曲的文档向量夹角的余弦值越小,则得到两个用户收听的歌曲相关度越低。
进一步地,在本发明的具体实施例中,一种基于用户协同的歌曲推荐方法还包括:
获取不同用户收听歌曲的更新列表数据中的更新数据,其中,更新数据具体包括如下至少一种更新数据:
新用户的收听歌曲的更新列表数据;根据新用户收听歌曲的文档向量与当前用户所选择的某一区间的收听歌曲的文档向量夹角的余弦值以获取到的用户相关度数据。
在具体实际应用中,数据增量更新的方式可以为:将用户ID分为7个区间,每次增量模式下,只更新新用户及对应的一个区间内用户ID的相关度。
S102:根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型。
具体而言,根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型具体包括:
提取预定时间内的用户播放歌曲的日志,以获取到相应的用户听歌行为信息;
解析用户听歌行为信息中的用户听歌行为,并根据用户听歌行为的权重值和听歌来源的权重值,统计出预定时间内的用户所听歌曲的最初评分;
基于时间衰减计算公式,对所听歌曲的最初评分进行处理,得到相应的时间衰减后的歌曲评分;
基于歌曲的播歌量,对时间衰减后的歌曲评分进行热度降权,得到相应的歌曲偏好度;
汇总相应的歌曲偏好度数据,并对歌曲偏好度数据进行修正,以得到相应的用户听歌偏好度模型。
在具体的实际应用中,用户听歌偏好度模型的建立过程如下所述:
首先,统计用户当日的听歌偏好,对听歌数据进行统计,对用户的听歌行为以及听歌来源赋予不同的权重。
计算用户所听歌曲的最初评分的公式具体为:
score=listen*weight,其中,score为用户所听歌曲的最初评分,listen为根据判断歌曲是否完整收听所得到的得分,weight为不同的听歌的来源所对应的不同的权重值。
当用户listen完整收听歌曲时,listen的数值选取为1,其它情况,listen的数值选取为0。
weight为不同的听歌的来源所对应的不同的权重值。具体而言,当歌曲来源为红心列表时,则对应的权重值为80;当歌曲来源为下载时,则对应的权重值为50;当歌曲来源为搜索时,则对应的权重值为30;当歌曲来源为本地时,则对应的权重值为20;当歌曲来源为自建列表时,则对应的权重值为20;当歌曲来源为默认列表时,则对应的权重值为20;当歌曲来源为其他时,则对应的权重值为1;当歌曲来源为电台时,则对应的权重值为0.2;当歌曲来源为取消下载时,则对应的权重值为-10。
这种通过解析音乐盒播歌日志,基于上述规则,对大数据进行统计,就可以获知用户当日的歌曲偏好。
进而,合并一定时间内,例如是6个月内的听歌行为。对用户所听歌曲的最初评分进行时间衰减的计算,进行热度衰减并归一化,以及热度降权的计算,以更新用户对歌曲的偏好度。
具体而言,得到相应的时间衰减后的歌曲评分的时间衰减计算公式具体为:
Score=Snow+Shistory*decay_factor,其中,score为对最初评分进行时间衰减处理所得到的时间衰减后的歌曲评分,Snow为根据判断预定时间是否收听歌曲所得到的得分,Shistory为所听歌曲的历史评分,decay_factor为衰减因子。在具体实施例中,decay_factor选取的数值为0.8。
进一步地,基于所听歌曲的播歌量作热度降权。计算歌曲偏好度的计算公式具体为:
其中,preference为歌曲偏好度,score为对最初评分进行时间衰减处理所得到的时间衰减后的歌曲评分,CNT为歌曲的播歌量,A为歌曲热度,A为log20(CNT+20)。
S103:根据用户相关度模型提取出相关度高的用户,以及根据用户听歌偏好模型推选出的歌曲偏好度高的歌曲。
S104:对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。
具体而言,在本发明的具体实施例中,一种基于用户协同的歌曲推荐方法还包括:计算当前用户对相似用户所听歌曲的评分,其中,计算当前用户对相似用户所听歌曲的评分所采用的计算公式具体为:
其中,S(u,k)为与当前用户u所听歌曲接近的k个用户,N(i)为对歌曲i有过听歌行为的用户集合,Wuv为用户u和用户v的所听歌曲的兴趣相似度,rvi为用户v对歌曲i的兴趣。
在具体的实际应用中,推荐歌曲的过程具体如下所述:
首先,对于该用户提取相关度最高的200个用户。
其次,计算该用户对相似用户所听歌曲的评分。
计算相似用户所听歌曲的评分所采用的计算公式具体如下所述:
其中,S(u,k)为与当前用户u所听歌曲接近的k个用户,N(i)为对歌曲i有过听歌行为的用户集合,Wuv为用户u和用户v的所听歌曲的兴趣相似度,rvi为用户v对歌曲i的兴趣。
然后,过滤用户听过的歌曲;
最后,基于上述得到的相似用户所听歌曲的评分进行排序,并将评分高的歌曲推荐,且用户没有听过的歌曲推荐给用户。
综上所述,本发明实施例提供的一种基于用户协同的歌曲推荐方法,通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;根据用户相关度模型提取出相关度高的用户,以及根据用户听歌偏好模型推选出的歌曲偏好度高的歌曲;对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。本发明所提供的技术方案,通过gensim将数据降维建立用户向量,有效地解决了目前基于用户协同的歌曲推荐方法的数据稀疏性的问题;进一步地,增量更新模式能够克服目前基于用户协同的歌曲推荐方法中用户量比较大的问题,使得能够及时更新最新的歌曲数据库;进一步地,基于目前基于用户协同的歌曲推荐方法中用户之间的相关度具有很大的随机性,本发明所提供的技术方案建立了用户相关度模型,从而使得用户之间的相关度更加符合实际情况,相关度高的用户之间推荐的歌曲更加适合用户的兴趣,提高了用户的体验度。
如图2所示,本发明实施例所提供的一种基于用户协同的歌曲推荐系统,包括:相关度模型获取单元201、听歌偏好模型获取单元202、歌曲偏好度推选单元203和评分及推荐单元204。
具体而言,相关度模型获取单元,通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;
听歌偏好模型获取单元,根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;
歌曲偏好度推选单元,根据用户相关度模型提取出相关度高的用户,以及根据用户听歌偏好模型推选出的歌曲偏好度高的歌曲;
评分及推荐单元,对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。
进一步地,相关度模型获取单元具体用于:基于深度学习模型,通过对不同用户收听歌曲的列表数据进行模型训练,得到用户收听歌曲的文档向量和每首歌曲的词向量;
基于余弦距离,对不同用户收听歌曲的文档向量计算余弦距离,得到相应的用户相关度;
汇总用户相关度数据,并对用户相关度数据进行修正,以得到相应的用户相关度模型。
进一步地,相关度模型获取单元具体用于:从不同用户收听歌曲的文档向量中提取出待计算余弦距离的两个用户收听歌曲的文档向量;
基于余弦距离,计算两个用户收听歌曲的文档向量夹角的余弦值;
若两个用户收听歌曲的文档向量夹角的余弦值接近于1,则得到两个用户收听的歌曲相关度高,若两个用户收听歌曲的文档向量夹角的余弦值越小,则得到两个用户收听的歌曲相关度越低。
进一步地,在本发明的具体实施例中,本发明实施例所提供的一种基于用户协同的歌曲推荐系统还包括更新数据获取单元(在图2中未示出),更新数据获取单元具体用于:获取不同用户收听歌曲的更新列表数据中的更新数据,其中,更新数据具体包括如下至少一种更新数据:
新用户的收听歌曲的更新列表数据;根据新用户收听歌曲的文档向量与当前用户所选择的某一区间的收听歌曲的文档向量夹角的余弦值以获取到的用户相关度数据。
进一步地,听歌偏好模型获取单元具体用于:
提取预定时间内的用户播放歌曲的日志,以获取到相应的用户听歌行为信息;
解析用户听歌行为信息中的用户听歌行为,并根据用户听歌行为的权重值和听歌来源的权重值,统计出预定时间内的用户所听歌曲的最初评分;
基于时间衰减计算公式,对所听歌曲的最初评分进行处理,得到相应的时间衰减后的歌曲评分;
基于歌曲的播歌量,对时间衰减后的歌曲评分进行热度降权,得到相应的歌曲偏好度;
汇总相应的歌曲偏好度数据,并对歌曲偏好度数据进行修正,以得到相应的用户听歌偏好度模型。
其中,听歌偏好模型获取单元用于计算用户所听歌曲的最初评分的公式具体为:
score=listen*weight,其中,score为用户所听歌曲的最初评分,listen为根据判断歌曲是否完整收听所得到的得分,weight为不同的听歌的来源所对应的不同的权重值。
其中,听歌偏好模型获取单元用于计算得到相应的时间衰减后的歌曲评分的时间衰减计算公式具体为:
Score=Snow+Shistory*decay_factor,其中,score为对最初评分进行时间衰减处理所得到的时间衰减后的歌曲评分,Snow为根据判断预定时间是否收听歌曲所得到的得分,Shistory为所听歌曲的历史评分,decay_factor为衰减因子。
其中,听歌偏好模型获取单元用于计算歌曲偏好度的计算公式具体为:
其中,preference为歌曲偏好度,score为对最初评分进行时间衰减处理所得到的时间衰减后的歌曲评分,CNT为歌曲的播歌量,A为歌曲热度,A为log20(CNT+20)。
进一步地,评分及推荐单元具体用于计算当前用户对相似用户所听歌曲的评分,其中,评分及推荐单元计算当前用户对相似用户所听歌曲的评分所采用的计算公式具体为:
其中,S(u,k)为与当前用户u所听歌曲接近的k个用户,N(i)为对歌曲i有过听歌行为的用户集合,Wuv为用户u和用户v的所听歌曲的兴趣相似度,rvi为用户v对歌曲i的兴趣。
本发明的技术方案中,通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;根据用户相关度模型提取出相关度高的用户,以及根据用户听歌偏好模型推选出的歌曲偏好度高的歌曲;对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。由于采用了数据量大的用户相关度模型,解决了现有技术中的用户相关度低的问题,进一步地,对相关度高的用户,且歌曲偏好度高的歌曲进行评分,并且将评分高的歌曲优先进行推荐,解决了现有技术中的歌曲数据更新慢的问题。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于用户协同的歌曲推荐方法,其特征在于,包括:
通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;
根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;
根据所述用户相关度模型提取出相关度高的用户,以及根据所述用户听歌偏好模型推选出的歌曲偏好度高的歌曲;
对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。
2.根据权利要求1所述的方法,其特征在于,所述通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型具体包括:
基于深度学习模型,通过对不同用户收听歌曲的列表数据进行模型训练,得到用户收听歌曲的文档向量和每首歌曲的词向量;
基于余弦距离,对不同用户收听歌曲的文档向量计算余弦距离,得到相应的用户相关度;
汇总用户相关度数据,并对用户相关度数据进行修正,以得到相应的用户相关度模型。
3.根据权利要求2所述的方法,其特征在于,所述基于余弦距离,对不同用户收听歌曲的文档向量计算余弦距离,得到相应的用户相关度具体包括:
从不同用户收听歌曲的文档向量中提取出待计算余弦距离的两个用户收听歌曲的文档向量;
基于余弦距离,计算两个用户收听歌曲的文档向量夹角的余弦值;
若两个用户收听歌曲的文档向量夹角的余弦值接近于1,则得到两个用户收听的歌曲相关度高,若两个用户收听歌曲的文档向量夹角的余弦值越小,则得到两个用户收听的歌曲相关度越低。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取不同用户收听歌曲的更新列表数据中的更新数据,其中,所述更新数据具体包括如下至少一种更新数据:
新用户的收听歌曲的更新列表数据;根据新用户收听歌曲的文档向量与当前用户所选择的某一区间的收听歌曲的文档向量夹角的余弦值以获取到的用户相关度数据。
5.根据权利要求4所述的方法,其特征在于,所述根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型具体包括:
提取预定时间内的用户播放歌曲的日志,以获取到相应的用户听歌行为信息;
解析用户听歌行为信息中的用户听歌行为,并根据用户听歌行为的权重值和听歌来源的权重值,统计出预定时间内的用户所听歌曲的最初评分;
基于时间衰减计算公式,对所述所听歌曲的最初评分进行处理,得到相应的时间衰减后的歌曲评分;
基于歌曲的播歌量,对所述时间衰减后的歌曲评分进行热度降权,得到相应的歌曲偏好度;
汇总相应的歌曲偏好度数据,并对歌曲偏好度数据进行修正,以得到相应的用户听歌偏好度模型。
6.根据权利要求5所述的方法,其特征在于,计算用户所听歌曲的最初评分的公式具体为:
score=listen*weight,其中,score为用户所听歌曲的最初评分,listen为根据判断歌曲是否完整收听所得到的得分,weight为不同的听歌的来源所对应的不同的权重值。
7.根据权利要求5所述的方法,其特征在于,得到相应的时间衰减后的歌曲评分的时间衰减计算公式具体为:
Score=Snow+Shistory*decay_factor,其中,score为对所述最初评分进行时间衰减处理所得到的时间衰减后的歌曲评分,Snow为根据判断预定时间是否收听歌曲所得到的得分,Shistory为所听歌曲的历史评分,decay_factor为衰减因子。
8.根据权利要求5所述的方法,其特征在于,计算歌曲偏好度的计算公式具体为:
其中,preference为歌曲偏好度,score为对所述最初评分进行时间衰减处理所得到的时间衰减后的歌曲评分,CNT为歌曲的播歌量,A为歌曲热度,A为log20(CNT+20)。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:计算当前用户对相似用户所听歌曲的评分,其中,计算当前用户对相似用户所听歌曲的评分所采用的计算公式具体为:
其中,S(u,k)为与当前用户u所听歌曲接近的k个用户,N(i)为对歌曲i有过听歌行为的用户集合,Wuv为用户u和用户v的所听歌曲的兴趣相似度,rvi为用户v对歌曲i的兴趣。
10.一种基于用户协同的歌曲推荐系统,其特征在于,包括:
相关度模型获取单元,通过对不同用户收听歌曲的列表数据进行模型训练,得到相应的用户相关度模型;
听歌偏好模型获取单元,根据用户的听歌行为信息以及听歌来源信息,得到相应的用户听歌偏好模型;
歌曲偏好度推选单元,根据所述用户相关度模型提取出相关度高的用户,以及根据所述用户听歌偏好模型推选出的歌曲偏好度高的歌曲;
评分及推荐单元,对相关度高的用户,且歌曲偏好度高的歌曲进行评分,得到相应的歌曲评分;并对得到的歌曲评分进行排序,评分高的歌曲优先进行推荐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169137.5A CN108205533A (zh) | 2016-12-16 | 2016-12-16 | 一种基于用户协同的歌曲推荐方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611169137.5A CN108205533A (zh) | 2016-12-16 | 2016-12-16 | 一种基于用户协同的歌曲推荐方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108205533A true CN108205533A (zh) | 2018-06-26 |
Family
ID=62602615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611169137.5A Pending CN108205533A (zh) | 2016-12-16 | 2016-12-16 | 一种基于用户协同的歌曲推荐方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108205533A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875090A (zh) * | 2018-08-07 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种歌曲推荐方法、装置和存储介质 |
CN109299316A (zh) * | 2018-11-09 | 2019-02-01 | 平安科技(深圳)有限公司 | 音乐推荐方法、装置和计算机设备 |
CN109376265A (zh) * | 2018-12-12 | 2019-02-22 | 杭州网易云音乐科技有限公司 | 歌曲推荐列表生成方法、介质、装置和计算设备 |
CN110837599A (zh) * | 2019-11-14 | 2020-02-25 | 广州酷狗计算机科技有限公司 | 一种推送音频数据的方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402625A (zh) * | 2011-12-28 | 2012-04-04 | 深圳市五巨科技有限公司 | 一种音乐推荐的方法及系统 |
CN102654860A (zh) * | 2011-03-01 | 2012-09-05 | 北京彩云在线技术开发有限公司 | 一种个性化音乐推荐方法及系统 |
CN104239390A (zh) * | 2014-06-11 | 2014-12-24 | 杭州联汇数字科技有限公司 | 一种基于改进型协同过滤算法的音频推荐方法 |
CN105447193A (zh) * | 2015-12-22 | 2016-03-30 | 中山大学深圳研究院 | 一种基于机器学习和协同过滤的音乐推荐系统 |
-
2016
- 2016-12-16 CN CN201611169137.5A patent/CN108205533A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102654860A (zh) * | 2011-03-01 | 2012-09-05 | 北京彩云在线技术开发有限公司 | 一种个性化音乐推荐方法及系统 |
CN102402625A (zh) * | 2011-12-28 | 2012-04-04 | 深圳市五巨科技有限公司 | 一种音乐推荐的方法及系统 |
CN104239390A (zh) * | 2014-06-11 | 2014-12-24 | 杭州联汇数字科技有限公司 | 一种基于改进型协同过滤算法的音频推荐方法 |
CN105447193A (zh) * | 2015-12-22 | 2016-03-30 | 中山大学深圳研究院 | 一种基于机器学习和协同过滤的音乐推荐系统 |
Non-Patent Citations (1)
Title |
---|
薛福亮: "《电子商务推荐相关技术及其改进机制》", 30 June 2014 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875090A (zh) * | 2018-08-07 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种歌曲推荐方法、装置和存储介质 |
CN109299316A (zh) * | 2018-11-09 | 2019-02-01 | 平安科技(深圳)有限公司 | 音乐推荐方法、装置和计算机设备 |
CN109299316B (zh) * | 2018-11-09 | 2023-04-18 | 平安科技(深圳)有限公司 | 音乐推荐方法、装置和计算机设备 |
CN109376265A (zh) * | 2018-12-12 | 2019-02-22 | 杭州网易云音乐科技有限公司 | 歌曲推荐列表生成方法、介质、装置和计算设备 |
CN110837599A (zh) * | 2019-11-14 | 2020-02-25 | 广州酷狗计算机科技有限公司 | 一种推送音频数据的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108205533A (zh) | 一种基于用户协同的歌曲推荐方法和系统 | |
CN102768659B (zh) | 重复账号自动识别方法和系统 | |
CN108255840A (zh) | 一种歌曲的推荐方法和系统 | |
CN104123315B (zh) | 多媒体文件的推荐方法和推荐服务器 | |
CN110232129B (zh) | 场景纠错方法、装置、设备和存储介质 | |
CN109933774A (zh) | 语义识别方法、装置存储介质和电子装置 | |
CN107977373B (zh) | 一种歌曲的推荐方法 | |
CN102880600B (zh) | 基于通用知识网络的词语语义倾向性预测方法 | |
CN103049440A (zh) | 一种相关文章的推荐处理方法和处理系统 | |
CN105095178B (zh) | 实现文本语义容错理解的方法及系统 | |
CN106484777A (zh) | 一种多媒体数据处理方法以及装置 | |
CN104361062B (zh) | 一种关联信息的推荐方法及装置 | |
CN111083393A (zh) | 一种智能化制作短视频的方法 | |
CN106846094A (zh) | 一种基于已安装应用来推荐应用信息的方法和装置 | |
CN108776940A (zh) | 一种基于文本评论挖掘的智能餐饮推荐算法 | |
CN102999521B (zh) | 一种识别搜索需求的方法和装置 | |
CN105808541B (zh) | 一种信息匹配处理方法和装置 | |
CN106294418B (zh) | 检索方法和检索系统 | |
CN103970802A (zh) | 一种歌曲推荐的方法及装置 | |
CN108009181A (zh) | 一种电台推荐方法及系统 | |
CN103870604A (zh) | 旅游推荐方法和装置 | |
CN103136237A (zh) | 一种基于多数据源的信息搜索方法和系统 | |
CN105989107A (zh) | 一种应用推荐方法及装置 | |
CN109657212A (zh) | 一种基于词移距离结合词向量的音乐文案生成方法 | |
CN103678371B (zh) | 词库更新装置、数据整合装置和方法以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180626 |