基于 Python 深度学习的电影评论情感分析系统,附源码
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人
文章目录
- 1 简介
- 2 深度学习的算法研究
- 卷积神经网络介绍
- Word2vec算法
- 语句情感值分析
- 算法思想
- 3 基于深度学习的电影评论需求分析
- 需求设计
- 其他功能需求分析
- 4 系统设计
- 系统的功能模块设计
- 数据库的设计
- 5 系统的实现
- 系统的登录模块设计
- 系统的首页实现
- 电影简介的实现
- 电影评价分析的实现
- 电影评价情感类别的实现
- 6 参考文献
- 7 源码获取:
1 简介
鉴于电影评论的重要性,电影评论的情感数据分析也成为了当下发展非常迅速的一项内容。本次就是利用了flask框架以及深度学习中的word2vac向量模型来进行一款深度学习的电影评论软件开发,通过该软件的开发来更加有效的对众多的影评文本进行情感分析来判断出一部电影评论好与评论不好的比例等内容,从而为电影的评论提供一个综合的汇总评判分析。
python基于深度学习的电影评论情感分析系统
关 键 词深度学习;电影评论;情感分析;flask
文章首发地址:https://it1314.top/article/1256/
2 深度学习的算法研究
卷积神经网络介绍
卷积神经是深度学习中最具代表性的一种算法,这种算法可以通过计算卷积来实现神经网络的发展结构的搭建,该结构所创造的神经网络具有较强的学习能力,可以通过信息输入来实现类结构的转换。卷积神经网络与生理学有着一定的相关性,通过视觉、感知来进行卷积神经网络的内容搭建,通过有监督和无监督的方式来进行学习,均可以实现很好的学习效果。且在隐藏层中能够通过参数的共享来以较小范围的计算实现网络的特征达成。卷积神经网络最初是在图像领域中使用,而在深度学习的框架不断的优化和当下的计算机硬件水平的不断提升下,该技术在众多的领域中都有着很好的应用。
Word2vec算法
Word2vec算法是谷歌公司开发的一种网络概念语言模型,是能够将文本转化为词向量的神经网络模型。这种模式是通过既定的语料库,在该语料库的基础上进行模型优化训练,通过将文本转化为向量模型,来实现有效的算法推演实现。该算法中通常会采用到cbow和skip-gram模型,通过这两种模型来进行相应的向量训练。Cbow模型能够通过结合上下文来进行中间词的概率预测从而实现很好的预测过程的实现。通过skip-gram来进行中间词概率的预测,两样模型通过与神经网络相结合的方式来反复不断的进行初始变量和参数值的更新,指导实现目标的函数值达到最大值后,来进行词量的向量取得。
语句情感值分析
语句是由不同的词语组成的,而在语句的情感值的计算上也是通过词典的计算方式来进行处理的。在针对本次的电影评论的文本分析上,会通过将语句进行分词处理,将语句中的英文、停用词等来进行有效的提出,通过将关键词与情感词典中的信息进行对照,找到句子中的情感词所表达的含义,与情绪态度进行对应,来实现有效的情感值分析,情感词通常会有赞扬、悲哀、贬斥等等,是重要的情绪表达的核心词句。在情感值的计算上,该分析会通过从第一个情感词开始一连串的针对每一个情感词以及修饰词进行情感值的计算,通过不断地循环直到找到所有的情感词来进行不断的更新与总结,从而完成情感值的评价工作。
算法思想
在短文本的评价中,相应的词汇数量较少,且特征明显,情感表达直接,通过情感词典的方式就能够进行极为精准的短文本情感值的判断,但是在情感字典中对于句子的情感指向性相对较弱,有可能会造成判断的错误,特别是在汉语言中,语句中的词语变化多,例如"IOS系统比Android系统好"和"Android系统比IOS系统好"在通过情感值的判断,二者的情感值是一致的,但是实际上两者想要表达的情感是完全相反的。所以通过基于word2vec来进行评论文本词量的分析中,如何对于情感特征的分析是非常重要的一项内容,应当通过加权算法来进行句向量的获取其算法流程如下所示:
图2-1 算法流程图
3 基于深度学习的电影评论需求分析
需求设计
本次通过利用深度学习来实现计算机对于海量的电影评论能够进行有效的自主分析,可以通过对语句的情感值进行判断来实现对语句所表达的情感思想进行确认和表达。此次在需求的设计上首先是需要搭建一款B/S结构的网站系统,使用的开发工具确定为Python语言flask框架。在深度学习的技术选择上,本次使用了word2vec模型来进行情感值的判断和训练的过程搭建与实现。通过此次的设计,能够实现在网站内通过爬取电影评论以及输入评论内容,来让系统进行自动的情感判断,从而将该评论所代表的正面以及负面的情绪进行确认,对于电影评价的好坏可以实现机器自动化的判断实现。
其他功能需求分析
对于电影的情感分析研究,不仅仅是简单的文本分析,而是需要通过语言文本来找寻其背后的发展趋势,本次将以某平台或者某既定的文本库来进行电影的评论采样,通过加入情感分析的方式来是实现对电影的评价和后续的追踪。本次的设计是要通过简单文本确认来找到与电影相关的重要信息,推动电影行业的发展。通过长短不一、情感趋势不同的文本来进行不同的情感倾向的研究,从而能够找到不同的观众对于同一部电影的情感倾向。在情感分析过程中,数据实际是非常重要的一项内容,是对于情感分析的结果有着直接影响的变量。因此在深度的神经网络数据集中,需要样本数据完整、规则性强。通过选取有效的数据样本来进行模型训练才能够得到有效的判断结果。因此要对数据集进行一些内容的简单处理。
4 系统设计
系统的功能模块设计
本次通过以word2vec来进行实现深度学习的模型搭建,通过以pycharm平台来实现数据的整体编程,通过flask框架来完成B/S的网页设计,从而实现计算机在网络上通过电影的评论信息录入来进行评论内容的情感判断。
数据库的设计
本次的数据库设计中,数据库的表格设计如下所示:
表4-1管理员数据库表
表4-2电影数据库表
5 系统的实现
系统的登录模块设计
本次的基于深度学习的电影评论情感分析系统是需要完成用户的登录才能够进入到系统中进行评论分析的,此次设计的分析系统的登录页面如下所示:
图5-1 系统的登录模块
系统的首页实现
当完成登录后,系统的首页以搜索界面为主要展示的内容,在首页中能够在文本框内进行想要获取的电影详情的搜索来快速的查询到与电影相关的信息内容。如下所示:
图5-2 系统首页的实现
电影简介的实现
当输入相关信息后,会有电影的名称、图片、主演、上映时间以及简介等多种内容在该页面进行呈现,并且能够通过点击"立即播放"实现在线的电影播放功能,如下图所示:
图5-3 电影简介的实现
电影评价分析的实现
在电影简介界面中点击"下一页"能够看到当前用户对于该电影的评价信息,有积极、消极、一般等内容,能够通过环形图来进行相应评分占比的展示。当在点击下一页时,会有具体的热门点评的显示,通过"积极"、“消极”、"一般"三个选项来进行评价的划分,有用户对于电影的评分、点赞数、留言时间等内容的显示。如下图所示:
图5-4 电影评价分析的实现
电影评价情感类别的实现
在电影评价的菜单中,管理员能够看到现有的用户对于电影的全部评价信息,系统会根据输入的评价内容来进行情感类别的判断,并且存储如数据库中,如下图所示:
图5-5 电影评价情感分析类别的实现
6 参考文献
[1]
张爱军,杨泽斌.自动化机器学习中的超参调优方法[J].中国科学:数学,2020,50(05):695-710.
[2]
李磊,陈向东,丁星,李皋,陈一健.基于图像处理与机器学习的岩土湿度检测系统[J].传感器与
微系统,2020,39(06):83-85+88.
[3]
邓玉睿,周勇,从伟,程旭东,祁智慧,唐芳.基于朴素贝叶斯算法的模型研究[J].中国粮油学
报,2019,34(S2):35-38.
[4] 邹 强 , 田 颖 , 李 红 松 , 秦顺顺 . 基 于 支 持 向 量 机 的 方 法
[J]. 北 京 交 通 大 学 学 报,2020,44(01):84-90.
李彦冬,郝宗波,雷航.卷积神经网络研究综述[J].计算机应用,2016,36(09):2508-2515+2565.
7 源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《200套》
Java微信小程序项目实战《100套》
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人
相关文章:

基于 Python 深度学习的电影评论情感分析系统,附源码
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

如何查看Apple Watch的步数?这里提供几个方法
所有Apple Watch都配有内置计步器,即具有步进跟踪功能。当你第一次设置手表时,你的Apple Watch将自动开始计算步数。让我们看看如何在Apple Watch上查看步数。 使用活动应用程序 1、按下Apple Watch上的数字皇冠,打开应用程序屏幕。 2、点击活动应用程序。 3、你会看到…...

解决‘vue‘ 不是内部或外部命令,也不是可运行的程序(设置全局变量)
发现是没有执行: npm install -g vue/cli 但是发现还是不行 此时,我们安装了 Vue CLI,但是在运行 vue ui 命令时出现了问题。这通常是因为全局安装的 Vue CLI 的路径没有被正确地添加到系统的环境变量中。 可以尝试以下几种方法来解决这个问…...

JavaWeb学习|i18n
学习材料声明 所有知识点都来自互联网,进行总结和梳理,侵权必删。 引用来源:尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版 i18n 国际化(Internationalization)指的是同一个网站可以支持多种不同的语言&…...
数据库日志已经很大了,比如200多G,不能收缩到几兆,实际操作过只能到30G
当数据库日志文件(通常称为事务日志或事务日志文件)变得非常大时,确实可能会遇到问题,因为这会占用大量的磁盘空间,并可能影响数据库的性能。收缩日志文件到非常小的大小(例如从200多G到几兆)可…...

docker常用容器命令
首先说下容器: 它是指当docker运行镜像时,创建了一个隔离环境,称之为 容器。 这种方式优点:可以开启多个服务,服务之前是互相隔离的(比如:在一台服务器上可以开启多个mysql,可以是…...
蓝桥杯(Web大学组)2022省赛真题:冬奥大抽奖
思路: 使用模板字符串,借助time的值选择添加或移除样式的盒子,由于盒子的类名最多为li9,所以要将time的值取余,且判断余数为0时,就取1,否则会获取空值报错 .ul .li${time%9!0?time%9:1} 代码…...
单调队列 单调栈
单调队列 一种下标单调,值也单调的队列。 以长度为 k k k 的区间内最大值为例,在一个数进队时,可以知道在他之前的肯定下标比他小,所以如果前面的数比他小,那么前面的数肯定不能成为最大值,直接出队,如果前面的数比他大,因为前面的数下标靠前,所以这个数有可能在以…...
Java基础-泛型
泛型: 泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值或参数的类型。这个类型参数将在使用时(例如,继承或实现这个接口、创建对象或调用方法时)确定(即传入实际的…...

Vue 全组件 局部组件
一、组件定义和使用 1、全局组件 定义 <template> <div> <h1>This is a global component</h1> </div> </template> <script lang"ts"> </script> <style></style> 导入 全局组件在main.tsÿ…...

几个经典金融理论
完整EA:Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客 一、预期效用理论 预期效用理论是描述人们在做出决策时如何考虑风险和不确定性的一种理论。该理论最初由经济学家冯诺伊曼(John von Neumann)和奥斯卡摩根斯坦恩(Oskar…...
c++语言max函数的使用
目录 头文件包含 使用语法 注意事项 头文件包含 首先,在使用std::max函数之前,需要包含头文件 <algorithm>。 #include <algorithm> 使用语法 std::max函数有两种重载形式,一种用于比较两个值,另一种用于比较多…...

c++阶梯之类与对象(下)
前文: c阶梯之类与对象(上)-CSDN博客 c阶梯之类与对象(中)-CSDN博客 c阶梯之类与对象(中)< 续集 >-CSDN博客 1. 再谈构造函数 1.1 构造函数体赋值 在创建对象时&a…...

机器学习--K-近邻算法常见的几种距离算法详解
文章目录 距离度量1 欧式距离(Euclidean Distance)2 曼哈顿距离(Manhattan Distance)3 切比雪夫距离 (Chebyshev Distance)4 闵可夫斯基距离(Minkowski Distance)5 标准化欧氏距离 (Standardized EuclideanDistance)6 余弦距离(Cosine Distance)7 汉明距离(Hamming Distance)【…...
<网络安全>《30 网络信息安全基础(1)常用术语整理》
1 肉鸡 所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑,也可以是大型的服务器,我们可以象操作自己的电脑那样来操…...

Git远程仓库的使用(Gitee)及相关指令
目录 1 远程仓库的创建和配置 1.1 创建远程仓库 1.2 设置SSH公钥 2 指令 2.1 git remote add 远端名称(一般为origin) 仓库路径 2.2 git remote 2.3 git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名]] 2.3 git clone url 2.4 git fetch 2.5 git p…...

vscode +markdown 的安装和使用
文章目录 前言一、vscode markdown 是什么?1.vscode是什么?2.markdown 是什么? 二、安装步骤1.下载2.安装 三、安装插件1.安装 Markdown All in One2.安装 Markdown Preview Enhanced3. Paste Image v1.0.44.LimfxCodeExv0.7.105.Code Spell …...

Python爬虫之自动化测试Selenium#7
爬虫专栏:http://t.csdnimg.cn/WfCSx 前言 在前一章中,我们了解了 Ajax 的分析和抓取方式,这其实也是 JavaScript 动态渲染的页面的一种情形,通过直接分析 Ajax,我们仍然可以借助 requests 或 urllib 来实现数据爬取…...

快速学习Spring
Spring 简介 Spring 是一个开源的轻量级、非侵入式的 JavaEE 框架,它为企业级 Java 应用提供了全面的基础设施支持。Spring 的设计目标是简化企业应用的开发,并解决 Java 开发中常见的复杂性和低效率问题。 Spring常用依赖 <dependencies><!-…...

c语言操作符(上)
目录 编辑 原码、反码、补码 1、正数 2、负数 3、二进制计算1-1 移位操作符 1、<<左移操作符 2、>>右移操作符 位操作符&、|、^、~ 1、&按位与 2、|按位或 3、^按位异或 特点 4、~按位取反 原码、反码、补码 1、正数 原码 反码 补码相同…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...