- 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 sullutilizzo dellSDK.
Esso può essere scaricato gratuitamente dal sito dellIBM e attualmente
risulta lunico 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
devessere utilizzata on-line oppure non permette luso 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 dellIBM:
|
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 dellambiente del browser VoiceXML
Per avviare il browser vocale, bisogna passargli lURI del primo documento dellapplicazione
(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 lIIS di Windows,
va inserito lURI relativo). Il browser usa lHTTP per procurarsi i documenti da interpretare.
Ogni documento specifica uninterazione (dialogo) fra lutente e lapplicazione; 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 lutente può fornire. Dunque, il riconoscimento vocale consiste nel controllare la conformità dellinput dellutente 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 dellIBM.
A seconda del tipo di applicazioni vocali, bisogna valutare lopportunità
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 dellIBM 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 lutente.
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 dellapplicazione,
che deve definire le opportune grammatiche e attivarle alloccorrenza, 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.
Laccuratezza del riconoscimento dipende da alcuni fattori fondamentali:
la qualità dellinput 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 dallambiente in cui avviene la comunicazione, cioè in auto, allaperto, in una stanza affollata,
in un ufficio silenzioso e così via, sia dallaccento e dalla velocità di chi parla;
il design di interfaccia:
è compito di chi sviluppa lapplicazione creare uninterfaccia che tenga
conto dei vari fattori che influenzano la comprensibilità dellinput e che permetta di avere
risposte facilmente individuabili;
la definizione delle grammatiche:
questo fattore è molto importante, perché bisogna definire grammatiche
che prevengano le reazioni dellutente e forniscano opzioni realistiche al motore di riconoscimento;
anche luso 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 linput dellutente;
il motore non riconosce per nulla linput dellutente;
il motore fornisce un risultato, nonostante lutente non abbia ancora parlato.
In generale, bisogna sempre tener conto delle parole omofone e permettere allutente
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 dallutente, 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 è unapplicazione Java
e fornisce le informazioni di tracing dei prompt eseguiti, delle risorse prelevate e dellinput 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 lesempio di ASP,
un file di questo tipo sarà strutturato in modo che, alla fine dellesecuzione 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 lutente e non differisce nelluso dagli script usati per ottenere pagine HTML: la differenza sta nel
fatto che il tipo MIME non è quello relativo allHTML 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 lestrazione 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 laccesso 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 lesecuzione 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 dallIIS.
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