基于TextRank与情感分析的电影多维度评判

1. 数据获取及预处理

1.1 数据来源

使用爬虫的数据挖掘手段对有关《流浪地球》的相关文本评论进行收集,包括豆瓣电影短评、新闻与微博相关电影评论。

电影评论数据收集:   使用了selenium库以尽量避免遭到限制,利用当前目录下有谷歌浏览器的webdriver进行登录与爬取,爬取的影评数据包括: MTime时光网影评短评 (包括最新与最热)共计约540条,豆瓣短评 (包括最新与最热)共计600条,豆瓣长影评爬取了标题与简单文章内容截取共计18940条。其中鉴于豆瓣短评受限仅能看到部分页评论因此额外爬取了时光网短评以作弥补。同时在新浪微博,爬取关于流浪地球电影热门微博下的评论,和流浪地球上映三个月内流浪地球话题下的原创微博。

电影新闻数据收集:   使用了相似的方法爬取了有关于流浪地球的新闻报道约三百余条,每条按照固定格式进行命名并且对具体新闻的报道进行了保存。

1.2 数据说明

  • MTime.csv 时光网影评短评(包括最新和最热),共540条记录

数据各字段描述- text:短评文本内容

  • douban_duanping.csv 豆瓣短评(包括最新和最热),共600条记录

数据各字段描述- text:短评文本内容

  • douban_changping.csv 豆瓣影评 , 共18940条记录

数据各字段描述- title:影评标题;text:影评文本内容

  • xinlang.csv 新浪娱乐相关新闻 , 共308条记录

数据各字段描述- title:短评标题;

  • weibo_comment.csv:关于流浪地球电影热门微博下评论 共5000条

数据各字段描述- time:发布时间;text:评论文本内容;uid:用户id;like_count:获得点赞数;username:用户名;following:关注数;followed:粉丝数;gender:性别

  • weibo_topic.csv:流浪地球上映三个月内流浪地球话题下的原创微博,共3000条

数据各字段描述- 微博id;发布者姓名;发布者性别;发布者地区;发布者关注数;发布者粉丝数;微博正文;原始图片url;发布位置;发布时间;发布工具;点赞数;转发数;评论数;

1.3 数据预处理

对豆瓣评论数据,合并长短评并删除空评论、 对新浪娱乐相关新闻数据,删除仅含有标题的新闻和过短的新闻后。 对新浪微博评论数量合并并删除空评论和部分无意义评论。

对空值和无意义数据进行数据预处理之后,将所有评论/新闻放在一个txt中,一行是一条评论/新闻。

2. 数据分析与可视化

此处选取处理后的weibo_topic数据进行分析。处理后共2044条记录,

axQ5k3T.png

其中女性用户评论有1211条 男性用户评论有833条

Zh0F25N.png

3. 模型选取

3.1 模型

  • word2vec模型 word2vec是google开源的一款用于词向量计算的工具,也是一种语言算法模型。通过使用word2vec模型,可用高维向量表示词语,建立词向量和索引表。
  • LSTM模型 LSTM(Long-Short Term Memory,长短期记忆人工神经网络)是一种特定的循环神经网络,具有较好的处理长序列数据的能力。将一个句子中的词向量输入到LSTM神经网络中,可用于判断句子的情感极性,分析大众的评论是好评或是差评。 本实验使用word2vec将词语转化为高维向量后,输入到LSTM中,LSTM 输出长度为50向量,3个单元全连接层+softmax层输出结果.

3.2 其他重要算法

  • TextRank算法 TextRank算法是一种抽取式的无监督的文本摘要方法。用于为文本生成关键字和摘要,本实验通过使用TextRank算法完成词频分析与关键词统计,并基于TextRank算法对爬取的新闻进行重要性排序,得到电影从放映前到放映后的事件脉络。
  • Apriori算法 Apriori算法是种挖掘关联规则的频繁项集算法,通过使用Apriori,获取频繁模式及关联规则。

4. 挖掘实验的结果

  • 电影上映前后时间脉络(部分截图)

    vKsfxik.png

    be19s1J.png

  • 情感分析

    • LSTM模型训练截图

    2jI9HXL.png

    • LSTM模型测试截图

    wcRi2RQ.png

    • 大众评论情感分析

    jOzSli1.png

  • 频繁模式挖掘(部分截图)

eTZshZy.png

5. 存在的问题

情感分析中LSTM对短评论效果不好,故微博情感分析采用基于哈工大ltp的语义情感分析。

根据关键词进行挖掘的频繁项集和关联模式时,相同词语的频率过于低。

6. 下一步工作

 对算法进行进一步完善和补充,完成结果分析和可视化。

7. 任务分配与完成情况

  • 项目设计(完成): 吴嘉豪 、刘金田
  • 数据收集(完成): 孙玥、吴嘉豪、刘金田
  • 数据处理(完成):刘金田、易鑫
  • 算法实现(基本完成): 刘金田、吴嘉豪、易鑫
  • 文档编写(部分完成):孙玥、吴嘉豪、李祥潮
  • 可视化(待完成):刘金田、李祥潮