• Stars
    star
    596
  • Rank 75,095 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Convolutional Neural Networks for Sentence Classification in Keras

Convolutional Neural Networks for Sentence Classification

Train convolutional network for sentiment analysis. Based on "Convolutional Neural Networks for Sentence Classification" by Yoon Kim, link. Inspired by Denny Britz article "Implementing a CNN for Text Classification in TensorFlow", link. For "CNN-rand" and "CNN-non-static" gets to 88-90%, and "CNN-static" - 85%

Some difference from original article:

  • larger IMDB corpus, longer sentences; sentence length is very important, just like data size
  • smaller embedding dimension, 20 instead of 300
  • 2 filter sizes instead of original 3
  • much fewer filters; experiments show that 3-10 is enough; original work uses 100
  • random initialization is no worse than word2vec init on IMDB corpus
  • sliding Max Pooling instead of original Global Pooling

Dependencies

  • The Keras Deep Learning library and most recent Theano backend should be installed. You can use pip for that. Not tested with TensorFlow, but should work.