赞
踩
1.Imdb数据集情感分析之离散贝叶斯
2.Imdb数据集情感分析之LSTM长短期记忆
3.Imdb数据集情感分析之卷积神经网络-TextCNN
4.Imdb数据集情感分析之BERT
5.Imdb数据集情感分析之Transformer
6.Imdb数据集情感分析之LSTM+Attention
算法 | 权重大小 | 测试集上准确率 |
---|---|---|
离散贝叶斯(MultinomialNB) Count Vectorizer | 938 KB | 准确率: 84.326667% |
离散贝叶斯(MultinomialNB) Tfidf Vectorizerr | 938 KB | 准确率: 85.893333% |
Text CNN | 5.83 MB | 准确率:86.75333% |
LSTM | 6.08 MB | 准确率: 89.83333% |
Bi-directional LSTM | 6.44 MB (6,754,304 字节) | 准确率: 89.21% |
GRU | 6.00 MB (6,295,552 字节) | 准确率: 90.353334% |
Bi-directional GRU | 6.26 MB (6,574,080 字节) | 准确率: 89.88% |
LSTM +Attention | 6.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。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。