Condividi tramite


GrammarBuilder Classe

Definizione

Fornisce un meccanismo per la compilazione a livello di codice di vincoli per una grammatica di riconoscimento vocale.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Ereditarietà
GrammarBuilder

Esempio

Nell'esempio seguente vengono GrammarBuilder utilizzati Choices gli oggetti e per costruire una grammatica in grado di riconoscere una delle due frasi "make background colorChoice" o "set background to colorChoice".

Nell'esempio viene utilizzato un Choices oggetto per creare un elenco di valori accettabili per colorChoice da una matrice di String oggetti. Un Choices oggetto è analogo all' one-of elemento nella specifica SRGS e contiene un set di frasi alternative, ciascuna delle quali può essere riconosciuta quando viene pronunciata. Nell'esempio viene inoltre utilizzato un Choices oggetto per raggruppare una matrice di due GrammarBuilder oggetti in una coppia di frasi alternative che la grammatica risultante può riconoscere. Parole o frasi alternative sono un componente della maggior parte delle grammatiche e l' Choices oggetto fornisce questa funzionalità per le grammatiche costruite con GrammarBuilder .

Viene infine creato un Grammar oggetto da un GrammarBuilder oggetto costruito da un Choices oggetto.

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

Commenti

Le grammatiche di riconoscimento vocale vengono in genere create nel formato XML definito dalla specifica SRGS (Speech Recognition Grammar) versione 1,0. Se si ha familiarità con SRGS, ma si vogliono generare le grammatiche a livello di codice, è possibile usare lo System.Speech.Recognition.SrgsGrammar spazio dei nomi, i cui membri corrispondono strettamente agli elementi e agli attributi definiti da SRGS. Se non si ha familiarità con SRGS o si vuole un approccio leggero e programmatico per la creazione di grammatiche con cui è possibile eseguire in modo efficiente molti scenari comuni; è possibile usare le GrammarBuilder Choices classi e.

Usare GrammarBuilder gli oggetti per compilare un albero gerarchico composto da Choices oggetti contenenti frasi alternative, sparpagliate con il preambolo e le frasi post-ambite in ogni nodo e con il seeding con valori semantici che riportano il significato all'applicazione.

Per usare un GrammarBuilder oggetto per creare un Grammar oggetto, seguire questa procedura.

  1. Creare un oggetto GrammarBuilder.

  2. Aggiungere vincoli a GrammarBuilder , ad esempio oggetti,,,, String Choices SemanticResultKey SemanticResultValue DictationGrammar e altri GrammarBuilder oggetti che definiscono i vincoli per la grammatica.

  3. Usare uno dei Grammar costruttori per creare un Grammar oggetto dalla GrammarBuilder grammatica completata.

La creazione di con GrammarBuilder è più adatta alle grammatiche con una singola regola contenente elenchi o elenchi di elenchi. Per compilare a livello di codice grammatiche con più regole o che devono eseguire riferimenti a regole interne, usare le classi dello System.Speech.Recognition.SrgsGrammar spazio dei nomi.

Le istanze di GrammarBuilder possono anche essere ottenute tramite conversioni implicite da determinate altre classi o combinando un GrammarBuilder oggetto con un secondo oggetto che contiene vincoli per una grammatica. Per ulteriori informazioni, vedere gli Implicit Addition operatori e e i Add metodi.

Per aggiungere regole a un oggetto esistente GrammarBuilder , usare i Add metodi,, Append AppendDictation , AppendRuleReference e AppendWildcard .

Importante

Il riconoscimento vocale può generare un'eccezione quando si usa una grammatica di riconoscimento vocale che contiene elementi semantici duplicati con lo stesso nome di chiave o più elementi semantici che potrebbero modificare ripetutamente il valore dello stesso elemento semantico.

Per semplificare il debug, la DebugShowPhrases proprietà restituisce lo stato corrente dell'oggetto GrammarBuilder sotto forma di stringa.

Costruttori

GrammarBuilder()

Inizializza una nuova istanza vuota della classe GrammarBuilder.

GrammarBuilder(Choices)

Inizializza una nuova istanza della classe GrammarBuilder da un set di alternative.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inizializza una nuova istanza della classe GrammarBuilder da un elemento ripetuto.

GrammarBuilder(SemanticResultKey)

Inizializza una nuova istanza della classe GrammarBuilder a partire da una chiave semantica.

GrammarBuilder(SemanticResultValue)

Inizializza una nuova istanza della classe GrammarBuilder a partire da un valore semantico.

GrammarBuilder(String)

Inizializza una nuova istanza della classe GrammarBuilder da una sequenza di parole.

GrammarBuilder(String, Int32, Int32)

Inizializza una nuova istanza della classe GrammarBuilder dalla sequenza di parole in un oggetto String e specifica quante volte può essere ripetuto l'oggetto String.

GrammarBuilder(String, SubsetMatchingMode)

Inizializza una nuova istanza della classe GrammarBuilder per un subset di una sequenza di parole.

Proprietà

Culture

Ottiene o imposta le impostazioni cultura della grammatica di riconoscimento vocale.

DebugShowPhrases

Ottiene una stringa che mostra il contenuto e la struttura della sintassi contenuta da GrammarBuilder.

Metodi

Add(Choices, GrammarBuilder)

Crea un nuovo GrammarBuilder che contiene un oggetto Choices seguito da un oggetto GrammarBuilder.

Add(GrammarBuilder, Choices)

Crea un nuovo GrammarBuilder che contiene un oggetto GrammarBuilder seguito da un oggetto Choices.

Add(GrammarBuilder, GrammarBuilder)

Crea un nuovo oggetto GrammarBuilder contenente una sequenza di due oggetti GrammarBuilder.

Add(GrammarBuilder, String)

Crea un nuovo oggetto GrammarBuilder contenente un oggetto GrammarBuilder seguito da una frase.

Add(String, GrammarBuilder)

Crea un nuovo oggetto GrammarBuilder contenente una frase seguita da un oggetto GrammarBuilder .

Append(Choices)

Aggiunge un set di alternative alla sequenza corrente di elementi di grammatica.

Append(GrammarBuilder)

Aggiunge un elemento di grammatica alla sequenza corrente di elementi di grammatica.

Append(GrammarBuilder, Int32, Int32)

Aggiunge un elemento di grammatica ripetuto alla sequenza corrente di elementi di grammatica.

Append(SemanticResultKey)

Aggiunge una chiave semantica alla sequenza corrente di elementi di grammatica.

Append(SemanticResultValue)

Aggiunge un valore semantico alla sequenza corrente di elementi di grammatica.

Append(String)

Aggiunge una frase alla sequenza corrente di elementi di grammatica.

Append(String, Int32, Int32)

Aggiunge una frase ripetuta alla sequenza corrente di elementi di grammatica.

Append(String, SubsetMatchingMode)

Aggiunge un elemento per un subset di una frase alla sequenza corrente di elementi di grammatica.

AppendDictation()

Aggiunge la grammatica di dettatura predefinita alla sequenza corrente di elementi di grammatica.

AppendDictation(String)

Aggiunge la grammatica di dettatura specificata alla sequenza corrente di elementi di grammatica.

AppendRuleReference(String)

Aggiunge un file di definizione della grammatica alla sequenza corrente di elementi di grammatica.

AppendRuleReference(String, String)

Aggiunge la regola specificata di un file di definizione della grammatica alla sequenza corrente di elementi di grammatica.

AppendWildcard()

Aggiunge un elemento della grammatica di riconoscimento che corrisponde a qualsiasi input nella sequenza corrente di elementi di grammatica.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Operatori

Addition(Choices, GrammarBuilder)

Crea un nuovo GrammarBuilder che contiene un oggetto Choices seguito da un oggetto GrammarBuilder.

Addition(GrammarBuilder, Choices)

Crea un nuovo oggetto GrammarBuilder contenente un oggetto GrammarBuilder seguito da Choices.

Addition(GrammarBuilder, GrammarBuilder)

Crea un nuovo oggetto GrammarBuilder contenente una sequenza di due oggetti GrammarBuilder.

Addition(GrammarBuilder, String)

Crea un nuovo oggetto GrammarBuilder contenente un oggetto GrammarBuilder seguito da una frase.

Addition(String, GrammarBuilder)

Crea un nuovo oggetto GrammarBuilder contenente una frase seguita da GrammarBuilder .

Implicit(Choices to GrammarBuilder)

Converte un oggetto Choices in un oggetto GrammarBuilder.

Implicit(SemanticResultKey to GrammarBuilder)

Converte un oggetto SemanticResultKey in un oggetto GrammarBuilder.

Implicit(SemanticResultValue to GrammarBuilder)

Converte un oggetto SemanticResultValue in un oggetto GrammarBuilder.

Implicit(String to GrammarBuilder)

Converte una stringa in un oggetto GrammarBuilder.

Si applica a

Vedi anche