Top Chatbot Development Frameworks You Should Know – Exploring Open Source Solutions (Part 2)

It is second part of “Top Chatbot Development Frameworks You Should Know” in which we have discussed about top paid chatbot frameworks and highlight their pros and cons. In this post, we will discuss best available open source chatbot frameworks by highlight their pros and cons and in the end compare them with paid solutions and suggest you which framework is best for what scenario.

Below is the summarized details of best open source chatbot development frameworks.

Top Open Source Chatbot Frameworks Comparison

Chatbot Framework Programming Language NLP Support Ease Of Use Integration
Rasa Python Yes 80% FB Messenger, Telegram, Website, Slack, Twilio
Wit.ai Python, Ruby Yes 100% App, website, Slack, FB Messenger, wearable devices, Home Automation
Botpress Javascript Yes 100% Telegram, FB Messenger, Website
BotKit NodeJS No 100% Slack, MS teams, FB Messenger, Google Hangouts, Twilio SMS

Rasa

Rasa is a leading open source framework for building contextual chatbots. As we know, there are lots of AI-driven chatbot frameworks available but most of them offer basic functionalities like responding to static FAQs or to some basic pre-defined queries. Rasa framework offers more than that which make sense i.e., contextual chatbots which makes the bot more sophisticated and gives the feeling of human interaction.

Rasa has two major components Rasa NLU and Rasa Core, Rasa NLU is responsible for natural language understanding while Rasa core helps in creating intelligent, conversational contextual chatbots. Following are some of the key benefits of Rasa framework:

 

  • 1. It comes with sophisticated NLU engine which helps in building a bot capable of handling complex user utterances smartly.
  • 2. It helps in developing contextual chatbots with minimal training data i.e., you have to train your bot by building stories which are nothing but expected conversation flow.
  • 3. It also supports synonyms and hyponyms means you don’t need to train your bot for every possible synonym which helps in saving development time.
  • 4. It can be deployed on your own server by keeping all the components in-house which is helpful for those companies which process sensitive consumer data and don’t want to put their data on cloud.
  • 5. Highly customizable, so it allows developers to create a chatbot with desired features.
  • 6. It allows multiple environments for development, staging, and production.
  • 7. It works on the basis of interactive learning, hence it keeps learning on its own as it interacts with the users.
  • 8. You can share your bot in development stage with the client for improvement or updations.
  • 9. Able to send emails or store data in databases from user interaction.
  • 10. Rasa forum and rich stack overflow community to support developers.

 

The only drawback of this framework is that it is not suitable for beginners as it requires knowledge of natural language understanding, deep learning and python language for building contextual chatbots.

Wit.ai

Wit.ai is also an open source chatbot framework and it was acquired by Facebook in 2015. As it is open source, you can browse through the existing bots and apps built on Wit.ai to get started as many of them are open to the public. Its API is well documented to get started even for beginners. Some of the interesting features of Wit.ai are as follows:

 

  • 1. It is the best option if you want to deploy your bot on Facebook Messenger as its deployment over there is fairly easy.
  • 2. The NLP engine in Wit.ai’s AI chatbot framework is the strongest in comparison to other big competitors like Microsoft, Amazon and IBM.
  • 3. Its SDK is available in multiple languages like Python, Ruby, NodeJS and iOS.
  • 4. It support over 80 different languages all over the world.
  • 5. It has integration with different channels like Website, Mobile App, FB Messenger, Slack, Wearable devices, home automation etc.

 

Some of the drawbacks of this framework are its training is quite laborious and it lacks required slots/ parameters due to this you have to use business logic to handle unstated information after every interaction that gathers slots/parameters information from the user.

Botpress

Botpress offers modular architecture for building chatbots. One of the major advantages of this framework is that you can build your chatbot locally with the help of Botpress and deploy it on your favourite cloud host. It is the best solution for those Organizations who need to deploy an increasing number of automations across their organization with a limited technical workforce.

Some of the drawbacks of this framework are that it has quite limited features and the bot is fairly hard to learn from user experiences i.e., it is mainly rule and action based.

Botkit

Botkit is an open source chatbot framework driven by a group of developers and now acquired by Microsoft.Botkit bots are built with an integrated set of tools that includes content management, analytics and operational tools that tell you what your bot is doing, how it is being used, and by whom. It also offers advanced learning mode which helps to answer common customer queries by just interacting with one of their bots without writing any code.

Some of the drawbacks in Botkit are it has no built-in support for NLP and it uses Microsoft’s LUIS service for NLU part. Apart from that it suffers from many bugs.

Which framework to choose open source or paid one?

Although open source frameworks are customizable, their model can be tuned as per the requirements and they may provide more sophisticated bots but small businesses may face some technological hurdles to use it on a production system and it also requires experienced professionals in NLP domain.

Paid solutions on the other hand, keeps most of the technical details hidden in the background and allows the developer to focus only on the core task. Even some of the frameworks like Google’s Dialogflow, Amazon Lex, Microsoft Bot etc. offers no cost solution if the traffic is not heavy.

So it’s a tradeoff in choosing between contextual chatbots with experienced developers and simple chatbot with little or no coding requirements.

I hope this post will help in you deciding which chatbot framework to choose between paid and open source solution.