豆瓣电影短评:Scrapy 爬虫+数据清理/分析+构建中文文本情感分析模型
向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
短评人常居地按照国家分布
中国短评人常居地按照省份分布
每个短评人的被关注数与好友数
中国短评人的被关注数和好友数的人均地域分布
根据点评人个人简介构建中文文本分类模型
三、movie_item + movie_comment + movie_people
三个数据集间的协同分析
通过短评来预测被评价电影是什么类型
代码及运行教程,数据集 获取:
关注微信公众号 datayx 然后回复 豆瓣 即可获取。
AI项目体验地址 https://loveai.tech
项目要求:
爬取豆瓣Top250 or 最新电影(例如战狼2、敦刻尔克、蜘蛛侠、银魂)的短评数据,保证抓取尽量完整;
分析大家的短评用词,分析 总体/分词性 的核心词,通过可视化方式展示;
统计分析电影的打分分布状况、右侧有用的分布、点评量随时间的变化、点评人常居地的分布等,并用可视化的方式展示;
通过评分与短评数据,构建情感褒贬分析分类器,通过短评数据预测用户“喜欢”or“不喜欢”电影。
项目总目标:
尽可能完备的爬取与短评相关的信息,足够完备的给出所有分析。
项目分步目标:
爬取豆瓣Top250电影站点中三类数据:每个电影详情信息、每个电影的短评内容和每个短评背后点评人的个人信息。
给每个数据集,分别完成统计分析、构建中文文本情感分析模型。
三个数据集交叉的统计分析,并构建中文文本深度学习模型。
Idea:
各个电影的信息与其所有短评之间的关联,如根据短评判断电影的是喜剧片还是犯罪片。
各个点评人的信息与其所发出的所有短评之间的关联,如通过短评判断点评人的常居地。
构造模型,给定某电影信息和点评人信息,推断其会如何短评。
250电影的纵向对比:最受欢迎(前10)的电影(根据豆瓣?总评分?)/电影类别(按出现频次)/导演(按出现频次)/演员(按出现频次)/语言(按出现频次,可以对其根据**分类?)/出品国家(按出现频次,可以对其根据大洲分类)/电影时长(按出现频次,可以对其分段,看不同段的直方图);所有电影的发布时间分布,以观察什么年代的电影最受欢迎(可以对其分段);在发布时间基础上,对比总评分/评价数/提问数的分布;以及,上述三者之间的分布依赖关系。从电影简介中分析情感关键词,看其与电影类别的关联、与导演的性格关联、与演员的关联。
所有短评的统计分析:对每个电影爬取的短评量大致分布均匀;取前10电影,分别观察,短评喜欢和不喜欢为label构建模型。
对点评人的常居地可视化;查看活跃的点评人(高关注数和好友数)的地理分布;点评人的个人简介中蕴含的特征词信息与地域的分布。
对每个数据集单独做一个统计分析:
多个数据集综合分析:
效果展示
我们会发现电影评价数和电影的投票数是极强相关的,pearsonr系数达到了0.9:
根据电影发布时间的规律
将所有Top电影按照发布时间排序后,我们可以对比观察到Top好电影大多集中在90年代之后。每部电影的投票数也与之基本正相关,主要对90年代以来的电影尤为青睐和关注。
1~5星级投票的百分比
最后就只剩下给分星级所占比例的分析了,我们根据核密度估计绘制1-5星所占百分比的分布曲线
上图是各省份人均被关注数的分布情况,常居北京的最容易收到最多的关注,而紧随其后的常居地都是典型的旅游型省份:新疆、国外、云南、西藏。一方面来看,前段时间刚从新疆旅行回来,那边的生活水平还是不错的,网络社交活动比较活跃也可以理解;另一方面,我猜测是一些点评人为了社交的便利或给自己增添一些异域风情,而胡乱写的常居地,以此增加自己的被关注数。
虽然大部分人并不热衷于写短评,但是还是可以发现有相当一部分人简直就是“短评小王子”,居然在Top250电影中留下过上百的评论。
根据短评文本生成该电影短评的词云:
阅读过本文的人还看了以下文章:
基于40万表格数据集TableBank,用MaskRCNN做表格检测
《深度学习入门:基于Python的理论与实现》高清中文PDF+源码
2019最新《PyTorch自然语言处理》英、中文版PDF+源码
《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码
PyTorch深度学习快速实战入门《pytorch-handbook》
【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》
李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材
【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类
如何利用全新的决策树集成级联结构gcForest做特征工程并打分?
Machine Learning Yearning 中文翻译稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加: datayx
机大数据技术与机器学习工程
搜索公众号添加: datanlp
长按图片,识别二维码