对于Slope One算法,不熟悉的可以参照我之前的文章:Slope one:简单高效的推荐算法,已经被很多人证明有很好的推荐效果。
Slope one算法中有一个很重要的步骤是获取用户的打分数据,这个对很多网站都很费劲,很多用户都会听歌,但大多懒得去给歌曲打分,另外用户打分的时候会比较困惑,该打多少分呢?喜欢这首歌,是打4分还是5分呢?费劲。
我这里给出的是另外一种方法,做法是分析用户的听歌记录,一般网站都会记录这样的记录,统计一段时间内用户的听歌记录,我们得到下面格式的数据:
用户ID 歌曲ID 听歌次数
比如某个片段:
3389 9527 23
3389 9528 56
3306 1211 78
3306 9527 45
表示用户3389听歌曲9527的次数是23,听9528的次数是56,诸如此类。这样的数据当然不能直接用来做Slope one,需要把数据格式化到某个区间。我们分析一下用户听歌的行为,一般来说最喜欢的歌曲听的最多,越喜欢的歌曲听的越多,听的少的歌曲自然不那么喜欢。所以我们可以简单的模拟用户对歌曲的打分:
用户对歌曲的打分 = 用户听此歌曲的次数 / 用户听单首歌曲的最大次数
这样就可以把打分数据规整到0~1之间,还是上面的数据:
3389 9527 23/56
3389 9528 56/56
3306 1211 78/78
3306 9527 45/78
用户听的最多的歌曲打分是1,其他歌曲的打分等于听歌次数除以最大次数,我们就获得了用户的打分数据了。剩下的工作就是按照标准的Slope One流程走了,程序代码可以参考:http://code.google.com/p/openslopeone/
贴出几个实例大家看看,第一次做的结果,再去做的话应该比这个要好一些:
歌曲 |
推荐歌曲 |
南无大悲观世音菩萨 刘小茜 |
梵音大悲咒 齐豫 大悲咒 齐豫 观世音菩萨发愿偈.大悲咒 齐豫 大悲咒 邝美云 般若波罗蜜多心经 齐豫 大悲咒 齐豫 清净法身佛 齐豫 阿弥陀佛在心间 小娟 吉祥如意 凤凰传奇 |
好一朵茉莉花 朱昌耀 |
理查德-克莱德曼《梦中的婚礼》 合辑(欧美) 茉莉花(汉族民歌) 雷佳 好一朵茉莉花-笛子 合辑(内地) 最浪漫的事 赵咏华 沧海一声笑 罗文 how can i keep from singing Enya 生死不离 成龙 羞答答的玫瑰静悄悄地开 孟庭苇 |
过三关 吴卓羲 |
别怪她 吴卓羲 生命有一种绝对 五月天 春日(电视剧’春日’主题曲) 吴卓羲 爱玛仕小姐 吴卓羲 别人问起 吴卓羲 别怪她(Dance Remix) 吴卓羲 别怪她 – 吴卓羲 合辑 米老鼠 五月天 One Last Dance Craig David 新不了情 薛凯琪 |
Tips:
做Slope one之前最好过滤掉那些超热门的歌曲,因为很多人都听过了,会让这些歌曲经常出现在推荐结果里面,我的感觉是过滤掉Top100就可以了。
转载:
http://www.fuchaoqun.com/2009/02/slope-one-for-music-recommender-system/
分享到:
相关推荐
人工智能-推荐系统-音乐推荐-基于Surprise推荐系统库,采用KNNBaseLine实现基于用户 的协同过滤歌曲推荐 人工智能-推荐系统-音乐推荐-基于Surprise推荐系统库,采用KNNBaseLine实现基于用户 的协同过滤歌曲推荐
人工智能-推荐系统-音乐推荐-基于用户得分前100歌曲构造推荐系统 基于用户得分前100歌曲构造推荐系统 1.获取音乐足够多的用户id(这里只爬取了10w用户id) 2.根据10w用户id,爬取他们对应的网易云音乐给他们打分的...
基于Surprise推荐系统库,采用KNNBaseLine实现基于用户 的协同过滤歌曲推荐。 3.借鉴Word2Vec算法思想进行Song2Vec处理,实现基于物品的协同过滤歌曲推荐。 4.采用 TensorFlow实现基于 协同过滤算法(Collaborative...
在这个“基于Hadoop平台的推荐系统”项目中,我们可以深入理解如何利用Hadoop的大数据处理能力来构建高效、可扩展的推荐算法。 Hadoop是一个开源的分布式计算框架,它允许在廉价硬件上存储和处理海量数据。在这个...
基于内容的推荐系统主要分析用户过去的音乐偏好,推荐相似风格的歌曲;协同过滤则通过分析用户之间的相似性,预测用户可能喜欢的音乐;混合推荐结合了多种方法,提高推荐的准确性和多样性。在本科毕设中,可以针对...
基于Surprise推荐系统库,采用KNNBaseLine实现基于用户 的协同过滤歌曲推荐。3.借鉴Word2Vec算法思想进行Song2Vec处理,实现基于物品的协同过滤歌曲推荐。 4.采用 TensorFlow实现基于LFM的歌曲推荐。源码+文档+全部...
基于Hadoop的音乐歌曲推荐管理系统毕业答辩.ppt
在本项目中,我们主要探讨的是如何利用Surprise推荐系统库来实现基于用户的协同过滤算法,为音乐推荐提供个性化服务。Surprise是一个Python库,专为构建和评估推荐系统而设计,它支持多种推荐算法,包括KNN算法,...
本文将深入探讨一个基于Python的音乐推荐系统的设计与实现,涵盖其核心概念、技术和应用场景。 首先,音乐推荐系统的核心是数据分析和机器学习。Python作为一种强大的编程语言,因其丰富的数据处理库(如Pandas、...
通过上述步骤,我们可以构建一个能够理解歌曲语义并考虑用户行为的推荐系统,它不仅基于用户的喜好,还能发掘歌曲之间的内在联系,提供更加精准和多元的推荐。这有助于提高用户满意度,增加平台的用户黏性。
本系统主要通过隐式地收集用户对歌曲的播放,下载以及收藏行为记录,进而使用基于最近邻用户的协同过滤推荐算法为当前激活用户推荐歌曲; 对于有歌词信息的歌曲(英文),通过基于异构文本网络的词嵌入来计算歌曲之间的...
《电信设备-基于移动终端的歌曲推荐方法与装置》是一个涉及音乐推荐系统和移动通信技术的专题资料,其中核心内容可能涵盖了以下知识点: 1. **移动终端技术**:移动终端,如智能手机和平板电脑,是现代人生活中不可...
说明 ... ...下文有详细命令 导入歌曲信息通过insert_movies_script.py来操作 (会删除已有的所有信息!) 前端展示 浏览最多,评分最多,收藏最多...我猜你喜欢为基于用户推荐,item推荐为基于项目推荐。两种推荐思路下文有介绍
5. **歌曲推荐**:推荐系统的核心算法有多种,如基于内容的过滤、协同过滤、矩阵分解等。在这个项目中,可能会结合歌曲的语义信息(Word2Vec向量)和用户的行为信息(如播放历史、评分)进行混合推荐。可以采用协同...
基于内容的推荐方法会根据用户过去喜欢的音乐的特征来预测他们可能喜欢的新歌曲。 4. 模型评估与优化:在模型训练完成后,需要通过评估指标(如准确率、召回率、F1分数等)来检验模型的性能。Python的Scikit-learn...
python基于深度学习的音乐推荐方法研究系统(django) 深度学习;音乐推荐;Python;KNNBaseline;python;django;mysql; 本次的研究是基于使用自动编码器,通过与卷积神经网络相结合,以挖掘音频、歌词本身的非...
推荐算法是核心部分,常见的有协同过滤(基于用户或物品的)、基于内容的推荐(如使用余弦相似度计算歌曲之间的语义相似度)和混合推荐(结合多种方法)。此外,深度学习的推荐系统,如矩阵分解(如SVD++)、神经...
基于Django+python的歌曲推荐系统源码+项目部署说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、...
基于知识图谱的英文歌曲推荐系统数据集,可用与构建英文歌曲知识图谱,并实现推荐系统的设计与实现。包含113999条数据,内容主要有track_id artists album_name track_name popularity duration_ms explicit ...
3. 个性化推荐:根据用户的听歌习惯,提供个性化的音乐推荐。 4. 社交互动:用户可以分享音乐,评论,与其他音乐爱好者交流。 5. 高效的搜索功能:支持关键词搜索,快速找到用户想要的音乐。 6. 无缝跨设备体验:...