基于机器学习的影视剧评论倾向性分析系统设计
涂正维,孔华锋*
(武汉商学院,武汉430056)
摘要:近些年来,我国影视观影人数逐渐提高,每天都有大量的评论信息出现,影视评价充分体现了新时代言论自由以及人人参与的观点,若需要从这些海量评论中直接反应大众对某部影视作品的评价倾向较为的复杂;通过完成基于机器学习的影视剧评论倾向性分析系统的设计与实现,通过网络爬虫来获取大量的评论数据,通过SVM建立情感分类模型来分析用户的情感倾向,并以可视化的方式展开并提供基于可视化用户评论情感分析的倾向,易于用户理解,给用户提供高质量的服务,帮助用户进行更高效和更全面的查询,完成基于机器学习的影视剧评论倾向性分析系统构建研究。
关键词:SVM模型;网络爬虫;Vue框架;可视化
1概述
当今,影视行业飞速发展在国内,豆瓣、淘票票、猫眼3家网站都有自己所属平台的评分功能。在电影评分网站上蕴含着大量影视评论信息,通常是消费者选择影片时的重要参考依据,同时也是影视出品方了解用户喜好的有效途径;影视制作方也能对未来电影拍摄计划进行合理规划。对此,如何获取、分析消
费者情感倾向是非常重要的。通过设计基于机器学习的评论情感分析,对大规模的影视评论信息文本中进行情感倾向性分析,分析文本所蕴含的情感以及判断该影视评论文本对影视的看法,对于帮助用户、影视制作方和发行方掌握更全面的影视放映信息和进行决策,具有一定的实践意义和应用价值。
情感分析按照处理文本的粒度不同可分为词语级、短语级和句子级[1]等,结合文本数据挖掘、信息数据抽取、机器学习自然语言处理等文本处理技术对文本进行分析和处理。近些年,情感分析成为自然语言处理领域研究的热门主题,广泛应用到很多的自然语言处理问题中,例如:短文本情感倾向性分析和评论热点舆情等。当今,情感倾向性分析领域有两种学习的方法[2]:情感词典及规则的无监督学习方法和有监督的机器学习方法。
2系统总体架构
系统在总体设计阶段中,全面理解用户需求,并设计出合理的系统架构图,通过系统架构图设计出系统架构图,具体的系统架构如图1所示。
应用层主要是系统与用户的交互层,提供了用户可以操作的基础和核心功能,因为系统采用的B/S架构模式,使用者可以通过浏览器实时访问服务器,不用了解具体的算法实现,最终将分析的结果通过可视化展示出来。
图1系统架构图
业务逻辑层主要是实现系统的处理步骤和算法,是整个系统的核心部分,在系统采用SVM构建情感分类模型,为最终的结果展示技术上的支撑。
数据层采用的是MySQL(关系型数据库),作为本系统数据管理的工具,主要的作用是管理获取的影视剧评论数据。
3系统总体功能模块
mysql删除重复的数据保留一条系统可分为4个模块:用户模块、数据模块、分析模块、结果模块,系统的具体功能模块图如图2所示:
作者简介:涂正维(1998-),男,研究方向:软件工程;孔华锋(1974-),男,通信作者,博士,研究员,研究方向:大数据、云计算、数据分析、信息安全技术等
基于机器学习的影视剧评论倾向性分析系统设计与实现
用户基础功能
图2系统功能模块图
在用户模块上,使用者可以进行登录、注册、修改
等功能;在数据管理模块中,可以对评论数据爬取、数 据清洗、数据存储等操作;数据分析模块中,用户可以
对数据进行预处理、建立分类模型,最终得出情感趋 向; 数据可视化模块中, 将获得的结果可视化展示。3.1用户基础功能
3.1.1注册
用户进入系统登录页面后,若还未注册账户,则 点击页面“注册”按钮,将进行新用户注册操作,注
册成功后即可重新返回到登录页面,输入账户和密码进
行登录。
3.1.2登录
用户进入系统登录页面后,输入自己的账户名和密
码, 验证成功即可进入到系统操作页面。3.1.3修改密码
用户登录成功后,即可在系统操作页面选择“修改
密码” 功能, 对密码进行修改操作。
3.1.4退出
若用户操作结束,不再需要进行其他操作,可以点
击退出。
3.2数据管理3.2.1数据获取
数据主要是通过对豆瓣、猫眼等影视平台的评论信
息。用户将需要爬取的影视网站复制到对应的框中,点 击“数据获取”功能,系统将会自动执行已编写好的程
序对指定网站进行爬取, 同时获取的数据通过数据清洗 后将存入到MySQL 数据库中。
系统主要是在豆瓣、 猫眼等影视平台获取数据, 采 用Python 语言来实现网络爬虫,对于这些反爬虫的网
站,需要对浏览器进行访问模拟,对网页的源代码进行
分析,用正则表达式来获取指定的影视剧评论数据。网
络爬虫技术的基本过程如图3所示。
发出请求
保存数据
图3网络爬虫技术的基本过程
在系统中爬取的目标数据有两类:
(1) 爬取影视的信息的核心代码
class  DoubanMovieItem(scrapy 」tem):
movie_id  = scrapy.Field() # 电影的唯一 ID
movie_name  = scrapy.Field() # 电影名字 num  _rating  = scrapy.Field() # 电影总评分 num  _vote  = scrapy.Field() # 电影评分人数 num_comment  = scrapy.Field() # 电影短评数
(2)爬取影视的评论信息的核心代码class  DoubanMovieCommentItem(scrapy 」tem): comment_id  = scrapy.Field() # 短评的唯一 id  people  = scrapy.Field() # 评论者名字people_url  = scrapy.Field() # 评论者页面
comment_star  = scrapy.Field() # 评分
comment_content  = scrapy.Field() # 评论内容
3.2.2数据清洗
数据清洗是对数据重新检查的过程, 目的在于处理
重复值和异常值。清洗则是通过替换、丢弃等操作,达 到去除异常、补足缺失的目的。
数据清理可以将获取的评论数据简以除去脏部分,
使剩余部分数据转换成可接受格式。数据清理将原评论
数据中的一些“脏”数据,例如:重复数据、拼写错
误、空值等,通过检测获取的数据,发现这些数据中的
重复数据、 异常数据, 然后对这些值进行处理, 删除重 复项,使之达到过滤掉不一致的数据,使数据保持一致 性和完整性。
3.3数据分析
3.3.1数据预处理
(1) 评论去重
将影视评论中重复的数据去掉, 主要包括: 平台设
定的超时自动好评的内容;用户随意复制已存在的评论。
(2) 短评论文本数据处理
在获取的评论数据中, 部分评论字长小, 对于这
种评论, 很难挖缺出价值。 在本系统中, 将评论字长 小于4的删除,例如:这个可以、好像可以、一般般
吧等
人工智身自与应用
(3)删除数字和英文
对于含有英文和字母的评论数据,我们很难分析其中的价值,所以在本系统中,包含这类符号的评论数据作删除处理。
(4)中文分词
中文分词的概念:将某一句话切分成单独的几个词,词与词之间由一个空格隔开。当今存在的分词方法有:字符串匹配、理解的分词和统计的分词这3种方法。
系统采用jieba分词,jieba分词是Python中文分词里面用户较多且效果较好的一种中文分词方法。
jieba分词可分为精确模式、全模式和搜索引擎模式3种模式。其中,精确模式以非常准确的方法对句子进行切分;全模式则是对所有可能的词进行分词处理;搜索引擎模式则是在精确模式的基础上,对长词再进一步划分处理,提高分词的准确率。
而系统将采用精确模式对获取的影视剧评论数据进行切分处理:
import jieba
content=('个人觉得还是中文要符合情景一些,而且中文台词要丰富一点;''看校服就知道是中国的动漫袁果然还是中文配音比较贴近')
r e sult=jieba.cut(c o nten t,cut_all=False)
prin t(7".jo i n(r e sult))
其效果如图4用jieba分词对电影评论切分的效果图所示:
个人/觉得/还是/中文/要/符合/情景/-些/,/而且/中文/台词/要/丰富/-点/; /看/校服/就/知道/是仲国/的/动漫/,/果然/还是仲文/配音/比较/贴近
图4jieba分词对评论切分的效果图
(5)去除停用词
在很多评论数据中,会有很多毫无意义的各种符号,而且出现的频率很高,例如:好的、嗯嗯、但是、虽然等,将这些词称之为:停用词。在进行分析评论的过程中,这些停用词往往挖掘不出价值,反而还会影响分析结果的正确性。系统将会使用各类停用词处理词库进行去重操作,将影视评论数据中的这类词删除。
3.3.2情感分析过程
在系统情感分析的阶段可分成5个步骤,分别为:特征值的提取、特征降维、特征表示、划分训练数据和测试数据、构建情感分类器。
情感分类算法有K近邻算法、支持向量机、朴素贝叶等,采用的是SVM和KNN算法,分别使用两种算法构建分类器,来决定那种算法的预测准确率高。
(1)特征提取、降维
特征提取主要是对数据集中提出那些对分类识别最有用的特征,从而实现特征空间数据的压缩,获取一组错误率小的分类特征;特征降维:降低特征值的数量,提高算法的效率,在保证损失的数据尽快能的小的同时,将更高价值的数据特征提取出来,在本系统中将采用卡方统计的方法。
(2)划分训练集与测试集
在第一步之后,将评论数据划分成训练数据集和测试数据集,选取前250的评论数据作为测试数据集,剩余评论数据将作为训练数据集。训练数据集是对情感分类算法进行训练,使之得到情感分类器;测试数据集则是根据已经建立好的情感分类器对评论数据进行分类,从而获取分类器判断的准确率。
(3)分类算法构建分类器
情感分类模型建立的流程图,如图5情感分类过程所示。
图5情感分类模型建立的流程图
情感分类模型建立的算法有支持向量机(SVM)算法、K近邻算法、贝叶斯等,系统采用的是SVM算法构建分类模型。
SVM作为机器学习分类常用模型,在很多不同领域的数据集上都有不错的表现,文本分类也是其中一个领域遥SVM的核心是寻到能够正确划分数据不同类别并且使得不同类别之间几何间隔最大的分离超平面。
在训练数据中使用不同的分类算法构建情感分类器[4],使用测试数据来判断分类器判断的准确率,通过分类器去预测的准确率,然后通过准确率来选择最佳的分类算法,同时可以进一步调整特征数量来测试分类器的准确率,使之分类器的准确率更高。
通过朴素贝叶斯及支持向量机两种算法构建情感分(下转第141页
)
图形处理与多媒体技术
算法可捕获图序列数据类型的真实场景下的动态,包括潜伏的账户的异常。需要特别说明,这种建模的方法并不能取代人类专家智慧和相关应用领域的专业知识。如何有效在普惠金融下利用人工智能等机器学习工具进行反金融犯罪,保护金融安全是重要的研究课题。有关部门应该持续整治金融犯罪风险,严厉打击、非法融资等金融活动。
参考文献
[1]Pareja    A.,Domeniconi G.,Chen J.,Ma T.,Suzumura T.,
Kanezashi H.,Kaler T.,Schardl T.B.,and Leiserson C.E., 2020.EvolveGCN:Evolving Graph Convolutio
nal Net­works for Dynamic Graphs;City.In AAAI.5363-5370. [2]Li Y.,Sun Y.,and Contractor N.,2017.Graph mining as­
sisted semi-supervised learning for fraudulent cash-out detection.Proceedings of the2017IEEE/ACM Inter­
national Conference on Advances in Social Networks Analysis and Mining2017-ASONAM'17.546-553. [3]Wang H.,Bah M.J.,and Hammad M.,2019.Progress in
(上接第117页)
类模型,然后通过计算测试数据集的预测精度来验证分类器的准确率[5]。
通过以上分析,在本次实验中选取20%的数据作为测试集,80%的数据作为训练集,利用KNN和SVM分别建立的两种分类器对测试集进行验证,其预测准确率 如表1所示:
表1两种分类器的准确率
分类器准确率
朴素贝叶斯82%
支持向量机89%
从最终的结果得出,同一测试的数据,运用不同的情感分类模型,得出的准确率是不同的。通过表1所示,基于朴素贝叶斯的情感分析适合小规模的数据,在小规模数据方面有较好的分类效果。
4结语
分析了当前情感分析问题的现状,分析了系统的整个流程和结构,从通过Python网络爬虫获取数据,到对数据进行各种处理,最终建立情感分类模型,深入理解了情感分析的流程,特别是建立分类器,针对于不同的类型的评论数据,分类器的结果也有所不同。
Outlier Detection Techniques:A Survey,IEEE Access.
Vol.7:107964-108000.
[4]Weber M.,Domeniconi G.,Chen J.,Weidele D.K.I.,Bellei
C.,Robinson T.,and Leiserson    C.E.,2019.Anti-money
laundering in bitcoin:Experimenting with graph con­volutional networks for financial forensics,arXiv preprint arXiv:1908.02591.
[5]Wu Z.,Pan S.,Chen    F.,Long G.,Zhang C.,and Philip
S.Y.,2020.A comprehensive survey on graph neural networks,IEEE Transactions on Neural Networks and Learning Systems.
[6]Zhao Y.,Nasrullah Z.,and Li Z.,2019.Pyod:A python
toolbox for scalable outlier detection,arXiv preprint arXiv:1901.01588.
[7]麦庆达,黄小敏.区块链+分布式商业打破“数
据孤岛”的工程性研究[J].中国经贸导刊(中), 2020,(06).
参考文献
[1]李泽魁,赵妍妍,秦兵,刘挺.中文微博情感倾向
性分析特征工程[J].山西大学学报(自然科学版),2014,37(04):570-578.
[2]陈平平,耿笑冉,邹敏,谭定英.基于机器学习的
文本情感倾向性分析[J].计算机与现代化,2020,
(03):77-81+92.
⑶胡正雨.基于Python的网络爬虫技术研究[J].科
技风,2020,(20):102.
[4]胡梦雅,樊重俊,朱玥.基于机器学习的微博评论
情感分析[J].信息与电脑(理论版),2020,32
(12):71-7.
[5]葛霓琳,凡甲甲.基于朴素贝叶斯和支持向量机的
评论情感分析[J].计算机与数字工程,2020,48
(07):1700-1704.
[6]王宸东,郭渊博,甄帅辉,杨威超.网络资产探测技
术研究[J].计算机科学,2018,45(12):
24-31.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。