- Introduzione
- Panoramica architetturale
- Motore di sintesi vocale
- Motore di riconoscimento vocale
- Il browser VoiceXML
- Requisiti Hardware
- Requisiti Software
- Installazione del Voice Server SDK
Introduzione
Questo SDK dell'IBM include:
- browser vocale che interpreta documenti VoiceXML, con un simulatore dei tasti telefonici per eventuale input DTMF;
- motori di riconoscimento e sintesi vocali dell'IBM;
- monitoraggio e logging dell'esecuzione delle applicazioni;
- documentazione molto dettagliata e completa sia sul linguaggio VoiceXML sia sull�utilizzo dell�SDK.
Esso può essere scaricato gratuitamente dal sito dell�IBM e attualmente
risulta l�unico browser di VoiceXML presente sul Web, gratuito e utilizzabile off-line,
in grado di supportare la lingua italiana.
Esistono altre possibilità di accesso a interpreti di VoiceXML, ma la maggior parte di essi
dev�essere utilizzata on-line oppure non permette l�uso della lingua italiana.
Le lingue supportate dal Voice Server SDK sono Portoghese, Brasiliano, Francese del Canada,
Francese, Tedesco, Italiano, Giapponese, Cinese semplificato, Spagnolo, Inglese britannico, Inglese americano.
Attualmente la versione che si scarica dal sito è la 3.1.
I tempi di download sono riassunti nella seguente tabella, presente sul sito dell�IBM:
|
100 KBytes |
1 MB |
10 MB |
100 MB |
14.4K modem |
1 min. |
9 min. |
1 hr. 33 min. |
15 hrs.
|
28.8K modem |
<1 min. |
5 min. |
46 min. |
8 hrs.
|
33K modem |
<1 min. |
4 min. |
40 min. |
7 hrs.
|
56K modem |
<1 min. |
2 min. |
24 min. |
4 hrs.
|
128K ISDN |
<1 min. |
1 min. |
10 min. |
2 hrs.
|
T1 |
<1 min. |
<1 min. |
1 min. |
9 min.
|
Torna a inizio pagina
Panoramica architetturale
La figura seguente mostra il modo in cui il prodotto si interfaccia con le informazioni
residenti sui server Web e sui database:
Architettura dell�ambiente del browser VoiceXML
Per avviare il browser vocale, bisogna passargli l�URI del primo documento dell�applicazione
(la directory di visibilità è quella in cui si installa il Voice Server SDK,
per cui basta specificare il mome del file, preceduto eventualmente dal percorso di sottodirectory create;
nel caso, invece, in cui i file si pubblichino su un server locale, quale l�IIS di Windows,
va inserito l�URI relativo). Il browser usa l�HTTP per procurarsi i documenti da interpretare.
Ogni documento specifica un�interazione (dialogo) fra l�utente e l�applicazione; per la fase di input vocale, bisogna ricordare che esso non può essere "unbounded", nel senso che devono esistere opportune grammatiche che definiscono i tipi di risposta che l�utente può fornire. Dunque, il riconoscimento vocale consiste nel controllare la conformità dell�input dell�utente a parole o frasi contenute nella grammatica.
Lo standard VoiceXML prevede la creazione di grammatiche attraverso un opportuno linguaggio di definizione:
si tratta del JSGF (Java Speech Grammar Format), il quale ha delle regole ben precise.
Torna a inizio pagina
Motore di sintesi vocale
Questo motore genera voce sintetizzata, dopo aver processato il testo
in input per determinarne la struttura e convertirla in parlato, con un meccanismo detto
parsing. Il motore utilizzato dal browser è il ViaVoice dell�IBM.
A seconda del tipo di applicazioni vocali, bisogna valutare l�opportunità
di utilizzare prompt sintetizzati o audio pre-registrato; esistono vantaggi e svantaggi
delle due situazioni, che proveremo ad elencare:
i prompt TTS sono più semplici da mantenere e modificare di quelli pre-registrati;
la tecnica TTS è necessaria quando non si conosce a priori il contenuto del prompt
da pronunciare
il TTS non potrà mai risultare naturale alla pari del parlato umano, ma ha sempre quella
caratteristica "robotica" che può renderne astiosa la comprensione;
in ogni caso, chi si interfaccia con applicazioni di questo tipo sa di avere a che fare con una
macchina e non con una persona, per cui nella sintesi vocale non si deve considerare un problema
la mancanza di naturalezza: la sintesi non interferisce con la comprensibilità delle frasi
pronunciate.
Il motore dell�IBM mette a disposizione diversi tipi di voce, che variano per sesso ed età,
per cui lo sviluppatore può far uso di voci diverse a seconda del tipo di applicazione per aumentare
la familiarità con l�utente.
Torna a inizio pagina
Motore di riconoscimento vocale
Questo motore fa sempre parte del ViaVoice di IBM e deve effettuare un parsing contrario rispetto
a quello del motore di sintesi, ossia deve convertire lo stream vocale in un testo di output.
I passi essenziali di questo processo coinvolgono sia lo sviluppatore dell�applicazione,
che deve definire le opportune grammatiche e attivarle all�occorrenza, sia il motore di riconoscimento,
che deve confrontare il pattern sonoro del segnale audio ricevuto con quello dei suoni di base corrispondenti
alle parole della grammatica, cercando la combinazione più probabile.
L�accuratezza del riconoscimento dipende da alcuni fattori fondamentali:
la qualità dell�input vocale:
essa è influenzata sia dalla scelta del dispositivo di input,
che può essere un microfono per PC, un telefono fisso , un cordless o un cellulare,
sia dall�ambiente in cui avviene la comunicazione, cioè in auto, all�aperto, in una stanza affollata,
in un ufficio silenzioso e così via, sia dall�accento e dalla velocità di chi parla;
il design di interfaccia:
è compito di chi sviluppa l�applicazione creare un�interfaccia che tenga
conto dei vari fattori che influenzano la comprensibilità dell�input e che permetta di avere
risposte facilmente individuabili;
la definizione delle grammatiche:
questo fattore è molto importante, perché bisogna definire grammatiche
che prevengano le reazioni dell�utente e forniscano opzioni realistiche al motore di riconoscimento;
anche l�uso di toni DTMF, laddove non dispersivo, è consigliabile per facilitare la comunicazione.
Gli errori cui va incontro il motore di riconoscimento possono essere di vari tipi e avere,
quindi, varie cause:
il risultato prodotto non rispecchia l�input dell�utente;
il motore non riconosce per nulla l�input dell�utente;
il motore fornisce un risultato, nonostante l�utente non abbia ancora parlato.
In generale, bisogna sempre tener conto delle parole omofone e permettere all�utente
di effettuare una seconda scelta fra i casi di ambiguità e bisogna fare attenzione a definire la pronuncia
di parole che non esistono nel dizionario, per evitare che il pattern ipotizzato dal motore non sia differente
da quello realmente usato dall�utente, rendendo impossibile la buona riuscita del processo di parsing.
Torna a inizio pagina
Il browser VoiceXML
Il browser deve fare il fetch dei documenti da processare e interpretare. Esso è un�applicazione Java
e fornisce le informazioni di tracing dei prompt eseguiti, delle risorse prelevate e dell�input riconosciuto, salvandole man mano su un opportuno file di log.
Non tutti i tag VoiceXML sono supportati dal Voice Server SDK (nella documentazione IBM è
fornito un elenco preciso dei tag utilizzabili).
Le applicazioni possono essere pubblicate su server Web e possono avere contenuto dinamico,
che deve essere eseguito dal server in modo tale da creare un output riconoscibile dal browser. Portando l�esempio di ASP,
un file di questo tipo sarà strutturato in modo che, alla fine dell�esecuzione dello script da parte del server ASP,
sia prodotto un normale file VoiceXML che possa essere interpretato dal browser. Il contenuto dinamico permette interazioni
molto interessanti con l�utente e non differisce nell�uso dagli script usati per ottenere pagine HTML: la differenza sta nel
fatto che il tipo MIME non è quello relativo all�HTML ma è quello VoiceXML, per cui i server vanno opportunamente
configurati.
Torna a inizio pagina
Requisiti Hardware
processore Intel® Pentium® 366 MHz
128 MB di RAM
290 MB di spazio su disco (minimo)
30 MB per installare il Sun™ Java™ Runtime Environment (Sun JRE) 1.3.1
80 MB nella directory di sistema Windows
130 MB di spazio su disco sulla directory di installazione per installare ogni linguaggio selezionato
28 MB sulla directory di installazione per il caching, logging e tracing
Display a più di 256 colori
Scheda audio compatibile con Microsoft® Windows® 2000, 16-bit, full-duplex (con input per il microfono)
con buona qualità di registrazione
Microfono di buona qualità
I package di installazione (9 in tutto) richiedono dai 58 MB a 171 MB di spazio libero durante il download,
più dai 62 MB ai 172 MB per l�estrazione dei file creati quando si eseguono i package di download.
Il range varia a seconda dei package di linguaggio scaricati:
Torna a inizio pagina
Requisiti Software
Il sistema operativo richiesto è il Windows 2000 Professional o Server
(si è ritenuto, però, più stabile e affidabile il secondo), dotato di Service Pack 2.
È richiesto l�accesso come Administrator.
Inoltre sono richiesti:
Sun Java Runtime Environment (Sun JRE) 1.3.1 (incluso nel package di download,
ma va installato prima del Voice Server SDK);
Networking abilitato (ad esempio, rete IP);
Adobe Acrobat Reader, Versione 5.0 o successive (incluso nel package);
HTTP 1.1 Client, se si desidera.
Per l�esecuzione delle pagine ASP è necessario installare, dal CD di installazione di Windows 2000 stesso,
la componente IIS, che permette di testare off-line le pagine create dinamicamente, disponibili al server locale
creato sulla stessa macchina client dall�IIS.
La directory di default dove vanno inserite le pagine ASP, i database e tutti i file necessari al server è
C:\Inetpub\wwwroot, inserita sul cd con lo stesso nome. Al server si accede con indirizzi del tipo
http://localhost/nome_pagina.asp.
Il server locale creato con IIS deve poter maneggiare i MIME relativi
al VoiceXML: bisogna assicurarsi di configurare i MIME per .vxml (tipo: application/x-vxml) e .gram (tipo: application/x-jsgf).
In Windows 2000 Server bisogna effettuare i seguenti passaggi:
Avvio
Programmi
Strumenti di Amministrazione
Configurazione Server
Gestione Servizi IIS
Sito Web predefinito -> Proprietà
e fra le proprietà scegliere quella che permette di configurare i MIME.
Torna a inizio pagina
Installazione del Voice Server SDK
Per lanciare il WebSphere Voice Server SDK Installation Wizard,
bisogna far partire il file setup.exe, che si trova nella directory dove si è
decompattato il package di installazione.
Una volta installato, va creato un collegamento (è consigliabile metterlo sul desktop)
al file batch vs_audio.bat e nelle proprietà del collegamento va specificato il nome della pagina vxml
che il browser dovrà eseguire.
In ogni caso, il file readme.txt fornito nel Voice Server SDK è molto chiaro sui passi da seguire.
Torna a inizio pagina