【技术实现步骤摘要】
一种基于KNN和词嵌入的混合音乐推荐方法、系统及设备
本专利技术属于计算机技术中的推荐系统领域,具体涉及一种基于KNN和词嵌入的混合音乐推荐方法、系统及设备。
技术介绍
音乐推荐过程中,最主要的目的就是推荐符合用户喜好的音乐。推荐的核心是基于用户的评分数据,进行相似度计算。而现有的音乐软件很少有用户对音乐的直接评分反馈,因此需要采用可行的方式代替评分,进行相似度度量,实现需求的音乐推荐。现有的音乐推荐主要分为两种,一种是用户对歌曲的主动操作,如将歌曲添加至喜欢列表或移除出喜欢列表,根据用户对歌曲的操作进行推荐;另一种是根据用户的歌曲历史收听记录,推荐和收听记录相似的歌曲。前者音乐推荐中,只能初步判断用户对歌曲的偏好,并不能更具体反映出用户对歌曲的进一步偏好;后者音乐推荐中,凭用户的歌曲历史收听记录,不能准确地反映出用户对歌曲的偏好。因此,用户需要提供一种方便准确的推荐方法。
技术实现思路
为了解决现有音乐推荐过程中存在的问题,本专利技术提供一种基于KNN和词嵌入的混合音乐推荐方法,根据用户的现有音乐喜爱列 ...
【技术保护点】
1.一种基于KNN和词嵌入的混合音乐推荐方法,其特征在于,具体如下:/n获取用户信息及歌曲列表;/n基于所述歌曲列表,获取在一个周期内所述歌曲列表中每一首歌曲的播放次数以及所述歌曲列表中歌曲总播放量,进而得到所述歌曲列表中每一首歌曲的播放系数L
【技术特征摘要】
1.一种基于KNN和词嵌入的混合音乐推荐方法,其特征在于,具体如下:
获取用户信息及歌曲列表;
基于所述歌曲列表,获取在一个周期内所述歌曲列表中每一首歌曲的播放次数以及所述歌曲列表中歌曲总播放量,进而得到所述歌曲列表中每一首歌曲的播放系数Lu,i;使用KNN算法计算与每一首歌曲相似度最高的若干首歌曲作为喜爱歌曲集合,遍历曲库中的歌单,获取曲库中包含所述喜爱歌曲集合的歌单,并按照歌单中包含所述喜爱歌曲集合的数量由多到少排序;
在每个包含所述喜爱歌曲集合的歌单中使用word2vec的Skip-Gram方法,为歌单中包含所述喜爱歌曲集合中的每首歌求出最相似的top-n首歌曲,所述喜爱歌曲集合中的每首歌曲都得到一个推荐列表;
根据用户兴趣的时效性以及歌曲在整个音乐平台的播放热度,对所述最相似的top-n首歌曲的概率进行修正,得到一个修正系数,将所述修正系数引入所述喜爱歌曲集合中的每首歌曲的推荐列表中,得到最终的推荐列表;将用户在一个周期内播放的歌曲历史记录按照时间轴排序,根据时间由近及远给予不同的兴趣衰减因子,时间最近的兴趣衰减因子值为1;根据歌曲在整个音乐平台的播放热度,给定不同的热度推荐因子,歌曲热度越高其热度推荐因子越高,热度推荐因子最高值为1。
2.根据权利要求1所述的基于KNN和词嵌入的混合音乐推荐方法,其特征在于,所述周期为设定周期,所述周期为一年、一个月、一周、三天或一天。
3.根据权利要求1所述的基于KNN和词嵌入的混合音乐推荐方法,其特征在于,所述用户信息包括用户的个人基本信息,所述个人基本信息从其他应用中读取或由用户输入,所述用户信息包括用户的地理位置以及用户输入的情境信息,所述音乐喜爱列表中所填内容是用户自己添加到喜爱列表的歌曲,歌曲信息包括歌曲的演唱歌手、歌曲时长、演唱专辑、演唱风格以及曲目作者。
4.根据权利要求1所述的基于KNN和词嵌入的混合音乐推荐方法,其特征在于,歌曲的播放系数计算方式为:
countu,i为一首歌曲在一个周期内的播放量,total为一个周期内播放总曲次;
在得到用户对歌曲的播放系数Lu,i后,对于用户u喜爱列表中每一首歌曲,使用KNN算法计算出与该歌曲相似度最高的f首歌曲,并用N(u,mi)表示这f首歌曲的集合,相似度计算方法为:
其中Simmn表示歌曲m和歌曲n的相似度,Pmn表示都播放过歌曲m,n的用户集合,和分别表示歌曲m和n的平均播放系数,Lu,m表示用户u对歌曲m的播放系数,Lu.n表示用户u对歌曲n的播放系数。
5.根据权利要求1所述的基于KNN和词嵌入的混合音乐推荐方法,其特征在于,在每个包含所述喜爱歌曲集合的歌单中使用word2vec的Skip-Gram方法,为歌单中包含所述喜爱歌曲集合中的每首歌求出最相似的top-n首歌曲,得到一个歌曲推荐列表,具体如下:
确定所述喜爱歌曲集合中的歌曲mi为中心词,i为正整数,i最大值为所述喜爱歌曲集合中的歌曲数量,使用滑动窗口捕获所述喜爱歌曲集合中所述中心词的上下文歌曲集合;
在Skip-Gram神经网络的映射层处,对中心词和上下文词进行o...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。