Kaggle感情分析(Bag of Words Meets Bags of Popcorn)

2196 ワード

Kaggleには2つの感情分析の任務があり、これはそのうちの1つのBag of Words Meets Bags of Popcornである.任務は終わったが、まだ研究の意義がある.https://www.kaggle.com/c/word2vec-nlp-tutorial/dataこれはWord 2 vecの能力を誇示するコンテストですが、word 2 vecを使わない人もいます.このBlogは簡単なTDFをFeatureとして書き,簡単なM‐Bayesian法で分類した.http://nbviewer.ipython.org/github/jmsteinw/Notebooks/blob/master/NLP_Movies.ipynb
1ロードデータのテストtest1.pyはこのBlogのコードを基本的にコピーし、20個のCrossValidationの正解率は0.949631168である.
2 LSTMベースのモデルを書く
文章をword sequenceに変換し、各wordをベクトルにマッピングし、LSTMでClassificationを直接行います.1_mr_lstm.pyはLSTMの最後の出力のみを使用します.
(‘Train ‘, 0.31977043441405351, ‘Valid ‘, 0.40485674490569001) 2_mr_lstm.py LSTMでsequenceのmeanを出力:
best Train 0.500157513046 best Test 0.504475696675は完全にrandomです.
3 CNNを使った記事を読む
現在のモデルとこの文の違いはWord 2 vecでTrainingしていないことです.このモデルを実現する.Word 2 vecも使用してInitial Embeddingします.5_mr_cnn.py明らかなOverfit(‘Train’,0.0,‘Valid’,0.105999999999999999998)best Train 0.0 best Test 0.104 The code run for 100 epochs,with 79.829817 sec/epochs Training took 7983.0 s precision recall f 1-score support
      0       0.90      0.88      0.89      2483
      1       0.89      0.91      0.90      2517

avg/total 0.90 0.90 0.90 5000 6_mr_cnn.py dropoutに参加
4 Word 2 Vecを使用してPretrain3_mr_lstm.pyは最後の出力(‘Train’,0.35430654320040156,‘Valid’,0.39911492608135416)Seen 20000 samples best Train 0.32228788388 best Test 0.3400202020202011 The code run for 200 epochs,with 160.020890 sec/epochs Training took 32004.2 s precision recall f 1-score support
      0       0.54      0.98      0.69      2483
      1       0.88      0.17      0.29      2517

avg/total 0.71 0.57 0.49 5000 4_mr_lstm.py LSTMでsequenceのmeanを出力:
(‘Train ‘, 0.36674888341365341, ‘Valid ‘, 0.41000973615537728) Seen 19997 samples best Train 0.298261539235 best Test 0.343271244447 The code run for 200 epochs, with 152.172339 sec/epochs Training took 30434.5s precision recall f1-score support
      0       0.54      0.97      0.69      2483
      1       0.85      0.18      0.30      2517

avg/total 0.70 0.57 0.50 5000