Microsoft Bot Framework

Introduction

Hi, as I said in my previous post I would like to describe here my experience from conferences. So let’s start!
I was the most amazed on DDD north by Become a chatbot builder with Microsoft Bot Framework presented by James Mann. I was surprised how fast you can create exact intelligent chatbot. The funniest thing was that I didn’t know which talk I should choose in that slot and I decided to go to it by deduction.

Microsoft Bot Framework

So Microsoft Bot Framework is a framework which integrates Bot service hosted on Microsoft Azure with the most known channels like slack, messenger, skype, etc.
The first thing to start coding is to go to the URL:
  1. Download template for VS – it will allow you create project in that framework with all dependencies in nugget (SDK Bot Framework)
  2. Download the emulator (for testing purposes)
The primary purpose of this framework is to integrate all these channels. As self, it hasn’t got inbuild AI framework, but you can integrate it with other services from Microsoft Core Services. It provides you with an ASP.NET controller with methods where you can process text input and return your answer.
There exist three techniques in that framework which you can use
  1. Question and Answers – for some specific text you return a particular answer.
  2. Dialog – it gives you a possibility of context in conversation. So you can ask for some details and fill the form and do some computation depend on it.
  3. FormFlows – it gives you a window with suggesting questions.
It is your responsibility for providing interpretation and prevent typos by users. The framework as self just gives you an opportunity to process messages in particular channel.

So how to make intelligent things?

James showed two tools from Microsoft Cognitive Service
It provides you with a ready solution to create an intelligent model based on your FAQ. You can feed your model with FAQ link, file or manually. Even though after feeding your model with data, you still can train your model with specific questions and choose what is the best answer. So in the end, end-user can make typos, differently expressed queries than initially and still he will get a proper answer from your chatbot.
When you publish your service, you will get all necessary info to feed your Microsoft Bot Framework. You need to just add a QnAMakerService attribute in your dialogue.
This service is free for preview purposes, and it allows you to do 10 transactions per minuter, up to 10 000 transactions per month.
So I’ve tested this website, and I fed my model from FAQ of Redgate about product. You can try it here:
> Note that bot sometimes needs more time to answer for the first connection. Please be patient, or I said earlier keep in mind that a number of transaction for the free preview can be used.
2) Luis.ai – it is a service to interpret natural human language. It uses two concepts to understand language:
  • intent
  • entity
The entity is the generic placeholder for value. The intent is expression/utterance where you express sentence using entity placeholder. Luis will try to fit user utterance to existing data and returns these intents and entities with a probability of understanding the sentence. To understand more check prebuild domains or check https://www.luis.ai/welcome
Currently, (16/10/2017) Luis supports following languages: Brazilian Portuguese, Chinese, Dutch, English, French, French Canadian, German, Italian, Japanese, Korean, Spanish, Spanish Mexican.

How to create Azure account

References

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s