计算机毕业设计hadoop+spark+hive知识图谱bilibili视频数据分析可视化大屏 视频推荐系统 预测系统 实时计算 离线计算 数据仓库

news2024/10/5 19:17:04

研究意义

随着互联网的快速发展,人们面临着海量的视频内容,如何从这些繁杂的视频中找到自己感兴趣的内容成为一个重要的问题[1]。推荐系统作为一种解决信息过载问题的重要工具,能够根据用户的历史行为和偏好,预测用户可能感兴趣的内容,并对其进行推荐。在视频推荐领域,基于Hadoop和Spark的大数据框架的应用越来越广泛,它们能够处理大规模的视频数据,并对其进行深入的分析和挖掘。

本文旨在研究并设计一个基于Hadoop+Spark的视频推荐系统,该系统能够有效地利用大数据技术,对海量的视频数据进行处理和分析,并根据用户的行为和偏好进行视频推荐。与传统的推荐系统相比,基于Hadoop+Spark的视频推荐系统具有更高的处理能力和准确性,能够提供更加个性化的视频推荐服务[2]。

国内外研究综述

在国内,许多视频分享平台如Bilibili、爱奇艺、腾讯视频等都推出了自己的推荐系统,以提供个性化的视频推荐服务[3]。这些平台通常采用基于用户行为分析的推荐算法,根据用户的观看历史、点赞、评论等行为,挖掘用户的兴趣和偏好,并为其推荐相关的视频内容[4]。此外,国内的一些科研机构和高校也在推荐系统领域开展了相关研究,如清华大学、中国科学院计算技术研究所等。

在国外,推荐系统得到了广泛应用,不仅在视频领域,还在电商、新闻、音乐等领域得到应用[5]。在视频推荐领域,一些知名的视频分享平台如YouTube、Netflix等也推出了自己的推荐系统,根据用户的观看历史和偏好为其推荐相关的视频内容。此外,一些科研机构和高校也在推荐系统领域开展了相关研究,如斯坦福大学、麻省理工学院等[6]。

在基于Hadoop和Spark的视频推荐系统方面,一些国内外的研究机构和企业在大数据处理和分析方面进行了深入研究,并取得了一定的成果。例如,国外的Netflix利用Hadoop和Spark构建了一个大规模的推荐系统,能够处理海量的用户行为数据和视频数据,并为其用户推荐相关的视频内容[7]。在国内,一些企业如阿里巴巴、腾讯等也在大数据处理和分析方面进行了深入研究,并推出了一些基于Hadoop和Spark的大数据产品和服务。

综上所述,推荐系统在国内外得到了广泛应用,不仅在视频领域,还在其他领域得到应用。在基于Hadoop和Spark的视频推荐系统方面,一些国内外的研究机构和企业已经取得了一定的成果,但是随着大数据技术的不断发展,还需要进一步研究和探索更加准确、高效的视频推荐算法和系统[8]。

主要内容

  • Python爬虫模块:selenium采集海量bilibili视频并对视频数据进行智能分类、数据清洗;
  • 门户系统模块:个性化视频推荐、视频流量预测、视频VIP支付宝沙箱支付开通、视频评论情感分析、用户注册/登录、短信验证码修改密码、AI身份证认证识别、视频搜索等;
  • 大屏可视化模块:视频分类分析、热门话题分析、投币量分析、分享量分析、播放量分析、视频词云等;
  • 后台管理模块:用户管理、权限管理、视频管理、知识图谱、评论管理、订单管理;

拟解决的问题

  • 协同过滤算法冷启动问题
  • 视频知识图谱构建关联
  • 推算效率低需要优化参数
  • B站海量采集视频反爬问题
  • 分析与可视化互相转化问题
  • 数据库数据量大查询慢问题

预期成果

  • Linux虚拟机环境一台含hadoop、spark、hive等大数据组件。
  • Hive离线数据仓库操作脚本
  • Spark实时计算代码
  • Springboot+vue.js开发的web推荐系统、可视化系统代码
  • Mysql数据库脚本

创新点

  • 提供4种机器学习推荐算法进行个性化视频推荐:协同过滤推荐算法(基于用户、物品)、SVD混合神经网络推荐、多层感知MLP模型、知识图谱推荐
  • Python采集海量bilibili视频数据
  • Spark+hive离线计算、实时计算实现echarts可视化大屏
  • 卷积神经网络KNN进行视频流量预测
  • 支付宝沙箱支付(模拟视频开通付费VIP)
  • Lstm模型对评论进行情感分析
  • 手机短信验证码(用户修改密码功能)
  • AI识别身份证(用户认证)
  • 视频知识图谱关系图(neo4j)

进度安排

  • 文献综述和研究背景分析(1-2个月):收集相关文献和资料,了解视频推荐系统的研究现状和发展趋势。
  • 方法和系统设计(3-4个月):确定研究方法和系统设计方案,包括Python爬虫采集视频数据、用户行为分析、推荐算法设计和系统架构等。
  • 系统实现和测试(5-6个月):搭建Hadoop+Spark的大数据虚拟机环境,编写代码实现视频推荐系统、大数据可视化分析,并进行系统测试和性能优化。
  • 论文撰写和整理(7-8个月):撰写论文初稿,整理研究成果,包括实验结果和分析、讨论等。
  • 论文修改和完善(9-12个月):对论文进行修改和完善,包括文字润色、格式调整、审稿意见回应等。

参考文献

[1] 基于短视频内容理解的用户偏好预测模型研究[D]. Muhammad Irbaz Siddique.北京交通大学,2023

[2] 基于人像聚类的短视频推荐系统的研究与实现[D]. 郝艳峰.辽宁大学,2022

[3] 基于前景理论的视频推荐方法研究[D]. 李天鹏.河南财经政法大学,2021

[4] 高校视频公开课点播平台智能推荐系统的设计与实现[D]. 陈汉福.华南理工大学,2022

[5] 基于物品协同过滤的个性化视频推荐算法改进研究[D]. 卜旭松.宁夏大学,2021

[6] 基于图论的个性化视频推荐算法研究[D]. 陈壁生.华南理工大学,2023

[7] 基于深度观看兴趣网络的视频推荐系统设计与实现[D]. 刘端阳.北京邮电大学,2021

[8] 基于用户行为分析的短视频推荐算法研究[D]. 李志强.辽宁石油化工大学,2022

[9] 基于兴趣融合扩散的视频推荐系统的研究与实现[D]. 时琦涵.辽宁大学,2023

[10] 基于云同步的视频推荐系统的系统实现[D]. 程娟.上海交通大学,2022

[11] 智能冰箱推荐系统设计[J]. 李楠;简钰轩;闭祖松;龚蕾;刘子豪;范佳乐.物联网技术,2022(12)

[12] 基于神经网络的推荐系统模型分析[J]. 张珍珍.电子技术,2023(01)

[13] 基于用户画像的课程学习视频推荐系统研究与设计[J]. 陈玉帛;项慨;王顺驰;何希;李娅琴;邹正;李玉婷.现代信息科技,2023(09)

[14] 一种基于标签值分布强化学习推荐系统设计[J]. 张元群.中国科技信息,2023(11)

[15] 个性化学习资源推荐系统设计[J]. 万鑫;冯韵;肖艳;王思力.福建电脑,2023(10)

[16] 智能观影推荐系统设计[J]. 朱卫东;李子龙;乔良才.网络安全和信息化,2022(02)

[17] 一种泊车服务推荐系统的设计[J]. 磨春妗;黎飞;谢燕芳;程登;张森.现代工业经济和信息化,2022(03)

[18] 基于个性化需求的图书馆书籍智能推荐系统的设计与实现研究[J]. 李方园.信息记录材料,2021(12)

[19] 新闻推荐系统研究综述[J]. 孟开元;岳宇航;曹庆年.软件导刊,2021(01)

[20] 面向个性化学习的慕课资源推荐系统开发[J]. 孔令圆;彭琰;郑汀华;马华.计算机时代,2021(07)

程序运行流程

1.Selenium自动化Python爬虫工具采集bilibili视频数据约1000万条存入.csv文件作为数据集;

2.使用pandas+numpy或MapReduce对数据进行数据清洗,生成最终的.csv文件并上传到hdfs;

3.使用hive数仓技术建表建库,导入.csv数据集;

4.离线分析采用hive_sql完成,实时分析利用Spark之Scala完成;

5.统计指标使用sqoop导入mysql数据库;

6.使用flask+echarts进行可视化大屏开发;

7.使用协同过滤算法、SVD神经网络、MLP感知层模型等算法实现个性化视频推荐;

8.使用卷积神经网络KNN、CNN实现视频流量预测;

9.搭建springboot+vue.js前后端分离web系统进行个性化推荐界面、流量预测界面等实现;

核心算法代码分享如下:

package com.bigdata.storm.kafka.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

/**
 * @program: storm-kafka-api-demo
 * @description: redis工具类
 * @author: 小毕
 * @company: 清华大学深圳研究生院
 * @create: 2019-08-22 17:23
 */
public class JedisUtil {
    
    /*redis连接池*/
    private static JedisPool pool;
    
    /**
    *@Description: 返回redis连接池
    *@Param: 
    *@return: 
    *@Author: 小毕
    *@date: 2019/8/22 0022
    */
    public static JedisPool getPool(){
        if(pool==null){
            //创建jedis连接池配置
            JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
            //最大连接数
            jedisPoolConfig.setMaxTotal(20);
            //最大空闲连接
            jedisPoolConfig.setMaxIdle(5);
            pool=new JedisPool(jedisPoolConfig,"node03.hadoop.com",6379,3000);
        }
        return pool;
    }

    public static Jedis getConnection(){
        return getPool().getResource();
    }

/*    public static void main(String[] args) {
        //System.out.println(getPool());
        //System.out.println(getConnection().set("hello","world"));
    }*/






    
    
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1672502.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【错误的集合】力扣python

最初想法 def findErrorNums(nums):n len(nums)duplicate -1missing -1for num in nums:if nums[abs(num) - 1] < 0:duplicate abs(num)else:nums[abs(num) - 1] * -1for i in range(n):if nums[i] > 0:missing i 1breakreturn [duplicate, missing] 遇到力扣大佬…

废品回收小程序,推动回收行业数字化发展

在垃圾分类、资源回收利用的时代背景下&#xff0c;废品回收行业迅速成长&#xff0c;市场规模逐渐扩大&#xff01; 随着“互联网”应用的普及&#xff0c;废品回收行业也进入到了数字化回收领域&#xff0c;各大回收行业开始专注于发展智能回收。此外&#xff0c;线上废品回…

JavaEE技术之SpringCloud(Nacos注册中心、Nacos配置中心、Sentinel实现熔断与限流)

文章目录 SpringCloud Alibaba1、简介1.1 背景1.2 Nacos主要功能1.3 Nacos和SpringBoot、SpringCloud版本选择 2、Nacos注册中心2.1 案例准备2.2 Nacos注册中心下载启动2.2.1 下载2.2.2 解压启动2.2.3 nacos-server访问测试 2.3 nacos注册中心客户端整合2.3.1 订单服务整合naco…

Linux---windows 机器和远端的 Linux 机器如何通过 XShell 传输文件

一、关于rzsz 这个工具用于 windows 机器和远端的 Linux 机器通过 Xshell 传输文件. 二、下载rzsz软件 用root输入命令&#xff1a; sudo yum install -y lrzsz下载完成&#xff1a; 三、如何传输 有图形化界面 1、从Windows机器传输给远端Linux机器 ① 直接拖拽 直接将…

虚拟机有线已连接但无法上网—·可能性之一

背景 VMware虚拟机&#xff0c;搭建了三台Linux服务器&#xff0c;组成Hadoop集群&#xff0c;由于在Hadoop102上有一些经常与Mysql数据库交互的任务&#xff0c;需要经常打开运行&#xff0c;而Hadoop103和104则经常处于关闭状态&#xff0c;一段时间后再次启动集群时候&…

【vue2项目经验总结:a标签干扰路由】

当我们点击页面中的a标签实现跳转时&#xff0c;会发现网页上方的路由也切换成了a标签的id值&#xff1a; 刷新后页面也会变成空白&#xff1a; 解决方法&#xff1a; 添加Click方法&#xff0c;传入的参数与id值保持一致 scrollIntoView() 方法&#xff0c;将该元素滚动到…

嵌入式学习-时钟树

时钟树 时钟分类 时钟树框图 LSI与LSE HSI、HSE与PLL 系统时钟的产生 AHB、APBx的时钟配置 相关寄存器 寄存器部分的细节内容请参考手册。 相关库函数

配置 IDEA 识别自定义规则的 Dockerfile 文件

目录 配置所在位置解决方案其他 配置所在位置 打开 IntelliJ IDEA&#xff0c;然后转到顶部菜单中的 “File” > “Settings”&#xff08;Windows/Linux&#xff09;或 “IntelliJ IDEA” > “Preferences”&#xff08;macOS&#xff09;。 在弹出的设置窗口中&#x…

Docker 安装 MySQL(Mac电脑M芯片)

Docker 安装 MySQL&#xff08;Mac电脑M芯片&#xff09; 1. 下载MySQL镜像文件2. 创建容器实例2.1 命令参数介绍 3. 容器实例内连接MySQL3.1 进入容器实例后台3.2 连接MySQL 4. DBeaver连接MySQL4.1 连接异常 1. 下载MySQL镜像文件 # 默认下载laster版本 docker pull mysql# …

“圣诞树图案的打印~C语言”

圣诞树图案的打印~C语言 题目原文&#xff1a;[圣诞树](https://www.nowcoder.com/practice/9a03096ed8ab449e9b10b0466de29eb2?tpId107&rp1&ru/ta/beginner-programmers&qru/ta/beginner-programmers/question-ranking&difficulty&judgeStatus&tags&…

数仓架构之 基础数据层的数据加载算法

今天想跟大家聊聊&#xff0c;在HIVE数仓分层中&#xff0c;一般分为4层&#xff0c;在前两层中&#xff0c;数据贴源层&#xff08;HDM&#xff09;的数据是怎么加载到基础数据层&#xff08;BDM&#xff09;的。 A&#xff0c;数据加载背景 啥意思呢&#xff0c;我先给大家讲…

将mongo查出的数据导出来,变成json,然后转Excel

在MongoDB shell或使用命令行工具&#xff08;如mongo或mongosh&#xff09;中&#xff0c;你可以将查询结果输出到JSON文件。以下是一个示例命令&#xff0c;它执行上述聚合查询并将结果写入名为output.json的文件&#xff1a; mongo your_database_name --quiet --eval db.u…

李飞飞团队关于2024年人工智能发展报告总结 (Artificial Intelligence Index Report)

目录 1 10大核心信息2 AI研究和发展2.1 核心要点2.2 核心对比信息2.3 模型是否会用尽数据2.4 基础模型发展2.5 训练模型成本 3 技术性能3.1 核心要点3.2 重要模型发布情况3.3 AI表现情况3.4 多学科、高难度评估集 (MMMU & GPQA & ARC)3.5 Agents3.6 RLHF & RLAIF3.…

WHAT - CSS Animationtion 动画系列(四)- 移动端全屏动画

目录 一、背景1.1 GIF & Video1.2 存在的问题 二、技术方案2.1 使用CSS动画和JavaScript2.2 使用JavaScript库2.3 使用序列帧1. css animation 帧动画2. JavaScript requestAnimationFrame 帧动画 2.4 使用Canvas1. html 和 canvas 中的 video2. 基于Canvas的动画库 今天我…

网络编程:服务器模型-并发服务器-多进程

并发服务器概念&#xff1a; 并发服务器同一时刻可以处理多个客户机的请求 设计思路&#xff1a; 并发服务器是在循环服务器基础上优化过来的 &#xff08;1&#xff09;每连接一个客户机&#xff0c;服务器立马创建子进程或者子线程来跟新的客户机通信 &#xff08;accept之后…

达梦数据库 报错 数据类型不匹配

达梦数据库 报错 数据类型不匹配 背景描述问题分析问题处理方案1&#xff1a;方案2&#xff1a;TO_CHAR(str)CAST(value AS type)CONVERT(type,value)DBMS_LOB 包TEXT_EQUAL(n1,n2) 写在最后 背景描述 本文写于初接触到达梦(DM)数据库&#xff0c;之前没有用过&#xff0c;因此…

网络协议的分类

1.概要 网络协议可以分为三类&#xff1a; 封装协议路由协议功能类协议 2.分类说明 OSPF报文直接调用_ IP协议__协议进行封装&#xff0c;以目的地址_244.0.0.5 __发送到所有的OSPF路由器? 244.0.0.1 所有主机&#xff1b;244.0.0.2 所有路由器&#xff1b;244.0.0.6 指定…

SpringSecurity6集成数据库

本文章对应视频可在B站查看SpringSecurity6对应视频教程&#xff0c;记得三连哦&#xff0c;这对我很重要呢&#xff01; 温馨提示&#xff1a;视频与文章相辅相成&#xff0c;结合学习效果更强哦&#xff01; 系列文章链接 1、初识SpringSecurity&#xff0c;认识主流Java权限…

win10系统解除微软账户和本地账户绑定

折腾了好久&#xff0c;终于找到一种方法可以退出微软账号了&#xff0c;不过这种方法我测试是成功的&#xff0c;有人留言自己不成功&#xff0c;具体解决方法只能看这些留言了 win10当中没有注销按钮&#xff0c;win x 弹出的菜单里面有关闭或注销&#xff0c;可以选择注销…

Unity射击游戏开发教程:(15)添加推进器推进和推进器推进动画

这是一个可以添加到我的游戏中的简单而有趣的功能。当玩家按住 Shift 按钮时,速度会加快,松开 Shift 按钮时,速度会恢复到原来的速度。 这需要不同的输入检测。通常使用的是Input.GetKeyDown并传入你想要获取的key。这只会检测在当前帧期间是否按下了按钮,但如果按住,将不…