基于文本挖掘的电影评论情感分析研究
来源:(牡丹江师范学院 计算机与信息技术学院,黑龙江 牡丹江 157011 )
原标题:基于文本挖掘的电影评论情感分析研究
摘 要:基于文本挖掘技术对电影评论进行深层数据分析.爬取电影网站短评,利用 TF-IDF进行高频词可视化,对评论进行情感倾向分析.利用贝叶斯分类器将电影短评分为好评集和差评集,得出好评与差评集的主题词概率,找出影评大数据背后隐含的深层信息.
关键词:电影评论;情感分析;机器学习; LDA
电影评论中隐含着关于电影真实评价的重要信息,这为电影业的进步提供了大众的评审意见.互联网上电影的观影者通常会写下对电影的真实感受,其他观影者通过查看电影评论了解该电影,并选择是否观看.随着影评的增多和信息的更迭,评论区数据通过Ajax动态加载,页面最多显示20余条评论信息,其他观影者仅能查看有限的评论数据,无法整体把握评论风向.笔者利用文本挖掘技术对电影网站短评进行爬取,利用机器学习算法实现对电影评论的情感分析,找出影评大数据背后隐含的深层信息,实现客观整体评价电影.
1 研究框架和数据采集清洗
1.1 研究框架
爬取某电影的评论数据,对评论文本进行预处理:数据清洗、降噪及文本分词.一是描述性分析,通过计算高频词汇,反映影评的评论热点.二是情感分析,将评论文本向量化;采用有监督学习的朴素贝叶斯分类方法,找到好评和差评集合;用 LDA 主题模型分别对好评和差评集进行分析,找到最大概率主题词;结合描述性分析和情感分析结果找到海量大数据背景下有参考价值的评论信息.
1.2 数据来源
1.3 数据预处理
数据的预处理去除不完整的、不一致的数据,排除低质量的数据.如每条数据内容5个维度,单个数据遗漏一个或者多个既做去除处理.读取爬取数据信息,根据属性切片、筛选,将筛选后的属性值存入新的字典中汇总.本文采用 jieba分词法对评论内容进行中文分词,将评论语句分为单独词汇.评论中的语气词出现频率很高,没有实际意义,对此类词语进行过滤.
2 评论文本描述性分析
2.1 基于 TF-IDF计算高频词
统计一元和二元词频确定高频词汇.利用TF-IDF对电影评论分词进行一元和二元计数得到高频词汇top20及权重,见表1.
2.2 评论描述可视化
基于 Pyecharts库实现电影评论描述性可视化 . 以《复仇者联盟 4 》为例,饼状图可以直观反
映评分星级占比(图1 ),词云图可以直观地突出文本数据中频率较高的关键词,形成“关键词的渲染”(图2 ) .
3 电影评论情感倾向分析
电影评论文本的描述性分析能够在一定程度上对电影评价进行描述,但不能理解评论背后所表达的情感倾向.为了理解电影评论文本的深层语义,需要对电影评论进行情感分析.利用机器学习算法判断评论所表达的情感为正面还是负面,尝试找到评论背后议论的主题.
3.1 评论文字向量化表示
采用Word2vec技术将文本词转换为词向量,采用 CBOW 模型,利用上下文信息
预测 . 输入层输入上下文的词向量,输出层计算出概率最高的词向量,模型如图3所示.利用 python 的 Gensim 包进行词向量提取 .
3.2 基于朴素贝叶斯情感倾向分类
朴素贝叶斯可应用于向量化后的分类并取得较好的效果
其中,p(cj)为cj的先验概率,为某一类别占所有类别的比例;p(xi|cj)为后验概率,为某一类别特征向量在第 n 个维度下的特征向量 x i 出现的次数 q 与样本 Q 的比例.将电影评论分为两类,即正面评价和负面评价两类.正面评价用1 ,负面评价用0.用朴素贝叶斯分类收集标注好的词语作为训练集或进行二次人工标注 .
计实际数据,评价分类效果.笔者从网络上搜集到对该电影的正面评论数据2012条,负面评论1200条,作为训练集.实验结果表明,正面评价913条,占比76% ;负面评价287条,占比23%.正面评价中,正确分类823条,错误分类90条.负面评价中,正确分类259条,错误分类38条.根据混淆矩阵计算 ,准确率为90% ,精准率95% ,召回率90% ,平衡点92%.由于对测试语句的评价指标良好.本文用训练后的分类器对电影评论进行分类,得到正面和负面两个分类文档:“好评集.txt ”和“差评集.txt ”
3.3 基于 LDA 的主题分析
3.3.1 利用 LDA 模型 计算围绕主题的关键词概率
(1 )输入文档集 W ,对文档集的文档 m 确定其 N m ;
(2 )从多项式分布 Q M 中取样生成文档 m 的第 n 个主题词 z m ;
(3 )从Direchlet分布的 k 中取样生成主题词z m 的词语分布;
(4 )从词语的多项式分布 G m 中采样得到最终的主题词;
(5 )参数的估计采用Gibbs采样.概率值计算公式:
选取最大概率词作为主题词,通过统计词频对参数进行评估———下一个词主题条件概率的
计算.
3.3.2 实验结果分析
对好评集和差评集进行LDA主题分析.设置Gibbs抽样迭代次数为1000.好评集的主题 K 取值分别为5 , 25 , 125 ;差评集的主题 K 取值为5 ,20 , 80 ;根据不同的主题数分别进行SC分析提取主题 .好评主题数为125 ,差评主题数为50 ,详见表2.结果显示,该电影正面评论较多,观影者对电影总体满意.正面评论的主题词推测结果显示,好看和吸引观影者的地方在于特效和英雄,给观影者印象最深的部分是特效、英雄背后的情怀和满满的回忆.观影者还关注电影里面的英雄人物,例如队长、雷神等人物的塑造.负面评论主题词推测结果显示,部分观影者认为该电影一般.从主题词来看,剧情一般,缺少起伏,过多回顾,动作制作也一般.观影者对于结局和反派都有不满意,对于英雄的人设有崩塌,对反派也较为失望.
4 总结
本文将文本挖掘技术和机器学习算法运用到电影评论分析上,通过描述性分析和情感倾向分析两个层面试图找到用户评论背后隐藏的有用信息 . 在描述性分析上采用计算高频词概率并生成图云的方式,直观可视化表达.在情感分析层面将评论文本向量化,利用朴素贝叶斯分类法分类,找到高概率主题词,分析指定电影的优缺点,进行深层主题挖掘 . 在大数据背景下对观影者评论进行深层分析,有利于客观整体评价电影,有利于反映观影者真实感受,有利于其他观影者对是否观看该电影进行决策,有一定的实践意义。
科研数据:
学习资料: