Communication has changed from writing letters to using mobile and smart phones. Today, we now have things like chatbots which has become a popular customer service solution able to facilitate sales, complete online tasks, and more.
What is a Bot?
Bots are application that interact with users using text, images or speech. A good example of a bot is Cortana on Windows.
Azure bot service can be used to create conversational chat bot and to infuse. Bots can be made to perform intelligent actions within your business processes. Bots can even be setup to make predictions when integrated with big data and machine learning.
For example, let’s say that you want to buy a product or subscribe to a service from a company’s website. Instead of wasting time searching through the company’s website for the information that you need, you could just start a conversation with a chatbot as if you were talking with a real human. The chatbot will respond to your questions, and even learn who you are and what you like so that next time you are on the company’s website, you won’t have to answer the same questions as before.
When talking about bots on Azure, there are a number of technologies working behind the scene to bring all the different experiences together. Below are some of them:
- Bot Framework Emulator: This gives us an easy way to visualize, interact and debug our bots. We can use this tool to perform testing before deploying our bots to Azure
- Bot Framework Service (BFS): Sends and receive messages and events between bots and channels
- Channels: A channel is a connection between your bot and communication applications. A channels exposes your bots to users. These would include your social media applications such as Slack, Skype, and Facebook etc.
- Bot Connector: Allows you to connect your bot to multiple channels. It performs operations such as routing of messages, managing states and session tracking
- Azure Bot Service: This is the bot backbone in which everything operates. After a bot has been developed and published to Azure, the bot service helps us to connect, deploy and manage our bot
- Language Understanding Intelligent Service (LUIS): This allows us to interact with different libraries and augment our bots with additional intelligence and more capabilities. LUIS is a machine learning-based service that builds natural language into apps, bots and IoT devices. When a user passes a query, LUIS gets to work and returns a list of possible intents.
How Bots Work
Users usually connect to a bot through channels. When a user connects to a channel, a message is sent to the ‘Bot Framework Service’. The Bot Framework Service then send a message to the bot for it to join the Channel. It is at this point that conversation begins. If the user for example say’s “Hi”, the message get sent to the ‘Bot Framework Service’ and the message is then sent to the bot by the Bot Framework Service. The bot can then send a message back to the channel. The channel then notifies the Bot Framework Service that a response message has been sent by the bot. The bot can the close off the conversation or conversation can continue as required.
Creating a bot on Azure
It would take a huge amount of effort to build an Azure bot app from scratch. The good news is that Microsoft has a number of tools and services that we can use to build one such as Microsoft QnA maker, Microsoft Cognitive services, etc.
Before you can create bots on Azure, you will need to have an Azure account with a valid subscription.
There are two ways to create bots on Microsoft Azure:
- Creating a web app bot using the portal. to learn how to create bot using the Azure portal, click the following link: https://docs.microsoft.com/en-us/azure/bot-service/abs-quickstart?view=azure-bot-service-4.0
- Creating a web app bot using the CLI. To learn how to create bot through the CLI click the following link: https://docs.microsoft.com/en-us/cli/azure/bot?view=azure-cli-latest
After you bot has been created, you will need to deploy it and test it. Click on the following link for a walk through of how to deploy you Azure bot: https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-deploy-az-cli?view=azure-bot-service-4.0&tabs=csharp
A lot of businesses today are taking advantage of bots to help their customers search for things quickly on their website and to power their customer service. The whole idea of a bot being to give a human like experience to users and customers.