I want to Develop an AI : Azure AI Products, Services & Tools Selection Guideline

Being one of the major public cloud providers, Microsoft Azure provides numarous products, services and tools for intelligent application development. This is a high level guideline to select the appropriate product for your application development.

I have just pinpointed the most used tools and services here. The services can be interconnected with each other in order to develop applications for more complex use cases.

Download the PDF version of the diagram from here.

FAQ Bot in Minutes!

qna)Almost all the tech giants are massively investing on chatbots and make them available for the use of general public in an efficient and easy way. Many development tools, SDKs and services are now available in the market to build your own chatbots. Microsoft QnA Maker is one of the most handy tools to get started for building a basic Question & Answer Bot.

qna3Microsoft QnA Maker was in public preview for quite a while and it came for general availability with the Build 2018 announcements. If you have bots that already built using the QnA Maker preview portal, just go and migrate the knowledge bases that you’ve created to the new portal that has attached to QnA Maker management Portal. Here’s the guide to do that.

Building a bot using is pretty straight forward. What you need to have is a set of question and answer pairs that you need to add as the knowledge base of your chatbot. Tw knowlesge base can be created manually using the online editor or you can just upload a question & answer pairs in CSV/TSV formats, a word document or even a product manual. If you want to add set of FAQs in a website, what you have to do is provide the URL of that for to extract the information.

qna4

Testing the knowledge base realtime

The created knowledge can be tested using the portal Realtime. The corrections for the classifications also can be done through the portal. One of the major advantages of QnA Maker service is that the bot knowledge base can be directly deployed on client’s Azure Tennent without spoiling any privacy or compliance issues.

Publishing the knowledge base would create a REST endpoint that you can access through Microsoft Bot Framework and then directly publish into a desired channel. The sample code for building a simple QnA maker powered bot is available here on GitHub.

qna5One of the promising feature comes with the latest updates is the “Small Talk” request response dataset from Microsoft. This can make your bot seems more intelligent and human like. (Even Mmmm… s 😀 ) You can select your desired personality from Professional, Friendly or Humorous and download the dataset as a TSV. Then add that to your existing knowledge base. This will give your bot a more human like touch. (Make sure to select the datasets that is specifically built for QnA maker)

The pricing for the QnA maker service is just charging for the hosting service not for the number of transactions. (Note that you’d be charge for the bot service separately 😉 ) You can refer more about pricing here.  https://azure.microsoft.com/en-us/pricing/details/cognitive-services/qna-maker/

QnA maker is not the fully intelligent knowledge base building platform. But it can help you to come out with a fully functioning bot in minutes.

Chatbots : What & Why?

robot-customer-serviceThe word ‘chatbots’ has become one of the most whispered words in the tech world today. Each and every tech company is putting a lot of effort on researching and developing bot related technologies.

The very first thing that you should keep in your mind is “Bot is not an acronym neither a magic app”. Bot is an application that operates as an agent for a user or another program or simulates a human activity.

I would say, there’s no Artificial intelligence or natural language processing attached with most of the chatbots you see out there. But AI and machine learning have become prominent factors of giving bots more human side.

The evolution of chatting paradigms and the rapid adaptation of millennials for chatting platforms like Facebook messenger, WhatsApp and Viber increased the need of chatbots that can handle business processes.

df

Evolution of user interaction

The same way a website is interacting with a user, bot acts as the interface into the service. Simplicity, increasing productivity, personalized service lines are some of the major benefits that we can achieve with getting chatbots into the play.

Super bots Vs domain specific bots

Probably the very first thought that comes to your mind when it says ‘bots’ might be “Siri, Cortana or Google assistant”. Dominating our pockets with their ability of interacting as a personal assistant, these software utilities can be defined as super bots. They are equipped with speech recognition as well as natural language understanding. Normally there’s a persona specifically designed for these super bots. The backend of these intelligent applications is backed with machine learning and deep learning based technological interventions.

we-put-siri-alexa-google-assistant-and-cortana-through-a-marathon-of-tests-to-see-whos-winning-the-virtual-assistant-race--heres-what-we-found

AI powered personal assistants in your pocket and home

Domain specific bots are easy to find and easy to build (comparatively to the super bots). They are specifically designed aligning to a particular business process.  Ordering a pizza from nearest pizza shop, customer service call centers or booking a flight ticket are some example business processes that can be easily adopted to a conversational bot interface. These bots may use machine learning techniques for natural language understanding.

Business bots Vs Consumer bots

Bots are not only mend to be to involve in business process. Fun is mandatory! The consumer bots are specifically designed to maintain human like conversations with the users. Sometimes even for flirting 😉 Mitsuku is known as one of the prominent consumer bots that have built for today.

Text or the voice?

Interacting with a chatbot can be done in several ways. Textual communication is just one thing. Speech recognition enables the user to interact with the chatbots with speech. Some chatbots provide interactive clickable cards for user interaction. Amazon Alexa even has a hardware component that interacts with the user with voice commands.

Building bots

There are plenty of programming paradigms prevailing today that helps you to build conversational bots. Microsoft Bot Framework is a programmer friendly framework that supports C# or node.js for deploying bots. Integrating chat channels like Skype and messenger can be too done through the framework.

Natural Language understanding provides more human like nature for bot’s conversations. For that, LUIS service by Microsoft, API.AI, wit.ai are some prominent services used today by the programmers. No need to go from the scratch of machine learning algorithms. Just an API call will do the magic for you.

Bots can be given more human like abilities with machine learning based intelligent API services and SDKs. Microsoft Cognitive services is a valuable toolset that you can use to give your chatbot the ability to see, hear and even think!

What’s next?

I guess, codeless bot building services (some are already there in the market, but not so matured) and natural language generation would be the next big things in the conversational bot building industry. Deep learning will come to scene with language generation for sure.

Time to market is a prominent factor in the world of business. Then why not going with the trend and adopt a chatbot for your own business or start building bots as your business? 😉