GrammarBuilder Klas

Definitie

Biedt een mechanisme voor het programmatisch bouwen van de beperkingen voor een grammatica van spraakherkenning.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Overname
GrammarBuilder

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

Grammatica's voor spraakherkenning worden vaak geschreven in de XML-indeling die is gedefinieerd door de SRGS-versie (Speech Recognition Grammar Specification) versie 1.0. Als u bekend bent met SRGS, maar de grammaticacode wilt genereren, kunt u de System.Speech.Recognition.SrgsGrammar naamruimte gebruiken, waarvan de leden nauw overeenkomen met de elementen en kenmerken die zijn gedefinieerd door SRGS. Als u niet bekend bent met SRGS of als u een lichtgewicht, programmatische benadering wilt voor het ontwerpen van grammatica's waarmee u efficiënt veel algemene scenario's kunt uitvoeren; u kunt de GrammarBuilder en Choices klassen gebruiken.

Gebruik GrammarBuilder objecten om een hiërarchische boom te bouwen die bestaat Choices uit objecten die alternatieve woordgroepen bevatten, elkaar kruisen met preambule en post-amble woordgroepen op elk knooppunt, en geseed met semantische waarden die betekenis terug naar de toepassing overbrengen.

Als u een GrammarBuilderGrammar object wilt maken, gebruikt u de volgende stappen.

  1. Maak een GrammarBuilder object.

  2. Beperkingen toevoegen aan de GrammarBuilder, zoals String objecten, Choices, , SemanticResultKey, en DictationGrammarSemanticResultValueandere GrammarBuilder objecten die de beperkingen voor de grammatica definiëren.

  3. Gebruik een van de Grammar constructors om een Grammar object te maken op basis van de voltooide GrammarBuilder grammatica.

Ontwerpen met GrammarBuilder is het meest geschikt voor grammatica's met één regel die lijsten of lijsten met lijsten bevat. Gebruik de klassen van de System.Speech.Recognition.SrgsGrammar naamruimte om programmatisch grammatica's te maken die meerdere regels bevatten of die interne regelverwijzingen moeten maken.

Exemplaren van GrammarBuilder kunnen ook worden verkregen door impliciete conversies van bepaalde andere klassen of door een GrammarBuilder tweede object te combineren dat beperkingen voor een grammatica bevat. Zie de Implicit operatoren en Addition methoden Add voor meer informatie.

Als u regels wilt toevoegen aan een bestaandeGrammarBuilder, gebruikt u de Add, Appenden AppendDictationde AppendRuleReferenceAppendWildcard methoden.

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.

Voor hulp bij foutopsporing retourneert de DebugShowPhrases eigenschap de huidige status van de GrammarBuilder als tekenreeks.

Constructors

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(GrammarBuilder, Int32, Int32)

Initialiseert een nieuw exemplaar van de GrammarBuilder klasse van een herhaald element.

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, 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.

GrammarBuilder(String, SubsetMatchingMode)

Initialiseert een nieuw exemplaar van de GrammarBuilder klasse voor een subset van een reeks woorden.

GrammarBuilder(String)

Initialiseert een nieuw exemplaar van de GrammarBuilder klasse op basis van een reeks woorden.

Eigenschappen

Name Description
Culture

Hiermee haalt u de cultuur van de grammatica van spraakherkenning op of stelt u deze in.

DebugShowPhrases

Hiermee haalt u een tekenreeks op met de inhoud en structuur van de grammatica die is opgenomen in de GrammarBuilder.

Methoden

Name Description
Add(Choices, GrammarBuilder)

Hiermee maakt u een nieuw GrammarBuilder object dat een Choices object bevat, gevolgd door een GrammarBuilder object.

Add(GrammarBuilder, Choices)

Hiermee maakt u een nieuw GrammarBuilder object dat een GrammarBuilder object bevat, gevolgd door een Choices object.

Add(GrammarBuilder, GrammarBuilder)

Hiermee maakt u een nieuwe GrammarBuilder die een reeks van twee GrammarBuilder objecten bevat.

Add(GrammarBuilder, String)

Hiermee maakt u een nieuwe GrammarBuilder die een GrammarBuilder object bevat, gevolgd door een woordgroep.

Add(String, GrammarBuilder)

Hiermee maakt u een nieuwe GrammarBuilder met een woordgroep gevolgd door een GrammarBuilder object.

Append(Choices)

Voegt een reeks alternatieven toe aan de huidige reeks grammatica-elementen.

Append(GrammarBuilder, Int32, Int32)

Voegt een herhaald grammatica-element toe aan de huidige reeks grammatica-elementen.

Append(GrammarBuilder)

Voegt een grammatica-element toe aan de huidige reeks grammatica-elementen.

Append(SemanticResultKey)

Voegt een semantische sleutel toe aan de huidige reeks grammatica-elementen.

Append(SemanticResultValue)

Voegt een semantische waarde toe aan de huidige reeks grammatica-elementen.

Append(String, Int32, Int32)

Voegt een herhaalde woordgroep toe aan de huidige reeks grammatica-elementen.

Append(String, SubsetMatchingMode)

Voegt een element voor een subset van een woordgroep toe aan de huidige reeks grammatica-elementen.

Append(String)

Voegt een woordgroep toe aan de huidige reeks grammatica-elementen.

AppendDictation()

Hiermee voegt u de standaarddicteer grammatica toe aan de huidige reeks grammatica-elementen.

AppendDictation(String)

Voegt de opgegeven dicteer grammatica toe aan de huidige reeks grammatica-elementen.

AppendRuleReference(String, String)

Hiermee voegt u de opgegeven regel van een grammaticadefinitiebestand toe aan de huidige reeks grammatica-elementen.

AppendRuleReference(String)

Voegt een grammaticadefinitiebestand toe aan de huidige reeks grammatica-elementen.

AppendWildcard()

Voegt een herkennings grammatica-element toe dat overeenkomt met alle invoer in de huidige reeks grammatica-elementen.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Operators

Name Description
Addition(Choices, GrammarBuilder)

Hiermee maakt u een nieuw GrammarBuilder object dat een Choices object bevat, gevolgd door een GrammarBuilder object.

Addition(GrammarBuilder, Choices)

Hiermee maakt u een nieuwe GrammarBuilder die een GrammarBuilder gevolgd door een Choices.

Addition(GrammarBuilder, GrammarBuilder)

Hiermee maakt u een nieuwe GrammarBuilder die een reeks van twee GrammarBuilder objecten bevat.

Addition(GrammarBuilder, String)

Hiermee maakt u een nieuwe GrammarBuilder die een GrammarBuilder gevolgd door een woordgroep bevat.

Addition(String, GrammarBuilder)

Hiermee maakt u een nieuwe GrammarBuilder met een woordgroep gevolgd door een GrammarBuilder.

Implicit(Choices to GrammarBuilder)

Converteert een Choices object naar een GrammarBuilder object.

Implicit(SemanticResultKey to GrammarBuilder)

Converteert een SemanticResultKey object naar een GrammarBuilder object.

Implicit(SemanticResultValue to GrammarBuilder)

Converteert een SemanticResultValue object naar een GrammarBuilder object.

Implicit(String to GrammarBuilder)

Converteert een tekenreeks naar een GrammarBuilder object.

Van toepassing op

Zie ook