Veloxcore blog | Always Discovering |Always Sharing

Always Discovering. Always Sharing.

09 Jun 16

Chatbot: Microsoft and Facebook's framework comparision

Satya Nadella, wants developers to develop intelligent chat bots and virtual assistants and Facebook Messenger is nothing but all about bots now. Believe or not but bots are coming and they are here to stay.


Microsoft bot framework v/s Facebook messenger bot

A Bot which is also known as Artificial Conversational Entity, chatterbot, talkbots, chatbots is a computer program that conducts any conversation through textual or auditory methods. These programs are generally developed to convincingly simulate how a normal person would act as a conversational partner and generally takes commands from conversation to perform different tasks. These Bots are typically required for dialog systems for a wide range of practical purposes which includes information acquisition or customer service. The Bots can also be used for sophisticated natural language processing (NLP) systems, but at the same time, many simpler systems recognize some keywords within the input and then generate a reply using the matching keywords, or the similar wording pattern, from an existing database.

The Bot framework:

The Bots or the conversation agents are now becoming an integral part of everyone’s digital experience. The Bots are used now to interact with humans when they access any mobile or web applications. The developers writing scripts for bots all face the same complexity and problems. As we already discussed that Bots require keywords processing, taking action based on given keywords or conversation context, they also must have language skills for communication, and they should also interact with users over some channel. These requirements are not easy to deal with by a single developer or organization and a framework would really help developers kick started on the topic. Luckily Microsoft and Facebook, both revealed their bot building frameworks in early 2016, which we will be discussing in this article.

How Bots work?
The most of the discussions on Bots technology have been focused on tools that help developers to build Bots for different purposes. All the articles are written on this topic mainly touch on the design impact of Bot's personalities. Bots have some distinct importance over the apps such as:
  • Bots can easily communicate with each other along with humans using natural language, providing common ground to talk with other system without technical specification or understanding app user interface.
  • Encounters with these Bots are normally concluded and initiated inside the messaging platform and a Bot doesn't leak its identity externally.
  • User don’t need to know how to interact with it, as it is natural language, there will be no hurdles to get user on-board.
There are few things a developer must follow in order to build a standard bot:
  • Bots must be named and also respond to their names. Take example of Siri, Cortana and Google Now, they all respond when someone says their name.
  • It must be easy to understand how to emit the bot's action. Mostly it is Natural language processing hence user don’t need any special training or user manual to start using bot.
  • Text can be misinterpreted, and hence more care should be taken about what bot should respond.
  • Bot should be verbose. They should explain well what actions they are going to take.
  • Bot should also defer to humans as tasks get more complex. Like when user request something which is out of boundary of bot.
  • Any bot should be able to trigger others bots as well within any conversation. Like Cortana contacting flight booking agent or hotel booking agent in conversation when senses a potential travel plan.
Microsoft Bot Framework

Microsoft bot framework

Microsoft is not the first to release bot framework to developers, but it has potential to beating its rival’s with a comprehensive initiative which involve artificial intelligence everywhere. Microsoft envisions the world full of virtual agents or Bots, which one might end up interacting with them more often that one do real human beings. The Bots will become the first line of interaction for your product in future and they will be first class citizen in web or mobile applications. The Bot Framework of Microsoft was actually the big surprise of event #BUILD 2016. The organization found itself in hot water till the show, thanks to a bot Tay.ai, a teen girl character twitter bot, that was supposed to tweet witty banter with millennial, but unfortunately was instead taught to be a racist by trolls. A Dominos Pizza bot, Skype video bot and Cortana with hotel booking bot elaborated at the BUILD keynote, explained the practical visualization of what Microsoft bot framework offering to developers. Dominos bot demo showed that apart from serving sick burns, it serves pizza with ease. If you want an extra pineapple topping, large Hawaiian, with an order of breadsticks? You don’t need to make a call or use Domino’s online ordering management system. Just wake up the Bot and tell it to send large pineapple thin crust pizza and that’s all it needed. That might not seem the type of technology that will change the future world. But just think about it, how many interactions do you undertake each and every day? Buying a coffee or meal, ordering clothes, booking flight or movie tickets, making an appointment with your doctor – these tasks are in the daily routine, but require some level of human interaction as well. All these tasks will be handled by simple AI programs using Bot Frameworks, releasing humans to do more complex tasks.

Satya Nadella, CEO of Microsoft wants developers to develop intelligent chat bots and virtual assistants to help users process most of the things from booking hotel reservations to managing their calendars, summon a taxi or fetch stock details etc. Microsoft has announced their own Bot Framework in Build 2016 conference, which makes it easier to write and develop chatbots using either Node.js or C# language. The development of Bots using this framework is so easy, that every developer without understanding of machine learning or artificial intelligence can build sophisticated bots and it doesn’t stop there, if bot require re-training then even operator having no programming knowledge can train bot from a web based console, to handle new scenarios that might come in future. This is very powerful feature and will involve actual business person into bot development making it's conversation more effective. Microsoft bot framework already have many different channels where one can integrate their bot with. Channels (at the time of writing) are Skype, Email, GroupMe, Slack, SMS, Telegram, outlook and Web chat control.

Facebook Bot Framework

Facebook messenger bot

The Facebook Messenger is nothing but all about bots now. The company unveiled the Receive and Send API at its F8 conference. These APIs let you create bots for Messenger application in order to interact with businesses and search for things. If developers want to create more complex scenarios and use machine learning then meet the Bot Engine, Facebook’s even more powerful bot framework. The framework is based on Wit.ai’s work, the company acquired by Facebook last year, and later built M for Messenger using Wit.ai’s platform. But at the same time, Facebook is adopting a new type of strategy with this Bot Engine. If developers embrace the Bot Engine framework then the Messenger users are actually going to get a wide range of small specialized bots.

The APIs for sending data and receiving information is more than enough as explained by David Marcus, Vice President of Facebook's Messaging Products in the event. He also said that if the developers want to build even more complex Bots then they must use Facebook's Bot Engine as well. The engine depends on the concept of machine learning. It simply means that one can feed it sample conversation so that the Bot can easily handle a wide range of variations of the same question. Just for an example, one can start a conversation with a Movie Bot and can ask information about movie show time, bookings, star cast, rating and more stuff. It would not feel complex like entering a command line, but more like communicating with a real human. The Facebook's Bot Engine is already live in action. It is also going to be interesting to use this engine and see how powerful it actually is. The engine already looks more powerful. It will also open up a new field for organizations looking to develop even smarter Bots on top of messaging applications.

Here we have two different bot frameworks, with somewhat similar kind of end goal in mind. Both provides non-programmers to train and build bots. Microsoft has wider connectors/channels compared to Facebook still both looks equally promising.

Want to build a bot to represent your business or act as sales agent, let us help you get it to reality, use contact us form to get in touch with us or leave a message at contact@veloxcore.com, we’d love to hear from you.

Like reading our blog, subscribe below to get notification when our next blog comes out.

Like reading it, Share it.