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

研究意义

随着互联网的快速发展,人们面临着海量的视频内容,如何从这些繁杂的视频中找到自己感兴趣的内容成为一个重要的问题[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"));
    }*/






    
    
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于FPGA的数字信号处理(12)--定点数的舍入模式(3)收敛取整convergent

前言 在之前的文章介绍了定点数为什么需要舍入和几种常见的舍入模式。今天我们再来看看另外一种舍入模式:收敛取整convergent。 10进制数的convergent convergent: 收敛取整。它的舍入方式和四舍五入非常类似,都是舍入到最近的整数&#x…

通过金山和微软虚拟打印机转换PDF文件,流程方法及优劣对比

文章目录 一、WPS/金山 PDF虚拟打印机1、常规流程2、PDF文件位置3、严重缺陷二、微软虚拟打印机Microsoft Print to Pdf1、安装流程2、微软虚拟打印机的优势一、WPS/金山 PDF虚拟打印机 1、常规流程 安装过WPS办公组件或金山PDF独立版的电脑,会有一个或两个WPS/金山 PDF虚拟…

leetcode-151 翻转字符串里的单词

一、题目描述 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 输入:s "the sky is blue" 输出:"blue is sky the"输入&#…

数据结构-查找-哈希表

一、哈希表的映射方法 1、直接定址法(值的分布范围集中) 比如统计字符串中字符出现的次数,字符范围集中。 2、除留余数法(值的分布范围分散) hashi key % n 但是这种方法会导致,哈希冲突:不同的值映射…

【Python探索之旅】初识Python

目录 发展史: 环境安装: 入门案例: 变量类型 标准数据类型 数字类型: 字符串: 全篇总结: 前言: Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设…

CSS 之 圆形波浪进度条效果

一、简介 ​ 本篇博客讲述了如何实现一个圆形波浪进度条的样式效果,具体效果参考下方GIF图。该样式的加载进度条可以用在页面跳转或数据处理等情况下的加载动画,比起普通的横条进度条来说,样式效果更生动美观。 实现思路: ​ 这…

Wikimedia To Opensearch

概览 Wikimedia ⇒ Kafka ⇒ OpensearchJava Library:OKhttp3和OkHttp EventSource;生产者:Wikimedia:WikimediaChangeHandler和WikimediaChangeProducer;消费者:Opensearch:OpenSearchConsume…

代码随想录-算法训练营day38【动态规划01:理论基础、斐波那契数、爬楼梯、使用最小花费爬楼梯】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第九章 动态规划part01● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯 详细布置 今天正式开始动态规划!理论基础 无论大家之前对动态规划学到什么程度,一定要先看…

【Linux】了解信号产生的五种方式

文章目录 正文前的知识准备kill 命令查看信号man手册查看信号信号的处理方法 认识信号产生的5种方式1. 工具2. 键盘3. 系统调用kill 向任意进程发送任意信号raise 给调用方发送任意信号abort 给调用方发送SIGABRT信号 4. 软件条件5. 异常 正文前的知识准备 kill 命令查看信号 …

项目8-头像的上传

js实现头像上传并且预览图片功能以及提交 - 掘金 (juejin.cn) 我们简单建立一个表 1.前端知识储备 1.1 addClass的使用 1.基本语法 addClass() 方法向被选元素添加一个或多个类。 该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性。 提示&…

CentOS使用Docker搭建Nacos结合内网穿透实现无公网IP远程登录本地管理平台

文章目录 1. Docker 运行Nacos2. 本地访问Nacos3. Linux安装Cpolar4. 配置Nacos UI界面公网地址5. 远程访问 Nacos UI界面6. 固定Nacos UI界面公网地址7. 固定地址访问Nacos Nacos是阿里开放的一款中间件,也是一款服务注册中心,它主要提供三种功能:持久化…

LeetCode题练习与总结:不同的二叉搜索树Ⅱ--95

一、题目描述 给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。 示例 1: 输入:n 3 输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,nul…

CNN/TCN/LSTM/BiGRU-Attention到底哪个模型效果最好?注意力机制全家桶来啦!

​ 声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 数据介绍 效果展示 原理简介 代…

Python---NumPy万字总结【此篇文章内容难度较大,线性代数模块】(3)

NumPy的应用(3) 向量 向量(vector)也叫矢量,是一个同时具有大小和方向,且满足平行四边形法则的几何对象。与向量相对的概念叫标量或数量,标量只有大小,绝大多数情况下没有方向。我们…

Ubuntu 超级终端Terminator常用使用技巧

Ubuntu 超级终端Terminator常用使用技巧 Terminator 是一款功能强大的终端模拟器,它特别适合于需要同时管理多个终端会话的用户。以下是如何在 Ubuntu 上使用 Terminator 的详细指南: 安装 Terminator 如果你的系统尚未安装 Terminator,你…

Prompt Engineering ,Fine-tuning , RAG ?

Prompt Engineering ,Fine-tuning , RAG 总结:1 prompt engineering2 RAG (Retrieval Augmented Generation)**RAG特点****RAG优势****RAG劣势** 3 微调(Fine-tuning)**微调特点****微调优势****微调劣势** 4 三者共性和区别5 RAG和微调的适应…

港中深「户外自重构蜗牛机器人集群」登Nature子刊!

在科幻电影《超能陆战队》中,我们见证了一种由成千上万个微小磁性单元组成的机器人通过磁力相互连接,形成各种复杂的三维结构。香港中文大学(深圳)林天麟教授团队致力于将这一科幻转化为现实,近年来开发了一系列自由形…

C++基础与深度解析 | 数组 | vector | string

文章目录 一、数组1.一维数组2.多维数组 二、vector三、string 一、数组 1.一维数组 在C中,数组用于存储具有相同类型和特定大小的元素集合。数组在内存中是连续存储的,并且支持通过索引快速访问元素。 数组的声明: 数组的声明指定了元素的…

【基础技能】Windows常用快捷键

最近做知识管理,梳理了下个人技能,存在好多基础技能都是一知半解,用的时候都是现搜现查,没有形成一个完整的知识体系,导致一些基础不牢靠,需要再次筑基! 于是就翻阅了微软的官网,撸…

5.13网络编程

只要在一个电脑中的两个进程之间可以通过网络进行通信那么拥有公网ip的两个计算机的通信是一样的。但是一个局域网中的两台电脑上的虚拟机是不能进行通信的,因为这两个虚拟机在电脑中又有各自的局域网所以通信很难实现。 socket套接字是一种用于网络间进行通信的方…