超酷大数据音乐推荐知识图谱AI智能问答可视化系统的设计与研发

发布于:2024-10-12 ⋅ 阅读:(10) ⋅ 点赞:(0)

1 实现功能

  1. 本人系统全部个人开发,支持所有系统的二次开发,一手项目,可看B站所有空间;
  2. 真正的Neo4j 实现真正音乐知识图谱可视化(带模糊搜索、节点美化);
  3. vue+springboot+neo4j 无缝集成、结合up最新的知识图谱可视化知识;
  4. 多种协同过滤推荐算法实现音乐的推荐;实现音乐的浏览器播放;
  5. 千问大模型集成,支持网页聊天式智能问答;
  6. 科技大屏、多种图形分析,如柱状图、饼图、花瓣图、歌词词云、评论词云、折线图、仪表盘、漏斗图等;
  7. vue+springboot+mysql架构,java语言开发后端;

2 图谱的实现

  1. 首先要去采集相关的音乐的数据
  2. 使用正则表达式去解析歌词,提取,作词、作曲、编曲、吉他、这种信息,存储起来,数据的预处理。
  3. 构建一个Neo4j的知识图谱
  4. springboot-data neo4j 集成,集成的过程有一定的定制,实现一个模糊搜索。
  5. vue + springboot 实现一个前后端分离的图谱可视化

3 功能模块图

在这里插入图片描述

4 推荐算法流程

  1. 初始化参数

    创建 UserBasedCF 类,初始化相关参数,包括相似用户数量(n_sim_user)和推荐歌曲数量,并定义训练集和测试集。

  2. 读取数据集

    从数据库中读取用户评分数据,并将其划分为训练集和测试集。根据设定的比例(例如 0.75),将数据随机分配到训练集和测试集中。

  3. 构建用户相似度矩阵

    • 创建“物品-用户”倒排索引,将每部歌曲与观看过它的用户列表关联起来。
    • 构建用户共同评分的歌曲矩阵,统计每对用户共同观看的歌曲数量。
    • 计算用户之间的相似度,使用余弦相似度公式来标准化这些值。
  4. 生成推荐

    对于目标用户,找到与其兴趣相似的 K 个用户,并根据这些用户的评分生成推荐列表。过滤掉用户已经观看过的歌曲,并按照相似度对推荐的歌曲进行排序,选取前 N 个电影。

  5. 评估推荐效果

    使用准确率、召回率和覆盖率等指标对推荐效果进行评估。比较推荐的歌曲与测试集中的真实评分,计算命中次数、推荐数量以及测试集中的总歌曲数量,输出评估结果。

  6. 接口调用

    提供一个推荐接口,用户可以通过用户 ID 调用推荐算法,获得推荐的歌曲列表。

  7. 测试与输出

    在主程序中获取命令行参数(用户 ID),调用推荐接口,输出推荐结果的详细信息,以便进行验证和展示。

5 系统实现截图

5.1 主页可视化

在这里插入图片描述
在这里插入图片描述

5.2 推荐算法 usercf+itemcf 双推荐

两种协同过滤推荐算法
在这里插入图片描述
在这里插入图片描述

5.3 知识图谱可视化

基于vue d3.js实现
在这里插入图片描述

5.4 智能问答

集成千问的聊天式智能问答
在这里插入图片描述

5.5 可视化(四个页面)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.6 会员、身份认证

在这里插入图片描述
在这里插入图片描述

5.7 数据大屏

在这里插入图片描述

5.8 后台管理端登录

在这里插入图片描述
在这里插入图片描述

5.9 用户管理

在这里插入图片描述

5.10 歌曲管理

在这里插入图片描述

5.11 音乐人管理

在这里插入图片描述

5.12 专辑管理

在这里插入图片描述