当前位置:   article > 正文

[深度学习-NLP]Imdb数据集情感分析之模型对比(贝叶斯, LSTM, GRU, TextCNN, Transformer, BERT)_中文情感分类lstm和textcnn效果对比

中文情感分类lstm和textcnn效果对比

一,详细原理以及代码请看下面博客

1.Imdb数据集情感分析之离散贝叶斯
2.Imdb数据集情感分析之LSTM长短期记忆
3.Imdb数据集情感分析之卷积神经网络-TextCNN
4.Imdb数据集情感分析之BERT
5.Imdb数据集情感分析之Transformer
6.Imdb数据集情感分析之LSTM+Attention

二,贝叶斯, LSTM和TextCNN算法在文本情感分析上对比

算法权重大小测试集上准确率
离散贝叶斯(MultinomialNB) Count Vectorizer938 KB准确率: 84.326667%
离散贝叶斯(MultinomialNB) Tfidf Vectorizerr938 KB准确率: 85.893333%
Text CNN5.83 MB准确率:86.75333%
LSTM6.08 MB准确率: 89.83333%
Bi-directional LSTM6.44 MB (6,754,304 字节)准确率: 89.21%
GRU6.00 MB (6,295,552 字节)准确率: 90.353334%
Bi-directional GRU6.26 MB (6,574,080 字节)准确率: 89.88%
LSTM +Attention6.57 MB准确率: 90,78%
BERT–(HuggingFace)417 MB准确率: 91.46%
BERT–(TF公开的Bert代码修改)准确率: 92.24%

三,总结

离散贝叶斯是基于词与词是相互独立的,没有联系的,单是往往它们是有联系的,就比如说“明天是星期一,我要去学校”这句话,如果是按照朴素贝叶斯算法的考量,则认为“我”,“星期一”,“学校”这三个词语之间是没有联系即相互独立的,但是在现实世界中很显然这三个单词之间是有很大联系的。

Text CNN 卷积神经网络是利用固定大小的核,比如我的例子是用三个核(3, 50),(4, 50),(5, 50),但是如果一个字的上下文依赖很远,那么就很难训练到它们的关系了。理论上CNN是可以通过加多的隐层达到RNN一样的效果-解决长期依赖的问题。但是我的这里例子CNN比RNN差一点。还有CNN是可以并行的,单是RNN不能并行的

LSTM和GRU是RNN的改进版,一定程度上规避了RNN的梯度消失的问题。理论上,它可以训练到词与词之间,句子与句子之间上下文的潜在的联系。一定要加dropout,加了之后就会提高3个百分点。

双向LSTM与双向GRU在这个数据集上没有什么效果。相比与BERT, 它的双向其实是弱一点。

BERT是效果最好的, 第一个epoch就已经是90.78%,后面的epoch有点过拟合了,整个训练过程超级好资源,最好用GPU.不然要用一整天才能执行一个epoch。

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

闽ICP备14008679号