You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You can find ready to use embedded speech samples at [GitHub](https://aka.ms/csspeech/samples).
117
+
You can find ready to use embedded speech samples at [GitHub](https://aka.ms/embedded-speech-samples). For remarks on projects from scratch, see samples specific documentation:
You can find ready to use embedded speech samples at [GitHub](https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/samples/cpp/embedded-speech)
147
+
You can find ready to use embedded speech samples at [GitHub](https://aka.ms/embedded-speech-samples). For remarks on projects from scratch, see samples specific documentation:
-[Java for Android](https://github.com/Azure-Samples/cognitive-services-speech-sdk/tree/master/samples/java/android/embedded-speech)
172
+
You can find ready to use embedded speech samples at [GitHub](https://aka.ms/embedded-speech-samples). For remarks on projects from scratch, see samples specific documentation:
Copy file name to clipboardExpand all lines: articles/cognitive-services/Speech-Service/includes/pattern-matching-overview.md
+22-20Lines changed: 22 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,15 +10,15 @@ ms.author: chschrae
10
10
keywords: intent recognition pattern matching
11
11
---
12
12
13
-
Pattern matching can be customized to group together pattern intents and entities inside a ``PatternMatchingModel``. Using this grouping, it's possible to access more advanced entity types that will help make your intent recognition more precise.
13
+
Pattern matching can be customized to group together pattern intents and entities inside a ``PatternMatchingModel``. Using this grouping, it's possible to access more advanced entity types that help make your intent recognition more precise.
14
14
15
-
For supported locales see [here](../language-support.md?tabs=intent-recognition).
15
+
For supported locales, see [here](../language-support.md?tabs=intent-recognition).
16
16
17
17
## Patterns vs. Exact Phrases
18
18
19
19
There are two types of strings used in the pattern matcher: "exact phrases" and "patterns". It's important to understand the differences.
20
20
21
-
Exact phrases are a string of the exact words that you'll want to match. For example:
21
+
Exact phrases are a strings of the exact words that you want to match. For example:
22
22
23
23
> "Take me to floor seven".
24
24
@@ -32,58 +32,58 @@ The ``PatternMatchingModel`` contains an ID to reference that model by, a list o
32
32
33
33
### Pattern Matching Intents
34
34
35
-
``PatternMatchingIntent`` objects represent a collection of phrases that will be used to evaluate speech or text in the ``IntentRecognizer``. If the phrases are matched, 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 will have the ID of the ``PatternMatchingIntent`` that was matched.
36
36
37
37
### Pattern Matching Entities
38
38
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 never 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 will not be matched.
40
40
41
41
#### Entity Naming restrictions
42
42
43
-
Entity names containing ':' characters will assign a role to an entity. (See below)
43
+
Entity names containing ':' characters assign a role to an entity. (See below)
44
44
45
45
## Types of Entities
46
46
47
47
### Any Entity
48
48
49
-
The "Any" entity will match any text that appears in that slot regardless of the text it contains. If we consider our previous example using the pattern "Take me to floor {floorName}", the user might say something like:
49
+
The "Any" entity matches any text that appears in that slot regardless of the text it contains. If we consider our previous example using the pattern "Take me to floor {floorName}", the user might say something like:
50
50
51
51
> "Take me to the floor parking 2
52
52
53
53
In this case, the "floorName" entity would match "parking 2".
54
54
55
-
These are lazy matches that will attempt to match as few words as possible unless it appears at the beginning or end of an utterance. Consider the pattern:
55
+
These entities are lazy matches that attempt to match as few words as possible unless it appears at the beginning or end of an utterance. Consider the following pattern:
56
56
57
57
> "Take me to the floor {floorName1} {floorName2}"
58
58
59
59
In this case, the utterance "Take me to the floor parking 2" would match and return floorName1 = "parking" and floorName2 = "2".
60
60
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 will match and adjust to your scenario appropriately. The Any entity type is the most basic and least precise.
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.
62
62
63
63
### List Entity
64
64
65
-
The "List" entity is made up of a list of phrases that will guide the engine on how to match it. The "List" entity has two modes. "Strict" and "Fuzzy".
65
+
The "List" entity is made up of a list of phrases that guide the engine on how to match it. The "List" entity has two modes. "Strict" and "Fuzzy".
66
66
67
-
Let's assume we have a list of floors for our elevator. Since we're dealing with speech, we will add entries for the lexical format as well.
67
+
Let's assume we have a list of floors for our elevator. Since we're dealing with speech, we add entries using the lexical format as well.
When an entity with an ID is of type "List" and is in "Strict" mode, the engine will only match if the text in the slot appears in the list.
71
+
When an entity of type ID "List" is used in "Strict" mode, the engine only matches if the text in the slot appears in the list.
72
72
73
73
> "take me to floor one" will match.
74
74
75
75
> "take me to floor 5" will not.
76
76
77
-
It's important to note that the Intent will not match, not just the entity.
77
+
It's important to note that the entire Intent will not match, not just the entity.
78
78
79
-
When an entity is of type "List" and is in "Fuzzy" mode, the engine will still match 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 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.
80
80
81
81
> [!WARNING]
82
82
> Fuzzy list entities are implemented, but not integrated into the speech recognition part. Therefore, they will match entities, but not improve speech recognition.
83
83
84
84
### Prebuilt Integer Entity
85
85
86
-
The "PrebuiltInteger" entity is used when you expect to get an integer in that slot. It won't 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 cannot be found. The return value is a string representation of the number.
87
87
88
88
### Examples of a valid match and return values
89
89
@@ -111,13 +111,13 @@ Consider our elevator example.
111
111
112
112
> "Take me to floor {floorName}"
113
113
114
-
If "floorName" is a prebuilt integer entity, the expectation is that whatever text is inside the slot will represent 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" would not.
115
115
116
116
## Grouping required and optional items
117
117
118
-
In the pattern it's allowed to include words or entities that may be present in the utterance or not. 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 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.
119
119
120
-
To see how this would reduce the number of patterns needed consider the following set.
120
+
To see how this would reduce the number of patterns needed, consider the following set:
121
121
122
122
> "Take me to {floorName}"
123
123
@@ -143,7 +143,7 @@ It's also possible to include optional entities. Imagine there are multiple park
143
143
144
144
>"Take me to [{floorType}] {floorName}"
145
145
146
-
Optionals are also very 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 will be present, and sometimes it won't. Assuming your keyword was "computer" your pattern would look something like this.
147
147
148
148
>"[Computer] Take me to {floorName}"
149
149
@@ -160,13 +160,15 @@ Given a pattern like this, there will be two entities in the result labeled "cit
160
160
161
161
## Intent Matching Priority
162
162
163
-
Sometimes multiple patterns may match the same utterance. In this case, the engine will give priority to patterns as follows.
163
+
Sometimes multiple patterns may match the same utterance. In this case, the engine gives priority to patterns as follows.
164
164
165
165
1. Exact Phrases.
166
166
2. Patterns with more Entities.
167
167
3. Patterns with Integer Entities.
168
168
4. Patterns with List Entities.
169
169
5. Patterns with Any Entities.
170
+
6. Patterns with more bytes matched.
171
+
- Example: Pattern "click {something} on the left" will be higher priority than "click {something}".
1. Select the plus symbol (**+**) to add a dependency under **Declared Dependencies**. Then select **Library dependency** from the drop-down menu.
50
50
:::image type="content" source="../../../media/sdk/android-studio/sdk-install-3-zoom.png" alt-text="Screenshot that shows how to add a library dependency in Android Studio." lightbox="../../../media/sdk/android-studio/sdk-install-3.png":::
51
-
1. In the **Add Library Dependency** window that appears, enter the name and version of the Speech SDK for Java: **com.microsoft.cognitiveservices.speech:client-sdk:1.24.2**. Then select **Search**.
51
+
1. In the **Add Library Dependency** window that appears, enter the name and version of the Speech SDK for Java: **com.microsoft.cognitiveservices.speech:client-sdk:1.26.0**. Then select **Search**.
52
52
1. Make sure that the selected **Group ID** is **com.microsoft.cognitiveservices.speech**, and then select **OK**.
53
53
1. Select **OK** to close the **Project Structure** window and apply your changes to the project.
Copy file name to clipboardExpand all lines: articles/cognitive-services/Speech-Service/includes/quickstarts/platform/objectivec.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ The macOS CocoaPod package is available for download and use with the [Xcode 9.4
34
34
use_frameworks!
35
35
36
36
target 'AppName' do
37
-
pod 'MicrosoftCognitiveServicesSpeech-macOS', '~> 1.25.0'
37
+
pod 'MicrosoftCognitiveServicesSpeech-macOS', '~> 1.26.0'
38
38
end
39
39
```
40
40
1. Run `pod install` to install the Speech SDK.
@@ -64,12 +64,12 @@ The macOS CocoaPod package is available for download and use with the [Xcode 9.4
64
64
use_frameworks!
65
65
66
66
target 'AppName' do
67
-
pod 'MicrosoftCognitiveServicesSpeech-iOS', '~> 1.25.0'
67
+
pod 'MicrosoftCognitiveServicesSpeech-iOS', '~> 1.26.0'
68
68
end
69
69
```
70
70
1. Run `pod install` to install the Speech SDK.
71
71
72
-
Alternatively, you can download the [binary CocoaPod](https://aka.ms/csspeech/iosbinary) and unzip to extract it's contents. In your Xcode project, add a reference to the extracted "MicrosoftCognitiveServicesSpeech.xcframework" folder and it's contents.
72
+
Alternatively, you can download the [binary CocoaPod](https://aka.ms/csspeech/iosbinary) and unzip to extract its contents. In your Xcode project, add a reference to the extracted "MicrosoftCognitiveServicesSpeech.xcframework" folder and it's contents.
73
73
74
74
> [!NOTE]
75
75
> .NET developers can build native iOS applications by using the Xamarin.iOS application framework For more information, see [Xamarin.iOS](/xamarin/ios/).
Copy file name to clipboardExpand all lines: articles/cognitive-services/Speech-Service/includes/quickstarts/platform/swift.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,7 +34,7 @@ The macOS CocoaPod package is available for download and use with the [Xcode 9.4
34
34
use_frameworks!
35
35
36
36
target 'AppName' do
37
-
pod 'MicrosoftCognitiveServicesSpeech-macOS', '~> 1.25.0'
37
+
pod 'MicrosoftCognitiveServicesSpeech-macOS', '~> 1.26.0'
38
38
end
39
39
```
40
40
1. Run `pod install` to install the Speech SDK.
@@ -65,12 +65,12 @@ The macOS CocoaPod package is available for download and use with the [Xcode 9.4
65
65
use_frameworks!
66
66
67
67
target 'AppName' do
68
-
pod 'MicrosoftCognitiveServicesSpeech-iOS', '~> 1.25.0'
68
+
pod 'MicrosoftCognitiveServicesSpeech-iOS', '~> 1.26.0'
69
69
end
70
70
```
71
71
1. Run `pod install` to install the Speech SDK.
72
72
73
-
Alternatively, you can download the [binary CocoaPod](https://aka.ms/csspeech/iosbinary) and unzip to extract it's contents. In your Xcode project, add a reference to the extracted "MicrosoftCognitiveServicesSpeech.xcframework" folder and it's contents.
73
+
Alternatively, you can download the [binary CocoaPod](https://aka.ms/csspeech/iosbinary) and unzip to extract its contents. In your Xcode project, add a reference to the extracted "MicrosoftCognitiveServicesSpeech.xcframework" folder and it's contents.
74
74
75
75
> [!NOTE]
76
76
> .NET developers can build native iOS applications by using the Xamarin.iOS application framework For more information, see [Xamarin.iOS](/xamarin/ios/).
0 commit comments