AI models in Power Virtual Agents - background
Power Virtual Agents hosts multiple AI models and AI functions in a single service whose core is a transformer-based NLU (Natural Language Understanding) model.
Traditionally, intent collection (how an AI model determines the intent of a question it is asked by using NLU to understand what a user is asking) is formalized as a multi-class classification problem, where the model is strongly associated with known categories; Any change to these categories will result in a new AI model having to be created.
However, Power Virtual Agents uses a language understanding model that uses an example-based approach based on a deep neural model. Such a large model only has to be trained once with large amounts of data using AI supercomputing and can then be used for specific tasks with just a few examples without additional training. Use of this model is part ofAI at scaleInitiative from Microsoft and means that the way AI is developed and used is changing. Specifically for Power Virtual Agents, using this model gives bot creators an intuitive way to safely work on their bot content without having to involve AI experts.
With the Power Virtual Agents model, when creating trigger sets for a topic, you only need to provide a few examples. The examples on a single topic usually consist of 5 to 10 sentences.
Shorter trigger phrases are better and you should aim for 2 to 10 words in length. All you have to do is ensure that the trigger phrases are semantically distinct: changing a single verb or noun may be enough to expand the coverage of a topic. Adding things like new articles (changing or adding "the" or "a" or "an"), changing the case, adding contractions (it's you or not), or adding plurals doesn't improve resolution , since contractions are already accounted for in the AI model.
Entities used in corresponding topics are automatically identified in user intents when matched against their trigger phrases. For example, the user intent "I want to book a ticket to Boston" matches the trigger phrase "I want to book a ticket to Paris".
The AI features that are in preview are only available to bots built with English as the default language.
Overview of Advanced AI Features
There are some specific features that further improve the way the AI in Power Virtual Agents understands what your bot users are asking and how the AI provides answers. The video below provides an overview of these features, each of which is described in more detail on this page.
Registration of subject overlaps
Topic overlap detection helps improve topic trigger accuracy by finding overlaps between topics. Resolving topic overlap can help reduce the need for the bot to ask clarifying questions before triggering a topic.
Topic overlap detection is generally available and supportedAll languages supported in Power Virtual Agents.
Once you enable advanced AI features, you can see a list of overlapping themes. Select in the navigation menuAnalyst, and then selecttopic triggerthe tab.
The list shows each overlapping topic along with a similarity score that represents a topic's overall overlap status and the number of topics that overlap the listed topic. The similarity score is determined by the AI by assessing how semantically similar the overlapping trigger sets are to each other. A higher score indicates that a particular topic has one or more trigger phrases that are close to another topic's trigger phrases.
You can sort the list by similarity score, topic name, or the number of trigger phrase overlaps.
Selecting an item in the list displays the following:Details on the topic overlapThe window will open.
In this example, there is a trigger set in "Language support in Microsoft 365?" topic (What languages is Microsoft 365 available in?) that semantically overlaps with a trigger phrase in "Use Microsoft 365 in other languages?". Theme (Can I use Microsoft 365 in languages other than the one originally purchased?). In doing so, the AI determined that both trigger sets are semantically similar (they contain similar sentences, words, and grammar).
Using semantically similar trigger phrases for two different topics can cause confusion as the bot may not know which topic to open and has to ask the bot user follow-up questions.
By identifying semantically similar trigger phrases, you can also determine if your topics are inherently similar and could be consolidated to simplify the bot-building process, or edited to differentiate the topics more clearly.
On itDetails on the topic overlapIn the "Link" area, you can select the link to go directly to the respective topic. You can also modify (or delete) the trigger statement directly.Details on the topic overlapField. chooseSaveto accept any changes.
Once you have saved the changes in theDetails on the topic overlapthe overlap status will be updated automatically. You can manually update the topic cascade status at any time by clicking the refresh button on the topic cascade interface.
Topic suggestions from chat transcripts (preview)
This feature analyzes sessions between your bot and users and shows you suggestions based on mismatched user input.
When activated, go toAnalyst>Theme trigger (preview). A list of potential topics will be displayed with the number of times users of the bot have made a request on this topic. The 200 best suggestions are displayed.
The Topic Suggestion Analyzer runs automatically every one to two hours. It searches all new queries created since the last time the analyzer was run, groups queries for which it could not find a match to an existing topic, and displays them in the list. Your bot needs at least 100 new conversations (since the last time a suggestion was generated) to trigger the process, and only suggestions with more than three user sessions are shown.
When you select a topic in the suggestion list, a topic suggestion window appears, showing the topic with some suggested trigger phrases. The suggested trigger phrases are based on requests from the bot users that could not be matched to an existing topic.
After reviewing the suggested trigger phrases, you can delete the entire suggested topic (e.g. if it's irrelevant to the bot) or add it to your topic list by choosingAdd to topics.
Auto trigger improvements (preview)
When activatedThe Auto Trigger feature improves intent triggering by using AI to automatically generate new trigger phrases by analyzing past bot traffic.
With the continuous learning in Power Virtual Agents that this feature provides, each conversation will make the next better - using reinforcement learning and signals from answers to "Did you mean?" questions: When the bot wonders about the bot user's answer is not sure he will Ask a clarifying question. The bot then automatically learns from the bot user's answers and does not have to ask again.
Over time, as users interact and talk to the bot, it gets better and better.
In the screenshot below, when the bot first encounters a question it doesn't understand, it asks for clarification.
Before automatically triggering improvements, a bot user asks a misspelled question, "I want to buy something," to which the bot replies, "Sorry, I didn't understand that. Did you mean:" and then gives some options, such asbuy goodsorbuy services. In this case, the bot user has chosenbuy goods.
The next time someone asks the same question, the bot won't ask for clarification. It knows from previous interactions that the bot user is likely asking to purchase items. The bot goes directly into the purchase topic and answers the question "I want to buy something" with "I want to help you with the order. Which federal state would you like to ship to?"
In this example, it also understands that the misspelling of "somethign" means "something", allowing it to submit the extended intent trigger even if the bot user's question is spelled differently.
Call customization (preview)
When this feature is enabledthe bot uses information from Microsoft Graph and Azure Active Directory (Azure AD) throughout the conversation. This feature allows the bot to use information it already has to improve and personalize future conversations. For example, if a user provides a name, email address, or zip code, those attributes are stored and used in subsequent conversations without the user having to be notified.
Specifically, when this feature is enabled and the bot asks questions like the ones in the table below, the appropriate user information is pulled from Microsoft Graph and Azure AD (for authenticated users) and provided as prompts that the user can choose as an option.
|Example bot question||The user property is automatically populated from Microsoft Graph or Azure AD|
|business phone number|
|country of residence|
|home phone number|
|Name des Managers|
|Number of Children|
|State/Province of Residence|
Activate or deactivate AI functions
- Open a bot whose features you want to enable or disable.
- ExpandIdeasClick the tab and then selectAI Skills.
- For each feature, check the box to turn the feature on or off.
- chooseSaveat the top of the tab.