← Open Source
alexander-rakhlin

CNN-for-Sentence-Classification-in-Keras

Convolutional Neural Networks for Sentence Classification in Keras.

Model DevelopmentArchitecturePython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
593
Stars
203
Forks
+0
This week
3
Contributors
Created 2016-03-19 · Updated 2026-09-16 · #16409 today
Top developers
alexander-rakhlinandrewyatesShellbye
README

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.
Nearby in the ranking
Similar items