Skip to content

hariom-yadaw/neural-converse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

neural-converse

Theano implementation of the paper A Neural Conversational Model by Oriol Vinyals and Quoc V. Le, which is based on Sequence to Sequence Learning with Neural Networks by Sutskever et al. (2014). Encoder can be RNN, GRU, LSTM, BiRNN, BiGRU and BiLSTM. Decoder can be RNN, GRU and LSTM. seq2seq
Source: http://googleresearch.blogspot.ca/2015/11/computer-respond-to-this-email.htm

Dependencies

Dataset

Usage

Generating Data

Download word2vec word embeddings from here and copy the file GoogleNews-vectors-negative300.bin.gz in data directory i.e neural-converse/data/GoogleNews-vectors-negative300.bin.gz.

python data.py

Note that python data.py will randomly sample fixed number of conversations (specified by dataset_size parameter of pickle_cornell(..) in utilities/cornell_move_dialogs.py), therefore, each run might change vocabulary size, and your old trained model might not work. So along with trained model data/cornell movie-dialogs_corpus/models/*-best_model.pkl, also do take back-up of data/cornell movie-dialogs_corpus/dataset.pkl and data/cornell movie-dialogs_corpus/w2vec.pkl.

Training

python seq2seq.py

Sanity Check

How appropriate are responses on the test data ?

python eval.py

Chat

python chat.py

Note

If you are interested in minimal code, then browse to an older version of this repository.

About

Neural Conversational Model in Theano

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%