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.txt
where each line is a sentence to be classifiedlabel.txt
where each line is the label for corresponding line ininput.txt
- Make
model
folder 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
data
folder, embedding file isvectors.txt
and 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_name
asself
, define your model in app/model/model.py and invoke frommodel_selector
function (in model.py). - All supported arguments can be seen in here