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.
The use of this type of model means that in Power Virtual Agents, when you craft trigger phrases for a topic, you only need to provide a few examples, usually in the range of five to 10 phrases for a single topic. Shorter trigger phrases are better, and you should aim for two 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.
These tips for creating tooltips are described in the tooltip associated with the Trigger phrases section on a topic’s Details page.
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 AI capabilities listed in this topic are in preview, available to bots created with English as the set language.
Topic overlap detection (preview)
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.
Once enabled, go to Analytics on the side navigation pane, then go to the Topic triggering (preview) tab, where a list of overlapped topics will be displayed.
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 click on 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 on the side navigation pane, then go to the 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 analyser automatically runs once every one to two hours. It scans through all new queries made since the analyser 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 click on 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 analysing 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.
On the left side of the image, a bot user asks “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” and “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 what the bot user is likely asking to buy items, so it 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 will reuse information from Microsoft Graph and Azure Active Directory (Azure AD) throughout the course of a 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 will be pulled from Microsoft Graph and Azure AD (for authenticated users) and provided as prompts for the user to choose as an option.
|CONVERSATION PERSONALIZATION (PREVIEW)|
|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
To use these advanced AI capabilities in Power Virtual Agents:
- Open a bot you want to enable or disable the features for.
- Expand Manage on the side navigation pane, then go to the AI capabilities tab.
- For each feature, select the checkbox to turn the feature on or off.
- Select Save at the top of the tab.