Topic-aware chatbot based on RNN seq2seq model and NMF-based topic baising
These codes are based on my papers below:
- Yuchen Guo, Nicholas Hanoian, Zhexiao Lin, Nicholas Liskij, Hanbaek Lyu, Deanna Needell, Jiahao Qu, Henry Sojico, Yuliang Wang, Zhe Xiong, Zhenhong Zou, “Topic-aware chatbot using Recurrent Neural Networks and Nonnegative Matrix Factorization.” https://arxiv.org/abs/1912.00315
- seq2seq.py : Basic RNN seq2seq model for chatbot
- ta_seq2seq.py : Gives TopicAttension and TopicDecoder -- RNN decoder for generating predicted probability distirbution for the next word using NMF-induced topic biasing
- seq2seq_chatbot_train.py : Trains chatbot over the given conversaional data set and chosen NMF-topic filter (DeltaAirline, 20NewsGroups, and Shakespeare)
- chat_app.py : Run and chat with chosen topic-aware chatbot model
How to run
- Run "seq2seq_chatbot_train.py" after choosing the desired NMF topic biasing
- Run "chat_app.py" after choosing the training checkpoint iteration "checkpoint_loading_from = xxx"
- Chat with our bot!
- Yuliang Wang - Initial work
- Hanbaek Lyu - Initial work - Website
This project is licensed under the MIT License - see the LICENSE.md file for details
- Initial seq2seq chatbot model in pytorch -- Matthew Inkawhich Link
- Project has been supported by REU 2019 at UCLA Mathematics