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。预训练模型需要自行下载:- github下载地址: https://github.com/ymcui/Chinese-BERT-wwm
- baidu网盘: https://pan.baidu.com/s/16z-ybrqT6wLdy_mLHtywSw 密码: djkj
- 下载后将文件夹放在
./model
文件夹下, 并将bert_config.json
改名为config.json
实验结果
各种分类器在测试集上的测试结果
模型 | 准确率 | 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 |