The Centric India Artificial Intelligence Cognitive Services Research Group conducted an introductory Tech Talk on Microsoft Cognitive Services.
Members of the Artificial Intelligence Cognitive Services Research Group include subject matter expert Ritika Dogra, Sushant Wadhawan, Pranay Sagar, and Artificial Intelligence Practice Lead Amanpreet Singh. They hosted a Tech Talk covering various elements of using Microsoft Cognitive Services. Their discussion objective covered:
- an introduction of Microsoft Cognitive Services
- inspiring and preparing the team to use Cognitive Services in future
- a demo of ChatBot with Language Understanding Intelligent Service (LUIS)
Here is a snapshot of their conversation.
Microsoft Cognitive Services
Cognitive Services are a set of machine learning algorithms Microsoft developed to solve problems in the field of Artificial Intelligence (AI). The goal of Cognitive Services is to democratize Artificial Intelligence by packaging it into discrete components that are easy for developers to use in their apps.
Microsoft offers many different types of Cognitive Services:
- Vision: analyze images and videos for content and other useful information.
- Speech: tools to improve speech recognition and identify the speaker.
- Language: understanding sentences and intent rather than just words.
- Knowledge: maps complex information and data to solve tasks such as intelligent recommendations and logical search.
- Search: applies machine learning to web searches.
Before getting deep into Language Understanding Intelligent Service (LUIS) Cognitive Services, let’s talk about Microsoft’s Bot Framework.
Microsoft Bot Framework
The Microsoft Bot Framework is a powerful set of services, tools, and SDKs that provides a rich foundation or “framework” for developers to build and connect intelligent bots. Using bot framework, you can create your bots with SDKs available in C#, Node.JS, and using REST requests.
Bots let users interact with intelligent solutions as though they are conversing with another person. Interactions can take many forms, from text/SMS to Office365 mail to Skype and Slack.
Bots (or conversation agents) are rapidly becoming an integral part of your digital experience. Bots are as vital to the user experience with a service or application as a web site or a mobile app. Developers writing bots all face the same problems: bots require basic I/O, must have language and dialog skills and must connect to users.
The Bot Framework provides tools to solve these problems and more for developers easily. Tools include those such as automatic translation to more than 30 languages, user and conversation state management, debugging tools, an embeddable web chat control, and a way for users to discover, try, and add bots to the conversation experiences they love.
The Bot Framework has several components including the Bot Connector, Bot Builder SDK, and the Bot Directory. Here is a brief overview of the process:
Cognitive Service – Language Understanding Intelligent Service (LUIS)
LUIS is a cloud-based API service that applies custom machine-learning intelligence to a user’s conversational, natural language text to predict overall meaning and pull out relevant, detailed information.
Major Components of LUIS
- Intent: is an action the user wants to perform
- Entities: used similarly to a variable in algebra. It is used to capture and pass important information
- Utterance: is what the user speaks or types
- Patterns: are template utterances with placeholders for entities used to improve your model further
- Phrase Lists: A group of values (words or phrases) that belong to the same class and require similar treatment
Using LUIS in ChatBot
Using the Azure portal, you can create a Web App bot and can select a Basic Bot template that will have LUIS service.
Setup LUIS App
After you create a Web app bot using Basic Bot template, you will see the same in your LUIS app. There, you can set the components for making your LUIS more responsive.
- Set Intents
- Set Entities
- Set Patterns
- Set Phrase list
Publish the LUIS app and Testing
Once the LUIS app is published, a client application sends utterances (text) to the LUIS natural language processing endpoint API and receives the results as JSON responses. A typical client application for LUIS is a chatbot.
Below shows the response from LUIS app.
You can test the Web App bot in Azure portal like below:
Summary
Cognitive services are AI-enabled services that make solution intelligent without much intervention of a human. Microsoft AI + Machine Learning = Web App Bot is the easiest way to create a Bot with these services. You can choose the type of cognitive service based on the requirement, train it, and make your bot more interactive.