- 使用pytorch进行完成,python依赖都在requirement.txt中。
- 由于GoogleNews-vectors-negative300.bin太大,未上传,如需要自行下载放入data文件夹中。
- 训练后的模型存入了checkpoints文件夹中。
python main.py train --batch-size=100 --plot-every=200
python main.py test --model-path="checkpoints/_9.pth"
测试结果存入submission.csv文件中。该任务是一个情感分类任务,共分为五类。
name | function |
---|---|
main.py | 调用模型进行训练 |
model.py | CNN或RNN模型 |
data.py | 加载数据 |
utils.py | 可视化工具 |
这里只使用了torch自带的LSTM进行了简单的训练。
采用kaggle的数据Sentiment Analysis on Movie Reviews
实现Continuous BOW模型、CNN、RNN的文本分类,并进行效果对比。
词用embedding的方式初始化:
- 随机embedding的方式
- 使用word2vec等工具训练出来的文本进行初始化
使用google训练好的GoogleNews-vectors-negative300来进行初始化,并将weight赋给 nn.embedding使用。
没有对停用词进行处理,未对词干进行处理,一些没用的 而且是在word级别上进行的分类,可以尝试phrase级别。
没有使用防止过拟合的策略,仅仅跑了几个epoch而已,准确率不会太高。