The latent bag of words model

Run the latent bag of words model, topk version:
python main.py --model_name=latent_bow

Lateng BOW, gumbel version 
python main.py --model_name=latent_bow --is_gumbel=True

-----
Baselines: 

Run the seq2seq model:
python main.py --model_name=seq2seq


Run the vae model 
python main.py --model_name=vae


---- 
code implementation structure
* latent_bow.py -- The majority of the model is implemented here 
* bow_seq2seq.py -- Implement the hard BOW version and many helper functions 
* decoder.py -- Implement the decoder 
* controller.py -- Control the training and evaluation 
* data_utils.py, nlp_pipeline.py -- Data processing 
* main.py