GrammarBuilder Constructors
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse.
Overloads
| Name | Description |
|---|---|
| GrammarBuilder() |
Initialiseert een nieuwe, lege instantie van de GrammarBuilder klasse. |
| GrammarBuilder(Choices) |
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een set alternatieven. |
| GrammarBuilder(SemanticResultKey) |
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een semantische sleutel. |
| GrammarBuilder(SemanticResultValue) |
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een semantische waarde. |
| GrammarBuilder(String) |
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een reeks woorden. |
| GrammarBuilder(String, SubsetMatchingMode) |
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse voor een subset van een reeks woorden. |
| GrammarBuilder(GrammarBuilder, Int32, Int32) |
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse van een herhaald element. |
| GrammarBuilder(String, Int32, Int32) |
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse uit de reeks woorden in een String en geeft aan hoe vaak de String klasse kan worden herhaald. |
Opmerkingen
Exemplaren van deze klasse kunnen ook worden verkregen door impliciete conversies van andere klassen of door een GrammarBuilder object te combineren met een tweede object naar van een nieuwe GrammarBuilder. Zie de Implicit en Addition methoden voor meer informatie.
Als u beperkingen wilt toevoegen aan een bestaandeGrammarBuilder, gebruikt u de Addmethoden , Appenden AppendWildcardAppendDictationAppendRuleReferencemethoden en de Addition operator.
Important
De spraakherkenning kan een uitzondering genereren bij het gebruik van een grammatica met spraakherkenning die dubbele semantische elementen bevat met dezelfde sleutelnaam of meerdere semantische elementen die herhaaldelijk de waarde van hetzelfde semantische element kunnen wijzigen.
Zie Spraakherkenning voor meer informatie over het bouwen en gebruiken van grammatica's voor spraakherkenning.
GrammarBuilder()
Initialiseert een nieuwe, lege instantie van de GrammarBuilder klasse.
public:
GrammarBuilder();
public GrammarBuilder();
Public Sub New ()
Voorbeelden
In het volgende voorbeeld worden GrammarBuilder en objecten gebruikt om Choices een grammatica te maken die een van de twee woordgroepen ' Achtergrondkleurchoice maken' of 'Achtergrond instellen op colorChoice' kan herkennen.
In het voorbeeld wordt een Choices object gebruikt om een lijst met acceptabele waarden voor colorChoice te maken op basis van een matrix met String objecten. Een Choices object is vergelijkbaar met het one-of element in de SRGS-specificatie en bevat een set alternatieve zinnen, die kunnen worden herkend wanneer ze worden gesproken. In het voorbeeld wordt ook een Choices object gebruikt om een matrix van twee GrammarBuilder objecten te groeperen in een paar alternatieve woordgroepen die door de resulterende grammatica kunnen worden herkend. Alternatieve woorden of woordgroepen zijn een onderdeel van de meeste grammatica's en het Choices object biedt deze functionaliteit voor grammatica's die zijn samengesteld met GrammarBuilder.
In het voorbeeld wordt ten slotte een Grammar object gemaakt op basis van een GrammarBuilder object dat is samengesteld op basis van een Choices object.
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices for the two alternative phrases, convert the Choices
// to a GrammarBuilder, and construct the Grammar object from the result.
GrammarBuilder bothPhrases = new GrammarBuilder();
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
bothPhrases.Append(bothChoices);
Grammar grammar = new Grammar(bothPhrases);
grammar.Name = "backgroundColor";
return grammar;
}
Opmerkingen
Als u regels wilt toevoegen aan een bestaand GrammarBuilder object, gebruikt u de Addmethoden , Appenden AppendWildcardAppendDictationAppendRuleReferencemethoden en de Addition operator.
Important
De spraakherkenning kan een uitzondering genereren bij het gebruik van een grammatica met spraakherkenning die dubbele semantische elementen bevat met dezelfde sleutelnaam of meerdere semantische elementen die herhaaldelijk de waarde van hetzelfde semantische element kunnen wijzigen.
Zie ook
Van toepassing op
GrammarBuilder(Choices)
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een set alternatieven.
public:
GrammarBuilder(System::Speech::Recognition::Choices ^ alternateChoices);
public GrammarBuilder(System.Speech.Recognition.Choices alternateChoices);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.Choices -> System.Speech.Recognition.GrammarBuilder
Public Sub New (alternateChoices As Choices)
Parameters
- alternateChoices
- Choices
De set alternatieven.
Voorbeelden
In het volgende voorbeeld worden GrammarBuilder en objecten gebruikt om Choices een grammatica te maken die een van de twee woordgroepen ' Achtergrondkleurchoice maken' of 'Achtergrond instellen op colorChoice' kan herkennen.
In het voorbeeld wordt een Choices object gebruikt om een lijst met acceptabele waarden voor colorChoice te maken op basis van een matrix met String objecten. Een Choices object is vergelijkbaar met het one-of element in de SRGS-specificatie en bevat een set alternatieve zinnen, die kunnen worden herkend wanneer ze worden gesproken. In het voorbeeld wordt ook een Choices object gebruikt om een matrix van twee GrammarBuilder objecten te groeperen in een paar alternatieve woordgroepen die door de resulterende grammatica kunnen worden herkend. Alternatieve woorden of woordgroepen zijn een onderdeel van de meeste grammatica's en het Choices object biedt deze functionaliteit voor grammatica's die zijn samengesteld met GrammarBuilder.
In het voorbeeld wordt ten slotte een Grammar object gemaakt op basis van een GrammarBuilder object dat is samengesteld op basis van een Choices object.
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices for the two alternative phrases, convert the Choices
// to a GrammarBuilder, and construct the grammar from the result.
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
Grammar grammar = new Grammar((GrammarBuilder)bothChoices);
grammar.Name = "backgroundColor";
return grammar;
}
Opmerkingen
Zie Opties gebruiken om een GrammarBuilder Grammar te maken voor meer informatie over het bouwen van een grammatica voor spraakherkenning die alternatieven bevat.
Zie ook
Van toepassing op
GrammarBuilder(SemanticResultKey)
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een semantische sleutel.
public:
GrammarBuilder(System::Speech::Recognition::SemanticResultKey ^ key);
public GrammarBuilder(System.Speech.Recognition.SemanticResultKey key);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultKey -> System.Speech.Recognition.GrammarBuilder
Public Sub New (key As SemanticResultKey)
Parameters
De semantische sleutel.
Voorbeelden
In het volgende voorbeeld wordt een grammatica voor spraakherkenning gemaakt die de twee woordgroepen ' Achtergrondkleurchoice maken' en 'Achtergrond instellen op colorChoice' kan herkennen, waarbij colorChoice is geselecteerd op basis van een set kleuren. Met de grammatica kan een gebruiker een van de verschillende kleurnamen spreken en semantische informatie over de herkende kleurnaam aan de toepassing retourneren.
In het voorbeeld wordt één gebruikt SemanticResultKey waarmee u de SemanticValue kleur kunt ophalen die is gekoppeld aan de kleur die door de gebruiker wordt gesproken. Als de invoer bijvoorbeeld de woordgroep 'Achtergrond instellen op rood' bevat, bevat het herkenningsresultaat de semantische waarde van '#FF0000', die u kunt ophalen met behulp van een handler voor de SpeechRecognized gebeurtenis.
In het voorbeeld worden String, , , SemanticResultKeyen GrammarBuilderSemanticResultValueobjecten gebruikt om de beperkingen te bouwen die allemaal zijn opgenomen in het laatste GrammarBuilder object, bothPhrases. Choices Ten slotte maakt het voorbeeld een Grammar object van de voltooide GrammarBuilder.
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
// Include semantic information about each of the colors.
Choices colorChoice = new Choices();
GrammarBuilder colorBuilder = new GrammarBuilder("red");
SemanticResultValue colorValue =
new SemanticResultValue(colorBuilder, "#FF0000");
colorChoice.Add(new GrammarBuilder(colorValue));
colorBuilder = new GrammarBuilder("green");
colorValue = new SemanticResultValue(colorBuilder, "#00FF00");
colorChoice.Add(new GrammarBuilder(colorValue));
colorBuilder = new GrammarBuilder("blue");
colorValue = new SemanticResultValue(colorBuilder, "#0000FF");
colorChoice.Add(new GrammarBuilder(colorValue));
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices object for the two alternative phrases.
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);
// Create the semantic key for referencing the color information.
SemanticResultKey colorKey =
new SemanticResultKey("ColorCode", bothPhrases);
bothPhrases = new GrammarBuilder(colorKey);
// Construct the Grammar object from the GrammarBuilder.
Grammar grammar = new Grammar(bothPhrases);
grammar.Name = "backgroundColor";
return grammar;
}
Opmerkingen
Wanneer u een GrammarBuilder exemplaar van een SemanticResultValue object maakt, voegt u semantische informatie toe aan de grammatica die in het herkenningsresultaat kan worden geretourneerd. U kunt toegang krijgen tot de semantische informatie in het herkenningsresultaat met behulp van de Semantics eigenschap , RecognizedPhrasedie beschikbaar is in de handler voor de SpeechRecognized gebeurtenis. Als de GrammarBuilder definitie een SemanticResultKeyis, kan dit worden gebruikt om de semantische informatie op te halen in een herkenningsresultaat dat aan de sleutel is gekoppeld. Zie het voorbeeld voor Append(SemanticResultKey), en zie SemanticResultValue en SemanticResultKey.
Important
Wanneer u objecten maakt GrammarBuilder die exemplaren bevatten of SemanticResultKey bevattenSemanticResultValue, moet u voorkomen dat dubbele semantische elementen met dezelfde sleutelnaam of meerdere semantische elementen worden gemaakt die de Value eigenschap van een SemanticValue object herhaaldelijk kunnen wijzigen. De spraakherkenning kan een uitzondering genereren als deze omstandigheden optreden.
Zie ook
Van toepassing op
GrammarBuilder(SemanticResultValue)
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een semantische waarde.
public:
GrammarBuilder(System::Speech::Recognition::SemanticResultValue ^ value);
public GrammarBuilder(System.Speech.Recognition.SemanticResultValue value);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultValue -> System.Speech.Recognition.GrammarBuilder
Public Sub New (value As SemanticResultValue)
Parameters
- value
- SemanticResultValue
De semantische waarde of naam/waardepaar.
Voorbeelden
In het volgende voorbeeld wordt een grammatica voor spraakherkenning gemaakt die de twee woordgroepen ' Achtergrondkleurchoice maken' en 'Achtergrond instellen op colorChoice' kan herkennen, waarbij colorChoice is geselecteerd op basis van een set kleuren. Met de grammatica kan een gebruiker een van de verschillende kleurnamen spreken en semantische informatie over de herkende kleurnaam aan de toepassing retourneren.
In het voorbeeld wordt één gebruikt SemanticResultKey waarmee u de SemanticValue kleur kunt ophalen die is gekoppeld aan de kleur die door de gebruiker wordt gesproken. Als de invoer bijvoorbeeld de woordgroep 'Achtergrond instellen op rood' bevat, bevat het herkenningsresultaat de semantische waarde van '#FF0000', die u kunt ophalen met behulp van een handler voor de SpeechRecognized gebeurtenis.
In het voorbeeld worden String, , , SemanticResultKeyen GrammarBuilderSemanticResultValueobjecten gebruikt om de beperkingen te bouwen die allemaal zijn opgenomen in het laatste GrammarBuilder object, bothPhrases. Choices Ten slotte maakt het voorbeeld een Grammar object van de voltooide GrammarBuilder.
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
// Include semantic information about each of the colors.
Choices colorChoice = new Choices();
GrammarBuilder colorBuilder = new GrammarBuilder("red");
SemanticResultValue colorValue =
new SemanticResultValue(colorBuilder, "#FF0000");
colorChoice.Add(new GrammarBuilder(colorValue));
colorBuilder = new GrammarBuilder("green");
colorValue = new SemanticResultValue(colorBuilder, "#00FF00");
colorChoice.Add(new GrammarBuilder(colorValue));
colorBuilder = new GrammarBuilder("blue");
colorValue = new SemanticResultValue(colorBuilder, "#0000FF");
colorChoice.Add(new GrammarBuilder(colorValue));
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices for the two alternative phrases.
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);
// Create the semantic key for referencing the color information.
SemanticResultKey colorKey =
new SemanticResultKey("ColorCode", bothPhrases);
bothPhrases = new GrammarBuilder(colorKey);
// Construct the grammar from the grammar builder.
Grammar grammar = new Grammar(bothPhrases);
grammar.Name = "backgroundColor";
return grammar;
}
Opmerkingen
Wanneer u een GrammarBuilder exemplaar van een SemanticResultValue object maakt, voegt u semantische informatie toe aan de grammatica die in het herkenningsresultaat kan worden geretourneerd. U kunt toegang krijgen tot de semantische informatie in het herkenningsresultaat met behulp van de Semantics eigenschap , RecognizedPhrasedie beschikbaar is in de handler voor de SpeechRecognized gebeurtenis. Als de GrammarBuilder definitie een SemanticResultKeyis, kan dit worden gebruikt om de semantische informatie op te halen in een herkenningsresultaat dat aan de sleutel is gekoppeld. Zie het voorbeeld voor Append(SemanticResultKey), en zie SemanticResultValue en SemanticResultKey.
Important
Wanneer u objecten maakt GrammarBuilder die exemplaren bevatten of SemanticResultKey bevattenSemanticResultValue, moet u voorkomen dat dubbele semantische elementen met dezelfde sleutelnaam of meerdere semantische elementen worden gemaakt die de Value eigenschap van een SemanticValue object herhaaldelijk kunnen wijzigen. De spraakherkenning kan een uitzondering genereren als deze omstandigheden optreden.
Zie ook
Van toepassing op
GrammarBuilder(String)
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een reeks woorden.
public:
GrammarBuilder(System::String ^ phrase);
public GrammarBuilder(string phrase);
new System.Speech.Recognition.GrammarBuilder : string -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String)
Parameters
- phrase
- String
De reeks woorden.
Voorbeelden
In het volgende voorbeeld worden GrammarBuilder en objecten gebruikt om Choices een grammatica te maken die een van de twee woordgroepen ' Achtergrondkleurchoice maken' of 'Achtergrond instellen op colorChoice' kan herkennen.
Nadat u een lijst met acceptabele waarden voor colorChoice hebt gemaakt met behulp van een Choices object, initialiseert het voorbeeld twee GrammarBuilder objecten makePhrase en setPhrasegebruikt u een tekenreeks als argument.
In het voorbeeld wordt ten slotte een Grammar object gemaakt van een Choices objectcast naar een GrammarBuilder object.
private Grammar CreateColorGrammar()
{
// Create a set of color choices.
Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
GrammarBuilder colorElement = new GrammarBuilder(colorChoice);
// Create grammar builders for the two versions of the phrase.
GrammarBuilder makePhrase = new GrammarBuilder("Make background");
makePhrase.Append(colorElement);
GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
setPhrase.Append(colorElement);
// Create a Choices for the two alternative phrases, convert the Choices
// to a GrammarBuilder, and construct the Grammar object from the result.
Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
Grammar grammar = new Grammar((GrammarBuilder)bothChoices);
grammar.Name = "backgroundColor";
return grammar;
}
Opmerkingen
De woordgroep vertegenwoordigt een exacte gesproken woordgroep die de grammatica van spraakherkenning kan herkennen. Zie Strings gebruiken om een GrammarBuilder Grammar te maken voor meer informatie over het bouwen van een spraakherkennings grammatica die tekenreeksen bevat.
Zie ook
Van toepassing op
GrammarBuilder(String, SubsetMatchingMode)
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse voor een subset van een reeks woorden.
public:
GrammarBuilder(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public GrammarBuilder(string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
new System.Speech.Recognition.GrammarBuilder : string * System.Speech.Recognition.SubsetMatchingMode -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)
Parameters
- phrase
- String
De reeks woorden.
- subsetMatchingCriteria
- SubsetMatchingMode
De overeenkomende modus die de grammatica van spraakherkenning gebruikt om de woordgroep te herkennen.
Voorbeelden
In het volgende voorbeeld wordt een grammatica voor spraakherkenning gemaakt voor elke SubsetMatchingMode waarde en een grammatica voor het kiezen tussen de overeenkomende modus grammatica' s. Als de waarde phrase 'één twee drie vier zes zeven' is, herkent de grammatica van subsequence de invoer 'twee vier', maar niet de invoer 'één vijf'. De grammatica van de geordende subset herkent echter beide invoergegevens.
private static IEnumerable<Grammar>
CreateMatchingModeGrammars(string phrase)
{
List<Grammar> grammars = new List<Grammar>(5);
Choices modeChoice = new Choices();
Type enumType = typeof(SubsetMatchingMode);
foreach (SubsetMatchingMode mode in Enum.GetValues(enumType))
{
string modeName = Enum.GetName(enumType, mode);
modeName = BreakAtCaps(modeName);
GrammarBuilder builder = new GrammarBuilder(phrase, mode);
Grammar modeGrammar = new Grammar(builder);
modeGrammar.Name = modeName;
modeGrammar.Enabled = false;
grammars.Add(modeGrammar);
modeChoice.Add(modeName);
}
Grammar choiceGrammar = new Grammar(modeChoice);
choiceGrammar.Name = "choice";
grammars.Add(choiceGrammar);
return grammars;
}
// Insert spaces preceding each uppercase letter in a string.
private static string BreakAtCaps(string item)
{
if (item == null || item.Length == 0)
{
return item;
}
StringBuilder sb = new StringBuilder(item[0].ToString());
for (int i = 1; i < item.Length; i++)
{
char c = item[i];
if (char.IsUpper(c))
{
sb.Append(" ");
}
sb.Append(c);
}
return sb.ToString();
}
Opmerkingen
De phrase parameter vertegenwoordigt de woordgroep die de grammatica van spraakherkenning kan herkennen. De subsetMatchingMode parameter geeft een subset op van de woordgroep die kan worden gesproken om een geslaagde herkenning van de hele woordgroep te bereiken. U kunt dit gebruiken om een grammatica te maken met een lijst met vermeldingen met lange namen, zonder dat gebruikers een volledige naam hoeven te spreken om overeen te komen met een item.
Zie voor meer informatie over de overeenkomende modi SubsetMatchingMode. Zie Strings gebruiken om een GrammarBuilder Grammar te maken voor meer informatie over het bouwen van een spraakherkennings grammatica die tekenreeksen bevat.
Zie ook
Van toepassing op
GrammarBuilder(GrammarBuilder, Int32, Int32)
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse van een herhaald element.
public:
GrammarBuilder(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public GrammarBuilder(System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.GrammarBuilder * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)
Parameters
- builder
- GrammarBuilder
Het herhaalde element.
- minRepeat
- Int32
Het minimale aantal keren dat invoer die overeenkomt met het element dat is builder gedefinieerd, moet plaatsvinden om een overeenkomst te vormen.
- maxRepeat
- Int32
Het maximum aantal keren dat invoer die overeenkomt met het element dat is builder gedefinieerd, kan optreden om een overeenkomst te vormen.
Voorbeelden
In het volgende voorbeeld wordt een grammatica voor spraakherkenning gemaakt voor het bestellen van een pizza. Het begint met een optionele, openingszin, gevolgd door een tot vier toppings en sluit met het woord 'pizza'.
private static Grammar CreatePizzaGrammar()
{
// Create a Choices object from a string array of alternative toppings.
Choices toppings = new Choices(new string[] {
"cheese", "mushroom", "tomato", "onion",
"anchovy", "chicken", "pepperoni"});
// Create a GrammarBuilder and append the Choices object.
GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);
andToppings.Append(toppings);
// Construct the phrase.
GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);
gb.Append(toppings);
gb.Append(new GrammarBuilder(andToppings, 0, 3));
gb.Append("pizza");
// Create the Grammar from the GrammarBuilder.
Grammar grammar = new Grammar(gb);
grammar.Name = "Pizza Order";
return grammar;
}
Opmerkingen
Als de waarde van minRepeat 0 is, vertegenwoordigt de nieuwe GrammarBuilder een optioneel element.
De waarde van minRepeat moet groter dan of gelijk zijn aan 0 en kleiner dan of gelijk aan de waarde van maxRepeat.
Important
Wanneer u herhalingen opgeeft voor GrammarBuilder objecten die exemplaren bevatten of SemanticResultKey bevattenSemanticResultValue, moet u voorkomen dat u dubbele semantische elementen met dezelfde sleutelnaam of meerdere semantische elementen maakt die de Value eigenschap van een SemanticValue object herhaaldelijk kunnen wijzigen. De spraakherkenning kan een uitzondering genereren als deze omstandigheden optreden.
Zie ook
Van toepassing op
GrammarBuilder(String, Int32, Int32)
Initialiseert een nieuw exemplaar van de GrammarBuilder klasse uit de reeks woorden in een String en geeft aan hoe vaak de String klasse kan worden herhaald.
public:
GrammarBuilder(System::String ^ phrase, int minRepeat, int maxRepeat);
public GrammarBuilder(string phrase, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : string * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, minRepeat As Integer, maxRepeat As Integer)
Parameters
- phrase
- String
De herhaalde reeks woorden.
- minRepeat
- Int32
Het minimale aantal keren dat invoer die overeenkomt met de woordgroep moet plaatsvinden om een overeenkomst te vormen.
- maxRepeat
- Int32
Het maximum aantal keren dat invoer die overeenkomt met de woordgroep, kan een overeenkomst vormen.
Voorbeelden
In het volgende voorbeeld wordt een grammatica voor spraakherkenning gemaakt voor het bestellen van een pizza. Het begint met een optionele, openingszin, gevolgd door een tot vier toppings en sluit met het woord 'pizza'.
private static Grammar CreatePizzaGrammar()
{
// Create a Choices object with alternatives for toppings.
Choices toppings = new Choices(new string[] {
"cheese", "mushroom", "tomato", "onion",
"anchovy", "chicken", "pepperoni"});
// Create a GrammarBuilder and append the Choices object.
GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);
andToppings.Append(toppings);
// Construct the phrase.
GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);
gb.Append(toppings);
gb.Append(new GrammarBuilder(andToppings, 0, 3));
gb.Append("pizza");
// Create the Grammar from the GrammarBuilder.
Grammar grammar = new Grammar(gb);
grammar.Name = "Pizza Order";
return grammar;
}
Opmerkingen
Als de waarde van minRepeat 0 is, vertegenwoordigt de nieuwe GrammarBuilder een optioneel element.
De waarde van minRepeat moet groter dan of gelijk zijn aan 0 en kleiner dan of gelijk aan de waarde van maxRepeat. Zie Strings gebruiken om een GrammarBuilder Grammar te maken voor meer informatie over het bouwen van een spraakherkennings grammatica die tekenreeksen bevat.