Grammatiche di esempio
I seguenti esempi descrivono usi più complessi per grammatiche con il riconoscimento vocale. La maggior parte degli esempi sono forniti sia in formato ABNF (application/srgs
) che in formato XML (application/srgs+xml
).
Utilizza questi esempi per aiutarti a iniziare con le grammatiche.
In una regola di produzione per una grammatica, l'inclusione di un \
(backslash) è un errore di sintassi in ABNF e viene interpretato come un valore letterale in XML.
Per ulteriori informazioni sui linguaggi e sui modelli che supportano le grammatiche e sul loro livello di supporto (generalmente disponibile o beta), vedere Supporto dei linguaggi per la personalizzazione.
Grammatiche di conferma
Le grammatiche di conferma sono utili per le applicazioni che prevedono una risposta di una sola parola in risposta a una domanda. Le seguenti grammatiche definiscono un elenco di possibili risposte sì e no.
- ABNF- confirm.abnf
- XML- confirm.xml
Grammatiche di elenco
Le grammatiche di elenco sono utili per le applicazioni che si aspettano che l'utente selezioni un'opzione da una serie predefinita di stringhe. La serie viene a volte denominata elenco semplice. Generalmente è costituita da elementi terminali e non include una struttura di regole complicata.
-
Le seguenti grammatiche definiscono un elenco di frasi per le cifre:
- ABNF- list-numbers.abnf
- XML- list-numbers.xml
-
La seguente grammatica definisce un elenco di nomi validi tra cui l'utente può scegliere, magari per selezionare una persona da un elenco telefonico:
- ABNF- list-names.abnf
- XML- Non disponibile
Grammatiche di VIN
I VIN (o vehicle identification number) utilizzano un formato alfanumerico fisso, così come i numeri delle carte di credito, i numeri di telefono e i numeri di previdenza sociale degli Stati Uniti. Un grande vantaggio delle grammatiche rispetto ai classici n-grammi è che le grammatiche sono molto efficaci per specificare tali formati.
Il formato VIN è ben standardizzato e ha un numero fisso di caratteri. I classici n-grammi hanno uno scarso rendimento per questi tipi di attività. A differenza delle grammatiche, non possono garantire che venga fornito il numero richiesto di caratteri.
Le seguenti grammatiche riconoscono i codici VIN Honda. Sono più complesse rispetto agli esempi precedenti ma dimostrano perfettamente il potere delle grammatiche.
Per ulteriori informazioni sul formato VIN, vedere Numero di identificazione del veicolo.
Grammatiche con elementi facoltativi
Rendendo facoltativi alcuni elementi di una risposta, puoi rendere le grammatiche più flessibili anticipando il modo in cui gli utenti potrebbero rispondere. La seguente grammatica aggiunge parentesi quadre attorno all'elemento $optionalphrase
per renderlo facoltativo. L'utente può pronunciare una di alcune frasi aggiuntive prima di indicare il numero di previdenza sociale. Ad esempio, l'utente può dire "my social is xxx xx xxxx" o solo "xxx xx xxxx".
- ABNF- optional.abnf
- XML- Non disponibile
Per ulteriori informazioni sulle espansioni opzionali nelle grammatiche, si veda la Sezione 2.5 Ripetizioni della Specifica di grammatica per il riconoscimento vocale.
Grammatiche di disambiguazione
Altre possibili grammatiche di esempio includono situazioni in cui l'attendibilità della risposta riconosciuta non è molto alta ma l'applicazione deve essere certa della risposta dell'utente. In questo caso, l'applicazione può creare dinamicamente
una grammatica che includa le risposte più probabili e chiedere all'utente di ripetere la risposta. Ad esempio, l'applicazione può creare una grammatica che include le due opzioni più probabili e chiedere all'utente di selezionare una delle
due: Did you mean 'option 1' or 'option 9'?
Le grammatiche di disambiguazione vengono generate in modo programmatico. Non vengono forniti esempi.