当前位置:   article > 正文

大数据毕业设计python+spark知识图谱音乐推荐系统 音乐数据分析可视化大屏 音乐爬虫 LSTM情感分析 大数据毕设 深度学习 机器学习 计算机毕业设计 人工智能

大数据毕业设计python+spark知识图谱音乐推荐系统 音乐数据分析可视化大屏 音乐爬虫 LSTM情感分析 大数据毕设 深度学习 机器学习 计算机毕业设计 人工智能

课题名称

基于Spark的音乐推荐与数据分析系统的设计与实现

课题类型

系统设计

学院

大数据与人工智能学院

班    级

20大数据实验班

专业

数据科学与大数据技术

指导教师

马凯

职称

讲师

学生姓名

XXX

学号

XXX

重庆工程学院教务处制

课题主要任务与要求:

  1. 目标及基本要求(学术道德&规范、装订规范、数据要求、各阶段任务完成要求、撰写格式要求、正文&摘要&关键字要求等)

(1)目标

互联网在如今的爆发式发展已经改变了我们的生活方式,互联网上资源的爆发式增长让获取有效信息成为了新的难题[1]。用户接触到的信息非常有限。于是很多提出帮助用户快速精准找到所需信息的解决方案诞生了,例如搜索引擎,推荐系统等。

目前大型的音乐门户类网站的歌曲库规模往往包含上千万首的歌曲,这些歌曲被划分成不同的语种、流派、年代、主题、心情、场景等,包含的信息非常的丰富,存在着严重的信息过载[2]。对于系统中每一位音乐用户来说,都不可能去收听曲库内的每一首歌, 很多时候用户的需求往往是“一首或几首好听的歌曲”这种模糊的需求,如何根据用户在系统中产生的行为信息去庞大的歌曲库中挖掘出用户可能感兴趣的音乐,这就需要个性化音乐推荐系统综合考虑用户偏好、时间、地点、环境等各种复杂的特征[3],准确的从上千万的海量歌曲库中挑选出此时此刻最适合这个用户聆听的个性化音乐,给广大的用户带来美的享受,真正做到众口可调。

  通过毕业设计项目开发和实现,提高学生综合运用数据科学与大数据技术专业基础理论和专业知识的能力;经过科研训练,提高科学素养,提高学生的创新能力;通过项目开发实践,积累规范的系统开发经验;通过撰写论文,培养学生书面交流思想的能力;经过论文答辩,提高学生的沟通、归纳总结能力及口头表达能力;同时,还可以通过项目的合作,培养学生团队意识、合作技能与协调能力,为毕业后顺利进入工作角色打下坚实的基础。

(2)基本要求

①学术道德与规范

  毕业设计报告必须独立完成,不得请他人代做,不得抄袭,毕业设计报告应进行查重,重复率不超过25%。 

②数据要求

  数据应真实可靠,不能伪造数据。数值型数据不少于1万条、图像型数据应满足项目开发需求。

③撰写格式要求

  毕业设计报告应遵照重庆工程学院《本科设计(论文)撰写规范与范本》要求。

④毕业设计报告正文、摘要、关键字要求

  毕业设计报告正文应不少于10000字。

  摘要应具有独立性、完整性和自含性,即不阅读全文就能获得必要的信息。应包括四部分内容:从事这一设计(或研究)的目的和重要性;设计的主要内容,指明完成了哪些工作;获得的基本结论和设计成果,突出设计报告的新见解;结论或结果的意义。

  关键词一般列出3-5个高度反映论文主要内容的专业名词(或词组)。

(3)各阶段任务完成要求

①毕业设计开题阶段

  通过查找文献资料、调研考察等方法,按照毕业设计任务书要求,以及学校毕业设计开题报告要求,完成毕业开题报告的撰写工作,并完成毕业设计开题工作。开题报告中应重点给出基于大数据技术的音乐推荐系统的总体框架、涉及的主要关键技术、解决的具体路径等。

②主要关键技术研究与系统设计实现阶段

  1. 第一部分:爬虫爬取音乐数据(网易云音乐网站),作为课题的数据集
  2. 第二部分:离线推荐系统:python+机器学习离线推荐(基于物品的协同过滤算法,相似度衡量方法:皮尔逊相似度) ,必要时可以集成算法框架比如tensflow pytroch等,推荐结果通过pymysql写入mysql
  3. 第三部分:在线应用系统: springboot进行在线推荐 vue.js构建推荐页面(含知识图谱)
  4. 第四部分:使用Spark构建大屏统计

③答辩阶段

 完成答辩PPT及演示视频的编制工作,完成毕业答辩。

2.主要任务

(1)调研了解音乐推荐系统的业务背景和现状,明确要解决的问题和实现技术,制定合理的实施路线,撰写开题报告。

(2)数据采集和处理

  根据音乐推荐系统的目标确定采集数据项,从网易云音乐网站采集音乐数据,进行数据清洗后入库到MySQL数据库中。

(3)数据仓库设计

  结合系统业务目标,设计数据库表,完成系统业务构建。

(4)系统实现功能

  • 音乐大屏幕展示端:用户来源分布统计、歌手排行、歌手数量、歌曲数量、用户数量、播放数量、收藏数量、下载数量、充值金额排行、歌曲排行榜、数据统计图、播放量统计图。
  • PC端功能:用户注册、短信验证、用户登录、音乐库列表、最热歌曲列表展示、推荐歌曲列表、相似用户列表、收藏列表、金额充值、沙箱支付、知识图谱。
  • 数据爬虫:Python爬虫+机器学习离线分析数据。

(6)毕业设计报告

  在关键技术和原型系统实现基础上,按照学校要求,在规定期间内完成毕业设计报告撰写工作。

3.成果形式

(1)开题报告;

(2)毕业设计报告;

(3)程序源代码含爬虫、前端Vue代码、后端Java代码、虚拟机带组件等;

(4)答辩PPT及项目演示视频(需要展示数据源)。

完成课题应注意的若干问题

(1)应独立完成毕业设计任务,注意工作节点。

(2)在毕业设计过程中应及时与指导教师联系,确保毕业设计按计划完成。

(3)网络采集的数据量应大于10000条。

(4)毕业设计(论文)项目开发完成后,指导老师要对项目进行验收,并填写《大数据与人工智能学院本科毕业设计(论文)项目验收报告》。明确项目通过验收后,毕业设计(论文)项目才视为最终完成。

任务起止时间

2023年11月09日至 2024年05月28日

进度安排

序号

各阶段工作主要内容

时间安排

备注

1

完成开题报告

2023.11.09-2023.12.11

2

项目设计与主体功能实现

2023.12.12-2023.02.26

3

完成毕业设计(论文)初稿

2024.02.06-2024.03.12

4

中期检查及项目功能完善

2024.03.13-2024.03.26

5

功能完善以及毕业设计(论文)定稿查重

2024.03.27-2024.04.16

6

毕业设计(论文)评阅

2024.04.17-2024.05.05

7

毕业设计(论文)答辩

2024.05.06-2024.05.28

8

主要参考文献

[1]LAWRENCERD, ALMASIGS, KOTLYARV, et al. Personalization of supermarket product recommendations[ R]. IBM Research Report,2020(7):173-181

[2]徐小伟. 基于信任的协同过滤推荐算法在电子商务推荐系统的应用研究. 东华大学. 2022

[3] 吴正洋. 个性化学习推荐研究. 华南师范大学期刊.2021

[4]李雪. 基于协同过滤的推荐系统研究. 吉林大学. 2020

[5]《数据库系统概论》[M],高等教育出版社. 2023

[6]马建红.JSP应用与开发技术.第三版.清华大学出版社.2021

[7] JavaEE架构设计与开发实践[M],方巍著:清华大学出版社.2022.1

[8] Spring Boot编程思想核心篇[M],小马哥著:电子工业出版社.2023.4

[9] Spring Boot开发实战M].吴胜著:清华大学出版社.2021.6

[10]Oleg Sukhoroslov. Building web-based services for practical exercises in parallel and distributed computing[J]. Journal of Parallel and Distributed Computing.2022.

指导教师(签名):

联系方式:XXXX 2023年12月10日

系(教研室)意见

任务书符合要求,同意下达

                       系(教研室)主任签字:

2023年12月10日

核心算法代码分享如下:

  1. # -*- codeing = utf-8 -*-
  2. # Author: Tesla Tech
  3. # @Time: 2022/4/29 12:10
  4. # @Author: Administrator
  5. # @File: comment.py
  6. # @Desc: 获取歌曲评论
  7. import random
  8. from time import sleep
  9. import pandas as pd
  10. from util import db, getLyric, getComment
  11. def init():
  12. print('初始化爬取任务表')
  13. df = pd.read_sql("select songId, songName from tb_song where songId not in (select songId from tb_task)", con=db)
  14. df.to_sql(name="tb_task", con=db, if_exists='append', index=False)
  15. print('初始化完成,新增歌曲爬取任务:' + str(df.shape[0]))
  16. def spider():
  17. print('开始评论爬取...')
  18. df = pd.read_sql("select songId from tb_task where status_comment='0' limit 1000", con=db)
  19. # print(df.values.tolist())
  20. # getComment('65766')
  21. i = 0
  22. for id in df.values.tolist():
  23. i = i+1
  24. print('index=',i,',songId=', id)
  25. sleeptime = random.randint(10, 20)
  26. sleep(sleeptime)
  27. getComment(id[0])
  28. if i%10 == 0:
  29. print('休息4分钟...')
  30. sleep(240)
  31. print('评论爬取结束...')
  32. if __name__ == '__main__':
  33. # init()
  34. spider()
  35. # getLyric('66842')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/359443
推荐阅读
相关标签
  

闽ICP备14008679号