基于电影评论数据的中文情感分析(含训练数据、验证数据) ,已实现NN(MLP)、CNN、LSTM方法
完整代码下载地址:基于电影评论数据的中文情感分析(含训练数据、验证数据)
基于电影评论数据的中文情感分析
1).数据集
 使用电影评论数据作为训练数据集. 其中, 训练数据集20000条(正负向各10000条); 测试数据集6000条(正负向各3000条)
2).数据预处理
 1.去除停用词, 并使用jieba进行分词
 2.使用预训练的词向量模型,对句子进行向量化
2. 各种实现方法准确率对比
| Algorithm | Accuracy(avg) | Accuracy(fasttext) | Accuracy(matrix) | 说明 | 
|---|---|---|---|---|
| Naive-Bayes | 73.72% | 74.32% | 69.34%(拼接和补齐) | / | 
| Decision-Tree | 65.27% | 66.84% | 55.34%(拼接和补齐) | / | 
| KNN | 76.69%({‘n_neighbors’: 19}) | 77.43%({‘n_neighbors’: 17}) | /(拼接和补齐) | 使用GridSearchCV进行参数选择 | 
| SVM | 79.29%({‘C’: 1000, ‘gamma’: 0.001, ‘kernel’: ‘rbf’}) | 78.93%({‘C’: 1000, ‘kernel’: ‘linear’}) | /(拼接和补齐) | 使用GridSearchCV进行参数选择 | 
| NN(MLP) | 80.24% | 80.41% | / | 采用EarlyStopping, ModelCheckpoint, ReduceLROnPlateau | 
| CNN | / | / | 81.34% | 采用EarlyStopping, ModelCheckpoint, ReduceLROnPlateau | 
| LSTM | 78.76% | 77.26% | 84.06% | 采用EarlyStopping, ModelCheckpoint, ReduceLROnPlateau | 
3. 各种实现方法acc-loss曲线绘制
1).NN(MLP)实现方法结果绘制:
 使用词向量和的平均表示句子:
 
使用fasttext.get_numpy_sentence_vector()词向量表示句子:
 
2).CNN实现方法结果绘制:
 使用fasttext.get_numpy_vector()词向量组成的矩阵表示句子:
 
3).LSTM实现方法结果绘制:
 使用词向量和的平均表示句子:
 
使用fasttext.get_numpy_sentence_vector()词向量表示句子:
 
使用fasttext.get_numpy_vector()词向量组成的矩阵表示句子:
 
 完整代码下载地址:基于电影评论数据的中文情感分析(含训练数据、验证数据)



















