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

机器学习AI算法工程 2020-10-17 17:16





向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

    • 三个数据集间的协同分析

    • 通过短评来预测被评价电影是什么类型



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

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

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



    • 项目要求:

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

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

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

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


      • 项目总目标:

        • 尽可能完备的爬取与短评相关的信息,足够完备的给出所有分析。

      • 项目分步目标:

        • 爬取豆瓣Top250电影站点中三类数据:每个电影详情信息、每个电影的短评内容和每个短评背后点评人的个人信息。

        • 给每个数据集,分别完成统计分析、构建中文文本情感分析模型。

        • 三个数据集交叉的统计分析,并构建中文文本深度学习模型。

      • Idea:

        • 各个电影的信息与其所有短评之间的关联,如根据短评判断电影的是喜剧片还是犯罪片。

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

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

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

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

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

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

        • 多个数据集综合分析:


      效果展示


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


      根据电影发布时间的规律

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



      1~5星级投票的百分比

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


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



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



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




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


      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  



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

       搜索公众号添加: datanlp

      长按图片,识别二维码

      推荐阅读