To attain the scope of this project to built a chatbot that can help answer questions of admitted patients regarding thier health, Rasa was considered as a framework of choice. Rasa is an open source AI conversation tool that utilizes NLP and machine learning to built powerful AI chatbots. It was chosen for it's versatality and for the ease of scalability of the project.
- Building a conversation flow
At first, a sample conversational flow was decided that can greet and ask few details about a patient to assist them. This became the building block for further addition of responses and custom actions.
- Working with Rasa files
There are three main files utilized to cover the architecture of this chatbot, nlu.yml, stories.yml, domain.yml namely. They can be found in data folder here.
Inents contains the examples of user inputs and etities are defined to store information recieved from these inputs. The stored information in slots if further utilized to fetch the data from database and respond accordingly to the users query. For example, name of the disease is collected and stored in slots and that is to used fetch relevant information from the database.
- Model Deployment
Model is deployed on heroku using socket io and docker container. Few other alternatives were also explored however implementation of socketio and a webpage seemed to be more successful.