/WeiboSentiment

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

Primary LanguageJupyter Notebook

WeiboSentiment

用各种机器学习对中文微博进行情感分析
语料来源: https://github.com/dengxiuqi/weibo2018

"微博情感分析"是我本科的毕业设计, 也是我入门NLP的项目, 就把它发出来供大家交流。
2021.06.07更新: 之前的版本写得比较随意, 没想到star破百了, 私下也有一些刚入门NLP的同学因为这个项目联系我, 就更新一下这个项目吧
  • 重构项目架构和代码, 提高可读性
  • 每个文件中的特征、数据处理方法与模型细节都尽可能避免重复, 以给各位同学提供更多的参考
  • 神经网络结构换成了pytorch, 需要tensorflow 1.0代码的同学请回退至445998版本。
  • 新增了Bert模型
  • 由于gensim新老版本很多语法不兼容, 将gensim更新为4.0版本

项目说明

  • 训练集10000条语料, 测试集500条语料
  • 使用朴素贝叶斯、SVM、XGBoost、LSTM和Bert, 等多种模型搭建并训练二分类模型
  • 前3个模型都采用端到端的训练方法
  • LSTM先预训练得到Word2Vec词向量, 在训练神经网络
  • Bert使用的是哈工大的预训练模型, 用Bert的[CLS]位输出在一个下游网络上进行finetune。预训练模型需要自行下载:

实验结果

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

模型 准确率 AUC
1.bayes 0.856 -
2.svm 0.856 -
3.xgboost 0.86 0.904
4.lstm 0.87 0.931
5.bert 0.87 0.929