Bot Development Frameworks - Getting Started

Bot Development Frameworks - Getting Started

With tech mammoths like Facebook and Microsoft having released extensive bot frameworks with the intention to mass produce chatbots, it is fairly evident that chatbots and conversational UI are all the rage.

What Are Bot Frameworks ?

Simply explained, a bot framework is where bots are built and where their behavior is defined. Developing and targeting so many messaging platforms and SDKs for chatbot development can be overwhelming. Bot development frameworks abstract away much of the manual work that's involved in building chatbots. A bot development framework consists of a Bot Builder SDK, Bot Connector, Developer Portal, and Bot Directory. There’s also an emulator that you can use to test the developed bot.

Bot Frameworks vs. Bot Platforms

The term "bot framework" is sometimes wrongly used interchangeably with "bot platform." If we are developing an application, the bot platform provides a base to deploy and run the application, where as a bot framework helps develop and bind together various components of the application. Bot platforms are online ecosystems where chatbots can be deployed, interact with users, and perform actions on their behalf (like interacting with other platforms). A bot development framework is a set of predefined functions and classes used to speed up development. It gives you a set of tools that help you write code better and faster.

Most Popular Bot Frameworks

Let's take a look at the most popular bot frameworks: Facebook Bot Engine, Microsoft Bot Framework,, Aspect CXP, and Aspect NLU.

Facebook Bot Engine

In April 2016, Facebook created Facebook Bot Engine, which is based on technology. runs from its own server in the cloud. The Bot Engine is a wrapper built to deploy the bots in the Facebook Messenger platform. can:

1. Extract certain predefined entities like time, date, etc.
2. Extract user intent.
3. Extract sentiments.
4. Define and extract entities.

Microsoft Bot Framework

Just like Facebook’s offering, Microsoft’s SDK can be viewed as two components that are independent of each other:

1. Bot Connector, the integration framework.
2., the natural language understanding (NLU) component.

The Microsoft Bot Framework’s integration component is impressive. It can be integrated with Slack, Facebook Messenger, Telegram, Webchat, GroupMe, SMS, email, and Skype. Also, there is a PaaS option on Azure just for bots. Microsoft Bot Framework is a comprehensive offering to build and deploy high-quality chatbots. is another web-based bot development framework. Some of the SDKs and libraries that provides for bot development are Android, iOS, Webkit HTML5, JavaScript, Node.js, and Python. is built on the following concepts:

1. Agents : Agents corresponds to applications. Once we train and test an agent, we can integrate it with our app or device.

2. Entities : Entities represent concepts that are often specific to a domain as a way of mapping natural language processing (NLP) phrases to approved phrases that catch their meaning.

3. Intents : Intents represent a mapping between what a user says and what action your software should take.

4. Actions : Actions correspond to the steps your application will take when specific intents are triggered by user inputs.

5. Contexts : Contexts are strings that represent the current context of the user expression. They're useful for differentiating phrases that might be ambiguous and have different meanings depending on previous events.

Aspect CXP and Aspect NLU

Aspect Customer Experience Platform (CXP) is a platform for designing, implementing, and deploying multichannel customer service applications. Aspect NLU is a component that gives a sense of human language. This allows scaling through automation. Aspect CXP makes it easy to design, implement, and deploy customer service applications across multiple communication channels like text, voice, mobile web, and social media networks. It would be a good fit where we need to produce complex chatbots, customer service applications, and enterprise software. And it would be a poor fit for simple bots, embedded applications, and IoT applications.

This article was submitted by Maruti Techlabs.