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