articles/state-of-chatbots-in-2020
The State of Open Source Chatbots in 2020

Open-sourcing of any product/service is often a subject of contesting dissension. By making the source code or design documents or blueprints or even the raw content of the product publicly available, providers deliberately endow users to use, modify, study or distribute it – for personal or commercial purposes. So why go for such a model? The reason sometimes lies in the operational productivity of the solution that reaches new heights and attractiveness. The resultant effect can be seen by the popularity of the likes of Mozilla Firefox, Linux, WordPress, VLC, Apache, and Ubuntu.

Decentralizing the software platform of chatbots, per se, is a felicity of the next level. It not only encourages open collaboration but assists the users to customize their solutions to specific needs. Chatbots can be deployed for a range of use cases in a plethora of industries and their attributes, design, framework, look and feel differ for each combination. Open-sourcing untethers the restraints of not only chatbot developers but also the business owners, empowering them with unprecedented freedom and flexibility. Open source chatbots are thus billowing solutions desired and demanded throughout the market. Specialists can roll their imagination when it comes to managing responsiveness and training the bots in different domains.

If you are seeking to understand the concept and market landscape of open-source chatbots, read on!

Building chatbots – Is open-sourcing an easy way out?

Textual or auditory conversation assistants can be deployed in any medium - website, app, messenger, slack, IM, etc. for a wide-set of diversified business reasons. From customer service, employee enablement, lead generation to site navigation or even something as rudimentary as creating meaningful interactions – chatbots solve a multitude of digital age problems. If you go by a 2018 Gartner report, apart from increased customer satisfaction, organizations also see a decrease of ~70% in inquiries and ~33% saving per voice engagement by implementing virtual customer assistants like chatbots.

Although chatbots are sure to stream in revenues when deployed efficiently, they are still seen as a risky venture placed on the downward slope of the Peak of Inflated Expectations on Hype Cycle 2019. When diving into the deep realm of chatbots – be it AI or rule-based – businesses look for secure investments, simple building platforms, less complexity, ease of training, and most importantly cost-effectiveness. The volume and complexity of data that the chatbot can handle and the degree of ad hoc, unpredictable judgments it can make are also important decision factors.

Ideally, there are only two ways of chatbot deployment – either by using the state-of-art platforms such as A.ware by Senseforth.ai or independently building them from scratch using any of the open-source platforms such as Google’s Dialogflow or Amazon’s Lex. They are typically designed and used in dialogue systems for customer care applications or information-acquisition and knowledge-discovery. Open-sourcing serves as a third mid-way to easily implement the technology. Open source bots live on the internet, use databases and API’s to send and receive messages, read and write files, and perform regular tasks.

How does it work?

Interactions in chatbots are classified as structured and unstructured. Structured conversations follow a logical flow of information, such as menus or choices; while the unstructured conversation is more freestyle, such as the informal texts exchanged between friends. Be it open sourced or not, every chatbot needs to be fed training data for both types of conversations.

For efficiency, bots are trained using past information and developers use history logs to upgrade the chatbot’s capability. With a blend of machine learning tools and models, developers analyze client inquiries and reply with the most appropriate answer. Even while developing the script for messages, it is important to keep the conversation topics close to the purpose served by the chatbot and develop scripts for a conversational user interface.

The conversation design has both structured and unstructured types - close-ended conversations that are easy to handle and open-ended conversations that allow customers to communicate naturally.

Following functionalities are also pre-built in chatbots:

  • Natural language processing (NLP) to understand intents, detect, spelling mistakes, understand the context, etc.
  • Answer-processing to manage real-time queries in the most natural way
  • Intelligent algorithms to communicate with multiple applications and best assist the user
  • Human-in-the-loop (HITL) integration to allow human intervention for complex queries
  • GUI interface for a rich user experience

Open-sourced chatbots consist of few other components:

  • A web server, in most cases one that is available on the public internet
  • Bot Builder SDK and Tool that provides an interface for developing bots
  • An intelligent algorithm Service
  • Storage Service

Therefore, chatbots (open sourced or not) have an app layer, a database (knowledge base), and APIs to call other external administrators.

When you open source a chatbot, the type of platform plays a pivotal role in the success of your business strategies. Open source chatbots have a steep learning curve. The open-source communities tend to be developer-heavy, without a focus on design. As a result, non-developers struggle in handling the technology with minimal support and few guiding manuals. Bot framework in such cases can be too much to handle. Also, open-source chatbots are not a standalone service, so the total cost of ownership (TCO) covers other ancillary costs like servers, training, hardware, and implementation.

Using proprietary platforms with industry-specific pre-trained algorithms, significantly reduces training and testing times. A lot of these platforms provide a non-coding environment as well. Non-coding platforms are an online ecosystem where beginners or non-technical users can develop bots without coding. A zero-coding platform is therefore highly suitable since it allows one to easily deploy a chatbot for specific business needs and customize the end-product with minimal technical knowledge.

Most popular platforms and frameworks for building open-source chatbots

  • Microsoft Bot Framework

    A simple platform for building, testing, and deploying conversational bots, this framework provides the Direct Line REST API, which can be used to host the chatbot on applications (Skype, Slack, Facebook, etc.) and websites while automating the application creation process. A bot made on Microsoft Framework is capable of handling simple and complex texts (with images and action buttons) and automatically translating more than 30 languages.

    The framework has its own Bot Builder SDK that includes C# SDK, Python SDK, Android SDK, .NET SDK, and Node.js SDK. The SDK supports C#, JavaScript, Python, and Java and includes an emulator for debugging bots as well as a large set of sample bots that can be used as building blocks. With Bot Connector, Developer Portal, and a Bot Directory, it is openly available on Github where the account has many code samples and templates to get started quickly. Its features include:

    • Cognitive intelligence
    • Speech to text and vice-versa conversion
    • Language Understanding Intelligent Service (LUIS) for natural language understanding (NLU)
    • Cortana for voice
    • Bing APIs for search.
    • Text Analytics

    Microsoft also offers the Azure Bot Service with Microsoft Bot Framework connectors, BotBuilder SDK. This integrated development environment allows developers to create intelligent conversational interfaces for various scenarios like banking, travel, and entertainment. For example, a hotel’s concierge can deploy Azure Active Directory to validate customers and a chatbot to enrich email and call interactions with cognitive services.

  • Rasa NLU

    This production-ready platform has features like intent identification, entity classification, HTTP API, and python-support. The chatbots built using this solution are called Rasa Talk and they support GUI. Rasa Stack, the set of open-source machine learning tools, can be used by developers to create conversational assistants. The basic working of Rasa is twofold: NLU part understands the user intent and Machine Learning core replies with the most suitable answer.

    The two sections work independent of each other and all the data influx runs through a third-party API. Chatbots built using Rasa NLU can be deployed on-premises or on private cloud for any industry. They can be used for generating leads or enabling conversational commerce on-the-go.

  • BotPress

    As the name suggests, this is the WordPress of chatbots! An on-prem, open-source bot-building platform for businesses, Botpress is built on a modular blueprint. This means that you can use it as an adhesive in modules for an already existing code. It has a developer-friendly environment, a three-stage installation process, an intuitive dashboard, and provides ample flexibility. Its features include:

    • NLU capabilities
    • Visual flow editor and dashboard
    • Debugger
    • On-premise multiple messaging channels
  • Ana.Chat

    This open-source framework comes with in-built services that can be leveraged for personal and commercial use. Ana’s SDK’s ensure that you can integrate it into your app swiftly.

    Its features include:

    • SDK
    • Ana Studio - create and edit text, buttons and input fields visually
    • Server - distribute your bot to platforms without having to worry about scalability
    • Simulator - control your bot experience with features like memory display
  • Botkit

    This open-source chatbots development tool allows custom integrations into major messaging platforms. The SDK kit includes Node.JS that along with a variety of other tools makes it developer-friendly and extend the bot’s capabilities. With a semantic interface to send and receive messages, developers can easily design and run bots in Slack focusing on creating novel applications and experience. NLU is supported through the use of middleware, IBM Watson conversation service, Microsoft LUIS, API.AI, Recast.AI, and wit.AI. Its features include:

    • Built-in stats and metrics
    • Botkit Studio - a hosted development environment
    • Fully featured SDK with support for all major platforms
    • boilerplate app starter kits and a core library
    • Content management and design tools

    Other popular open-source chatbot frameworks include Pypestream, Chatscript, spaCy, AIVA, Bottr, RedBot, Botman, and Bottender.

Any Device. Any Platform. Any Channel. Any Backend - A.ware

Building your own solution using an open source conversational AI platform is not always a good fit when you are investing nearly as much time and resources to train and deploy the chatbot after development. An AI platform with built-in domain knowledge, therefore, comes handy for implementing enterprise-grade enterprise intelligent bots. Versatility, flexibility, scalability, and ease of adaptation are some of the added features that can be the cherry on top.

Senseforth.ai checks all the boxes with the proprietary A.ware platform, which offers multiple deployment options - cloud, on-premise or even a hybrid of the two. It is embedded with various pre-built connectors to different channels and allows you to build generative model smart bots with deep learning capabilities that minimize the need for human management over time.

A truly equipped platform with specific analytics modules to track user conversations, customer profiles, agent efficiencies, quality of response, and numerous other parameters – A.ware transforms you into a conversational enterprise capable of deploying several bots across multiple touchpoints in just a few weeks.

Looking to harness conversational AI to automate business processes?