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, API.ai, Aspect CXP, and Aspect NLU.
Facebook Bot Engine
In April 2016, Facebook created Facebook Bot Engine, which is based on Wit.ai technology. Wit.ai runs from its own server in the cloud. The Bot Engine is a wrapper built to deploy the bots in the Facebook Messenger platform.
Wit.ai 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. LUIS.ai, 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.
API.ai
API.ai is another web-based bot development framework. Some of the SDKs and libraries that API.ai provides for bot development are Android, iOS, Webkit HTML5, JavaScript, Node.js, and Python.
API.ai 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.
Ideas of ways for an AI to "break out" by frankinstien (Future of AI) |
Missing "Like" option. by LOCKSUIT (Forum problems etc) |
Pattern based NLP by MikeB (General Project Discussion) |
white elephant by infurl (General AI Discussion) |
We are computational machines after all! by frankinstien (General Project Discussion) |
Simulating conversations with dead people. by HS (General Chatbots and Software) |
gen 3 skills for the LivinGrimoire by yotamarker (General AI Discussion) |
many say the problem with AI is that it is too narrow, but by infurl (General AI Discussion) |
White House Launches National AI Office by MikeB (AI News ) |
DALL-E text & image 2 image !!!!! by LOCKSUIT (AI News ) |
Creating a VR sense of temperature by frankinstien (AI News ) |
Robots dancing better than us? by 8pla.net (Robotics News) |
Bjarne Stroustrup (the creator of C++) talks about Machine Learning by MikeB (AI News ) |
Wheels Are Better Than Feet for Legged Robots by HS (Robotics News) |
Getting a bot to smell! by frankinstien (AI News ) |
Per Aspera makes you feel like an Artificial Intelligence by LOCKSUIT (AI News ) |
Most Online Today: 171. Most Online Ever: 2369 (November 21, 2020, 04:08:13 pm)