Estrutura do arquivo de gramática

Os arquivos de gramática devem seguir uma estrutura específica para o Speakeasy interpretar corretamente o conteúdo do arquivo.

Assista a um vídeo relacionado (3:38)

A seguir, é apresentado um exemplo do conteúdo de um arquivo gramatical básico:

#BNF+EM V2.1;

/*

GRAMMAR: usa_states.bnf

 

Descrição:

Este é um arquivo de gramática que reconhece alguns estados dos EUA.

 

O que posso dizer?

Você pode dizer qualquer um dos estados americanos abaixo.

*/

 

!grammar usa_states;

!start <state>;

 

<state>:

  Alabama

| Alaska

| Connecticut

| Flórida

| Idaho

| Kansas

| "Nova Jersey"

| "Nova York";

#BNF+EM V2.1;

Cada arquivo de gramática deve começar com uma declaração, como #BNF+EM V1.1;, que identifica como o Speakeasy deve tratar o arquivo de gramática. Você não precisa modificar esta linha.

/* */ or //

Para criar comentários - informações ignoradas pelo mecanismo - você pode começar uma linha com // ou incluir texto nos marcadores / * e * /. Você pode editar as seções Descrição e O que posso dizer? para descrever as alterações feitas no arquivo gramatical.

!grammar [filename]

Se você alterar o nome do arquivo de gramática, o comando !grammar deve usar o novo nome do arquivo. Por exemplo, se o nome do arquivo tiver sido alterado para VoicePick.bnf, o comando leria: !grammar VoicePick;.

!start <state>;

O comando !start especifica qual grupo de termos na gramática estará disponível quando a gramática estiver em uso. No exemplo acima, o mecanismo escutará todos os termos na regra <state>. Se existiam várias regras e apenas uma foi referenciada pelo comando, todas as outras regras são ignoradas.

<state>: Alabama | Connecticut |...

As palavras e frases listadas entre <state>: e o último ; são os termos que a gramática aceitará. Cada palavra ou frase deve ser separada por | (um símbolo OU). Os termos podem estar listados todos na mesma linha ou alinhados verticalmente para facilitar a edição.

Para melhorar o reconhecimento de termos que podem ser semelhantes entre si, como New York e New Jersey, coloque a frase entre aspas (""). Isso força o mecanismo do Speakeasy a comparar a frase aceita mais de perto com a resposta do usuário.

Múltiplas regras

Em alguns arquivos de gramática, a regra principal é dividida em subseções para facilitar a administração dos termos. Se você tiver múltiplas regras em um arquivo, certifique-se de que todas estejam incluídas na regra que é usada na linha !start .

!start <Speech>;

<Speech>: <YesNo> | <Maybe>;

<YesNo>: sim | não;

<Maybe>: talvez;

Neste exemplo, a regra <Speech> inclui as regras <YesNo> e <Maybe>, então o mecanismo ouvirá todos os termos na regra <YesNo> e <Maybe>.

Termos semelhantes

Se você tiver palavras com sons semelhantes, pode obter resultados insatisfatórios de reconhecimento. Para melhorar o reconhecimento, use frases mais longas e mais distintas. Por exemplo, em vez de usar termos semelhantes como "mais rápido" e "o mais rápido", substitua-os por frases como "ir mais rápido" e "velocidade da luz".