Compartilhar via


GrammarBuilder Classe

Definição

Fornece um mecanismo para criar programaticamente as restrições para uma gramática de reconhecimento de fala.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Herança
GrammarBuilder

Exemplos

O exemplo a seguir usa os GrammarBuilder Choices objetos e para construir uma gramática que pode reconhecer qualquer uma das duas frases, "Make background colorChoice" ou "Set Background to colorChoice".

O exemplo usa um Choices objeto para criar uma lista de valores aceitáveis para colorChoice de uma matriz de String objetos. Um Choices objeto é análogo ao one-of elemento na especificação SRGS e contém um conjunto de frases alternativas que podem ser reconhecidas quando faladas. O exemplo também usa um Choices objeto para agrupar uma matriz de dois GrammarBuilder objetos em um par de frases alternativas que a gramática resultante pode reconhecer. Palavras ou frases alternativas são um componente da maioria das gramáticas e o Choices objeto fornece essa funcionalidade para gramáticas construídas com o GrammarBuilder .

O exemplo finalmente cria um Grammar objeto de um GrammarBuilder construído a partir de um Choices objeto.

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

Comentários

As gramáticas de reconhecimento de fala normalmente são criadas no formato XML definido pela versão do SRGS (reconhecimento de fala de gramática) 1,0. Se você estiver familiarizado com o SRGS, mas quiser gerar as gramáticas programaticamente, poderá usar o System.Speech.Recognition.SrgsGrammar namespace, cujos membros correspondem aos elementos e atributos definidos pelo SRGS. Se você não estiver familiarizado com o SRGS, ou se quiser uma abordagem simples e programática para a criação de gramáticas com as quais é possível realizar com eficiência muitos cenários comuns; Você pode usar as GrammarBuilder Choices classes e.

Use GrammarBuilder objetos para criar uma árvore hierárquica composta de Choices objetos que contenham frases alternativas, intercaladas com o preâmbulo e frases Amble em cada nó e propagadas com valores semânticos que transmitem o significado para o aplicativo.

Para usar um GrammarBuilder para criar um Grammar objeto, use as etapas a seguir.

  1. Crie um objeto GrammarBuilder.

  2. Acrescente restrições ao, como objetos,,,, GrammarBuilder String Choices SemanticResultKey SemanticResultValue DictationGrammar e outros GrammarBuilder objetos que definem as restrições para a gramática.

  3. Use um dos Grammar construtores para criar um Grammar objeto a partir da gramática concluída GrammarBuilder .

A criação com GrammarBuilder o é mais adequada para gramáticas que têm uma única regra contendo listas ou, talvez, listas de listas. Para criar programaticamente gramáticas que têm várias regras ou que precisam fazer referências de regras internas, use as classes do System.Speech.Recognition.SrgsGrammar namespace.

As instâncias do GrammarBuilder também podem ser obtidas por conversões implícitas de determinadas outras classes ou pela combinação de um GrammarBuilder com um segundo objeto que contém restrições para uma gramática.. Para obter mais informações, consulte Implicit os Addition operadores e e os Add métodos.

Para adicionar regras a um existente GrammarBuilder , use os Add métodos,, Append AppendDictation , AppendRuleReference e AppendWildcard .

Importante

O reconhecedor de fala pode gerar uma exceção ao usar uma gramática de reconhecimento de fala que contém elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que poderiam modificar repetidamente o valor do mesmo elemento semântico.

Para ajudar na depuração, a DebugShowPhrases propriedade retorna o status atual de GrammarBuilder como uma cadeia de caracteres.

Construtores

GrammarBuilder()

Inicializa uma nova instância vazia da classe GrammarBuilder.

GrammarBuilder(Choices)

Inicializa uma nova instância da classe GrammarBuilder de um conjunto de alternativas.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inicializa uma nova instância da classe GrammarBuilder de um elemento repetido.

GrammarBuilder(SemanticResultKey)

Inicializa uma nova instância da classe GrammarBuilder de uma chave semântica.

GrammarBuilder(SemanticResultValue)

Inicializa uma nova instância da classe GrammarBuilder de um valor semântico.

GrammarBuilder(String)

Inicializa uma nova instância da classe GrammarBuilder de uma sequência de palavras.

GrammarBuilder(String, Int32, Int32)

Inicializa uma nova instância da classe GrammarBuilder da sequência de palavras em uma String e especifica quantas vezes a String pode ser repetida.

GrammarBuilder(String, SubsetMatchingMode)

Inicializa uma nova instância da classe GrammarBuilder para um subconjunto de uma sequência de palavras.

Propriedades

Culture

Obtém ou define a cultura da gramática de reconhecimento de fala.

DebugShowPhrases

Obtém uma cadeia de caracteres que mostra o conteúdo e a estrutura da gramática contida pelo GrammarBuilder.

Métodos

Add(Choices, GrammarBuilder)

Cria um novo GrammarBuilder que contém um objeto Choices seguido por um objeto GrammarBuilder.

Add(GrammarBuilder, Choices)

Cria um novo GrammarBuilder que contém um objeto GrammarBuilder seguido por um objeto Choices.

Add(GrammarBuilder, GrammarBuilder)

Cria um novo GrammarBuilder que contém uma sequência de dois objetos GrammarBuilder.

Add(GrammarBuilder, String)

Cria um novo GrammarBuilder que contém um objeto GrammarBuilder seguido por uma frase.

Add(String, GrammarBuilder)

Cria um novo GrammarBuilder que contém uma frase seguida por um objeto GrammarBuilder.

Append(Choices)

Acrescenta um conjunto de alternativas à sequência de elementos de gramática atual.

Append(GrammarBuilder)

Acrescenta um elemento de gramática à sequência de elementos de gramática atual.

Append(GrammarBuilder, Int32, Int32)

Acrescenta um elemento de gramática repetido à sequência de elementos de gramática atual.

Append(SemanticResultKey)

Acrescenta uma chave semântica à sequência de elementos de gramática atual.

Append(SemanticResultValue)

Acrescenta um valor semântico à sequência de elementos de gramática atual.

Append(String)

Acrescenta uma frase à sequência de elementos de gramática atual.

Append(String, Int32, Int32)

Acrescenta uma frase repetida à sequência de elementos de gramática atual.

Append(String, SubsetMatchingMode)

Acrescenta um elemento para um subconjunto de uma frase à sequência de elementos de gramática atual.

AppendDictation()

Anexa a gramática de ditado padrão na sequência atual de elementos de gramática.

AppendDictation(String)

Acrescenta a gramática de ditado especificada à sequência de elementos de gramática atual.

AppendRuleReference(String)

Acrescenta um arquivo de definição de gramática à sequência de elementos da gramática atual.

AppendRuleReference(String, String)

Acrescenta a regra especificada de um arquivo de definição de gramática à sequência de elementos da gramática atual.

AppendWildcard()

Acrescenta um elemento da gramática de reconhecimento que corresponde a uma entrada para a sequência atual de elementos da gramática.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Operadores

Addition(Choices, GrammarBuilder)

Cria um novo GrammarBuilder que contém um objeto Choices seguido por um objeto GrammarBuilder.

Addition(GrammarBuilder, Choices)

Cria um novo GrammarBuilder que contém um GrammarBuilder seguido por uma Choices.

Addition(GrammarBuilder, GrammarBuilder)

Cria um novo GrammarBuilder que contém uma sequência de dois objetos GrammarBuilder.

Addition(GrammarBuilder, String)

Cria um novo GrammarBuilder que contém um GrammarBuilder seguido por uma frase.

Addition(String, GrammarBuilder)

Cria um novo GrammarBuilder que contém uma frase seguida por um GrammarBuilder.

Implicit(Choices to GrammarBuilder)

Converte um objeto Choices em um objeto GrammarBuilder.

Implicit(SemanticResultKey to GrammarBuilder)

Converte um objeto SemanticResultKey em um objeto GrammarBuilder.

Implicit(SemanticResultValue to GrammarBuilder)

Converte um objeto SemanticResultValue em um objeto GrammarBuilder.

Implicit(String to GrammarBuilder)

Converte uma cadeia de caracteres em um objeto GrammarBuilder.

Aplica-se a

Confira também