Best Open-Source Chatbots in 2020
What is an Open-source Chatbot?
Open-source Chatbots are software built to simulate a conversation with humans where the original code is distributed freely and can be modified by anyone.
Open-source has been a powerful movement in software for many years. The advantages of speed, transparency, shared contributions and control allow developers to create better software and vastly increase their understanding of the software platforms they are employing.
There are three major players in the open-source chatbot market as of today. They are all unique in their business approach and strategy. You should focus on understanding how you plan on using the chatbot platform before choosing. There is probably an open-source chatbot platform that will better fulfill your needs. Perhaps you haven't figured out yet how large of a footprint chatbots can have in your organization. Looking at how other companies have used chatbots can help you figure out how to take full advantages for your organization.
We want to highlight that you can find chatbot platforms that are not open-source, but it's a different discussion as there are some pros and cons that comes with that decision. We have highlighted some these pros and cons in a blog post comparing open-source chatbot vs proprietary solutions.
Microsoft Bot Framework
Microsoft Bot Framework (MBF) offers an open-source platform for building bots. As the name clearly exposes it, this is initiative is backed by Microsoft.
The Microsoft approach is primarily code driven and aimed exclusively at developers. The MBT gives developers fine-grained control of the chatbot building experience and access to many functions and connectors.
The MBF offers a tremendous number of tools to aid the process of chatbot building and the software is built to facilitate integration with Luis, its NLU engine.
Microsoft has recently entered into an agreement to purchase Botkit which is another open-source platform. Botkit has a visual conversation builder although it is not clear at the moment what Microsoft’s plans are with regards to Botkit (see below).
MBF is not fully open-source because it does not open source Luis, its NLU engine. This may not be an issue for most developers from a control and understanding point of view as most developers are unlikely to get involved in the workings of the NLU algorithms. It’s arguable that this may have lock-in consequences. However, there is some element of lock-in with any software, even open-source.
A disadvantage of the NLU engine not being open-source is that it cannot be installed on-prem. This again is understandable strategically from Microsoft as the MBF and Luis are products built in part to promote the use of its Azure platform. Luis is a service that you pay for each API call which can translate in a steep monthly bill.
Microsoft also recently released the composer to make it easier to maintain the chatbot using an interface.
As we mentioned above, Botkit is now part of MBF. It is known for being a code-centric platform that is easy for developers to use. This is consistent with the overall Microsoft approach of being code first.
It has a large number of plugins to different chat platforms including Webex, Slack, Facebook Messenger and Google Hangout.
Botkit has more recently created a visual conversation builder to aid in the development of chatbots.
Botkit uses Luis as its underlying NLU engine. It can, however, be integrated with other NLU engines as required.
Rasa is an open-source bot building framework that focuses on the story approach to building chatbots. Rasa was a pioneer in open-source NLU engines and is a well established on-prem framework.
They focus most of their energy on artificial intelligence and building a framework that allows developers to build and improve AI assistant.
Instead of defining visual flows and intents within the platform, Rasa allows developers to create stories (training data scenarios) on which the bot is trained.
Every chatbot platform requires some training data to some extent, but the Rasa approach works best with large training dataset, typically from customer service chats. These customer service chats are classified and then used to train the NLU engine.
The only issue with the story approach is that it can be difficult to predict what the bot is going to say at a given moment as no one has access to the underlying logic, it is a black box. The risk of this happening is reduced by having large amounts of high-quality training data.
Rasa is fully on-prem and open-sources its standard NLU engine. They built Rasa X which is a set of tools helping developers to review conversations and improve the assistant. Rasa has many premium features that are only available with an enterprise license.
Botpress open-sources their conversational AI platform and their Natural Language Understanding (NLU) libraries.
It's built on the paradigm that chatbots can be built using visual flows and small amounts of training data in the form of intents, entities and slots definition. This vastly reduces the cost of developing chatbots and it decreases the barrier to entry sometimes created by data requirements.
The platform is built primarily for developers who need an open system and maximum control in mind. It's also really easy for a conversation designer to take over and collaborate with a developer on the project, thanks to the visual conversation builder.
Botpress is really allowing different specialists to put their knowledge together into building better conversational assistant. Essentially improving the capabilities of machines to understand humans. You can read a comprehensive review of Botpress on Chatimize.
Making a decision
Before deciding on the chatbot platform you want to invest time and money in, you should understand how you plan on using it and what are the functionalities required for that. One of the great advantages of open-source is that you can experiment with the product before you make a decision.
While some companies have listed different use cases for their platform, it's not always the case. We highly recommend heading to the forum of the different products and search for what you want to build. Chances are, someone else is doing it too. If not, ask questions.
A summary is not enough information for you to make a decision, but it's a great starting point to perhaps eliminate some of the contenders and understand what are the strengths and weaknesses of them.
To find out more about open-source chatbots and conversational AI, read this other article about all you need to know on Conversational AI.