Research
PERSIST chatbot as a microservice
As a microservice, the PERSIST chatbot is also needed, where RASA is representing the AI-based engine of the chatbot. Chatbot is a software that can interact with users and recognizes/understands speech or text. They can answer simple or even more complicated questions, as well as performing complex actions like resetting a password or processing a refund. The system incorporates also natural language understanding-NLU and natural language processing-NLP algorithms. The framework allows us to train the model, add custom actions and custom components in the RASA pipeline. RASA NLU component taking inputs from the user, while the RASA Core represents the brain which take decisions, and provide the user with good storyline based on the user input.
RASA architecture
The message from the user is fed to the Rasa NLU Interpreter, whose output is original text, the intent and entities. The Tracker then maintains the conversation state and receives this output from the interpreter. The output from tracker is fed to the Policy, which acts on the current state of the tracker. The Policy decides, which next action should be performed. The log about selected actions is maintained by the Tracker. The appropriate response is provided to the user, using intents. Chatbot is running on Linux server and is programmed in python and YAML languages. API implements currently 18 questionnaires in six languages. Those questionnaires are represent guidelines for the clinical studies. For storing the data, the Rasa API uses SQLite database. Further, POST and GET requests are used to store the information like patients’ answers, questionnaires, and all events that are triggered in a specific conversation. In the chatbot we also use sentiment analysis, spell checker, intent classification, entity classification etc.