An AI-Driven Chatbot for Refugees Helplines

Intending to provide quick and quality assistance to refugees, we developed a chatbot that operates 24/7 across popular communication channels like Telegram, Viber, Facebook Messenger, and the web. The result is a flexible and efficient chatbot that significantly reduces response time and supports the needs of refugees seeking information and assistance.

Business Challenge

Since the war broke out, QuData has taken an active position in helping Ukraine and its citizens. Millions of Ukrainians fleeing the war required quick and quality access to the basic information on border crossing, visas, housing, work, education, material assistance, etc. The Ukrainian Home in Warsaw managed by the "Our Choice" foundation was looking for effective ways to address the challenge. It was necessary to quickly launch a tool that could help millions of refugees 24/7, as the employees spent a huge amount of time answering typical questions.

Solution Overview

Our team decided to create a chatbot that can answer the basic questions of numerous users simultaneously. It was to support the most popular communication channels among Ukrainians: Telegram, Viber, Facebook Messenger, and WEB.

Our colleagues from the Ukrainian House in Poland prepared a set of FAQs and answers. Regarding the urgency, the QuData team created, tested, and launched a virtual assistant for refugees on a tight schedule.

It was initially suggested to use the Rasa framework for the solution. However, the short production time required to significantly reduce the training time of the model. Our team created the NLU (Natural Language Understanding) and NLG (Natural Language Generation) machine learning models. The model identifies utterances and messages and groups them by intent. Keywords are highlighted in messages as entities.

Historically, in Ukraine, people speak Ukrainian and Russian, often using words and phrases in both languages in one sentence. This was a specific challenge because the NLU model can understand a certain language. We found a solution to this problem in order to improve the quality of user language recognition.

Technical Details

Our chatbot used several modules and an additional NLU processing module. Firstly, our team suggested the NLU solution from the Rasa framework and our own NLU engine./p>

The bot version with the Rasa framework uses machine learning models to learn. We tried to find the most effective solution that could be implemented in the shortest possible time. Since the learning process we were engaged in was long and unstable, we decided to use our own NLU engine and algorithm. The NLU module learns 10 times faster than the Rasa module.

Our engine, written in Python, loads the model configuration and logic and uses them to run. The NLU engine, which is a component of the logic block, is responsible for determining intentions and extracting entities.

The analysis of the results proved the main advantages of our NLU:

  • A more flexible "intention-response" system. For example, several responses can be defined for one intent, each of which is executed under a certain condition.
  • Answer history. Recording the sequences of recognized intentions and responses provides for perfect understanding of the dialogue.
  • It can recognize several languages ​​from one model. The language of the request can be specified while forming the logic block.

Technology Stack

Python

Python

NLU

NLU

Rasa

RASA

JavaScript

JavaScript