豆瓣影评情感分析
所属分类:人工智能/神经网络/深度学习
开发工具:Python
文件大小:5825KB
下载次数:3
上传日期:2020-11-30 13:54:59
上 传 者:
hn-np
说明: 贝叶斯分类器构建网络,对豆瓣进行情感分析;TF-IDF
(Using Bayesian classifier to construct network to analyze the emotion of Douban; TF-IDF)
文件列表:
豆瓣影评情感分析 (0, 2020-10-14)
豆瓣影评情感分析\data (0, 2020-10-13)
豆瓣影评情感分析\data\bayes.pkl (5480574, 2020-10-14)
豆瓣影评情感分析\data\review.csv (7416382, 2019-09-12)
豆瓣影评情感分析\data\stopwords.txt (9129, 2019-09-12)
豆瓣影评情感分析\data\userdict.txt (703, 2019-09-12)
豆瓣影评情感分析\MNB.py (6595, 2020-10-14)
豆瓣影评情感分析\native_bayes.ipynb (4857, 2019-09-12)
豆瓣影评情感分析\native_bayes_sentiment_analyzer.py (2385, 2020-10-14)
豆瓣影评情感分析\native_bayes_test.py (3196, 2019-09-12)
豆瓣影评情感分析\native_bayes_train.py (2627, 2020-10-13)
豆瓣影评情感分析\run_test.py (661, 2019-09-12)
豆瓣影评情感分析\__pycache__ (0, 2020-10-14)
豆瓣影评情感分析\__pycache__\native_bayes_sentiment_analyzer.cpython-37.pyc (2934, 2020-10-14)
# douban_sentiment_analysis
基于朴素贝叶斯实现的豆瓣影评情感分析
语料来自与豆瓣Top250排行榜中的影评,基于Scrapy抓取,大约5w条影评,好评差评各占50%。
豆瓣影评爬虫
训练集与测试集4:1,结果准确率约为80%-79%之间。
因为电影评论中有很大一部分好评中会有负面情感的词语,例如在纪录片《海豚湾》
> 我觉得大部分看本片会有感的人,都不知道,中国的白暨豚已经灭绝8年了,也不会知道,长江里的江豚也仅剩1000左右了。与其感慨,咒骂日本人如何捕杀海豚,不如做些实际的事情,保护一下长江里的江豚吧,没几年,也将绝迹了。中国人做出来的事情,也不会比小日本好到哪儿去。
所以说如果将这种类似的好评去除,则可以提高准确率。
```bash
// 测试训练
python native_bayes_test.py
Building prefix dict from the default dictionary ...
Loading model from cache /tmp/jieba.cache
Loading model cost 0.572 seconds.
Prefix dict has been built succesfully.
训练集数量: 40906
测试集数量: 10226
测试集准确率: 0.8043380027112517
// 训练模型
python native_bayes_train.py
Building prefix dict from the default dictionary ...
Loading model from cache /tmp/jieba.cache
Loading model cost 0.570 seconds.
Prefix dict has been built succesfully.
训练集数量: 40906
测试集数量: 10226
训练完成
```
#### Example
```Python
from native_bayes_sentiment_analyzer import SentimentAnalyzer
model_path = './data/bayes.pkl'
userdict_path = './data/userdict.txt'
stopword_path = './data/stopwords.txt'
corpus_path = './data/review.csv'
text = '倍感失望的一部诺兰的电影,感觉更像是盗梦帮的一场大杂烩。虽然看之前就知道肯定是一部无法超越前传2的蝙蝠狭,但真心没想到能差到这个地步。节奏的把控的失误和角色的定位模糊绝对是整部影片的硬伤。'
# 初始化分析器实例
analyzer = SentimentAnalyzer(model_path=model_path, stopword_path=stopword_path, userdict_path=userdict_path)
analyzer.analyze(text=text)
## 好评: 0.738 差评: 0.262
```
近期下载者:
相关文件:
收藏者: