Chatbots - A comparison

Achiel Volckaert
WeGroup
Published in
3 min readFeb 27, 2019

Chatbots are programs that can handle an intelligent conversation. They should be able to aid people by understanding the user’s input. On our journey to find the best platform for our needs, we compared multiple chatbot platforms and services. Our main goal is to create a personalized assistant that can help customers with their general questions.

Rasa

Rasa is an open-source chatbot system. Development started in 2017 by two Germans in Berlin. The part that makes Rasa unique is that it is open-source. By hosting your own chatbot, you’re far more flexible and you are in full control of your data.

Rasa consists of two major components among which Rasa NLU and Rasa Core.

NLU is the Natural Language Understanding, this part predicts the intent of the user’s input and the entity as well. Suppose the user says: “Who is WeGroup?”. The intent is companyinfo and the entity is WeGroup.

The job of Rasa Core is to take the output of Rasa NLU and respond with an action or an appropriate answer.

more: Rasa

Dialogflow

Dialogflow is a conversational chatbot from Google, previously called api.ai. Dialogflow has great support for multiple languages or dialects (30+) and programming languages such as Node.js, Python, Java, … This makes it easier to start using it. Next, to the standard setup entity and intent it has a (beta)feature ‘Knowledge’ where you can submit articles and FAQ-pages which it will analyze and make its own intents.

more: Dialogflow

Oswald

Oswald.ai is another conversational chatbot from a Belgium based company. when using the platform you can’t feel or see that it is made by a smaller company. It still supports over 16 languages or dialects but there’s only Python as programming language available. A pretty neat feature that is included is that it can detect typo’s (if you enable it). Let’s say you type “My name is Louise”, Oswald should understand “My name is Louise”.

more: Oswald

Flow XO

Flow XO is a UK based company, they provide a really low threshold solution. The setup can be done with almost zero coding knowledge since there are some pretty good template flows available. they support up to 17 languages and have an SDK in Javascript. If you have no coding skills but the knowledge to build a chatbot you can use and modify one of the available templates.

more: Flow

Microsoft LUIS

Microsoft Luis (Language Understanding Intelligent Service) is part of the bot service that Microsoft provides on Azure. they provide up to 13 languages and coding solutions in Node.js and C#.

more: LUIS

Comparison

Chatbot comparison chart

Conclusion

For our use case and requirements: content must be easily editable and we want to support our current languages (Dutch, English and Polish).

Our top picks are Rasa and Dialogflow. Rasa because it is open-source, we can easily customize it to our liking to create a seamless integration. It runs on top of Python. We want to host most of our services in-house, Rasa is a perfect example because the repository is well documented with appropriate Docker images. At WeGroup we have a great number of developers that can handle a steep learning curve as Rasa is difficult to master.

At last, we want to implement Dialogflow because it is easy to set-up and to maintain. We can export the chatbot of Dialogflow and import it into Rasa. There is also a lot of information with examples available and the integration with other services is superb.

Both of these platforms are supported by a great community which makes programming a breeze.

We chose to use Rasa as top-level and Dialogflow as a fallback since Dialogflow has great documentation and there is the possibility to export the entities from Dialogflow straight to Rasa.

--

--