Skip to content

Commit 225122e

Browse files
authored
Merge pull request #263793 from MicrosoftDocs/main
Merge main to live, 4 AM
2 parents 70a9dc3 + e70ec22 commit 225122e

File tree

67 files changed

+7128
-6389
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+7128
-6389
lines changed

.openpublishing.publish.config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1264,6 +1264,7 @@
12641264
"articles/iot-hub/.openpublishing.redirection.iot-hub.json",
12651265
"articles/iot-operations/.openpublishing.redirection.iot-operations.json",
12661266
"articles/load-testing/.openpublishing.redirection.azure-load-testing.json",
1267+
"articles/lab-services/.openpublishing.redirection.lab-services.json",
12671268
"articles/logic-apps/.openpublishing.redirection.logic-apps.json",
12681269
"articles/machine-learning/.openpublishing.redirection.machine-learning.json",
12691270
"articles/machine-learning/v1/.openpublishing.redirection.machine-learning-v1.json",

.openpublishing.redirection.app-service.json

Lines changed: 2642 additions & 147 deletions
Large diffs are not rendered by default.

.openpublishing.redirection.json

Lines changed: 2253 additions & 5608 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/validation-technical-profile.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ The **ValidationTechnicalProfile** element contains the following attribute:
5959
|ContinueOnError|No| Indicating whether validation of any subsequent validation technical profiles should continue if this validation technical profile raises an error. Possible values: `true` or `false` (default, processing of further validation profiles will stop and an error returned). |
6060
|ContinueOnSuccess | No | Indicating whether validation of any subsequent validation profiles should continue if this validation technical profile succeeds. Possible values: `true` or `false`. The default is `true`, meaning that the processing of further validation profiles will continue. |
6161

62+
> [!NOTE]
63+
> Currently, if you set ContinueOnError to false for a validation technical profile of type ClaimsTransformation, the technical profile doesn't honor the setting. To overcome this issue, use Preconditions instead.
64+
6265
The **ValidationTechnicalProfile** element contains the following element:
6366

6467
| Element | Occurrences | Description |

articles/ai-services/speech-service/includes/pattern-matching-overview.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Pattern Matching with the ``IntentRecognizer`` helps you get starte
55
author: chschrae
66
manager: travisw
77
ms.topic: include
8-
ms.date: 11/15/2021
8+
ms.date: 1/21/2024
99
ms.author: chschrae
1010
keywords: intent recognition pattern matching
1111
---
@@ -18,7 +18,7 @@ For supported locales, see [here](../language-support.md?tabs=intent-recognition
1818

1919
There are two types of strings used in the pattern matcher: "exact phrases" and "patterns". It's important to understand the differences.
2020

21-
Exact phrases are a strings of the exact words that you want to match. For example:
21+
Exact phrases are strings of the exact words that you want to match. For example:
2222

2323
> "Take me to floor seven".
2424
@@ -32,15 +32,15 @@ The ``PatternMatchingModel`` contains an ID to reference that model by, a list o
3232

3333
### Pattern Matching Intents
3434

35-
``PatternMatchingIntent`` objects represent a collection of phrases that are used to evaluate speech or text in the ``IntentRecognizer``. If the phrases are matched, then the ``IntentRecognitionResult`` returned will have the ID of the ``PatternMatchingIntent`` that was matched.
35+
``PatternMatchingIntent`` objects represent a collection of phrases that are used to evaluate speech or text in the ``IntentRecognizer``. If the phrases are matched, then the ``IntentRecognitionResult`` returned has the ID of the ``PatternMatchingIntent`` that was matched.
3636

3737
### Pattern Matching Entities
3838

39-
``PatternMatchingEntity`` objects represent an individual entity reference and its corresponding properties that tell the ``IntentRecognizer`` how to treat it. All ``PatternMatchingEntity`` objects must have an ID that is present in a phrase or else it will not be matched.
39+
``PatternMatchingEntity`` objects represent an individual entity reference and its corresponding properties that tell the ``IntentRecognizer`` how to treat it. All ``PatternMatchingEntity`` objects must have an ID that is present in a phrase or else it isn't matched.
4040

4141
#### Entity Naming restrictions
4242

43-
Entity names containing ':' characters assign a role to an entity. (See below)
43+
Entity names containing ':' characters assign a role to an entity.
4444

4545
## Types of Entities
4646

@@ -58,7 +58,7 @@ These entities are lazy matches that attempt to match as few words as possible u
5858
5959
In this case, the utterance "Take me to the floor parking 2" would match and return floorName1 = "parking" and floorName2 = "2".
6060

61-
It may be tricky to handle extra text if it's captured. Perhaps the user kept talking and the utterance captured more than their command. "Take me to floor parking 2 yes Janice I heard about that let's". In this case the floorName1 would be correct, but floorName2 would = "2 yes Janice I heard about that let's". It's important to be aware of the way the Entities match, and adjust your scenario appropriately. The Any entity type is the most basic and least precise type of matching done.
61+
It can be tricky to handle extra captured text. Perhaps the user kept talking and the utterance captured more than their command. "Take me to floor parking 2 yes Janice I heard about that let's". In this case the floorName1 would be correct, but floorName2 would = "2 yes Janice I heard about that let's". It's important to be aware of the way the Entities match, and adjust your scenario appropriately. The Any entity type is the most basic and least precise type of matching done.
6262

6363
### List Entity
6464

@@ -74,16 +74,16 @@ When an entity of type ID "List" is used in "Strict" mode, the engine only match
7474
7575
> "take me to floor 5" will not.
7676
77-
It's important to note that the entire Intent will not match, not just the entity.
77+
It's important to note that the entire Intent won't match, not just the entity.
7878

79-
When an entity of type ID "List" is used in "Fuzzy" mode, the engine still matches the Intent, and will return the text that appeared in the slot in the utterance, even if it's not in the list. This is useful behind the scenes to help make the speech recognition better.
79+
When an entity of type ID "List" is used in "Fuzzy" mode, the engine still matches the intent, and returns the text that appeared in the slot in the utterance, even if it's not in the list. This match is useful behind the scenes to help make the speech recognition better.
8080

8181
> [!WARNING]
8282
> Fuzzy list entities are implemented, but not integrated into the speech recognition part. Therefore, they will match entities, but not improve speech recognition.
8383
8484
### Prebuilt Integer Entity
8585

86-
The "PrebuiltInteger" entity is used when you expect to get an integer in that slot. It will not match the intent if an integer cannot be found. The return value is a string representation of the number.
86+
The "PrebuiltInteger" entity is used when you expect to get an integer in that slot. It will not match the intent if an integer can't be found. The return value is a string representation of the number.
8787

8888
### Examples of a valid match and return values
8989

@@ -95,7 +95,7 @@ The "PrebuiltInteger" entity is used when you expect to get an integer in that s
9595
9696
> "four oh seven one" -> "4071"
9797
98-
If there's text that is not recognizable as a number, the entity and intent will not match.
98+
If there's text that isn't recognizable as a number, the entity and intent won't match.
9999

100100
### Examples of an invalid match
101101

@@ -111,11 +111,11 @@ Consider our elevator example.
111111

112112
> "Take me to floor {floorName}"
113113
114-
If "floorName" is a prebuilt integer entity, the expectation is that whatever text is inside the slot represents an integer. Here a floor number would match well, but a floor with a name such as "lobby" would not.
114+
If "floorName" is a prebuilt integer entity, the expectation is that whatever text is inside the slot represents an integer. Here a floor number would match well, but a floor with a name such as "lobby" wouldn't.
115115

116116
## Grouping required and optional items
117117

118-
In the pattern, it is allowed to include words or entities that "might" be present in the utterance. This is especially useful for determiners like "the", "a", or "an". This doesn't have any functional difference from hard coding out the many combinations, but can help reduce the number of patterns needed. Indicate optional items with "[" and "]". Indicate required items with "(" and ")". You may include multiple items in the same group by separating them with a '|' character.
118+
In the pattern, it's allowed to include words or entities that "might" be present in the utterance. This is especially useful for determiners like "the", "a", or "an". This doesn't have any functional difference from hard coding out the many combinations, but can help reduce the number of patterns needed. Indicate optional items with "[" and "]". Indicate required items with "(" and ")". You can include multiple items in the same group by separating them with a '|' character.
119119

120120
To see how this would reduce the number of patterns needed, consider the following set:
121121

@@ -135,15 +135,15 @@ To see how this would reduce the number of patterns needed, consider the followi
135135
136136
> "Bring me to {floorName} please"
137137
138-
These can all be reduced to a single pattern with grouping and optional items. First, it is possible to group "to" and "the" together as optional words like so: "[to | the]", and second we can make the "please" optional as well. Last, we can group the "bring" and "take" as required.
138+
These can all be reduced to a single pattern with grouping and optional items. First, it's possible to group "to" and "the" together as optional words like so: "[to | the]", and second we can make the "please" optional as well. Last, we can group the "bring" and "take" as required.
139139

140140
>"(Bring | Take) me [to | the] {floorName} [please]"
141141
142142
It's also possible to include optional entities. Imagine there are multiple parking levels and you want to match the word before the {floorName}. You could do so with a pattern like this:
143143

144144
>"Take me to [{floorType}] {floorName}"
145145
146-
Optionals are also useful if you might be using keyword recognition and a push-to-talk function. This means sometimes the keyword will be present, and sometimes it won't. Assuming your keyword was "computer" your pattern would look something like this.
146+
Optionals are also useful if you might be using keyword recognition and a push-to-talk function. This means sometimes the keyword is present, and sometimes it won't. Assuming your keyword was "computer" your pattern would look something like this.
147147

148148
>"[Computer] Take me to {floorName}"
149149
@@ -152,23 +152,23 @@ Optionals are also useful if you might be using keyword recognition and a push-t
152152
153153
## Entity roles
154154

155-
Inside the pattern, there may be a scenario where you want to use the same entity multiple times. Consider the scenario of booking a flight from one city to another. In this case the list of cities is the same, but it's necessary to know which city is the user coming from and which city is the destination. To accomplish this, you can use a role assigned to an entity using a ':'.
155+
Inside the pattern, there might be a scenario where you want to use the same entity multiple times. Consider the scenario of booking a flight from one city to another. In this case the list of cities is the same, but it's necessary to know which city is the user coming from and which city is the destination. To accomplish this, you can use a role assigned to an entity using a ':'.
156156

157157
> "Book a flight from {city:from} to {city:destination}"
158158
159159
Given a pattern like this, there will be two entities in the result labeled "city:from" and "city:destination" but they'll both be referencing the "city" entity for matching purposes.
160160

161161
## Intent Matching Priority
162162

163-
Sometimes multiple patterns may match the same utterance. In this case, the engine gives priority to patterns as follows.
163+
Sometimes multiple patterns match the same utterance. In this case, the engine gives priority to patterns as follows.
164164

165165
1. Exact Phrases.
166166
2. Patterns with more Entities.
167167
3. Patterns with Integer Entities.
168168
4. Patterns with List Entities.
169169
5. Patterns with Any Entities.
170170
6. Patterns with more bytes matched.
171-
- Example: Pattern "click {something} on the left" will be higher priority than "click {something}".
171+
- Example: Pattern "select {something} on the left" will be higher priority than "select {something}".
172172

173173
## Next steps
174174

articles/ai-services/speech-service/ingestion-client.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
22
title: Ingestion Client - Speech service
33
titleSuffix: Azure AI services
4-
description: In this article we describe a tool released on GitHub that enables customers push audio files to Speech service easily and quickly
4+
description: Learn about a tool released on GitHub that enables customers push audio files to Speech service easily and quickly
55
author: eric-urban
66
manager: nitinme
77
ms.service: azure-ai-speech
88
ms.topic: conceptual
9-
ms.date: 08/29/2022
9+
ms.date: 1/21/2024
1010
ms.author: eur
1111
---
1212

@@ -26,7 +26,7 @@ An Azure account and a multi-service Azure AI services resource are needed to ru
2626
* <a href="https://portal.azure.com/#create/Microsoft.CognitiveServicesAllInOne" title="Create an Azure AI services resource" target="_blank">Create an Azure AI services resource</a> in the Azure portal.
2727
* Get the resource key and region. After your resource is deployed, select **Go to resource** to view and manage keys. For more information about Azure AI services resources, see [Get the keys for your resource](~/articles/ai-services/multi-service-resource.md?pivots=azportal#get-the-keys-for-your-resource).
2828

29-
See the [Getting Started Guide for the Ingestion Client](https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/ingestion/ingestion-client/Setup/guide.md) on GitHub to learn how to setup and use the tool.
29+
See the [Getting Started Guide for the Ingestion Client](https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/ingestion/ingestion-client/Setup/guide.md) on GitHub to learn how to set up and use the tool.
3030

3131
## Ingestion Client Features
3232

@@ -50,8 +50,8 @@ Here are some Language service features that are used by the Ingestion Client:
5050

5151
Besides Azure AI services, these Azure products are used to complete the solution:
5252

53-
- [Azure storage](https://azure.microsoft.com/product-categories/storage/): For storing telephony data and the transcripts that are returned by the Batch Transcription API. This storage account should use notifications, specifically for when new files are added. These notifications are used to trigger the transcription process.
54-
- [Azure Functions](https://azure.microsoft.com/services/functions/): For creating the shared access signature (SAS) URI for each recording, and triggering the HTTP POST request to start a transcription. Additionally, you use Azure Functions to create requests to retrieve and delete transcriptions by using the Batch Transcription API.
53+
- [Azure storage](https://azure.microsoft.com/product-categories/storage/): Used for storing telephony data and the transcripts that batch transcription API returns. This storage account should use notifications, specifically for when new files are added. These notifications are used to trigger the transcription process.
54+
- [Azure Functions](https://azure.microsoft.com/services/functions/): Used for creating the shared access signature (SAS) URI for each recording, and triggering the HTTP POST request to start a transcription. Additionally, you use Azure Functions to create requests to retrieve and delete transcriptions by using the Batch Transcription API.
5555

5656
## Tool customization
5757

articles/ai-services/speech-service/intent-recognition.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ ms.author: eur
77
manager: nitinme
88
ms.service: azure-ai-speech
99
ms.topic: overview
10-
ms.date: 02/22/2023
10+
ms.date: 1/21/2024
1111
keywords: intent recognition
1212
---
1313

1414
# What is intent recognition?
1515

16-
In this overview, you will learn about the benefits and capabilities of intent recognition. The Azure AI Speech SDK provides two ways to recognize intents, both described below. An intent is something the user wants to do: book a flight, check the weather, or make a call. Using intent recognition, your applications, tools, and devices can determine what the user wants to initiate or do based on options you define in the Intent Recognizer or Conversational Language Understanding (CLU) model.
16+
In this overview, you learn about the benefits and capabilities of intent recognition. An intent is something the user wants to do: book a flight, check the weather, or make a call. With intent recognition, your applications, tools, and devices can determine what the user wants to initiate or do based on options. You define user intent in the intent recognizer or conversational language understanding (CLU) model.
1717

1818
## Pattern matching
1919

20-
The Speech SDK provides an embedded pattern matcher that you can use to recognize intents in a very strict way. This is useful for when you need a quick offline solution. This works especially well when the user is going to be trained in some way or can be expected to use specific phrases to trigger intents. For example: "Go to floor seven", or "Turn on the lamp" etc. It is recommended to start here and if it no longer meets your needs, switch to using [CLU](#conversational-language-understanding) or a combination of the two.
20+
The Speech SDK provides an embedded pattern matcher that you can use to recognize intents in a strict way. This is useful for when you need a quick offline solution. This works especially well when the user is going to be trained in some way or can be expected to use specific phrases to trigger intents. For example: "Go to floor seven", or "Turn on the lamp" etc. It's recommended to start here and if it no longer meets your needs, switch to using [CLU](#conversational-language-understanding) or a combination of the two.
2121

2222
Use pattern matching if:
2323
* You're only interested in matching strictly what the user said. These patterns match more aggressively than [conversational language understanding (CLU)](../language-service/conversational-language-understanding/overview.md).

0 commit comments

Comments
 (0)