一种基于收听上下文的音乐推荐方法

文档序号:9839621阅读:553来源:国知局
一种基于收听上下文的音乐推荐方法
【技术领域】
[0001] 本发明涉及数据挖掘与推荐系统领域,主要涉及一种基于收听上下文的音乐推荐 方法。
【背景技术】
[0002] 随着互联网应用的发展,推荐系统也越来越受到大家的关注,并且在工业界以及 学术界都取得了巨大的成功。传统单一维度的推荐系统已经不能满足用户个性化的需求, 而上下文相关的推荐系统不仅能够较好的帮助用户解决信息过载的问题,而且能够更加充 分的挖掘用户的随时间、环境等上下文而变化的特定需求。然而在基于上下文推荐系统的 设计中,对用户上下文(尤其是情感上下文)的提取、建模以及与推荐系统的结合的策略较 少且不够成熟,因此已有推荐系统算法没有结合收听上下文信息。但是在很多场景下,用户 的收听上下文往往会主导用户的需求,例如用户的全局偏好包括摇滚乐和纯音乐,但是用 户在晚上休息的时候,会更喜欢后者。

【发明内容】

[0003] 针对传统音乐推荐系统的缺点,本发明提出了一种在音乐推荐算法中加入用户收 听上下文的方法,具体包括如下的内容:
[0004] 一种基于收听上下文的音乐推荐方法,包括以下步骤:
[0005] S1基于神经语言模型的音乐特征的提取;
[0006] S2用户收听上下文的提取和建模;
[0007] S3基于用户收听上下文的音乐推荐。
[0008] 进一步的,步骤S1包括:
[0009] S10获取用户的完整音乐收听序列,包括音乐ID、播放时间、播放设备;
[0010] S11根据播放时间和播放设备,对用户的完整音乐收听序列进行分组,得到子序 列;
[0011] S12利用神经语言模型处理所有用户的完整音乐收听序列,得到每首音乐的粗粒 度的特征向量,利用神经语言模型处理所有用户的子序列,得到每首音乐的细粒度的特征 向量,其中,具有相似收听上下文的音乐具有相似的特征向量。
[0012] 优选的,步骤S12中,根据对效率和准确度的要求指定特征向量的维度,以得到推 荐结果更准确的高维度特征向量,或者计算效率更高的低维度特征向量。
[0013] 进一步的,步骤S2包括:
[0014] S20把用户的完整音乐收听序列中的所有音乐的粗粒度特征向量进行平均,得到 用户的全局兴趣向量;
[0015] S21把用户的最近的音乐收听子序列中的所有音乐的细粒度特征向量进行平均, 得到用户的收听上下文兴趣向量。
[0016] 进一步的,步骤S3包括:
[0017] S30根据用户的全局兴趣向量和完整音乐收听序列计算用户之间的相似度,其计 算公式为:
[0018]
[0019] 其中,u表示目标用户,v表示数据库中的另外一个用户;
[0020] Mu表示用户u所收听的音乐集合,Μ v表示用户v所收听的音乐集合;
[0021] 多^表示用户u的全局兴趣向量,表示用户ν的全局兴趣向量;
[0022] COS(g,]5p是再和巧的余弦相似度;λ和Θ是权重系数;
[0023] S31计算目标用户u对音乐m的兴趣,计算公式如下:
[0024]
[0025] 其中,u表示目标用户;
[0026] Uu,k表示与u最相似的k个用户的集合,Um表示收听过音乐m的用户集合;
[0027] #^_表示用户u的收听上下文兴趣向量,交:21'表示音乐m的细粒度特征向量;
[0028] COS(冗,)是冗和5广''的余弦相似度;ω和#是权重系数;
[0029] S32利用步骤S31中的计算结果对所有音乐进行排序,把前Ν个推荐给目标用户 Uo
[0030] 本发明有益的效果是:首次利用神经语言模型(Skip-gram)从用户的完整收听 序列和子序列中获取音乐的不同粒度的特征,分别表示为粗粒度特征向量和细粒度特征向 量,为音乐特征提取困难的问题提供了一种可靠的解决方法;根据用户的完整收听序列和 最近收听子序列中的音乐的特征向量获取用户的全局兴趣和收听上下文兴趣,为用户的收 听上下文的提取和建模困难的问题提供了一种可行的思路;提出了一种能够综合考虑用 户全局兴趣和收听上下文兴趣的推荐方法,能够使得推荐的音乐更符合目标用户当前的偏 好,从而减少用户的搜索成本并提高用户的满意度。
【附图说明】
[0031] 图1为本发明的基于收听上下文的音乐推荐方法的推荐系统架构示意图;
[0032] 图2为本发明的基于收听上下文的音乐推荐方法的用户音乐偏好预测流程示意 图。
【具体实施方式】
[0033] 为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是 应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的 限制。
[0034] 在本发明的一个实施例中,基于收听上下文的音乐推荐方法,包括以下步骤:
[0035] S1基于神经语言模型的音乐特征的提取;
[0036] S2用户收听上下文的提取和建模;
[0037] S3基于用户收听上下文的音乐推荐。
[0038] 具体的,本实施例的推荐方法包括以下步骤:
[0039] 获取用户的完整的音乐收听序列,收听序列中的每条记录包括音乐ID、播放时间、 播放设备。
[0040] 根据播放时间和播放设备,对用户的完整收听序列进行分组,得到子序列,播放时 间靠近且播放设备相同的记录会分到同一个子序列里面,而播放时间间隔过长或者播放设 备不同的记录会分到不同的子序列里面。
[0041] 利用神经语言模型(skip-gram)分别处理所有用户的完整收听序列和子序列,将 每首音乐表示为粗粒度特征向量和细粒度特征向量,其中,具有相似收听上下文(在序列 中的前面和后面的音乐)的音乐具有相似的特征向量。优选的,此处可根据对效率和准确 度的要求指定向量的维度,从而获得合适的特征向量(利用高维度特征向量的推荐结果更 准确,而低维度特征向量的计算效率更高)。
[0042] 把用户的完整的音乐收听序列中的所有音乐的粗粒度特征向量进行平均,得到用 户的全局兴趣向量;把用户的最近的音乐收听序列中的所有音乐的细粒度特征向量进行平 均,得到用户的收听上下文兴趣向量。
[0043] 根据用户的全局兴趣和完整收听序列计算用户之间的相似度,其计算公式为:
[0044]
其中,
[0045] #u是
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1