Developing intelligent chat bots with Microsoft AI platform and Bot Framework
Nowadays, we all are using different kinds of applications on different platform and devices. Somebody uses mobiles, somebody uses desktops and laptops to manage their day to day activities and business. In out daily life we use different kinds of applications such as social media applications, messengers, shopping and ticket booking applications, customer service applications and other business applications. What if you need a help while using these applications? What if you get confused while choosing menu options or to get started? Definitely you need some kind of assistance to go ahead. You can contact the customer support team to get assistance for your queries. But you may need to send mail or call to the customer service number and wait for their responses. What if you need immediate assistance? There comes the role of and intelligent online assistant who can help you for choosing options, providing suggestions, and can converse with you in your language.
A chat bot is an intelligent online assistant that can converse with you in your language. It can be programmed with a powerful AI backend that can understand you language and feelings, provide suggestions, collect data from user and respond quickly or later with the results you want. Chat bots can be programmed in different languages and can be hosted in various cloud platforms. A chat bot can be easily integrated with any kind of applications of your choice. It could be a messenger application such as Skype, Facebook messenger, Google Talk, WeChat, Kik or web applications. There are various Bot frameworks available for developers such as Microsoft Bot Framework, Facebook Wit.ai, Google’s api.ai. You can host your bot applications on various platforms such as Azure Bot Services, Chatfuel, HubSpot Motion.ai etc.
Microsoft Bot Framework is one of the best and rich framework for developing Intelligent Bot Applications on Microsoft Azure Cloud platform. The Bot Framework consists of three main components: The Bot builder SDK, Channels, and the Bot Framework Directory. The Bot Builder provides an SDK, libraries, samples, and tools to help you build and debug bots. Microsoft Bot Builder provides SDK for Node.JS and C# ie you can develop your bot applications using Node.JS, C#.NET, Java and Python.
Developing Bot applications using .NET
You can start creating your first bot applications using Visual Studio. For that you need to install the project templates for Bot applications. Two templates are available for .NET, targetting the v3 and v4 versions of the SDK respectively. Both are available as VSIX packages. Both are available in Visual Studio market place. You can download them from the following links.
Bot Builder V3 template: https://marketplace.visualstudio.com/items?itemName=BotBuilder.BotBuilderV3
Bot Builder V4 template: https://aka.ms/Ylcwxk
You need Visual Studio 2015 or later versions to install and develop using these templates. Bot Builder SDK requires .NET framework version 4.6 or later.
Developing Bot Applications using Node.JS
You can develop your bot applications using Node.JS also. To install the Bot templates for Node.JS you need to install the latest version of Node.JS (8.5 or later) and Yeoman. You can download and install the latest version of Node.JS from the Node.JS web site. Install the latest version of Yeoman by running the following command.
npm install -g yo
Install the Node.JS project templates using the following npm command.
npm install generator-botbuilder
Developing Bot using Java and Python
You can also install the Bot templates for Java and python. You can use the following npm commands to install the Yeoman generators for the Java and Python project templates.
npm install generator-botbuilder-java
npm install generator-botbuilder-python
Run the Yeoman command to generate the project template you want.
Making your bot intelligent
How you can create an intelligent bot that can understand your language and respond to your queries. Microsoft Azure AI platform provides a set of APIs that can be integrated with any of your applications. These APIs are called Cognitive Services. These APIs include APIs for Language processing, text to speech translation, suggestions, Search APIs, Face API etc. You can integrate these APIs with your bot applications to make your application more intelligent.
The interaction between bot and user is free-form, so it is important for a bot application to understand the user language and the context. Microsoft Azure Cognitive Services provides the LUIS (Language Understanding Intelligent Service) API that helps the bot to understand the users language and context. For that you need to create a LUIS app model and train your nodel to understand the utterances (What the user says) and the entities. Once the model starts processing input, LUIS begins active learning, allowing you to constantly update and improve the model.
Author: Sonu Sathyadas, Tech Lead, Synergetics