ConvoBot is a telegram bot that uses a rather simple neural conversational model to chat with the users.
To run the scripts you will need Tensorflow, Keras and python-telegram-bot in your environment. Using the GPU version of Tensorflow is highly recommended, since training time will be drastically reduced to a few hours for the default number of epochs. Moreover, you will need 300-dimensional GloVe embeddings and the Cornell Movie-Dialogs Corpus. The code is tested with Python 3.6.
- Make the dataset by running the command:
It is also possible to specify the number of training epochs with the option
python make_train_file.py --corpus <corpus folder> --glove <embeddings file>
--epochs
or previously existing weights (instead of the GloVe embeddings) with the option--weights
. - Train the bot by running the command:
python train_bot.py --glove <embeddings file>
- To run the bot you need the Telegram API key, follow the instructions to create a new Telegram bot and start the bot:
python start_bot.py <key>