Enable advanced AI features in Power Virtual Agents
This topic contains pre-release documentation and is subject to change.
Preview features aren't meant for production use and may have restricted functionality. These features are available before an official release so that customers can get early access and provide feedback.
Select the version of Power Virtual Agents you're using here:
AI models in Power Virtual Agents - background
Power Virtual Agents hosts multiple AI models and AI capabilities on a single service, the core of which is a transformer-based natural language understanding (NLU) model.
Traditionally, intent triggering (how an AI model determines the intent of a question posed to it, by using NLU to understand what a user is asking) is formalized as a multi-class classification problem, in which the model is highly associated with known categories; any change to these categories will result in the need to build a new AI model.
Power Virtual Agents, however, employs a language understanding model that uses an example-based approach, powered by a deep neural model. This type of large-scale model only needs to be trained once with large amounts of data using AI supercomputing, and can then be used for specific tasks with few examples without further training. The use of this model is part of the AI at Scale initiative by Microsoft, and means the way AI is developed and used is changing. Specifically for Power Virtual Agents, the use of this model allows for an intuitive way for bot makers to work on their bot content confidently, without having to involve AI experts.
With the Power Virtual Agents model, you only need to provide a few examples when you craft trigger phrases for a topic. The examples for a single topic usually consist of 5 to 10 phrases.
Shorter trigger phrases are better, and you should aim for 2 to 10 words. You just need to make sure trigger phrases are semantically different: changing a single verb or noun could be enough to expand a topic's coverage. Adding things like new articles (changing or adding 'the' or 'a' or 'an'), changing capitalization, adding contractions (you're or don't), or adding plurals won't improve the triggering because contractions are already accounted for in the AI model.
Entities used in corresponding topics will automatically be identified in user intents when matched with their trigger phrases. For example the user intent "I want to book a ticket to Boston" will match with the trigger phrase "I want to book a ticket to Paris".
The AI capabilities that are in preview are only available to bots created with English as the set language.
Advanced AI features overview
There are some specific features that further improve how the AI in Power Virtual Agents understands what your bot users are asking, and how the AI provides answers. The following video provides an overview of these features, each of which is described in further detail on this page.
Topic overlap detection
Topic overlap detection helps improve topic triggering accuracy by finding overlaps between topics. Resolving topic overlaps can help reduce the need for the bot to ask clarifying questions before triggering a topic.
Topic overlap detection is in general availability and supports all languages supported in Power Virtual Agents.
After you enable advanced AI capabilities, you can view a list of overlapped topics. In the navigation menu, select Analytics, then select the Topic triggering tab.
The list shows each overlapping topic along with a similarity score, which represents the overall overlapped status for a topic, and the number of topics that overlap with the listed one. The similarity score is determined by the AI as it evaluates how semantically similar the overlapping trigger phrases 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 its similarity score, topic name, or number of trigger phrase overlaps.
If you select an item in the list, the Topic overlap details pane will open.
In this example, there's one trigger phrase in the "Languages support in Microsoft 365?" topic (For which languages is Microsoft 365 available?) that semantically overlaps with a trigger phrase in the "Use Microsoft 365 in other languages?" topic (Can I use Microsoft 365 in languages other than the one I originally purchased?). Here, the AI has determined that both trigger phrases are semantically similar (they contain similar phrases, words, and grammar).
Using semantically similar trigger phrases for two different topics can lead to confusion as the bot may not know which topic to open, and will need to ask follow-up questions to the bot user.
Identifying semantically similar trigger phrases can also help you determine if you have topics that themselves are similar and could be consolidated to simplify the bot authoring process, or edited to make the topics more distinct.
On the Topic overlap details pane, you can select the link to go directly to the specific topic. You can also make changes to the trigger phrase (or delete it) directly on the Topic overlap details pane. Select Save to apply any changes.
After you save the changes in the Topic overlap details pane, the overlapping status will automatically be refreshed. You can always manually refresh the topic overlap status by selecting the refresh button on the topic overlap UI.
Topic suggestion from chat transcripts (preview)
This feature analyzes sessions between your bot and users and surfaces suggestions for you based on unmatched user input.
Once enabled, go to Analytics > Topic triggering (preview). A list of potential topics will be shown, with the number of times a query about this topic was made by users of the bot. The top 200 suggestions will be shown.
The topic suggestion analyzer automatically runs once every one to two hours. It scans through all new queries made since the analyzer last ran, groups together queries to which it couldn't match an existing topic, and presents them in the list. Your bot will need at least 100 new conversations (from the last time any suggestion was generated) to trigger the process, and only those suggestions with more than three user sessions will be shown.
When you select an item in the suggestion list, a topic suggestion window will appear, showing the topic with some suggested trigger phrases. The suggested trigger phrases are based on the queries made by the bot users that couldn't be matched to an existing topic.
After reviewing the suggested trigger phrases, you can choose to delete the entire suggested topic (for example, if it's irrelevant to the bot) or add it to your list of topics by selecting Add to topics.
Automatic triggering improvements (preview)
Once enabled, the automatic triggering feature improves intent triggering by using AI to automatically generate new trigger phrases by analyzing previous bot traffic.
With the continuous learning in Power Virtual Agents provided by this feature, each conversation will make the next one better - using reinforcement learning and signals from responses to "Did you mean" questions: when the bot is unsure of the bot user's response it will ask a clarifying question. The bot then learns automatically from the bot user's responses and will not have to ask again.
Over time, as users interact and talk to the bot, it will get better and better.
In the following screenshot, the first time the bot comes across a question it doesn't understand, it asks for clarification.
Before auto-triggering improvements, a bot user asks a question with a spelling error "I'd like to purchase somethign," to which the bot says "Sorry, I didn't get that. Did you mean:" and then provides a few options such as Buy items or Buy service. In this case, the bot user selected Buy items.
The next time someone asks the same question, the bot doesn't ask for clarification. It knows from previous interactions that the bot user is likely asking to buy items. The bot goes straight into the purchasing topic, replying to the question "I'd like to purchase somethign" with "I am happy to help you place your order. To what state will you be shipping?"
In this example, it also understands the misspelling of "somethign" to mean "something," so it's able to carry over the improved intent triggering even though the bot user's question is spelled differently.
Conversation personalization (preview)
When this feature is enabled, the bot reuses information from Microsoft Graph and Azure Active Directory (Azure AD) throughout the conversation. This feature allows the bot to use already existing information to enhance and personalize future conversations. For example, if a user mentions a name, email, or zip code these properties are stored and used in later conversations without having to reprompt the user.
Specifically, with this feature enabled, when the bot asks questions such as those in the following table, the corresponding user information is pulled from Microsoft Graph and Azure AD (for authenticated users) and provided as prompts for the user to choose as an option.
|Sample bot questions||User property automatically filled from Microsoft Graph or Azure AD|
||Date of birth|
||Business phone number|
||City of residence|
||Country of residence|
||Home phone number|
||Mobile phone number|
||Number of children|
||State/province of residence|
Enable or disable AI capabilities
- Open a bot you want to enable or disable the features for.
- Expand the Settings tab, then select AI capabilities.
- For each feature, select the checkbox to turn the feature on or off.
- Select Save at the top of the tab.
Submit and view feedback for