Conversational AI: MSc project to design, develop and evaluate a conversational story-teller dialogue system.
The system is developed and tested using Python 3.7. Some of the libraries required are:
- DM
nltk
- NLG
- NLU
rasa, tensorflow, re
- bot
telepot, flask, logging, argparser
- fsm
transitions
- web interface
- Create a Telegram bot following the steps given by the BotFather bot (you can follow this tutorial: https://core.telegram.org/bots#6-botfather)
- Modify the
credentials.py
file with your bot name and bot token
- Registered to Ngrok from
https://ngrok.com/
- Go to https://dashboard.ngrok.com/get-started to download the ngrok client
- Unzip the folder
- From the unzipped folder, run the command
./ngrok authtoken xxxxxxxxxxxxxxas
that appears for you on that link - Run
./ngrok http 5130
- If you are using the Telegram web interface, replace the
bot.setWebhook("https://******.ngrok.io/chat")
inbot_telegram.py
with the https url generated by ngrok (leave the suffix/chat
at the end) - If you are using the Alana interface, please follow the Alana instruction on how to send requests to Alana.
- Create a virtual environment with Python 3.7
- Install the requirements in
requirements.txt
- Select which engagement strategy to use: currently the system uses the baseline strategy. To use the Feedback Prompt strategy please comment
line 102
ofbot_telegram.py
and uncommentline 103
ofbot_telegram.py
- Run
bot_telegram.py
to run the system using the Telegram web interface
The story used is the Squirrel story from the PersonaBank corpus PersonaBank corpus