GrammarBuilder Klass

Definition

Tillhandahåller en mekanism för att programmatiskt skapa begränsningarna för en grammatik för taligenkänning.

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

Exempel

I följande exempel används GrammarBuilder och Choices objekt för att konstruera en grammatik som kan känna igen någon av de två fraserna, "Make background colorChoice" eller "Set background to colorChoice".

I exemplet används ett Choices objekt för att skapa en lista med acceptabla värden för colorChoice från en matris med String objekt. Ett Choices objekt motsvarar elementet one-of i SRGS-specifikationen och innehåller en uppsättning alternativa fraser, som alla kan identifieras när de talas. I exemplet används också ett Choices objekt för att gruppera en matris med två GrammarBuilder objekt i ett par alternativa fraser som den resulterande grammatiken kan känna igen. Alternativa ord eller fraser är en komponent i de flesta grammatiker, och objektet tillhandahåller den Choices här funktionen för grammatik som konstruerats med GrammarBuilder.

Exemplet skapar slutligen ett Grammar objekt från ett GrammarBuilder konstruerat objekt Choices .

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;
}

Kommentarer

Grammatik för taligenkänning är ofta författade i XML-format som definieras av SRGS version 1.0 (Taligenkänningsmatikspecifikation). Om du är bekant med SRGS men vill generera grammatiken programmatiskt kan du använda System.Speech.Recognition.SrgsGrammar namnområdet, vars medlemmar motsvarar de element och attribut som definieras av SRGS. Om du inte är bekant med SRGS, eller om du vill ha en enkel, programmatisk metod för att redigera grammatik som du effektivt kan utföra många vanliga scenarier med. du kan använda klasserna GrammarBuilder och Choices .

Använd GrammarBuilder objekt för att skapa ett hierarkiskt träd som består av Choices objekt som innehåller alternativa fraser, varvat med ingresser och post-amble-fraser på varje nod och som är seedade med semantiska värden som förmedlar mening tillbaka till programmet.

Använd följande steg om du vill använda en GrammarBuilder för att skapa ett Grammar objekt.

  1. Skapa ett GrammarBuilder objekt.

  2. Lägg till begränsningar i GrammarBuilder, till exempel String objekt, Choices, SemanticResultKey, SemanticResultValue, DictationGrammaroch andra GrammarBuilder objekt som definierar begränsningarna för grammatiken.

  3. Använd en av konstruktorerna Grammar för att skapa ett Grammar objekt från den slutförda GrammarBuilder grammatiken.

Redigering med GrammarBuilder passar bäst för grammatiker som har en enda regel som innehåller listor, eller kanske listor med listor. Om du vill skapa grammatik programmatiskt som har flera regler, eller som behöver göra interna regelreferenser, använder du namnområdets System.Speech.Recognition.SrgsGrammar klasser.

Instanser av GrammarBuilder kan också hämtas genom implicita konverteringar från vissa andra klasser eller genom att kombinera ett GrammarBuilder med ett andra objekt som innehåller begränsningar för en grammatik.. Mer information finns i operatorerna Implicit och Addition och Add metoderna.

Om du vill lägga till regler i en befintlig GrammarBuilderanvänder du Addmetoderna , Append, AppendDictation, AppendRuleReferenceoch AppendWildcard .

Important

Taligenkänningen kan utlösa ett undantag när du använder en taligenkännings grammatik som innehåller dubbletter av semantiska element med samma nyckelnamn eller flera semantiska element som upprepade gånger kan ändra värdet för samma semantiska element.

För att hjälpa till med felsökning returnerar DebugShowPhrases egenskapen den aktuella statusen för GrammarBuilder som en sträng.

Konstruktorer

Name Description
GrammarBuilder()

Initierar en ny, tom instans av GrammarBuilder klassen.

GrammarBuilder(Choices)

Initierar en ny instans av GrammarBuilder klassen från en uppsättning alternativ.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Initierar en ny instans av GrammarBuilder klassen från ett upprepat element.

GrammarBuilder(SemanticResultKey)

Initierar en ny instans av GrammarBuilder klassen från en semantisk nyckel.

GrammarBuilder(SemanticResultValue)

Initierar en ny instans av GrammarBuilder klassen från ett semantiskt värde.

GrammarBuilder(String, Int32, Int32)

Initierar en ny instans av GrammarBuilder klassen från ordsekvensen i en String och anger hur många gånger som String kan upprepas.

GrammarBuilder(String, SubsetMatchingMode)

Initierar en ny instans av GrammarBuilder klassen för en delmängd av en ordsekvens.

GrammarBuilder(String)

Initierar en ny instans av GrammarBuilder klassen från en ordsekvens.

Egenskaper

Name Description
Culture

Hämtar eller anger kulturen i taligenkänningens grammatik.

DebugShowPhrases

Hämtar en sträng som visar innehållet och strukturen i grammatiken som finns i GrammarBuilder.

Metoder

Name Description
Add(Choices, GrammarBuilder)

Skapar en ny GrammarBuilder som innehåller ett Choices objekt följt av ett GrammarBuilder objekt.

Add(GrammarBuilder, Choices)

Skapar en ny GrammarBuilder som innehåller ett GrammarBuilder objekt följt av ett Choices objekt.

Add(GrammarBuilder, GrammarBuilder)

Skapar en ny GrammarBuilder som innehåller en sekvens med två GrammarBuilder objekt.

Add(GrammarBuilder, String)

Skapar en ny GrammarBuilder som innehåller ett GrammarBuilder objekt följt av en fras.

Add(String, GrammarBuilder)

Skapar en ny GrammarBuilder som innehåller en fras följt av ett GrammarBuilder objekt.

Append(Choices)

Lägger till en uppsättning alternativ till den aktuella sekvensen med grammatikelement.

Append(GrammarBuilder, Int32, Int32)

Lägger till ett upprepat grammatikelement i den aktuella sekvensen med grammatikelement.

Append(GrammarBuilder)

Lägger till ett grammatikelement i den aktuella sekvensen med grammatikelement.

Append(SemanticResultKey)

Lägger till en semantisk nyckel i den aktuella sekvensen med grammatikelement.

Append(SemanticResultValue)

Lägger till ett semantiskt värde i den aktuella sekvensen med grammatikelement.

Append(String, Int32, Int32)

Lägger till en upprepad fras i den aktuella sekvensen med grammatikelement.

Append(String, SubsetMatchingMode)

Lägger till ett element för en delmängd av en fras i den aktuella sekvensen med grammatikelement.

Append(String)

Lägger till en fras i den aktuella sekvensen med grammatikelement.

AppendDictation()

Lägger till standarddikteringsmatiken i den aktuella sekvensen med grammatikelement.

AppendDictation(String)

Lägger till den angivna dikterings grammatiken i den aktuella sekvensen med grammatikelement.

AppendRuleReference(String, String)

Lägger till den angivna regeln för en grammatikdefinitionsfil i den aktuella sekvensen med grammatikelement.

AppendRuleReference(String)

Lägger till en grammatikdefinitionsfil i den aktuella sekvensen med grammatikelement.

AppendWildcard()

Lägger till ett igenkännings grammatikelement som matchar alla indata till den aktuella sekvensen med grammatikelement.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Operatorer

Name Description
Addition(Choices, GrammarBuilder)

Skapar en ny GrammarBuilder som innehåller ett Choices objekt följt av ett GrammarBuilder objekt.

Addition(GrammarBuilder, Choices)

Skapar en ny GrammarBuilder som innehåller en GrammarBuilder följt av en Choices.

Addition(GrammarBuilder, GrammarBuilder)

Skapar en ny GrammarBuilder som innehåller en sekvens med två GrammarBuilder objekt.

Addition(GrammarBuilder, String)

Skapar en ny GrammarBuilder som innehåller en GrammarBuilder följt av en fras.

Addition(String, GrammarBuilder)

Skapar en ny GrammarBuilder som innehåller en fras följt av en GrammarBuilder.

Implicit(Choices to GrammarBuilder)

Konverterar ett Choices objekt till ett GrammarBuilder objekt.

Implicit(SemanticResultKey to GrammarBuilder)

Konverterar ett SemanticResultKey objekt till ett GrammarBuilder objekt.

Implicit(SemanticResultValue to GrammarBuilder)

Konverterar ett SemanticResultValue objekt till ett GrammarBuilder objekt.

Implicit(String to GrammarBuilder)

Konverterar en sträng till ett GrammarBuilder objekt.

Gäller för

Se även