Conversational AI is the next user interface (UI) wave in computing. We’ve evolved from a world of having to learn and adapt to computers to one where they’re learning how to understand and interact with us. Natural interactions with computers start with language, speech, and semantic understanding, and continues through supporting rich multi model interactions.
Today at the Build conference, we are announcing major updates related to our Conversational AI tools including updates to Aure Bot Service, Microsoft Cognitive Services Language Understanding, and QnAMaker, as well as the release of new experimental projects from the Cognitive Services Labs including Conversation Learner and Personality Chat. This blog post provides a brief recap of all Conversational AI announcements from Build and takes a quick dive into some of our newly updated services.
With Microsoft’s Conversational AI tools developers can build, connect, deploy, and manage intelligent bots that naturally interact with their users on a website, app, Cortana, Microsoft Teams, Skype, Facebook Messenger, Slack, and more. It’s quick, free, and easy to get started with the Microsoft Bot Builder software development kit (SDK) and its related tools, for a complete bot building experience. Building intelligent bot requires stitching together several components. Developers can quickly add layers of sophistication to their bots by using the collection of Azure Cognitive Services that include Language Understanding, QnA, dialog, speech, vision knowledge, and much more. As always, you can host your bot directly on Azure at scale using Azure Bot Service, or in your preferred hosting location.
For a more in-depth look at each of these service updates, check out their respective web pages and associated blogs or peruse the Build blog homepage, where there may be a more thorough review from one of the service team’s developers.
Happy Build and happy building!
Bot Builder SDK (v4 preview)
BotBuilder SDK V4 was designed for extensibility and modularity based on feedback from our vibrant developer community. You can quickly start with a simple bot design and increase its sophistication and intelligence by adding different components such as Cognitive Services Language Understanding models and QnAMaker knowledge bases. With the Bot Builder SDK v4 you can develop bots that have more guided interactions and provide the user with discrete choices or actions. Or you can design freeform conversation using Microsoft Cognitive Services Language Understanding (LUIS). With LUIS, you can add natural language interactions to allow your users to interact with your bots more naturally and expressively. Your bot’s conversation can use plain text as well as more sophisticated cards containing text, images, and actions buttons.
Improved Bot Framework Emulator (v4 Preview)
The Bot Framework Emulator is an evolution of our open-source, cross-platform application for Mac, Windows, and Linux that allows bot developers to test and debug their bots on their local machine or in the cloud. The new emulator includes features like an improved dynamic layout model, support for multiple bot configurations, simplified bot components management, and the ability to inspect responses from and deep link to connected services such as LUIS and QnA. The Bot Framework Emulator also introduces new transcript functionality that enables bot debugging based on transcript logs and transcript playback in presentation mode. The new v4 preview emulator runs side by side with the current GA v3 Bot Emulator and supports bots targeting either Bot Builder v3 or the new v4 preview.
The Bot Framework Emulator is available as open source on Github. Check it out and get started today.
New Bot Builder Tools
Bot Builder Tools are designed to enable an end-to-end conversational app-centric development workflow. From planning and testing mockups, through adding intelligence to your bot with LUIS models and QnAMaker knowledge bases, to publishing your bot and connecting with your audience using Azure Bot Services supported channels. The tools provide a cross-platform command line experience for managing bots, bot’s parts, and channels. The Bot Builder tools are used to manage your bot's integration with LUIS models, QnAMaker KBs, and the Bot Builder Dispatch module. You can also use Azure CLI to manage your Azure bot deployment and channel registration.
Bot Builder Dispatch
Developers are often required to use different components (parts) to increase their bot intelligence and provide a more natural conversation experience to their customers. Developers include multiple LUIS models, QnA Knowledge Bases and other Azure Cognitive Services to infuse intelligence to their bot. Bot Builder Dispatch is a tool used evaluate potential intents conflicts and overlap across multiple bot components such as LUIS models and QnA knowledge bases.
Determining which bot component is best suited to handle a given user utterance or provide the best possible answer for any given user query can be challenging. The Dispatch is a component of the new Bot Builder SDKv4 that helps makes bots smarter by using Machine Learning and Natural Language Understanding to determine which part of your bot is best suited to address a user’s given needs.
The Dispatch takes representative utterances from your bot's one or more LUIS models, and QnAMaker knowledge bases to build a machine-learned dispatch model that is used to route requests to the right component. The Dispatch evaluation phase allows you to identify improvements this routing model that can be used to increase your bot overall end-user experience. The resulting Dispatch LUIS model, created as part of the evaluation phase, is then used to direct incoming utterances to the right LUIS or Q&AMaker Knowledge Base.
Bot Service Features
Most productivity bots depend on external, authenticated services to help users complete requests; whether that be finding a ride, interacting with a source repo, or accessing services via the Office 365 Graph API's. Azure Bot Service is now introducing authentication as a capability for developers. Through it a developer can easily configure a bot with an authentication provider including AAD and many named OAuth providers. Once configured, a few simple lines of code and the bot will authenticate users as part of the conversation.
Bot Service has now also passed the audit for SOC, adding to the existing ISO 27001, 27018, PCI and HIPAA compliance audits it has completed. Azure Bot Service, as all Azure services, is GDPR compliant and offers API's that can help you manage your users' data privacy.
Microsoft Cognitive Services Language Understanding (LUIS) offers a fast and effective way to add language understanding to your applications. You can use LUIS’s pre-existing, pre-built models for your scenario and, LUIS can guide you through the process of specializing and quickly rebuilding your models at any time.
Text Analytics has now expanded capabilities including Entity Linking that allows users to identify well-known entities in their text (people, places, organizations, etc.) and provide links to the web for more information.
LUIS offers a fully integrated experience with both Text Analytics and speech. Combining the Text Analytics capabilities enables developers to receive sentiment analysis for each utterance along with intents and entities in LUIS response. Integration with Text Analytics makes it possible to detect key phrases in an utterance through the new key phrase entity type.
The new Language Understanding offering integrates a new ‘Speech to Intent’ bundle that combines the speech to text capability with text to intent using a single Azure key. The new offering is designed to simplify the speech to intent process and provide developers a streamlined, integrated, and customized experience for specific language scenarios, like call center analytics.
Additionally, LUIS offers two new features that enable an improved language understanding of intents and entities. Regex entities allow the identification of an entity in the utterance based on a regular expression. Patterns, on the other hand, enable developers to effectively define intents without having to provide many utterances. Patterns could also encompass entities with variable length represented as Patterns.any entities.
For more information on how to get started, check out the Language Understanding page and its associated blogs.
Microsoft Cognitive Services QnAMaker is generally available today. QnAMaker is an easy-to-use web-based service to train AI to respond to user’s questions in a more natural, conversational way. With QnAMaker, developers can build, train, and publish question and answer bots in minutes. Thanks to QnAMaker’s graphical interface service, you don’t need to have natural language understanding expertise or experience to leverage it. This update represents an important step in QnAMaker’s evolution and makes the product more accessible to all users, regardless of expertise. Along with general availability, QnAMaker is now available as a hosted model to improve the service’s latency, scale, and compliance. GA also brings a brand new portal with new features that manage knowledge base management easier.
Check out the updated QnAMaker portal and associated blogs to learn more and get started.
Project Conversation Learner
Newly available as a Cognitive Services lab, Project Conversation Learner enables you to build and teach conversational interfaces that learn directly from example interactions. Spanning a broad set of task-oriented use cases, Project Conversation Learner applies machine learning behind-the-scenes to decrease manual coding of dialogue control logic. The Project Conversation Learner SDK works in conjunction with the Bot Builder SDK v4 preview, which makes bots, skills, and other conversational UIs built with Project Conversation Learner easy to deploy via the Bot Framework.
Teaching interface for Project Conversation Learner. A developer or domain expert chooses the actions the bot should take, and the resulting dialogs are used to train a recurrent neural network.
Project Personality Chat
Personality Chat helps make intelligent agents more complete and conversational by handling common small talk and reducing fallback responses. You can have your agent do small talk in the flavor of one of three personalities – Professional, Friendly, Humorous. Try out a demo at Personality Chat Cognitive Labs and learn about the response generation technology.
A customizable editorial library of the 100 most common small talk scenarios is available to integrate with the Bot Builder SDK v4.
To learn more and get started visit the Azure Bot Service website.
Thank you again and happy coding!