Open source chatbots in 2019

September 27, 2019
By Botpress Team

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 a few open-source chatbot platforms in 2019 that dominate, each built upon its own business strategy and approach.

It should be noted that while there is a great deal of emphasis on the quality of the Natural Language Understanding engines offered by chatbot platforms, a simple scripted chatbot is the best choice for the use case in question. For example, when a delivery company asking people via WhatsApp for their delivery address and other details that don’t want to engage the customer in a conversation but get them to answer specific questions.


Botpress

Botpress open-sources the bot development platform and the Natural Language Understanding (NLU) libraries.  We would tell you it's the best platform by far of course, but we are biased.

Botpress is built on the chatbot development paradigm that chatbots can be built using visual flows and small amounts of training data in the form of intent, entity and slot definition.  This vastly reduces the cost of developing chatbots.

Botpress has an advanced visual flow builder, a sophisticated emulator, an inbuilt javascript code editor, fast intent, entity, QnA and slot definition, and automated testing (where test scenarios can be recorded and played back).  Botpress is a platform built for professional authors, primarily with developers who need an open system and maximum control in mind. Certain parts of the bot can be built by non-technical authors.

Botpress is the NVidia of chatbot innovation, as no other company in this space is innovating as fast on the bot building framework tools and on the underlying NLU technology. 

Botpress’ NLU trains faster than any other platform with better accuracy. Botpress is on a mission to reduce the amount of training data needed to create high quality bots by pushing more work in bot development and comprehension to the AI.


Microsoft Bot Framework

Microsoft Bot Framework (MBF) offers an open-source platform for building bots.  

The Microsoft approach is primarily code driven and aimed exclusively at developers. The MBT gives developers fine grained control of the bot building experience and access to many functions and connectors.  

The MBF offers a tremendous amount of tools to aid the process of bot 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 however 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.  

One issue that may be a problem for some companies is that Luis cannot be installed on-prem.  This again is understandable strategically from Microsoft as the MBF and Luis are products built to in part promote the use of its Azure platform.  Unlike open-source platforms, one problem with using Luis is that developers are charged for every API call, even for testing.


Rasa

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.  

Instead of defining visual flows and intents, etc. 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 amounts of training data, 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.  This 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.  Rasa has many premium features that are only available with an enterprise license.


Botkit

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.


The Choice

Which open source chatbot platform is the right one for you will depend on many considerations. Hopefully, the summaries above can help you identify the features that are most important to you for the use case in question. All of the above platforms are well established and built on widely adopted technologies.


Disclaimer: We encourage our blog authors to give their personal opinions.  The opinions expressed in this blog are therefore those of the authors. They do not necessarily reflect the opinions or views of Botpress as a company.