设计并实现用户个性化的音乐推荐系统,研究用户的兴趣偏好,分析用户的需求和行为,发现用户的兴趣点,为用户推荐个人喜好音乐、热榜音乐和最新音乐,要考虑长尾音乐的推荐。
1.技术平台要求
(1) 构建大数据集群应用环境,案例涉及数据预处理、数据存储与管理、数据分析与建模、数据可视化等全流程所涉及的各种应用操作,涵盖Linux、Python、MySQL、Hadoop、Spark、IntelliJ IDEA、Spring等系统和软件的综合应用。(主要用到Python、MySQL、Hadoop技术)
(2) 数据集通过网络爬虫获取或者选取网上公开的脱敏数据。
(3) 对原始数据集进行预处理;
(4) 把用户行为数据集加载到Hadoop集群HDFS中;
(5) 使用python语言编写Spark程序对HDFS中的数据进行用户行为分析、根据需求建立并选择合适推荐模型,并把推荐结果写入到MySQL数据库;
(6) 对MySQL数据库中的数据进行可视化分析与统计,使用Spring MVC框架开发web应用;
(7) 在web页面中以合适的图表形式对分析结果进行可视化呈现。
2.功能设计与实现要求
(1) 推荐方案设计(用户数据分析、常用推荐算法、推荐流程设计)
(2) 数据预处理(原始数据获取与分析、异常数据处理、数据变换处理、数据集分割)
(3) 建立推荐模型(基于内容的推荐、协同过滤(基于相似度的最邻近协同过滤算法、基于潜在因子的矩阵分解推荐算法)、深度学习、基于标签的推荐系统、混合推荐算法等)
(4) 使用模型进行音乐推荐(对某用户分类推荐10首喜好音乐、热榜音乐、新音乐、对所有用户进行新音乐推荐等)
(5) 推荐结果可视化(进行不同维度的推荐结果可视化)可视化功能包括:网络爬取实时更新
① 近期热门音乐统计推荐;
② 各类别Top10评分音乐统计推荐;
③ 各类别历史热门音乐(歌手)统计推荐;
④ 相似音乐推荐;
⑤ 离线个性化推荐;
⑥ 音乐基础信息管理;
其它功能可根据需要扩展。
3. 卿庭(设计命名)-具体功能实现(暂定用户角色为:管理员、用户、VIP用户)
① 登录注册模块:
用户可以进行登录,注册操作(添加性别、年龄、个人喜好、风格标签用作算法推荐依据)。
管理员登录,可实时更新在线用户信息
② 首页推荐模块:可以进行音乐播放
个性化音乐推荐模块主要实现系统推荐页面正常更新工作,其主要功能有:用户喜好预测、推荐界面更新。
采用算法,使用模型进行推荐音乐推荐给用户具体参考2.(4)(5)
参考网易云/QQ音乐(在线音乐:-音乐推荐 MV推荐:个人音乐:我的收藏 本地下载 最近播放 创建个性歌单 等等)
③ 音乐和歌手基本信息模块(歌曲实时排行播放量收藏量)
④ VIP购买功能:VIP歌曲只能可以试听30秒,
⑤ 用户/VIP用户信息模块:可以修改个人信息,进行添加和修改标签等,并且可以查看我最常听
后台管理端
⑥ 管理员可以进行登录,注册操作
音乐信息管理模块:主要实现音乐系统的维护工作,其主要的功能有:音乐上架、音乐下架、音乐信息录入
用户评分信息统计模块:主要实现用户评分的统计工作,其主要功能有:不同用户对不同音乐的评分统计。
⑦ 可视化图表(用户、VIP用户注册量 歌曲歌手播放量收藏量 热门歌曲实时排名)
注:每一个功能点和核心技术实现算法代码都标注注释,十分辛苦,万分感谢~