当前位置:   article > 正文

毕设项目分享 基于各种机器学习和深度学习的中文微博情感分析_选择一种机器学习方法对中文微博进行情感分类

选择一种机器学习方法对中文微博进行情感分类


前言

基于各种机器学习和深度学习的中文微博情感分析

提示:适合用于课程设计或毕业设计,工作量达标,源码开放


项目介绍

1、用FastText在语料库上训练并生成词向量, 该任务语料库较小, 用fastText可以增加n-gram特征,比传统word2vec要好

2、训练集10000条语料, 测试集500条语料

3、分别用SVM, Bayes, DNN, LSTM, Attention+BiLSTM, XGBoost等多种模型搭建并训练正负情感二分类器

  • SVM其实不太适合做NLP,只是当年我还很菜所以选了SVM
  • Bayes速度快,效果好。可能是因为该任务语料规模较小,在大规模语料任务上性能会下降,而且磁带模型丢失了语序信息,可拓展性不强
  • DNN效果不好,不过现在也很少有直接用DNN做NLP的,所以这里仅作为从机器学习到深度学习的过渡模型了
  • LSTM用到了上游训练的FastText词向量,并且考虑了语序信息, 效果有明显提升
  • Attention+BiLSTM效果很好,但相比纯LSTM提升没那么明显,主要是因为该任务相对简单且语料少。迁移至更复杂任务后注意力的强大会越来越明显
  • XGBoost真是机器学习界的一大杀器, 在这种简单的NLP任务上真是又快又好

4、对不同话题下的100条微博进行简单的舆情分析(正负情感微博比例)

实验结果

各种分类器在测试集上的测试结果

在这里插入图片描述

舆情分析

在这里插入图片描述

工程结构

WeiboSentiment   
├── 00.FastText.ipynb `生成FastText词向量`  
├── 01.SVM.ipynb `SVM分类器`  
├── 02.Bayes.ipynb `朴素贝叶斯`  
├── 03.DNN.ipynb `神经网络分类器`  
├── 04.LSTM.ipynb `LSTM分类器`  
├── 05.Attention+BiLSTM.ipynb `Attention+BiLSTM分类器`  
├── 06.XGBoost.ipynb `XGBoost分类器`   
├── SentimentAnlysis.ipynb `验证集分析`  
├── stopwords.txt `停用词典`      
├── utils.py  `工具函数`  
├── model `各种模型`   
│  ├── model_100.txt `维度为100FastText词向量`   
│  ├── attention `Attention+LSTM模型`   
│  ├── lstm `LSTM模型`    
│  └── nn `神经网络模型`   
└── weibo2018 `微博语料数据`   
   ├── topics `未标注情感的不同主题微博语料`   
   ├── train.txt `训练集`   
   └── test.txt `测试集`  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

项目分享 :
https://gitee.com/asoonis/htw

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/624097
推荐阅读
相关标签
  

闽ICP备14008679号