Creating a Chatbot on Azure
The course is part of this learning path
The ‘Building a Chatbot on Azure’ course will allow team members to learn how to automate basic support tasks by using chatbots to answer typical questions about their products and/or services.
In this course, you will learn to create a chatbot to answer support questions about specific products and services. Along with this, you will learn how to combine the Azure Bot Service and Azure QnA Maker and to add speech input and output capabilities to help customers on mobile devices and those with impaired sight.
This course is made up of 5 lectures that will require some previous knowledge of Azure and coding.
- Create and configure an Azure QnA Maker knowledge base
- Create an Azure Bot Service chatbot that answers questions
- Enable speech recognition and synthesis on an Azure chatbot
- Those interested in artificial intelligence services on Azure, especially chatbots
- Previous experience using Azure
- Previous experience with writing code
The GitHub repository for this course is at https://github.com/cloudacademy/azure-recommendation-engine.
Our goal in this course is to build a chatbot that can answer questions about a particular product based on a Frequently Asked Questions page for that product. The idea is that this bot could handle basic technical support requests from customers. We’re also going to give our bot the ability to accept spoken questions and to respond verbally. This will hopefully make the chatbot easier to use for people with impaired vision and people on mobile devices.
Building this sort of application from scratch would take a huge amount of effort, but luckily, Microsoft has a number of services that are designed to help us build one. It can be a little bit confusing finding the right tools in Azure, though.
The most obvious place to start is with Azure Cognitive Services. This is a collection of pre-built artificial intelligence tools. These services let you add AI capabilities to applications even if you don’t know anything about machine learning.
They’re grouped into five categories: vision, knowledge, language, speech, and search. For example, the vision category includes the Computer Vision API, which can classify images, and the Face API, which can detect faces in images.
So which category would have a chatbot? Language seems like the right one, but it’s not there. It’s actually a separate service that’s not part of Cognitive Services. I think it’s because Cognitive Services are meant to be task-oriented rather than complete AI systems. For example, you could use the Translator Text API to convert an English sentence to another language, such as French. In contrast, a chatbot is an entire system with many integrated functions. The Azure Bot Service is what we need.
We do still need something in Cognitive Services, though, because we need our chatbot to use a knowledge base. If we look in the Knowledge category, we see that it has a service called QnA Maker. It lets you create a knowledge base from collections of Q&As. That’s exactly what we need for our chatbot.
How about searching the knowledge base? Do we use something from the Search category for that? You’d think so, but QnA Maker actually uses the Azure Search Service, which is not part of Cognitive Services, even though it’s advertised as being AI-powered.
OK, how about the speech capabilities we want to give our chatbot? Surely, we should use something from the Speech category for that, right? Well, maybe. As you’ll see later, there are several options for adding speech capabilities, one of which is Bing Speech, which isn’t in this list. I think they just renamed it, though, so it actually is part of this list. Confused? I know I was when I started using Azure’s AI services. Hopefully, I can make it less confusing for you.
In the next lesson, we’ll get started building our chatbot, so if you’re ready, go to the next video.
About the Author
Guy launched his first training website in 1995 and he's been helping people learn IT technologies ever since. He has been a sysadmin, instructor, sales engineer, IT manager, and entrepreneur. In his most recent venture, he founded and led a cloud-based training infrastructure company that provided virtual labs for some of the largest software vendors in the world. Guy’s passion is making complex technology easy to understand. His activities outside of work have included riding an elephant and skydiving (although not at the same time).