# songs-recommendation
基于语义信息和行为信息的歌曲推荐。包括歌曲信息爬取、数据处理、word2vec歌曲向量表示、Mysql歌曲信息存储、Redis倒排索引存储、歌曲推荐、web可视化展示。
本版本主要基于word2vec,后续还有一些改进想法,会继续更新。
本练习具体说明请移步本人博客:https://blog.csdn.net/quiet_girl/article/details/89307282
## 一、环境说明
- 编码语言:Python 3.7、Java 1.8.0
- 编码工具:PyCharm、IntelliJ
- 数据库:Mysql 5.7.25、Redis 5.0.4
- 其他:gensim 3.6.1、Spring Boot 1.3.5.RELEASE、Bootstrap、AngularJS
## 二、文件说明
- data_crawling: 数据爬取文件,包括歌词爬取文件和歌曲评论数爬取文件(Python)。lyrics_\*是data_crawling.py的输出结果;comments_num为comments_num_crapy.py的输出信息。
- data_processing:歌词处理文件(Python)。lyrics_\*是执行data_processing.py之后的输出文件。
- word2vec:歌曲向量表示及数据存储 (Python)。word2vec_res.\*是emb_song.py执行之后的输出文件;cluster_result.txt是cluster.py执行之后的输出文件。
- song_recommendation:web可视化代码,前后端未分离(Java)。src/main/java/nanali中是java代码;src/main/resources/static中是js、css和html等文件。
## 三、使用说明
- data_crawling中文件执行顺序:data_crawling.py,comments_num_crapy.py
- word2vec中文件执行顺序:emb_song.py,get_song_vec_and_save_to_mysql.py,deduplicate_and_inverted_index.py,cluster.py(这个放在get_song_vec_and_save_to_mysql.py之后即可)
- song_recommendation执行方法:直接执行java文件Application.java即可,访问地址:localhost:8080
## 四、推荐逻辑
(1) 若只输入歌手名,则判断是否在数据库中,若在则推荐topK评论数最多的歌曲。否则,给出alert错误提示。
(2) 若同时给出了歌手名和歌曲名/关键字,则判断此歌曲是否被此歌手歌唱过,若是,则推荐此歌手与此首歌曲余弦相似度最高的K首歌。否则认为此输入信息是关键词,在Redis中获取此关键词的向量表示,推荐此歌手的topK余弦相似度歌曲。
(3) 若只输入歌曲名/关键词信息,则直接当做关键词进行推荐,在Redis中获取此关键词的向量表示,推荐此歌手的topK余弦相似度歌曲。
(4) 对于vocabulary不在数据库中的词语,给出alert报错信息。
## 五、web展示
1、主界面:支持歌手名和歌曲名/关键词输入
<div align=center><img src="https://github.com/Nana0606/songs-recommendation/blob/master/imgs/main.png" width="90%" alt="主界面"/></div>
2、只输入歌手信息,这里举例:周杰伦
<div align=center><img src="https://github.com/Nana0606/songs-recommendation/blob/master/imgs/only_singer.png" width="90%" alt="只输入歌手信息_周杰伦"/></div>
3、输入歌手信息和关键词
<div align=center><img src="https://github.com/Nana0606/songs-recommendation/blob/master/imgs/singer_and_song1.png" width="90%" alt="输入歌手和歌曲信息_邓紫棋/多远都要在一起"/></div>
<div align=center><img src="https://github.com/Nana0606/songs-recommendation/blob/master/imgs/singer_and_song2.png" width="90%" alt="输入歌手和歌曲信息_陈奕迅/爱情"/></div>
4、只输入关键词,这里举例:甜蜜、自由
<div align=center><img src="https://github.com/Nana0606/songs-recommendation/blob/master/imgs/only_keyword1.png" width="90%" alt="只输入关键词信息_甜蜜"/></div>
<div align=center><img src="https://github.com/Nana0606/songs-recommendation/blob/master/imgs/only_keyword2.png" width="90%" alt="只输入关键词信息_自由"/></div>
## 六、v2版本说明
暂时本系统主要基于训练而成的vector信息进行推荐,主要存在的问题如下:
>(1) 歌词信息不是很多,可能影响vector的训练质量。
>(2) 歌词信息只涉及到歌曲的语义信息,因为此推荐基于纯语义,也就是说如果歌曲歌词比较类似,则会作为推荐结果。但是用户行为,比如用户喜好没有添加进来。
v2版本改进点:
>爬取网易云歌单信息,因为歌单是用户创建的,在很大程序上可以反映此用户的喜好,无论是歌词、歌曲风格、歌手等这都反映了用户的行为信息。后续将考虑使用歌单信息将每首歌表示成一个vector,这个vector则不仅考虑了语义信息,还包括用户喜好、歌曲风格等隐含信息。
## 未完待更~
没有合适的资源?快使用搜索试试~ 我知道了~
基于语言义信息和行为信息的歌曲推荐。包括歌曲信息提取、数据处理、word2vec歌曲向量表、数据存储、歌曲推荐、网页可上.zip
共14910个文件
txt:14797个
js:22个
css:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 160 浏览量
2023-04-23
10:17:19
上传
评论
收藏 183.48MB ZIP 举报
温馨提示
基于语言义信息和行为信息的歌曲推荐。包括歌曲信息提取、数据处理、word2vec歌曲向量表、数据存储、歌曲推荐、网页可上.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于语言义信息和行为信息的歌曲推荐。包括歌曲信息提取、数据处理、word2vec歌曲向量表、数据存储、歌曲推荐、网页可上.zip (14910个子文件)
argon.css 311KB
bootstrap-theme.css 116KB
bootstrap.min.css 95KB
font-awesome.min.css 30KB
jquery-ui-1.10.4.min.css 27KB
elegant-icons-style.css 25KB
layer.css 14KB
nucleo.css 9KB
style-responsive.css 7KB
css_font_face.css 4KB
xcharts.min.css 4KB
line-icons.css 3KB
owl.carousel.css 1KB
jquery-jvectormap-1.2.2.css 781B
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
fontawesome-webfont.eot 71KB
ElegantIcons.eot 58KB
glyphicons-halflings-regular.eot 14KB
loading-0.gif 6KB
loading-2.gif 2KB
loading-1.gif 701B
.gitattributes 87B
home.html 5KB
index.html 2KB
song_recommendation.iml 80B
RedisUtil.java 14KB
RecommendationImpl.java 8KB
Utils.java 8KB
RecommendationCtrl.java 4KB
RedisConfig.java 2KB
RedisTestController.java 1KB
Songs.java 1017B
SongsRepo.java 893B
Application.java 642B
RecommendationDao.java 534B
ConstantUtil.java 216B
jqueryUI 232KB
kendo.web.min.js 880KB
lodash_3.10.1.js 402KB
jquery.js 276KB
angular.min.1.4.14.js 148KB
angular.min_1.3.17.js 123KB
angular-ui-router.min.js 108KB
jquery.min.1.12.4.js 95KB
bootstrap-select.js 59KB
angular-popups.js 44KB
bootstrap.min.js 36KB
bootstrap.min_3.3.7.js 36KB
jquery.scrollbar.min.js 25KB
layer.js 22KB
require.js 17KB
jquery.slicknav.js 17KB
sanitize.js 9KB
tm.pagination.js 8KB
kendo.culture.he-IL.min.js 5KB
homeCtrl.js 3KB
kendoExcelGrid3.js 2KB
app.js 858B
custom.js 116B
index.jsp 52B
LICENSE 1KB
README.md 4KB
word2vec_res.model 14.23MB
word2vec_res.model.trainables.syn1.npy 53.62MB
word2vec_res.model.trainables.syn1neg.npy 53.62MB
word2vec_res.model.wv.vectors.npy 53.62MB
FontAwesome.otf 73KB
singer_and_song1.png 3.07MB
only_singer.png 3.05MB
singer_and_song2.png 3.03MB
only_keyword1.png 3.03MB
only_keyword2.png 3.01MB
main.png 2.71MB
icon.png 11KB
icon-ext.png 6KB
application.properties 3KB
jdbc.properties 482B
get_song_vec_and_save_to_mysql.py 13KB
data_crawling.py 7KB
comments_num_crapy.py 6KB
data_processing.py 4KB
emb_song.py 4KB
deduplicate_and_inverted_index.py 4KB
cluster.py 2KB
__init__.py 81B
__init__.py 81B
__init__.py 81B
ElegantIcons.svg 271KB
fontawesome-webfont.svg 248KB
glyphicons-halflings-regular.svg 62KB
test 0B
fontawesome-webfont.ttf 138KB
共 14910 条
- 1
- 2
- 3
- 4
- 5
- 6
- 150
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SmartPlug-html大一笔记
- SmartPlug-proteusdemo
- Preliminary Findings on Handmade Rattan Baby Crib andBassinet Designs Regarding.zip
- aveebfq_v1.2.83_downyi.com.apk
- 基于有机发光二极管(OLED)的建模优化算法的matlab仿真源码+数据+文档说明+项目说明(高分课程设计)
- hash01-test.c 本人哈希表(一)的示例代码,仅供参考!
- 处理数据.py
- 软件实施计划表.xls
- 软件开发应用软件项目提交文档目录要求(全过程)(推荐文档).xls
- 软件开发项目工作量及报价模板.xls
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功