Simplified implementation of "Convolutional Neural Networks for Sentence Classification" paper
- Install Keras
- Repository contains "Movie reviews with one sentence per review" (Pang and Lee, 2005) dataset in
sample_dataset. - Alternatively, to use some other dataset, make two files
input.txtwhere each line is a sentence to be classifiedlabel.txtwhere each line is the label for corresponding line ininput.txt
- Make
modelfolder by runningmkdir model - Refer this to train or download Glove embeddings and this for Word2Vec embeddings.
- Run
python3 app/train.py --data_dir=path_to_folder_containing_input.txt_and_label.txt --embedding_file_path=path_to_embedding_vectors_file --model_name=name_of_model_from_the_paper - For example, if data is in
datafolder, embedding file isvectors.txtand model iscnn_static, runpython3 app/train.py --data_dir=data --embedding_file_path=vectors.txt --model_name=cnn_static - To define your own model, pass
model_nameasself, define your model in app/model/model.py and invoke frommodel_selectorfunction (in model.py). - All supported arguments can be seen in here