Chatbots are in the spotlight this year. Tech giants like Facebook and Microsoft have already released extensive bot frameworks intended to mass produce chatbots. More than 11,000 chatbots are developed on Facebook Messenger and almost 23,000 developers have signed up for the Facebook Bot Engine. Also, there are plentiful Startups with their own framework and functional offerings. Smaller messaging platforms like Telegram and Slack, have also launched their “Bot Stores” and invested funds to attract developers.
What are Bot Frameworks?
Simply explained Bot Framework is where bots are built, and where their behaviour is defined. As Chatbot Developer, it feels overwhelming to develop and target so many messaging platforms and SDKs for Chatbot development. Bot development frameworks are software frameworks that abstract away much of the manual work that is involved in building chatbots.
However, although many bot frameworks boast “write once deploy anywhere”, you are more likely to create a separate chatbot for each of your target messaging platforms. The Bot development framework consists of the Bot Builder SDK, Bot Connector, Developer Portal, and Bot Directory. There’s also an emulator that you can use to test the developed Bot. Additionally, Bot Framework solutions are not good for beginners to learn chatbot development.
Difference between the Bot Frameworks and Bot Platforms?
Bot Framework is sometimes wrongly used interchangeably with “Bot Platform”. If we are developing an application, the Bot Platform is something that provides a base to deploy and run the application, whereas Bot Framework is something that helps develop and bind together various components to the application. Bot Platforms are online ecosystems where chatbots can be deployed and interact with users, perform actions on their behalf, including interacting with other platforms.
Bot Development framework is a set of predefined functions and classes which developers uses for faster development. It gives you a set of tools that help you write the code better and faster. In simple terms Bot platforms are used by beginners or non-technical users to develop bots without coding and Bot development frameworks are used by developers and coders to build bots from scratch using programming language.
For example Motion.ai is a Bot Platform which allows the users who want to rapidly create robust bots without any coding needed. It offers a toolkit to create a chatbot, and deploy it on any of the available messaging platforms and connect it to APIs.
Some of the famous Bot Frameworks are:
Facebook Bot Engine:
In April 2016, Facebook realized Facebook Bot Engine 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 Facebook Messenger platform. Facebook’s power as a social media network is the number of the users and hence they don’t need any other Bot development platform and will stay bounded to Facebook Messenger only (which itself is a humongous space on its own).
Facebook is adopting a new strategy with the Facebook Bot Engine. If developers grasp the framework, Facebook Messenger users are going to get a variety of specialized chatbots.
The Facebook Bot Engine relies on Machine Learning. You feed the Bot Framework sample conversations and it can handle many different variations of the same questions. The potential is quite big as developers could improve their chatbots over the period.
Wit.ai offers certain options:
- It can extract certain predefined entities like time, date, etc.
- Extract user’s intent
- It extracts the sentiments
- It defines and extracts own entities.
Microsoft Bot Framework
Microsoft declared its Bot Framework almost at the same time as Facebook. Despite Microsoft’s philosophy and approach are a little bit different. Just like the Facebook’s offering, Microsoft’s SDK can be viewed as 2 components, which are independent of each other.
- Bot Connector, the integration Framework
- LUIS.ai, the natural language understanding 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 good quality of chatbots for users to enjoy their favorite conversation experiences. Bot developers all face the same kind of problems: bots require basic input and output; they must have language and conversational skills; bots must be performant, responsive and scalable; and they must be able to provide ideal conversation experience to the user. Microsoft Bot Framework gives just what we need to build, connect, manage and publish intelligent chatbots that interact naturally wherever our users are chatting from text/SMS to other platforms like Slack, Skype, Facebook Messenger, Kik, etc. The Microsoft Bot Development Framework consists of a number of components including the Bot Builder SDK, Developer Portal and Bot Directory.
API.ai is built on few concepts as follows:
- Agents: Agents corresponds to applications. Once we train and test an agent, we can integrate it with our app or device.
- Entities: Entities represent concepts that are often specific to a domain as a way of mapping NLP (Natural Language Processing) phrases to approved phrases that catch their meaning.
- Intents: Intents represents a mapping between what a user says and what action should your software takes.
- Actions: Actions correspond to the steps your application will take when specific intents are triggered by user inputs.
Contexts: Contexts are strings that represent the current context of the user expression. This is useful for differentiating phrases which might be ambiguous and have different meaning depending on what was spoken previously.
API.ai can be integrated with many popular messaging, IoT and virtual assistant’s platforms. Some of them are Actions on Google, Slack, Facebook Messenger, Skype, Kik, Line, Telegram, Amazon Alexa, Twilio SMS, Twitter, etc.
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 which gives the sense of human language. The approach adopted by Aspect NLU thoroughly differs from Wit.ai, API.ai and Microsoft Bot Framework. Aspect NLU brings the human-like conversational tone to self-service dialogues on Facebook Messenger. This allows scaling through automation, with a robotic feel of chatbots. Aspect CXP makes it easy to design, implement and deploy customer service applications like chatbots across multiple communication channels like text, voice, mobile web, social media networks like Twitter, Facebook, etc. 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, IoT applications.
These are some of the Bot frameworks available in the market for developers to build bots. If your organization spends a lot of money and time on talking to clients, you can try to build a bot handling it. The era of Conversational User Interfaces has already started so be one of the first movers to enter the trend.