Indietro

ⓘ VoiceXML




                                     

ⓘ VoiceXML

VoiceXML acronimo di V oice e X tensible M arkup L anguage, definito dal World Wide Web Consortium, rappresenta lo standard in formato XML per la creazione di dialoghi interattivi tra una persona ed un computer.

La piattaforma VoiceXML lavora in modo analogo a un browser HTML: i documenti VoiceXML vengono scaricati da un server web e interpretati e trasformati in voce da un Voice Gateway residente sul computer dellutente finale.

                                     

1. Applicazioni

VoiceXML è un linguaggio progettato per realizzare sistemi di presentazione e interazione vocali, denominati Voice User Interface VUI, in italiano interfaccia utente vocale, usando la linea telefonica per laccesso ai dati.

VoiceXML permette la creazione di logiche di dialogo uomo-macchina in linguaggio naturale attraverso lintegrazione con diverse tecnologie, tra cui:

  • Sintesi vocale
  • Speaker Verification
  • Video in streaming o preregistrati
  • Dual-Tone Multi-Frequency
  • Riconoscimento vocale

Il linguaggio VoiceXML è espressamente concepito per operazioni e applicazioni orientate al web: questo consente di produrre documenti VoiceXML anche in modo dinamico e interattivo con lutente, attraverso linguaggi server side, così come avviene per le pagine web.

                                     

2. Caratteristiche

Alcune delle caratteristiche del linguaggio VoiceXML sono:

  • Linguaggio di markup concepito per creare applicazioni vocali: VoiceXML è stato progettato appositamente per la creazione di applicazioni vocali, la gestione dei dialoghi, e lintegrazione con le funzioni di riconoscimento e sintesi vocale.
  • Separazione del codice per le interazioni utente dal codice dellapplicazione: la separazione delle logiche di programmazione da quelle di presentazione è un requisito fondamentale, sia per la verticalizzazione di applicazioni esistenti, sia per lo sviluppo in team di applicazioni vocali.
  • Struttura modulare: la struttura stessa del linguaggio permette la creazione di dialoghi, grammatiche e logiche di interazione che possono essere resi modulari. Questi elementi possono essere conservati separatamente e riutilizzati in altre applicazioni.
  • Portabilità e semplicità di sviluppo: VoiceXML è stato creato per essere utilizzato indipendentemente dalle piattaforme e per nascondere al programmatore le logiche di più basso livello. Lo sviluppatore di applicazioni vocali, infatti, non dovrà preoccuparsi della gestione del motori di riconoscimento o sintesi vocale, ma si potrà concentrare sulla creazione dellinterfaccia utente.
                                     

3. Come funziona

Lutente si connette tramite il proprio telefono senza dover usare un particolare browser o plugin ad un Voice Gateway attraverso la rete telefonica ordinaria.

Il Voice Gateway svolge le seguenti funzioni:

  • dialoga con il server web attraverso il protocollo HTTP.
  • produce un messaggio vocale attraverso la sintesi vocale;
  • riceve ed interpreta i comandi dallutente ;
  • interpreta il documento VoiceXML;

Il server web, una volta ricevute le richieste dal Voice Gateway, rende disponibili i documenti VoiceXML per la loro interpretazione e conversione in voce verso lutente finale.

                                     

4. Esempio

Esempio di un documento VoiceXML:

Linterpretazione di questa pagina VoiceXML da parte del Voice Gateway fa pronunciare le parole Ciao Mondo! tramite un sistema integrato di sintesi vocale.

Esempi di applicazioni possibili sono: posta elettronica, informazioni di servizio di pubblica utilità meteo, traffico., quotazioni di borsa, call center, gestione delle scorte, servizi per il tempo libero oroscopi, eccetera.

                                     

5. Storia del linguaggio

Un primo linguaggio di markup per interazioni vocali via telefono, il Phone Markup Language PML fu sviluppato dai Bell Laboratories di AT&T. Lo sviluppo proseguì anche quando i Bell Laboratories furono scorporati da AT&T e integrati in Lucent Technology.

Nel frattempo anche IBM e Motorola svilupparono i loro linguaggi di markup vocali, denominati rispettivamente SpeechML e VoxML.

Nel marzo 1999 IBM, AT&T, Lucent e Motorola decisero di unificare gli sviluppi su una base comune, dando vita al VoiceXML Forum che nellagosto 1999 iniziò le specifiche del linguaggio VoiceXML, pubblicando la versione 1.0 nel marzo 2000. Il nuovo linguaggio di markup, grazie anche alle somiglianze con lHTML, ebbe subito unampia diffusione. Lattore italiano principale nelle attività del forum è stato lo CSELT.

Nel marzo 2004, la versione 2.0 di VoiceXML divenne una raccomandazione ufficiale del W3C che ne cura gli sviluppi le evoluzioni.

A giugno 2007 il W3C ha distribuito la versione 2.1 di VoiceXML, che presenta una serie di estensioni garantendo la compatibilità allindietro con la versione precedente.

A giugno 2009 il W3C ha distribuito la seconda versione draft delledizione 3.0 di VoiceXML, che prevede ulteriori estensioni tra cui lidentificazione e la verifica della voce e la cattura e riproduzione di video.



                                     

6. Standard collegati

Nel quadro delle attività collegate alle applicazioni vocali, il W3C ha ulteriormente separato il controllo delle interfacce vocale definendo diversi linguaggi di markup, ognuno orientato verso aspetti specifici.

                                     

6.1. Standard collegati SRGS e SISR

Speech Recognition Grammar Specification SRGS è il linguaggio utilizzato per scrivere le grammatiche insiemi di regole utilizzate dal riconoscitore vocale per riconoscere gli input utente.

Semantic Interpretation for Speech RecognitionSISR viene utilizzato per controllare linterpretazione semantica, inserendo le opportune istruzioni nelle grammatiche, per manipolare i risultati ottenuti dal riconoscimento vocale in base al contesto applicativo.

                                     

6.2. Standard collegati PLS

Pronunciation Lexicon Specification PLS viene utilizzato sia dal riconoscitore vocale sia dal sintetizzatore per controllare la corretta pronuncia di una parola, soprattutto in applicazioni multilingue.

                                     

6.3. Standard collegati SSML

Speech Synthesis Markup Language SSML viene usato per migliorare la prosodia delle frasi controllando aspetti quali enfasi, timbro vocale, volume sonoro e velocità di lettura.

                                     

6.4. Standard collegati CCXML

Call Control eXensible Markup Language CCXML viene usato per la gestione delle telefonate. Permette di accettare una chiamata in entrata, effettuare una chiamata in uscita, terminare una chiamata e collegare più chiamate in conferenza.