豆瓣电影短评:Scrapy 爬虫+数据清理/分析+构建中文文本情感分析模型

picture.image

向AI转型的程序员都关注了这个号 👇👇👇

机器学习AI算法工程 公众号:datayx

项目——豆瓣电影Top250的短评分析

Scrapy 爬虫 + 数据清理 + 数据分析 + 构建情感分析模型

  • 一、爬取豆瓣Top250的短评数据
  • movie_item
  • movie_comment
  • movie_people
  • 二、数据清理与特征工程+统计分析
  • 就肖申克的救赎这个电影而言
  • 全部影片的短评数据分析
  • 短评词云
  • 用朴素贝叶斯完成中文文本分类器
  • 用svc完成中文文本分类器
  • 用facebook-fasttext有监督完成中文文本分类
  • 用facebook-fasttext无监督学习
  • 用cnn做中文文本分类
  • 用rnn做中文文本分类
  • 用gru来完成中文文本分类
  • 总评分最高的前10部电影
  • 最受欢迎的电影类别排名
  • 最受欢迎的电影出品国家排名
  • 最受欢迎的电影导演排名
  • 最受欢迎的电影演员排名
  • 最受欢迎的电影语言排名
  • 根据电影时长的电影排名
  • 根据电影投票数的电影排名
  • 根据电影评价数的电影排名
  • 根据电影提问数的电影排名
  • 根据电影发布时间的规律
  • 1~5星级投票的百分比
  • 电影简介的情感分析
  • movie_item
  • movie_comment
  • movie_people
  1. 短评人常居地按照国家分布
  2. 中国短评人常居地按照省份分布
  3. 每个短评人的被关注数与好友数
  4. 中国短评人的被关注数和好友数的人均地域分布
  5. 根据点评人个人简介构建中文文本分类模型
  • 三、movie_item + movie_comment + movie_people
  • 三个数据集间的协同分析
  • 通过短评来预测被评价电影是什么类型
  • picture.image

代码及运行教程,数据集 获取:

关注微信公众号 datayx 然后回复
豆瓣 即可获取。

AI项目体验地址 https://loveai.tech

  • 项目要求:

  1. 爬取豆瓣Top250 or 最新电影(例如战狼2、敦刻尔克、蜘蛛侠、银魂)的短评数据,保证抓取尽量完整;

  2. 分析大家的短评用词,分析 总体/分词性 的核心词,通过可视化方式展示;

  3. 统计分析电影的打分分布状况、右侧有用的分布、点评量随时间的变化、点评人常居地的分布等,并用可视化的方式展示;

  4. 通过评分与短评数据,构建情感褒贬分析分类器,通过短评数据预测用户“喜欢”or“不喜欢”电影。

  • 项目总目标:
  • 尽可能完备的爬取与短评相关的信息,足够完备的给出所有分析。
  • 项目分步目标:
  • 爬取豆瓣Top250电影站点中三类数据:每个电影详情信息、每个电影的短评内容和每个短评背后点评人的个人信息。
  • 给每个数据集,分别完成统计分析、构建中文文本情感分析模型。
  • 三个数据集交叉的统计分析,并构建中文文本深度学习模型。
  • Idea:
  • 各个电影的信息与其所有短评之间的关联,如根据短评判断电影的是喜剧片还是犯罪片。

  • 各个点评人的信息与其所发出的所有短评之间的关联,如通过短评判断点评人的常居地。

  • 构造模型,给定某电影信息和点评人信息,推断其会如何短评。

  • 250电影的纵向对比:最受欢迎(前10)的电影(根据豆瓣?总评分?)/电影类别(按出现频次)/导演(按出现频次)/演员(按出现频次)/语言(按出现频次,可以对其根据**分类?)/出品国家(按出现频次,可以对其根据大洲分类)/电影时长(按出现频次,可以对其分段,看不同段的直方图);所有电影的发布时间分布,以观察什么年代的电影最受欢迎(可以对其分段);在发布时间基础上,对比总评分/评价数/提问数的分布;以及,上述三者之间的分布依赖关系。从电影简介中分析情感关键词,看其与电影类别的关联、与导演的性格关联、与演员的关联。

  • 所有短评的统计分析:对每个电影爬取的短评量大致分布均匀;取前10电影,分别观察,短评喜欢和不喜欢为label构建模型。

  • 对点评人的常居地可视化;查看活跃的点评人(高关注数和好友数)的地理分布;点评人的个人简介中蕴含的特征词信息与地域的分布。

  • 对每个数据集单独做一个统计分析:

  • 多个数据集综合分析:

效果展示

我们会发现电影评价数和电影的投票数是极强相关的,pearsonr系数达到了0.9:

picture.image

根据电影发布时间的规律

将所有Top电影按照发布时间排序后,我们可以对比观察到Top好电影大多集中在90年代之后。每部电影的投票数也与之基本正相关,主要对90年代以来的电影尤为青睐和关注。

picture.image

1~5星级投票的百分比

最后就只剩下给分星级所占比例的分析了,我们根据核密度估计绘制1-5星所占百分比的分布曲线

picture.image

picture.image

上图是各省份人均被关注数的分布情况,常居北京的最容易收到最多的关注,而紧随其后的常居地都是典型的旅游型省份:新疆、国外、云南、西藏。一方面来看,前段时间刚从新疆旅行回来,那边的生活水平还是不错的,网络社交活动比较活跃也可以理解;另一方面,我猜测是一些点评人为了社交的便利或给自己增添一些异域风情,而胡乱写的常居地,以此增加自己的被关注数。

虽然大部分人并不热衷于写短评,但是还是可以发现有相当一部分人简直就是“短评小王子”,居然在Top250电影中留下过上百的评论。

picture.image

根据短评文本生成该电影短评的词云:

picture.image


阅读过本文的人还看了以下文章:

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

搜索公众号添加: datayx

picture.image


机大数据技术与机器学习工程

搜索公众号添加: datanlp

picture.image

长按图片,识别二维码

0
0
0
0
评论
未登录
暂无评论