A chatbot that fetches events details from a conference's website
The bot is outdated and not maintained anymore
A site bot build using rasa-nlu.
if you are using Ubuntu
pip install -r requirements.txt
If you are using windows machine
pip install -r requirements.txt
The above command will fail for few packages like mitie
.
So you have to install the following
pip install numpy,scipy,sklearn,spacy
If you have error while downloading any of these packages download whl files from http://www.lfd.uci.edu/~gohlke/pythonlibs/
You will have two parts in this projects
The AI Engine part takes care of Natural language understanding It is built using a open source NLU agent called rasa-nlu
The bot application is a flask application that has a Client(Simple UI chat interface), a backend that fetches event details pydelhi conference website
Initially you need to train your bot to do that you need two json files config
and 'training_data'.
To train your model you can use either 'spacy' or 'mitie' algorithm. For my application I am using spacy
.
If you are using mitie
you should download a .dat
file from
https://github.com/mit-nlp/MITIE/releases/download/v0.4/MITIE-models-v0.2.tar.bz2
If you're using spacy run the following before training
python -m spacy download en_core_web_md
python -m spacy link en_core_web_md en
To train your ML model run. The training will take some time.
python -m rasa_nlu.train -c AI-engine/config_spacy.json --data AI-engine/data/sitebot-data.json
Once the training is done you will have a models
folder created with a timestamp
Now you have to host this model for your bot application to use
python -m rasa_nlu.server -c AI-engine/config_spacy.json --path ./models/nlu/
Now that we have the AI-Engine up and running.Let's setup the knowledge base for the bot run extract.py
under bot_applications
python bot-applicaiton/extract.py
You will have a sqlite app.db
created
To run the application run
python app.py