UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA. Corso di Laurea in Ingegneria Informatica e dell Automazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA. Corso di Laurea in Ingegneria Informatica e dell Automazione"

Transcript

1 UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione Studio del protocollo VoiceXML e sviluppo di un applicazione per accedere a servizi di prenotazione mediante chiamata telefonica. Relatore: Prof. Aldo Franco DRAGONI Tesi di Laurea di: Vincenzo SALVATORE Anno Accademico

2 insegui i sogni che credi fino al giorno che li rendi veri 2

3 Ringraziamenti Ringrazio i miei genitori, Gennaro e Angela, e mio fratello Matteo per aver appoggiato la mia scelta fin dall inizio e per avermi incoraggiato ogniqualvolta ne avessi bisogno. Ringrazio Federica per aver creduto sempre in me e per avermi dato la fiducia e la forza necessaria nei momenti difficili durante il percorso di studio. Ringrazio il prof. Aldo Franco Dragoni per il suo aiuto durante lo svolgimento del tirocinio. Ringrazio Francesco, amico e collega di facoltà, con il quale ho lavorato per tutti questi anni e realizzato insieme questo progetto. Ringrazio gli ingegneri Alessio Del Toro e Carlo Lucadei per i loro preziosi consigli e per la loro piena disponibilità durante l intero svolgimento del tirocinio. Un ringraziamento a tutti i miei amici, per tutte le esperienze vissute e per tutti i momenti passati insieme. 3

4 INDICE 1 Il VoiceXML 1.1 La nascita del VoiceXML Definizioni sul linguaggio e cenni sulle applicazioni vocali Vantaggi e svantaggi Architettura del Sistema Gli elementi fondamentali della struttura Le tecnologie utilizzate nel gateway VoiceXML Il riconoscimento dei toni DTMF Il riconoscimento vocale La gestione dei dialoghi La tecnologia di sintesi del parlato Le grammatiche nel VoiceXML 2.1 Grammars Inline grammars External grammars Built-in grammars Lo scope SRGS (Speech Recognition Grammar Specification) Speech Syntesis Markup Language (SSML) Call Control XML (CCXML) I costrutti principali: i tag L elemento grammar La progettazione dei dialoghi La creazione di modelli Gli intercalari 39 4

5 2.7.3 Il discorso sintetizzato Come ottenere il miglior riconoscimento vocale 41 3 Progetto e implementazione dell applicazione 3.1 La scelta del progetto Il diagramma di flusso dell applicazione Il database Le piattaforme vocali Spiegazione del codice nei suoi costrutti principali 49 Conclusioni 64 Bibliografia 65 5

6 CAPITOLO 1 Il VoiceXML 1.1 La nascita del VoiceXML Una delle prime società che si è interessata allo sviluppo di un linguaggio di markup per interazioni vocali via telefono è stata l IBM che verso la fine degli anni novanta sviluppò un apposito linguaggio che chiamò SpeechML. Quasi parallelamente anche altre società ne definirono dei propri, PhoneML di AT&T Bell Labs, VoxML di Motorola e TalkML di HP. Ben presto però si accorsero che era necessario unire gli sforzi per dar vita ad unico linguaggio, nacque cosi nel marzo del 1999 uno standard chiamato VXML ed un organizzazione, il VoiceXML Forum che nell agosto 1999 iniziò le specifiche del linguaggio, pubblicando la versione 1.0 nel marzo Questo nuovo linguaggio di markup, grazie alle sue somiglianze con l HTML, ebbe subito un ampia diffusione, infatti nel 2004 la versione 2.0 di VoiceXML divenne una raccomandazione ufficiale del W3C (The World Wide Web Consortium) che ne cura gli sviluppi e le evoluzioni. Nel marzo del 2004 venne pubblicata la versione del VoiceXML 2.0 e con essa anche quei linguaggi utili per relazionarlo: nacquero cosi il SSML (Speech Synthesis Markup Language) e le SRGS (Speech Recognition Grammar Specification). Nel giugno del 2005 è stato presentato un linguaggio che permette il controllo delle chiamate, il CCXML (Call Control XML). Nel giugno del 2007 il W3C ha rilasciato la versione 2.1 di VoiceXML che presenta una serie di estensioni e miglioramenti strutturali che garantiscono la compatibilità con la versione precedente. 6

7 Ad oggi sono tante le voci di uno sviluppo ulteriore del linguaggio e di una nuova versione con nuove estensioni, ma tuttora non ne sono state brevettate di nuove. Figura struttura del W3C speech interface framework 1.2 Definizioni sul linguaggio e cenni sulle applicazioni vocali VoiceXML (VXML) acronimo di Voice extensible Markup Language rappresenta lo standard in formato XML per la creazione di dialoghi interattivi tra una persona e un computer. VoiceXML e' utilizzato per gestire applicazioni vocali per mezzo delle quali la comunicazione uomo-computer non si realizza solo per mezzo di un interfaccia grafica ma anche e soprattutto 7

8 mediante un interfaccia vocale. Per applicazione vocale si intende l insieme di codice che, se eseguito da una piattaforma vocale, realizza un servizio in automatico in voce. Le piattaforme vocali sono sistemi hardware e software che utilizzano tecnologie di riconoscimento e sinterizzazione del parlato e, pertanto, sono in grado di sostenere un interazione vocale con le persone. In generale vengono indicate come applicazioni vocali tutte quelle soluzioni che in qualche misura utilizzano una o entrambe le tecnologie di Automatic Speech Recognition (ASR) e di Text To Speech (TTS), rispettivamente riconoscimento e sintesi del parlato. Figura Applicazione vocale nel contesto delle piattaforme vocali I sistemi di riconoscimento vocale (in inglese Speech Recognition) costituiscono una delle modalità più innovative per gestire l'interazione tra attori umani e sistemi informativi. Si definisce sistema di speech recognition ogni sistema in grado di convertire un input vocale in una stringa digitale di parole 8

9 corrispondenti. Visto da un'altra prospettiva, un sistema di questo genere consente di fornire un input a una macchina con il semplice uso della voce, anziché con una periferica quale potrebbe essere una tastiera, un mouse, una penna ottica o altro. Per realizzare un processo di riconoscimento vocale è necessario un software chiamato Speech recognition engine, vale a dire un motore di riconoscimento vocale. La funzione primaria dell engine è tradurre gli input vocali in formati testuali o in altri formati comprensibili alla macchina. Il meccanismo che permette di effettuare la traduzione prevede in forma estremamente schematica, tre passaggi: la scomposizione dell'input vocale in sequenze rilevanti; l'attivazione di un modello di linguaggio (contenente tutte le parole e combinazioni di parole riconosciute dal sistema) e infine il Matching, cioè il confronto fra i risultati. Durante questo processo il motore si avvale di una (o più) grammatiche di supporto. Con il termine grammatica si intendono tutte le parole e sequenze di parole riconosciute come valide dal sistema. La grammatica prevede una sintassi, che costituisce in un certo senso il contesto dell'interazione con lo strumento di speech recognition. La grammatica può essere rigida (predefinita quindi e non modificabile) o, nella maggior parte dei casi, ampliabile sulla base delle scelte dell'utente. VoiceXML è un linguaggio progettato per realizzare sistemi di presentazione e interazione vocali, denominati Voice User Interface, usando la linea telefonica per l'accesso ai dati. Una VUI è uno schema progettuale che rappresenta gli elementi di dialogo di un applicativo software dotato di una interfaccia vocale. Lo schema deve rappresentare in modo formale tutti gli elementi di dialogo nonché il flusso del dialogo stesso. Esso deve quindi contenere i testi erogati dal sistema, le azioni compiute dal sistema, i comandi vocali leciti per il sistema ed un grafico che rappresenta il flusso del dialogo tra utente e sistema. Come accennato in precedenza il VoiceXML rappresenta lo standard in formato XML per la creazione di dialoghi interattivi tra una persona e un computer dove 9

10 l XML è un metalinguaggio di markup, ovvero un linguaggio marcatore che definisce un meccanismo sintattico che consente di estendere o controllare il significato di altri linguaggi marcatori Vantaggi e svantaggi L utilizzo del VoiceXML per creare applicazioni vocali è motivato da numerosi aspetti positivi, primo fra tutti la possibilità di avere un linguaggio standard formalizzato dal W3C al fine di fornire un ulteriore interfaccia per interazioni fra l uomo e il computer. Inoltre le applicazioni vocali permettono l accesso ai servizi anche a coloro i quali potrebbero avere problemi come i non vedenti, i portatori di handicap, agli anziani e a chiunque non abbia dimestichezza col computer. L interazione vocale rende superfluo l uso di dispositivi con tastiere e piccoli schermi e l accesso ai servizi può avvenire illimitatamente durante tutto il giorno anche di notte. Altro aspetto importante riguarda la riduzione dei costi, infatti con il VoiceXML è possibile implementare un unica infrastruttura che unisce le funzioni di un call center con quelle di un servizio web. Nonostante questi vantaggi, le applicazioni vocali presentano alcuni limiti come il tempo necessario per interagire con l applicazione, infatti ascoltare attentamente per un lungo periodo potrebbe essere stancante. Inoltre, in alcuni casi, un informazione presentata in maniera grafica può avere un impatto superiore rispetto ad una descritta soltanto con la voce. Infine, non deve essere sottovalutato l aspetto della privacy in quanto potrebbero essere messi a disposizione di altri notizie personali e private dell utente. 10

11 1.3 Architettura del Sistema L architettura del VoiceXML è molto simile a quella standard usata nelle applicazioni web. Nel caso di applicazioni web, tutti i documenti HTML risiedono sul server. Quando un utente richiede alcuni documenti dal server, manda una richiesta al server usando un software che può essere il browser o un agente utente. Dopo aver ricevuto la richiesta dall utente tramite il browser, il server inizia il processo di ricerca del documento mandando successivamente i risultati al browser il quale poi provvederà ad inviarli all utente. Nelle applicazioni VoiceXML, come nelle applicazioni web, i documenti sono memorizzati sul web server. In aggiunta al web server, l architettura VoiceXML adotta un altro server, il voice server, il quale gestisce tutte le interazioni tra utente e web server. Il voice server interpreta il ruolo di browser nelle applicazioni vocali, interpretando gli input ricevuti dall utente e provvedendo a dare dei suggerimenti. Nel caso di applicazioni vocali, l utente finale non necessita di computer ad alto livello né tantomeno di browser sofisticati. L utente può accedere a tali applicazioni usando una semplice apparecchiatura telefonica connessa all architettura PSTN. 1.4 Gli elementi fondamentali della struttura Il VoiceXML impiega gli attuali standard di comunicazione delle reti di dati, quali l HTTP ed il TCP/IP e gli standard di telefonia della rete telefonica commutata pubblica (PSTN), della rete integrata digitale di servizi (ISDN), della rete mobile (GSM) e delle telefonate Voice over IP (VoIP). 11

12 I componenti fondamentali di un sistema di applicazioni vocali VoiceXML sono: La rete telefonica; Le applicazioni VoiceXML residenti su un server web; Un gateway VXML che funge da ponte fra la rete internet e quella telefonica; La rete PSTN. Figura 1.3 Struttura dell architettura VoiceXML Pertanto gli elementi fondamentali della struttura sono: Il telefono che l utente usa per accedere ad un applicazione VoiceXML; Il gateway VoiceXML, che funge da ponte tra internet e la rete telefonica, è costituito dal browser VoiceXML e da hardware e software specializzato per interagire con la voce. Inoltre esso mappa il numero composto dall utente con l URL (Uniform Resource Locator) 12

13 dell applicazione. Il gateway VoiceXML è fornito dal VSP (Voice Service Provider) che recupera i costi dell infrastruttura affittando il servizio e facendo pagare le telefonate ai chiamanti. Quindi l interprete VoiceXML è uno dei componenti più importanti del voice server. Esso comunica con l utente processando tutti gli input da esso forniti e poi passa tali richieste al web server per ulteriori processi. Inoltre provvede ad interfacciare le applicazioni utente generando la sintesi del linguaggio usando la tecnologia text-to-speech ; Il web server che ospita l applicazione VoiceXML. Settando opportunamente il tipo MIME (Multipurpose Internet Mail Extensions) supportato dal server HTTP, le pagine VoiceXML possono essere rese disponibili su ogni web server. I web server quali Apache e Microsoft IIS permettono di modificare il tipo MIME, perciò aggiungendo il suffisso vxml e associandolo al tipo text/x-vxml è possibile rendere disponibili documenti in tale formato. Tuttavia, dopo aver fatto questa operazione l applicazione è accessibile solo da un gateway VoiceXML e non per un utente, in quanto non c è ancora nessun numero telefonico associato all applicazione. Pertanto è necessario rivolgersi al proprio VSP (Voice Service Provider). Il web server immagazzina tutti i VoiceXML e i relativi documenti. Esso riceve le richieste dal voice server e le processa utilizzando una logica di base. Il risultato è mandato come risposta al voice server. Il web server, talvolta, lavora come un server database per le applicazioni, facilitando il processo di relazione al database utilizzando sempre una logica di base. In altri casi, invece, il database server viene tenuto separato e il web server comunica con esso tramite dei processi di relazione; La rete PSTN (Public Switched Telephone Network) è ad oggi la più importante architettura per la realizzazione di telefonate via internet; in passato la prima architettura telefonica fu inventata da Alexander Graham Bell e non era basata sul modello PSTN. Infatti l architettura di Bell era basata sul modello interconnesso ovvero per connettere due persone in due 13

14 posti diversi c era bisogno di una linea dedicata. Successivamente si passò ad un modello centralizzato nel quale il chiamante era prima connesso ad un operatore il quale manualmente smistava la chiamata al ricevente desiderato. Oggi, l architettura telefonica è basata su una gerarchia multilivello che utilizza delle locazioni di smistamento distribuiti intorno al mondo. La rete PSTN anche conosciuta come Plain Old Telephone Service (POTS), è il servizio telefonico disponibile in tutte le case e trasporta la voce, come i messaggi riprodotti dal gateway VoiceXML, le risposte vocali dell utente e le interazioni dei toni DTMF (Dual-Tone Multi- Frequency); Internet che trasporta le richieste gateway VoiceXML da e per il web server Le tecnologie utilizzate nel gateway VoiceXML I compiti fondamentali svolti da un gateway sono i seguenti: Accettare le chiamate e accedere ai dati telefonici riguardanti la chiamata; Quando la telefonata giunge al gateway, esso effettua la mappatura del numero chiamato con l URL dell applicazione vocale richiesta; Dopo aver conosciuto l indirizzo del servizio richiesto, esso acquisisce le pagine VoiceXML con i relativi file; Con i codici e i relativi file residenti sul gateway, esso interpreta il codice ed esegue i dialoghi; Il gateway può memorizzare file audio preregistrati. 14

15 Le tecnologie essenziali che intervengono sono: Il riconoscimento del suono dei tasti del telefono, che permette ai chiamanti di rispondere attraverso la pressione dei tasti; Il riconoscimento vocale che consente ai chiamanti di rispondere utilizzando la voce; Interprete VoiceXML che permette ai chiamanti di parlare con il sistema; Sintetizzatore vocale che consente ai chiamanti di ascoltare il PC che parla Il riconoscimento dei toni DTMF L acronimo IVR significa Interactive Voice Response, ossia risposta vocale interattiva. Questa definizione letteralmente sarebbe adatta a rappresentare tutti i sistemi vocali, mentre, in pratica, per motivi sostanzialmente storici, con questo acronimo si indicano i risponditori automatici per la telefonia che utilizzano come canale di input i toni telefonici (DTMF), e rispondono all utente attraverso composizioni di messaggi pre-registrati. Questo si spiega semplicemente con il fatto che i sistemi IVR sono più vecchi delle tecnologie vocali TTS e ASR, nella loro forma commercializzabile. Nel DTMF (Dual Tone Multi Frequency), avviene un semplice processo: dopo aver digitato il numero di telefono, il computer sceglie la chiamata e inizia il processo automatico di dialogo. Un interfaccia automatica di dialogo guida l utente ad effettuare la scelta giusta digitando un tasto sull apparecchiatura telefonica. 15

16 Una volta che la sessione è finita, il sistema IVR disconnette la chiamata. Figura Esempio di applicazione vocale con IVR Quando una persona preme un tasto del telefono viene generato un suono che è la combinazione di due toni, uno ad alta ed uno a bassa frequenza. Tale suono è detto appunto DTMF ed è caratteristico del tasto premuto. Di seguito viene descritto un semplice esempio di questo tipo di conversazione: IVR System Benvenuto nel sistema, digiti 1 per ricevere informazioni meteorologiche, 2 per la situazione traffico, o digiti 3 per uscire Utente Digita 1 sulla tastiera. IVR System Benvenuto nel sistema meteorologico, per ricevere informazioni sul meteo giornaliero digiti 1, per il meteo dei prossimi giorni digiti 2 16

17 Utente Digita 1 sulla tastiera. IVR System Per la giornata odierna è prevista una temperatura massima di 30 gradi e una minima di 20. Grazie per aver utilizzato il sistema I principali problemi che potrebbero presentarsi con questo tipo di riconoscimento sono : Disorientamento: il chiamante prosegue a digitare i tasti per effettuare delle scelte su un menù casualmente ramificato; Dispendio di tempo: il chiamante deve ascoltare tutte le opzioni vocali invece di poter chiedere direttamente l informazione desiderata; Prigione vocale: per evitare questo fenomeno, i chiamanti premono direttamente un pulsante che li fa parlare con un operatore; Poco maneggevole: questo sistema risulta essere poco maneggevole e scomodo da usare per molti utenti. 17

18 1.5. Il riconoscimento vocale Il processo coinvolto sia per la sintesi che per il riconoscimento presuppone che l'input sia diviso in piccoli pezzi, perché il processo sia efficiente, e, nel caso del parlato, i segmenti devono essere elementi linguistici significativi. Nella sintesi "text-to speech", il testo in ingresso è facilmente diviso in parole e lettere; mentre il segnale parlato, che serve come input per un ASR, fornisce soltanto indicazioni dei confini del segmento fonetico. Cambi evidenti e veloci nello spettro del parlato o l'ampiezza, sono spesso usati per valutare i confini del segmento, che sono irrilevabili a causa del fenomeno della coarticolazione. I confini che corrispondono alle parole sono molto difficili da determinare, tranne quando il soggetto fa le pause. Il problema della segmentazione può essere parzialmente superato attraverso particolari stili del parlato. Si possono distinguere tre stili di parlato (presentati di seguito in ordine di difficoltà crescente): parlato che presenta parole isolate o frasi discrete, parlato con parole connesse, parlato continuo. Il riconoscimento del parlato continuo permette una conversazione naturale, con poco adattamento dello stile dell'utente al sistema. Il parlato continuo permette di ottenere l'input più veloce, ma è la classe più difficile da riconoscere. La seconda differenza fra sintesi e riconoscimento riguarda l'adattamento. I soggetti umani che ascoltano modificano le loro aspettative quando odono il parlato sintetico e usualmente lo accettano, considerando il fenomeno della poca naturalezza del parlato sintetico come se fosse dovuto ad un accento dialettale o straniero. Nei sistemi ASR è il computer che deve adattarsi alle voci differenti usate in input. E' più facile produrre una voce sintetica alla quale il soggetto umano si adatta che progettare un algoritmo di riconoscimento che può riuscire ad identificare tutti i differenti modi con i quali i parlanti pronunciano la stessa frase, con variazioni anche all'interno dello stesso soggetto, in tempi differenti. 18

19 I sistemi attuali richiedono che i parlanti si adattino attraverso una modificazione del parlato, per esempio facendo una pausa fra una parola e l'altra, parlando chiaramente e lentamente. Il riconoscimento automatico del parlato (ASR) può essere visto come un compito di pattern recognition, applicando le tecniche sviluppate nel settore della robotica (identificazione di immagini) o comunicazioni di dati (conversione di segnali analogici in informazione digitale). In pratica, il riconoscimento del parlato richiede una mappatura tra il parlato e il testo, cosicché ogni possibile forma di onda in input è identificata con il suo testo corrispondente. In questo contesto, il termine testo viene usato per identificare le parole, le frasi o altre unità linguistiche che il parlante pensa e verbalizza. Tutti i compiti di pattern recognition, incluso l'asr, utilizzano due fasi: il training e il riconoscimento. La fase di training stabilisce una memoria di referenza o un dizionario di modelli del parlato, che sono assegnati alle etichette del testo. In sistemi indipendenti dal parlante, la fase di training è prodotta durante lo sviluppo del sistema e spesso combina metodi manuali e automatici. I sistemi di riconoscimento commerciali, dipendenti dal parlante, sono forniti dalle case produttrici. La fase di riconoscimento automatico tenta di assegnare una etichetta ai modelli di input sconosciuti. Per comprendere il testo, i software di riconoscimento vocale devono innanzitutto costruire una rappresentazione digitale delle parole pronunciate. La digitalizzazione della voce trasforma una grandezza fisica in un valore numerico. L'onda sonora prodotta mette in moto le molecole nell aria e nello spazio. Il microfono cattura questo movimento e lo converte in segnali elettrici. Questi segnali, che riproducono la voce, vengono sottoposti a due processi: il campionamento (sampling) e la quantizzazione. Il campionamento consiste nella misurazione del segnale a intervalli fissi, per ottenere un certo numero di segmenti che consentono di ricostruire la sua variazione nel tempo. 19

20 Tanto più piccoli saranno gli intervalli di tempo, tanto più precisa sarà la ricostruzione e minore sarà la quantità di informazione persa. Il numero di intervalli di campionamento viene espresso in numero di rilevazioni per secondo e si definisce frequenza di campionamento, la cui unità di misura è l'henz (1 Hz = l rilevazione al secondo). Lo standard della voce umana varia tra i 100 e Hz. Una volta campionato il suono, ci si trova di fronte a un secondo problema. Le variazioni possibili del segnale (e quindi i possibili valori dei campioni) sono teoricamente infinite ed è quindi impossibile assegnare a ciascuna un codice numerico. Con la quantizzazione si provvede a semplificare l'onda, eliminando l'intervallo di valori che si ritiene al di sotto della soglia percettiva umana. In questo modo si trasformano gli infiniti valori della grandezza fisica in una misurazione che può avere solo un determinato numero. Tanto più alto sarà il numero di intervalli, che si definiscono tecnicamente quanti, tanto più accurata sarà la rappresentazione del segnale e minore sarà l'informazione persa. Digitalizzata la frase, il software provvede a scandirla in modo da suddividere le singole parole. In passato occorreva separare ogni parola con una breve pausa: oggi si è giunti a riconoscere il parlato continuo, grazie a particolari tecniche di analisi che individuano le brevi inflessioni che si pronunciano involontariamente tra una parola e l'altra. Le parole, a loro volta, vengono suddivise in fonemi, cioè nell'unità minima del parlato. La durata di un fonema oscilla tra i 10 e i 40 millisecondi, per cui le parole vengono divise in intervalli minimi di 10 millisecondi l'uno; questa operazione è conosciuta come "modellazione/classificazione". Segue la fase di riconoscimento vero e proprio, chiamata "ricerca": i fonemi vengono confrontati con il modello acustico dell'utente (generato durante la fase di addestramento) e con il modello delle parole presenti nel vocabolario: si ricostruiscono in questo modo le parole. 20

21 Per migliorare l'accuratezza, queste vengono confrontate con un modello lessicale e con un modello del linguaggio presenti nei dizionari dei programmi, in modo da estrapolare, in base alle regole grammaticali, le parole poco chiare. Il risultato di tutto il processo è la stringa di testo contenente la parola o la frase pronunciata dall'utente La gestione dei dialoghi La voce robotica e metallica che il chiamante sentiva al telefono è ormai un ricordo lontano. Le attuali applicazioni text-to-speech sono a volte confuse per gli esseri umani e le applicazioni di riconoscimento vocale permettono agli utenti di parlare continuamente senza fare una pausa tra ogni singola parola. Il dialogo avviene quando due interlocutori prendono la parola a turno. Esempi di dialoghi basati sulla conversazione fra una persona e un computer includono: Dialoghi basati sulla conversazione guidati dall uomo (Human-driven conversational dialog): la persona formula ripetutamente una domanda o chiede un comando ed il computer risponde; Dialoghi basati sulla conversazione guidati dall applicazione (Applicationdriven conversational dialog): l applicazione formula ripetutamente domande per sollecitare le risposte e le istruzioni del chiamante. Questi sono anche detti system-directed ; Dialoghi basati sulla conversazione con guida mista (Mixed-initiative dialogs): sono una combinazione di dialoghi guidati dall uomo e dal computer. Il chiamante ed il computer guidano le conversazioni parlando a turno. Molte nuove applicazioni vocali si stanno sviluppando usando i dialoghi system-directed. Questi sono particolarmente comuni nelle applicazioni vocali dove al chiamante viene richiesta una sequenza di domande, a cui deve rispondere con una semplice parola o frase. 21

22 Questo tipo di dialogo ha due vantaggi tecnici. In primo luogo, costringe il chiamante a concentrarsi sulla risposta ad una domanda specifica piuttosto che affidare al chiamante di formulare liberamente la sua richiesta al sistema. In secondo luogo, permette al sistema di riconoscimento vocale di riconoscere, in ogni punto del dialogo, un piccolo numero di parole e frasi piuttosto che tutte le parole contenute in un grande vocabolario. Gli interpreti del dialogo vocali sono gestori di dialogo che traducono scritture e coordinano un insieme di moduli di input e output. I moduli di input includono un registratore audio per registrare il modo di parlare del chiamante, un interprete DTMF per decodificare le sequenze dei tasti del telefono premuti e un motore di riconoscimento vocale per l interpretazione delle parole dette dal chiamante. I moduli di output includono la riproduzione audio della voce o della musica precedentemente registrata e un motore di sintesi vocale per convertire il testo in un discorso sintetizzato che il chiamante può sentire. Tutti i moduli del browser vocale risiedono in un server. Questo perché i telefoni e i cellulari sono dispositivi Input/Output, come una tastiera e un display, e non hanno capacità di elaborazione. Tutti i dispositivi che contengono un telefono o un cellulare possono interagire con il server La tecnologia di sintesi del parlato La concatenazione più semplice di parlato sintetico è quella di parole o frasi. Questo approccio può produrre parlato di alta qualità (in correlazione con il metodo di sintesi adottato), ma è limitato dal bisogno di conservare in memoria tutte le frasi che devono essere sintetizzate, dopo che sono state pronunciate da uno speaker, sia in isolamento che in contesto di frase. Per raggiungere il massimo di naturalezza nel parlato sintetico, ogni parola o frase deve essere pronunciata con il tempo e l'intonazione appropriata per tutte le frasi. Così, se una parola potrebbe presentarsi in parecchie strutture sintattiche, la 22

23 sua pronuncia dovrebbe essere registrata e archiviata utilizzando la simulazione delle sentenze in diversi contesti. La concatenazione di parole originalmente pronunciate in isolamento, di solito porta alla non intelligibilità e alla mancanza di naturalezza. La durata delle unità archiviate deve essere considerata, poiché varia in contesti differenti di frasi (specie per le unità più piccole delle parole). Per la sintesi dei testi, sistemi avanzati generano parlato da sequenze di suoni di base, che sostanzialmente riducono le necessità di memoria poiché molti linguaggi hanno soltanto fonemi. Comunque, i tratti dello spettro di questi brevi suoni concatenati ( ms), devono essere uniti, per evitare un parlato discontinuo. Il problema è che la pronuncia di un fonema in una parola o frase, è fortemente dipendente dal suo contesto fonetico (i fonemi vicini, l'intonazione e ritmo del parlato). Il processo di levigatura e di accordamento, così come il bisogno di calcolare una appropriata intonazione per ogni contesto, risulta, in sintetizzatori complessi, con un output parlato meno naturale. I sistemi commerciali sono stati progettati perché producessero parole o concatenazione di foni. Attualmente i ricercatori puntano allo sviluppo di un modello più accurato, legando unità di "taglia intermedia" di parlato archiviato, come sillabe, mezze sillabe e di difoni. Una sillaba consiste di un nucleo centrale (con vocali e dittonghi), più alcune consonanti vicine. Alcune volte i confini della sillaba sono incerti. Le demisillabe sono unità di parlato ottenute dividendo le sillabe a metà, con il taglio sulla vocale. I difoni sono ottenuti dividendo un onda del parlato in unità fonetizzate, con il taglio nella metà di ogni fono. L'appianamento dei parametri dello spettro ai confini tra unità, è più importante per unità piccole (foni) e decresce in importanza, man mano che la concatenazione di unità aumenta. Questo perché diminuisce il numero dei confini per ogni secondo, nel parlato in uscita. 23

24 Per unità di taglia uguale, l'appianamento è molto più semplice quando le unità da congiungere approssimativamente combaciano con gli spettri ai confini. I sistemi che congiungono i foni, devono comunque usare complesse regole di "smoothing" (appunto appianamento), per rappresentare la coarticolazione nel tratto vocale. Poiché non si sa ancora tutto intorno al fenomeno della coarticolazione, non è possibile stabilire un complesso insieme di regole che descrivano come i parametri dello spettro, per ogni fono, sono modificati dai foni che si articolano nelle vicinanze del punto preciso del tratto vocale dove il fono esaminato viene prodotto. I sintetizzatori "difoni" cercano di aggirare il problema, archiviando le transizioni del parametro da un fono al prossimo, in quanto la coarticolazione influenza in primo luogo solo i foni immediatamente adiacenti al punto di articolazione del fono che si sta esaminando. Figura Modello delle fasi di preparazione del motore di sintesi vocale 24

25 Un algoritmo sintetizzatore generalmente consiste di: a) una riserva di memoria dei parametri del parlato, ottenuti dal parlato naturale e organizzati in termini di unità di parlato (dizionario acustico); b) un programma di regole per concatenare queste unità, levigando i parametri per creare traiettorie del tempo dove necessario (conoscenza della lingua). 25

26 CAPITOLO 2 Le grammatiche nel VoiceXML 2.1 Grammars Una grammatica nel contesto di una Applicazione Vocale non è altro che un insieme di parole valide organizzate in determinate successioni. La piattaforma vocale che esegue l Applicazione Vocale, quando si mette in ascolto dell utente telefonico, cerca di trovare una possibile corrispondenza tra la voce dell utente e le parole presenti nella grammatica. Una piattaforma vocale non è in grado di comprendere parole diverse da quelle presenti nella grammatica. In ogni istante la piattaforma vocale cerca di interpretare la voce dell utente confrontandola con tutte le grammatiche a sua disposizione in quello stesso istante. In assenza di un Sistema specifico per la gestione e definizione dell Applicazione Vocale, la definizione delle grammatiche diventa uno dei fattori più critici e complessi. La grammatiche sono definite con un linguaggio specifico, l SRGS (Speech Recognition Grammar Specification), anch esso definito come standard dal W3C. L idea è che la complessità delle grammatiche possa essere risolta dall organizzazione a nodi dell Applicazione Vocale. In questo modo il contesto di validità di ogni Grammatica si riduce ad un singolo nodo, portando la complessità della definizione ad un semplice elenco di parole. 26

27 Ogni grammatica viene convertita in un modello di lingua usato dal motore di riconoscimento del discorso, che abbina una sequenza di fonemi detti dal chiamante ad una sequenza di fonemi presenti nel modello di lingua e seleziona la parola o la frase corrispondente. La maggior parte dei motori di riconoscimento vocale utilizzati con il VoiceXML sono basati sui colloqui e non possono riconoscere la dettatura. Sono realizzati per usare sia le grammatiche XML che ABNF. Tuttavia, alcuni interpreti VoiceXML utilizzano anche le grammatiche N-gram e possono riconoscere sia la dettatura che i dialoghi colloquiali. Il VoiceXML prevede tre tipi di grammatiche: le inline grammars, le external grammars e le built-in grammars Inline grammars Le inline grammars sono definite negli elementi <grammar> all interno dei menù o dei form. Possono essere in formato XML o in altri formati caratteristici della piattaforma. Le grammatiche N-gram sono troppo grandi per essere utilizzate con le inline grammars. Sono grammatiche semplici e piccole che descrivono un limitato numero di parole e frasi. Esse specificano le espressioni che un chiamante può dire sia per un valore del campo di un form sia per delle scelte da effettuare con un menù External grammars Le external grammars non possono essere riutilizzate in un altra applicazione vocale a meno che il progettista copi ed inserisca la grammatica nella seconda applicazione. Il metodo migliore consiste nel memorizzare la grammatica su un file esterno in un sito Web facendo riferimento all interno delle applicazioni VoiceXML. In 27

28 questo modo, le external grammars sono riutilizzabili e diverse applicazioni possono usare la stessa grammatica. Se il progettista cambia la grammatica, il cambiamento si riflette su ciascuna delle applicazioni che la utilizzano. Le external grammars possono essere in formato XML, JSGF o in altri formati caratteristici della piattaforma. Scrivere una grammatica complessa richiede molto tempo e lavoro, pertanto gli sviluppatori spesso riutilizzano le grammatiche esistenti. Molti browser VoiceXML hanno librerie di grammatiche riutilizzabili per alcuni dati che vengono usati frequentemente. Accade spesso che in una grammatica non siano incluse alcune parole e frasi che i chiamanti potrebbero dire. La prova interattiva è necessaria per legare una grammatica da una specifica iniziale alla grammatica finale usata nell applicazione di lavoro. Durante la prova, ogni frase detta dal chiamante dovrebbe essere registrata. Una parola o una frase che non si abbina alla parola contenuta nella grammatica corrente provoca un evento di non corrispondenza, <nomatch>, che dovrebbe essere annotato. Il progettista può allora rivedere il file di log delle chiamate, identificare le parole non corrispondenti dette dal chiamante ed ampliare la grammatica con le nuove parole che realmente sono state dette dai chiamanti. Le external grammars forniscono un tipo di grammatica dinamica nel senso che può essere generata automaticamente in corso d opera ed essere inserita in un file di riferimento per l applicazione VoiceXML Built-in grammars Alcune grammatiche sono usate cosi frequentemente dal VoiceXML che è previsto un insieme di grammatiche predefinite implementate direttamente nella piattaforma vocale. Queste grammatiche, dette built-in grammars, specificano tipologie di dati più comuni, come i numeri di telefono e le date. 28

29 Esse possono essere grammatiche ABNF, XML o N-gram. L elenco completo dei tipi di dati riconosciuti dalle built-in grammars sono: Booleano: sono riconosciute frasi alternative e negative adatte alla lingua utilizzata. Se si usano i tasti del telefono, il tono DTMF 1 vale si, mentre il 2 equivale al no; Data: si possono dire frasi che specificano una data compreso il giorno, il mese e l anno. Le date possono essere inserite anche con toni DTMF e sono di quattro cifre per l anno, seguite da due cifre per il mese e due per il giorno; Cifra: si possono dire o premere i tasti del telefono per inserire una o più cifre da 0 a 9; Valuta: si possono dire frasi che specificano un importo di valuta. Se si usano i toni DTMF, il tasto * fungerà da punto decimale. In genere, la valuta predefinita è quella relativa alla nazione corrispondente alla lingua utilizzata; Numero: i numeri sono riconosciuti dicendo parole come centosettantadue o quattro punto tre. Usando i toni DTMF si possono riconoscere i numeri positivi inseriti usando le cifre e il tasto * per rappresentare un punto decimale. Il risultato è una serie di cifre da 0 a 9 che può facoltativamente includere un punto decimale (. ) e/o un segno più o meno. Numero di telefono: si possono utilizzare le frasi che specificano un numero di telefono. Il risultato è una stringa contenente un numero di telefono che consiste in una serie di cifre e può contenere il carattere x per indicare un numero di telefono con un estensione. 29

30 2.1.4 Lo scope delle grammatiche Lo scope di una grammatica definisce l ambito d uso per la sua attivazione nel momento dell esecuzione. Per adempire alle richieste dell applicazione, si possono scegliere alcune categorie di grammatiche con differenti scope. Le grammatiche possono essere suddivise in quattro categorie, ognuna dipendente dal proprio scope: Field grammars Link grammars Form grammars Menù grammars Field Grammars Le field grammars vengono utilizzate per definire un set di grammatiche per un particolare campo. Lo scope di questo tipo di grammatiche è limitato dall elemento <field> nel quale esse sono definite. Se si sta lavorando con le grammatiche di un elemento <field> non è possibile ricevere degli input da un altro elemento <field>. Link Grammars Le link grammars sono usate per definire un input da un elemento <link>. Tale tipo di grammatica una volta definita in qualsiasi parte del documento, rimarrà valida in ogni sottolivello del documento fra lo scope dell applicazione. 30

31 Form Grammars Per le form grammars possiamo utilizzare due livelli di scope, quello a livello di documento e quello a livello di dialogo. Lo scope a livello di dialogo è lo scope di default assegnato ad ogni grammatica a livello di form. In questo tipo di livello, la grammatica rimarrà attiva per tutto il tempo in cui è definito lo scope della form. Mentre lo scope a livello di documento rimane attivo in tutto il documento associato. Si può accedere alle grammatiche a livello documento ovunque dopo la loro inizializzazione. Se si definisce lo scope del documento ma non si definisce lo scope della grammatica, la piattaforma assegnerà automaticamente lo scope del documento alla grammatica. Menù Grammars I menù grammars sono assegnati di default allo scope a livello di dialogo e seguono le stesse regole delle grammatiche a livello di form. È possibile, inoltre, definire delle menù grammars allo scope a livello di documento, in questo caso le grammatiche a livello di menù seguono le stesse regole applicate alle grammatiche a livello di form. 2.2 Speech Recognition Grammar Specification (SRGS) Lo Speech Recognition Grammar Specification è lo standard per la stesura delle grammatiche. Esso prevede i formati ABNF e XML, che sono semanticamente mappabili e pertanto è possibile convertire l uno nell altro. Una grammatica in formato ABNF è costituita da regole i cui elementi sono descritti con stringhe di testo. Ogni regola è delimitata all inizio dal carattere = e alla fine dal ;. 31

32 Alcuni parametri utilizzati per la sintassi sono: $ Assegna un nome alla regola < e > Delimita qualsiasi operatore ripetuto o referenzia a una regola Definisce l alternativa ad un elemento { e } Delimitano ogni tag Solo il formato XML è obbligatoriamente utilizzato da tutte le piattaforme vocali conformi allo standard VoiceXML 2.1 e i tag previsti dalle specifiche sono: <count> <item> <one-of> <rule> Indica quante volte l elemento deve comparire Definisce un elemento di un set di espressioni Definisce l alternativa ad un elemento Indica il nome di una regola o di una grammatica 2.3 Speech Syntesis Markup Language (SSML) Lo Speech Syntesis Markup Language è un linguaggio di marcatura basato sull XML, realizzato per assistere la generazione di discorsi sintetizzati per il Web e per altre applicazioni. Il suo ruolo principale è quello di fornire un supporto standard per controllare diversi aspetti della produzione del suono, quali pronuncia, volume, tonalità e velocità del linguaggio, svincolandoli dalla piattaforma e dai sintetizzatori utilizzati. Inoltre, esso può fornire in uscita parole pronunciate nei più diversi idiomi senza caricare eccessivamente il computer e fornendo un linguaggio di alto livello facilmente interpretabile dallo sviluppatore. 32

33 L aiuto che il sintetizzatore riceve, avviene per mezzo di tag che interessano diversi passi di sintesi: Parsing del documento XML: un analizzatore (parser) XML viene usato per estrarre correttamente la struttura e il suo contenuto dal documento di testo in ingresso; Analisi della struttura: alcuni elementi del linguaggio suggeriscono una forma ben definita, cosi il sintetizzatore non dovrà studiare la punteggiatura per strutturare il discorso; Normalizzazione del testo: lo sforzo per specificare gli acronimi o i numeri sarebbe maggiore senza lo SSML; La conversione Text-To-Phoneme : l elemento <phoneme> fornisce una rappresentazione fonemica dipendente dall autore, svincolando perciò il sintetizzatore da problemi di interpretazione del testo fornito; Riproduzione della forma d onda: le informazioni sui fonemi e sulla metrica vengono usate dal sintetizzatore vocale nel rendering della forma d onda. Alcuni tag SSML utilizzabili con VoiceXML sono: <audio> <break> <p> <phoneme> <voice> 2.4 Call Control XML (CCXML) Il ruolo di questo linguaggio, formalizzato dal W3C, è quello di descrivere, attraverso degli elementi, il controllo delle chiamate telefoniche, che può essere usato in linguaggi vocali. Un applicazione telefonica, spesso può utilizzare diversi apparecchi per specificare il dialogo, questi sono quasi sempre diversi e hanno varie tipologie di segnali interni, il CCXML fornisce una standardizzazione di questi elementi permettendo una completa funzionalità delle applicazioni telefoniche. 33

34 I principali vantaggi dell utilizzo del CCXML sono: Supportare tutte le sessioni con diversi utenti, stabilendo dei controlli audio avanzati; Cercare di indirizzare ogni chiamata all interprete VoiceXML adatto, favorendo cosi un efficace esecuzione degli ordini; Controllare le chiamate multiple gestendo anche quelle in partenza dall apparecchio telefonico; Supportare la capacità di ricevere gli eventi da entità computazionali diverse, comunicando con le code delle chiamate o smistando le stesse per mezzo di un server. Il CCXML perciò fornisce un supporto fondamentale infatti riesce a rendere le applicazioni VoiceXML indipendenti anche dall apparecchio telefonico utilizzato, rendendo il VoiceXML estremamente potente e portabile. 2.5 I costrutti principali: i tag Essendo un linguaggio di markup, il VoiceXML necessita di una vasta gamma di tag per consentire al programmatore di possedere tutti gli elementi necessari per la progettazione del codice. I principali sono: <vxml> è l elemento presente in ogni documento che caratterizza un file VoiceXML; <form> e <menu> definiscono i dialoghi, <menu>: consente la selezione da una sequenza di opzioni prestabilite; <form>: permette di rivolgere all utente una domanda diretta e di ascoltarne la risposta; 34

35 <prompt> è il principale elemento per pronunciare le domande e le frasi; <field> e <option> permettono l acquisizione dell input, <field>: dichiara un campo di input nel <form>; <option>: specifica un optione nel <field>; <submit> è un elemento di collegamento fra le varie parti del dialogo, ovvero trasmette valori al server; <noinput> e <nomatch> utilizzati per la gestione degli eventi, <noinput>: cattura un evento di ingresso non fornito; <nomacth>: cattura un evento di ingresso non riconosciuto; <exit> elemento di uscita generalmente da una sessione: <log> elemento di debug che permette di controllare ogniqualvolta viene richiamato la correttezza del codice; <block> contiene codice non eseguibile; <filled> è un azione che viene eseguita quando i field sono riempiti; gli elementi per la programmazione e per lo scripting come <assign>, <if>, <script>, <log>, <var>; <grammar>: usato per indicare una grammatica; Ogni tag è caratterizzato da propri attributi che permettono di specificare alcune caratteristiche dell elemento. Alcuni di questi sono opzionali e possono non essere indicati. Inoltre ogni elemento è collegato ad altri secondo una relazione padre-figlio, per cui deve essere utilizzato secondo uno schema ben definito. Di seguito vengono riportati con una breve descrizione i tag disponibili nelle specifiche della versione VoiceXML 2.1: <assign> <audio> <catch> <choice> assegna un valore ad una variabile riproduce un file audio all interno del <prompt> cattura un evento definisce un elemento di menù 35

36 <else> <field> <filled> <help> <meta> <object> <option> <param> <prompt> <record> <reprompt> <script> <throw> <transfer> <value> <var> usato con elementi <if> dichiara un campo di input nel <form> un azione che viene eseguita quando i field sono riempiti cattura un evento di aiuto definisce un elemento metadata interagisce con un estensione personalizzata specifica un opzione in un <field> parametri presenti in <object> o <subdialog> fornisce all utente un messaggio audio registra un campione audio riproduce il messaggio contenuto nel <prompt> quando il campo è rivisitato specifica un blocco di codice lato-client lancia un evento trasferisce il chiamante ad un altra destinazione inserisce il valore di un espressione in un <prompt> dichiara una variabile 2.6 L elemento grammar In relazione ai cambiamenti avuti nella stesura del formato del VoiceXML 2.0, l elemento <grammar> ha subito delle modifiche per andare in contro ai nuovi cambiamenti. Il nuovo elemento <grammar> è in grado di mappare i due formati di grammatiche menzionati in precedenza, il formato basato sull XML e la sintassi ABNF. È possibile utilizzare sia le grammatiche interne che quelle esterne in un documento in base alle richieste. 36

37 Di seguito vengono illustrati gli attributi che possono essere usati con l elemento <grammar>: src Usato per definire l URL, questo definisce la locazione del file grammar se si desidera utilizzare una grammatica esterna. xml:lang Usato per definire le informazioni del linguaggio per entrambe le grammatiche. Il valore di default è US ENGLISH, rappresentato come en-us. type Usato per definire il MIMETYPE della grammatica. Se non viene specificato, il sistema provvederà a determinare un MIMETYPE automaticamente. scope Usato per definire lo scope della grammatica. Questo attributo è usato sono in caso di inline grammars. I due possibili valori attribuibili per questo attribuito sono dialogo e documento. mode Usato per determinare il modo della grammatica che può essere una grammatica DTMF o voice. version Usato per definire la versione usata per la scrittura del codice. Il valore di default per questo attributo è

38 root Usato per definire il percorso della grammatica in caso di inline grammars. 2.7 La progettazione dei dialoghi L obiettivo di progettazione di un efficace interfaccia vocale in VoiceXML è di generare un piccolo dialetto, utilizzabile nei dialoghi, contenuto in un vocabolario e in una struttura di frasi, efficace per l operazione che si vuole svolgere, e che tolleri gli errori. In altre parole, non si cerca di fare parlare il computer come se fosse una persona. Si cerca di convincere una persona a parlare come un computer. Questo processo di adattamento potrebbe risultare strano, ma in realtà non è cosi inusuale. Le persone usano quotidianamente, in modo naturale ed efficace, diversi modi di parlare senza accorgersene o esserne costrette. Per esempio, le persone parlano con un bambino in modo diverso rispetto ad un adulto, perché le capacità di discorso e di comprensione del bambino sono minori di quelle di un adulto. In termini di progettazione del discorso, è importante che il progettista faccia parlare il computer come una persona. Le aspettative di dialogo delle persone sono basate sulle percezioni che ricevono da chi sta parlando con loro. Se una persona non capisce che un altra sta parlando con un bambino, per esempio, quella persona percepisce che si sta comunicando con un adulto molto strano. Allo stesso modo, se un computer tenta di parlare come una persona, gli utenti avranno la percezione di interagire con un essere umano invece che con un computer. 38

39 Quindi compito del progettista è quello di presentare il computer cosi com è: una voce sintetizzata con un dialetto semplificato, mentre le aspettative delle persone tendono ad un modello di computer parlante cosi come presentato nei film La creazione di modelli Nella comunicazione tra persone e computer, si tende a modellare il proprio discorso in base al modo di parlare dell altro interlocutore. Se il computer parla in modo conciso e veloce, l interlocutore tenderà a parlare allo stesso modo. Questa imitazione si applica a molte funzioni del dialogo come la scelta del vocabolario, la struttura delle frasi, il volume o le pause. La creazione di modelli è uno degli strumenti più potenti a disposizione di un progettista di applicazioni vocali poiché riesce a dare degli indizi agli utenti di forme accettabili di discorso. Ecco cosa si può e non si può usare nella creazione di modelli per un interfaccia vocale: Si usino comandi brevi e puntuali. Lo stile del discorso del computer dovrebbe creare una conversazione professionale e non amichevole; Quando l utente richiede aiuto, si utilizzano degli esempi di quello che dovrà dire piuttosto che provare a spiegare cosa sta accadendo; Non si devono usare comandi lunghi e prolissi, perché le persone risponderebbero allo stesso modo Gli intercalari Uno dei maggiori inibitori del riconoscimento del discorso continuo è che le persone non parlano in modo continuativo. Il discorso delle persone è fatto di 39

40 um, ah, eh, pause ed altri riempitivi. Le persone correggono il loro discorso mentre parlano: Mi dia due, anzi tre aranciate. Le persone possono abbandonare le forme del discorso durante il discorso stesso: Mi stavo domandando oh, non importa. Le persone fanno trapelare queste interruzioni nel flusso normale del discorso, sia come ascoltatori che come interlocutori, e conseguentemente non si rendono conto di quanto frequentemente avvengono queste interruzioni. Un discorso sintetizzato sembra artificiale per due ragioni: ha limitazioni di prosodia come ad esempio la mancanza di modulazione ed enfasi, e mancano gli intercalari e le pause. Nelle interfacce vocali il non parlare correntemente causa problemi perché la loro risoluzione avviene a livelli multipli. Le pause e gli intercalari possono essere filtrati efficacemente da un riconoscitore vocale, ma possono portare anche ad errori che confondono un analizzatore semantico. Il non parlare correntemente aumenta rapidamente in funzione della lunghezza di un espressione. Più a lungo una persona parla senza interruzioni, più difficile diventa il riconoscimento. Di conseguenza si deve limitare la lunghezza dell espressione. Quando si prende confidenza con l interfaccia vocale e ci si adatta a parlare in modo che il computer capisca, si desidera usare espressioni più lunghe per migliorare l efficienza. Per minimizzare il non riconoscimento bisogna: Strutturare i dialoghi combinando la tecnica mixed-iniziative con quella directed forms. Questo permette agli utenti di fornire tante più informazioni con una singola espressione e sollecita la richiesta delle informazioni non dette; Non si deve provare a intercettare il non parlare correntemente durante il progetto della grammatica. Ciò aumenterebbe notevolmente la complessità della grammatica stessa e rallenterebbe il riconoscimento. 40

41 2.7.3 Il discorso sintetizzato Ascoltare un discorso sintetizzato richiede più concentrazione e sforzo che ascoltare un discorso umano. Le persone cambiano la loro intonazione, il loro volume, introducono pause e forniscono un numero di indizi sul comportamento che suggeriscono all ascoltatore la struttura ed il significato del discorso. Senza queste indicazioni fornite dal computer, le persone lavorano con meno informazioni ed è più difficile decifrare che cosa si sta comunicando. Questo significa anche che gli errori sono più difficili da recuperare ed i messaggi lunghi sono più faticosi da comprendere. Di seguito sono riportati alcuni punti generali sull uso del discorso sintetizzato: Si utilizzino dei suggerimenti registrati. Alcuni suggerimenti fissi dovrebbero essere registrati; Si faccia attenzione alle caratteristiche prosodiche quando si usa il discorso sintetizzato; Non utilizzare il discorso sintetizzato per leggere liste lunghe e non aspettarsi che la persona abbia compreso o si ricordi tutte le liste. L interfaccia dovrebbe essere progettata in modo che le liste contengano al massimo quattro o cinque passi Come ottenere il miglior riconoscimento vocale Il riconoscimento vocale non è una scienza esatta e analitica. È un arte probabilistica e comprende ipotesi dettagliate. Ci sono alcuni principi fondamentali che possono aiutare a progettare questo strumento inesatto ma potente. 41

42 Il principio di base è distinguere le risposte che si possono prevedere. Purtroppo, la nostra intuizione non riesce a prevedere bene le frasi che suonano simili o differenti rispetto a come verranno elaborate dal riconoscimento vocale. Ciò significa che le grammatiche devono essere testate per questi problemi di riconoscimento. Tuttavia alcune proprietà delle risposte hanno un forte effetto sul riconoscimento. La proprietà principale è la lunghezza della risposta. Le risposte migliori sono le frasi brevi che permettono al riconoscitore di elaborarle efficacemente e non presentano incomprensioni dovute alla non fluidità del discorso. Nel VoiceXML, parecchie grammatiche possono essere attive contemporaneamente, rispettando una priorità data dal seguente elenco: 1. grammatica a livello di campo (field grammar); 2. grammatica a livello di form; 3. grammatica a livello di documento; 4. grammatica a livello di applicazione; 5. grammatiche predefinite del riconoscitore vocale. 42

43 CAPITOLO 3 Progetto e implementazione dell applicazione 3.1 La scelta del progetto L idea di realizzare questo progetto è emersa dall intento di far comprendere meglio le potenzialità della tecnologia VoiceXML. Per questo motivo, io e il mio collega di lavoro, abbiamo pensato di progettare un applicazione vocale che non fosse soltanto una dimostrazione fine a se stessa, ma un applicazione che potesse essere utile, semplice da utilizzare e che fornisse la possibilità di accedere tramite la voce ad un servizio nuovo o già disponibile per il web tradizionale. Una prima applicazione vocale che ci sembrava interessante sviluppare era una prenotazione telefonica: un qualsiasi utente, telefonando ad un certo numero prefissato, avrebbe trovato un applicazione che smistando le chiamate in ingresso, le avrebbe opportunamente indirizzate alla persona o all ufficio competente richiesto dal chiamante. Questa applicazione permette di effettuare la prenotazione di un biglietto ferroviario o perlomeno di ricevere informazioni utili per il viaggio. Infatti, l utente una volta inseriti i dati relativi alla sede di partenza, di arrivo e il giorno del viaggio potrà ricevere gli orari di tutti i treni presenti lungo quella tratta e relativi a quella data. Attraverso questa applicazione l utente può altresì, dopo aver inserito tutti i dati, parlare direttamente con un operatore umano e concludere l acquisto del biglietto evitando di ripetere i dati del viaggio; questo perché l operatore umano durante il 43

44 primo step automatico avrà a disposizione già i dati relativi al viaggio e potrà guidare l utente alla conclusione dell acquisto. Nonostante il valore puramente dimostrativo di tale applicazione, questa potrebbe essere realmente impiegata per la prenotazione di ticket in qualsiasi azienda. 44

45 3.2 Il diagramma di flusso dell applicazione 45

46 Nella figura precedente è riprodotto il diagramma di flusso che rappresenta in maniera schematica la rappresentazione logica dell applicazione. L applicazione vocale è costituita da file VoiceXML, da script PHP e da un database contenente i dati necessari per il corretto funzionamento. Dopo il messaggio del benvenuto, il sistema chiederà il numero della carta frecciax e l utente deve rispondere opportunamente indicando il proprio codice. Dopo aver acquisito il codice il sistema effettuerà un controllo sul database verificando l esistenza di un cliente loggato con quel codice; nel caso in cui non ci fosse nessuna corrispondenza il sistema provvederà a richiedere all utente di riferire il codice, se ciò che viene detto non è presente nella lista allora la chiamata verrà passata in automatico ad un operatore umano. Nel caso in cui, invece, il numero della carta frecciax è presente nella lista del database, il sistema darà di nuovo il benvenuto all utente e assocerà il codice della carta al nome del cliente in modo tale da poterlo chiamare per nome. Questo step è considerato fondamentale per il proseguo poiché la conversazione continua solo per coloro i quali sono loggati mentre per gli altri è previsto il passaggio della chiamata ad un operatore umani. Detto ciò, il sistema inizierà a porre delle domande all utente sulla città di partenza e di arrivo; in entrambi i casi accade che se l utente non dovesse pronunciare nessuna città di partenza o di destinazione, verrà inviato un messaggio che consiglia le possibili scelte all utente. Stesso discorso se l utente dovesse pronunciare una città non valida tra quelle presenti nel database, il sistema provvederà a dare dei suggerimenti sulle città dove è possibile effettuare la prenotazione. Terza domanda che pronuncerà il sistema riguarda la data di partenza, anche in questo caso l utente è limitato a scegliere solo delle possibili date e nel caso in cui dovesse fornire dati non presenti nel database o non dovesse pronunciare nessuna data, il sistema darà il suggerimento. Una volta terminate queste domande, il sistema acquisisce i dati e andrà ad interrogare il database cercando delle possibili soluzione alle richieste 46

47 dell utente; in caso positivo avvertirà l utente dei dati relativi al viaggio. Mentre nel caso non ci fosse nessuna corrispondenza l utente sarà avvertito di ciò. In entrambe le soluzioni, la telefonata sarà passata all operatore umano il quale provvederà a terminare l acquisto del biglietto. 3.3 Il database Il database biglietto_ferroviario, progettato per l utilizzo con l applicazione vocale, è costituito da due tabelle denominate orari e utente (Figura 3.3.1). Figura 3.3.1: il database Le città che gli utenti possono scegliere per effettuare la prenotazione sono presenti nella tabella orari. In questa tabella sono presenti solo le tratte relative a determinate date ed è costituita dai campi partenza, arrivo e data che sono tutte chiavi primarie. La struttura di ogni campo è descritta in figura 3.3.2: Figura 3.3.2: tabella orari 47

UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA. Corso di Laurea in Ingegneria Informatica e dell Automazione

UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA. Corso di Laurea in Ingegneria Informatica e dell Automazione UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione Progettazione di un software per la prenotazione telefonica di un biglietto ferroviario

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

Introduzione alla Linguistica Computazionale

Introduzione alla Linguistica Computazionale Introduzione alla Linguistica Computazionale Salvatore Sorce Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ludici Adattati da Alessandro Lenci Dipartimento di Linguistica T. Bolelli

Dettagli

Tecnologie del parlato

Tecnologie del parlato Tecnologie del parlato La sintesi del parlato Il riconoscimento del parlato 1 La sintesi del parlato (speech synthesis) Text-to-Speech (TTS) programmi in grado di produrre e pronunziare frasi allo scopo

Dettagli

VERSO UNA BADANTE VIRTUALE : STUDIO E SVILUPPO DEL LIVELLO COMUNICATIVO TRAMITE TECNOLOGIA VOICEXML

VERSO UNA BADANTE VIRTUALE : STUDIO E SVILUPPO DEL LIVELLO COMUNICATIVO TRAMITE TECNOLOGIA VOICEXML UNIVERSITA POLITECNICA DELLE MARCHE FACOLTA DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione VERSO UNA BADANTE VIRTUALE : STUDIO E SVILUPPO DEL LIVELLO COMUNICATIVO TRAMITE TECNOLOGIA

Dettagli

Ipertesto, navigazione e cenni HTML. Lezione Informatica I CLAWEB

Ipertesto, navigazione e cenni HTML. Lezione Informatica I CLAWEB Ipertesto, navigazione e cenni HTML Lezione Informatica I CLAWEB 1 Il concetto di Ipertesto (1/2) Definizione: Modello testuale in cui le diverse unità di contenuti non sono articolate secondo un ordine

Dettagli

Reti basate sulla stack di protocolli TCP/IP

Reti basate sulla stack di protocolli TCP/IP Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1 Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo

Dettagli

Smartphone 4.0. Mappa di installazione Voicemail / IVR

Smartphone 4.0. Mappa di installazione Voicemail / IVR Smartphone 4.0 Mappa di installazione Voicemail / IVR Contenuto Sommario 5 Informazioni sul complesso di documentazione 5 Convenzioni del documento 5 Informazioni sulla Guida durante il lavoro 7 Lista

Dettagli

Utilizzare 4CBOX come centralino significa avere un sistema all inclusive oltre a

Utilizzare 4CBOX come centralino significa avere un sistema all inclusive oltre a Utilizzare 4CBOX come centralino significa avere un sistema all inclusive oltre a IVR risponditore, VoiceMail e gestione delle code operatore. Utilizzare oltre alle tradizionali linee telefoniche, anche

Dettagli

Le Reti (gli approfondimenti a lezione)

Le Reti (gli approfondimenti a lezione) Le Reti (gli approfondimenti a lezione) Per migliorare la produttività gli utenti collegano i computer tra di loro formando delle reti al fine di condividere risorse hardware e software. 1 Una rete di

Dettagli

Innovazione e accessibilità: applicazioni vocali e mobile accessibility. Presentazione del software Active Reader

Innovazione e accessibilità: applicazioni vocali e mobile accessibility. Presentazione del software Active Reader Innovazione e accessibilità: applicazioni vocali e mobile accessibility Presentazione del software Active Reader Active Reader L Active Reader è un applicazione multimodale che consente all utente la fruizione

Dettagli

Access, MSDE 2000, SQLServerExpress2005 e MySQL per soluzioni di media complessità e per soluzioni entry level ;

Access, MSDE 2000, SQLServerExpress2005 e MySQL per soluzioni di media complessità e per soluzioni entry level ; Gruppo SIGLA, attiva da diversi anni nel settore della Computer Telephony Integration, ha realizzato SiTel, un sistema di comunicazione multicanale (telefonia fissa analogica e digitale, telefonia mobile,

Dettagli

Smartphone 4.0. Mappa di installazione Unified Messaging / IVR

Smartphone 4.0. Mappa di installazione Unified Messaging / IVR Smartphone 4.0 Mappa di installazione Unified Messaging / IVR Contenuto Sommario 5 Informazioni sul complesso di documentazione 5 Convenzioni del documento 5 Informazioni sulla Guida durante il lavoro

Dettagli

a cura di Maria Finazzi

a cura di Maria Finazzi Esercitazioni di XML a cura di Maria Finazzi (11-19 gennaio 2007) e-mail: maria.finazzi@unipv.it pagine web: Il trattamento dell'informazione Testo a stampa: Come

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Introduzione. è uguale a 0, spostamento di dati da una parte della memoria del calcolatore ad un altra.

Introduzione. è uguale a 0, spostamento di dati da una parte della memoria del calcolatore ad un altra. Appunti di Calcolatori Elettronici Modello di macchina multilivello Introduzione... 1 Linguaggi, livelli e macchine virtuali... 3 La struttura a livelli delle macchine odierne... 4 Evoluzione delle macchine

Dettagli

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I Introduzione ad XML G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di

Dettagli

IPBX Office IPBX Office

IPBX Office IPBX Office IPBX Office IPBX Office include, oltre a tutte le funzioni di un centralino tradizionale, funzionalità avanzate quali ad esempio: voice mail con caselle vocali illimitate e personalizzate, risponditore

Dettagli

I browser più comuni sono Explorer, Mozilla Firefox, Chrome, Safari

I browser più comuni sono Explorer, Mozilla Firefox, Chrome, Safari INTERNET Internet, cioè la rete di interconnessione tra calcolatori, è uno dei pochi prodotti positivi della guerra fredda. A metà degli anni sessanta il Dipartimento della difesa USA finanziò lo studio

Dettagli

CORSO EDA Informatica di base. Introduzione alle reti informatiche Internet e Web

CORSO EDA Informatica di base. Introduzione alle reti informatiche Internet e Web CORSO EDA Informatica di base Introduzione alle reti informatiche Internet e Web Rete di computer Una rete informatica è un insieme di computer e dispositivi periferici collegati tra di loro. Il collegamento

Dettagli

Le applicazioni vocali

Le applicazioni vocali Le applicazioni vocali semplice e naturale: usa la tua voce DOTVOCAL S.r.l. Piazza Pinelli 1/7 16124 Genova Tel. +39 010 275411 Fax +39 010 27541216 www.dotvocal.com www.portavoce.org Cosa sono le applicazioni

Dettagli

Smartphone 4.1. Mappa di installazione Voicemail / IVR

Smartphone 4.1. Mappa di installazione Voicemail / IVR Smartphone 4.1 Mappa di installazione Voicemail / IVR Contenuto Sommario 5 Informazioni sul complesso di documentazione 5 Convenzioni del documento 6 Informazioni sulla Guida durante il lavoro 7 Lista

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

Istituto Comprensivo statale Girolamo Fracastoro Cavaion Veronese. SCUOLA PRIMARIA CURRICOLO DI italiano

Istituto Comprensivo statale Girolamo Fracastoro Cavaion Veronese. SCUOLA PRIMARIA CURRICOLO DI italiano Istituto Comprensivo statale Girolamo Fracastoro Cavaion Veronese SCUOLA PRIMARIA CURRICOLO DI italiano Competenze chiave Comunicazione nella madre lingua competenza digitale imparare a imparare competenze

Dettagli

Capitolo 1 Introduzione a Gambas

Capitolo 1 Introduzione a Gambas Capitolo 1 Introduzione a Gambas Gambas è stato creato inizialmente da Benoit Minisini, un residente della periferia di Parigi. Secondo Benoit, Gambas è un linguaggio Basic con estensioni per la programmazione

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

LICEO STATALE C. TENCA MILANO Dipartimento di Lingue PROGRAMMAZIONE DISCIPLINARE DI LINGUE E CULTURE STRANIERE

LICEO STATALE C. TENCA MILANO Dipartimento di Lingue PROGRAMMAZIONE DISCIPLINARE DI LINGUE E CULTURE STRANIERE MILANO PROGRAMMAZIONE DISCIPLINARE DI LINGUE E CULTURE STRANIERE STRUTTURA DELLA DISCIPLINA 2 Riflessione sulla lingua Dimensione comunicativa-funzionale Dimensione letteraria 3 Articolazione della disciplina

Dettagli

Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano. Internet e il Web

Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano. Internet e il Web Appunti di Informatica Gestionale per cl. V A cura del prof. ing. Mario Catalano Internet e il Web 1 Internet Internet è un insieme di reti informatiche collegate tra loro in tutto il mondo. Tramite una

Dettagli

Lista dei Punti di Controllo per l'accessibilità dei contenuti web

Lista dei Punti di Controllo per l'accessibilità dei contenuti web Lista dei Punti di Controllo per l'accessibilità dei contenuti web Questo documento è tratto dal sito del W3C http://www.w3.org/tr/wai-webcontent/full-checklist.html ed è stato tradotto dagli studenti

Dettagli

CONCETTI DI NAVIGAZIONE IN RETE

CONCETTI DI NAVIGAZIONE IN RETE CONCETTI DI NAVIGAZIONE IN RETE Internet (La rete delle reti) è l insieme dei canali (linee in rame, fibre ottiche, canali radio, reti satellitari, ecc.) attraverso cui passano le informazioni quando vengono

Dettagli

L alunno esprime: vissuti; emozioni, fatti.

L alunno esprime: vissuti; emozioni, fatti. CURRICOLO D ISTITUTO a. s. 2012 / 2013 CLASSE PRIMA SCUOLA PRIMARIA EUROPEA DI LEGITTIMAZIONE INDICAZIONI NAZIONALI PER IL CURRICOLO 2012 L alunno: SVILUPPO DELLE ASCOLTO L alunno ascolta: il lessico di

Dettagli

I DISCORSI E LE PAROLE

I DISCORSI E LE PAROLE SCUOLA DELL INFANZIA INDICATORI I DISCORSI E LE PAROLE OBIETTIVI DI APPRENDIMENTO 3 anni 4 anni 5 anni ASCOLTARE E Ascoltare brevi e semplici racconti. Capire il messaggio delle parole usate dall insegnante.

Dettagli

VoiceCMS. DOTVOCAL S.r.l. Via Greto di Cornigliano 6 R, 16152 Genova. Tel. +39 010 65 63 452, Fax +39 010 65 63 552. sito: http://www.dotvocal.

VoiceCMS. DOTVOCAL S.r.l. Via Greto di Cornigliano 6 R, 16152 Genova. Tel. +39 010 65 63 452, Fax +39 010 65 63 552. sito: http://www.dotvocal. VoiceCMS DOTVOCAL S.r.l. Via Greto di Cornigliano 6 R, 16152 Genova Tel. +39 010 65 63 452, Fax +39 010 65 63 552. sito: http://www.dotvocal.com INSTANT S.r.l. Via Sorio 47, 35141 Padova Tel. +39 049 87

Dettagli

CURRICOLO DI ITALIANO FINE CLASSE TERZA SCUOLA PRIMARIA

CURRICOLO DI ITALIANO FINE CLASSE TERZA SCUOLA PRIMARIA CURRICOLO DI ITALIANO FINE CLASSE TERZA SCUOLA PRIMARIA Nucleo tematico Oralità Traguardi per lo sviluppo delle competenze -Partecipa a scambi comunicativi con compagni e docenti -Ascolta e comprende messaggi

Dettagli

Dichiarazione di Accessibilità

Dichiarazione di Accessibilità Dichiarazione di Accessibilità Requisito n. 1 : Realizzare le pagine e gli oggetti al loro interno utilizzando tecnologie definite da grammatiche formali pubblicate nelle versioni più recenti disponibili

Dettagli

REQUISITO DI ACCESSIBILITA

REQUISITO DI ACCESSIBILITA ISTITUTO COMPRENSIVO Pascoli - Crispi Via Gran Priorato, 11-98121 Messina Via Monsignor D'Arrigo, 18-98122 Messina Tel/Fax. 09047030 090360037 e-mail: meic87300t@istruzione.it / meee00800r@istruzione.it

Dettagli

Multimodal IVR. Multimodalità e Linguaggio Naturale. Customer Service Automation. 30 maggio2013

Multimodal IVR. Multimodalità e Linguaggio Naturale. Customer Service Automation. 30 maggio2013 Multimodal IVR 30 maggio2013 Multimodalità e Linguaggio Naturale Customer Service Automation IM No distribution allowed Riconoscimento vs semantica Channel Manager Data Preprocessor (ASR) vorrei prenotare

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

La domotica e l'informatica

La domotica e l'informatica Istituto di Scienza e Tecnologie dell'informazione A Faedo (ISTI) Laboratorio di domotica La domotica e l'informatica Dario Russo (dario.russo@isti.cnr.it) Cosa è l'informatica L'informatica è una scienza

Dettagli

Università degli studi di Messina

Università degli studi di Messina Università degli studi di Messina Facoltà di Ingegneria Corso di laurea in Ingegneria Elettronica Tesina di Sistemi di Telecomunicazione Prenotazione Esami con CSLU Speech - toolkit Docente: Prof. Salvatore

Dettagli

Il funzionamento delle reti

Il funzionamento delle reti Il funzionamento delle reti La rete ci cambia la vita L Età dell Informazione ha prodotto profondi cambiamenti nessun luogo è remoto le persone sono interconnesse le relazioni sociali stanno mutando l

Dettagli

Esercizi del programma (solo su CD-ROM)

Esercizi del programma (solo su CD-ROM) Esercizi Esercizi del programma (solo su CD-ROM) Utilizzo dei comandi Per capire il significato dei termini utilizzati nei video è possibile consultare il glossario.. Passa alla schermata successiva. Ritorna

Dettagli

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 1 Introduzione all informatica: algoritmi, linguaggi e programmi Indice 1. Introduzione 2. Risoluzione automatica di problemi - Algoritmi

Dettagli

Università della Svizzera italiana

Università della Svizzera italiana Università della Svizzera italiana Il sito dell Università della Svizzera italiana e l accessibilità Vs.1.0 11 / 12 / 2007 TEC-LAB WEB-SERVICE 1. INTRODUZIONE Avere accesso al web, per un utente disabile,

Dettagli

Concetti di base della Tecnologia dell'informazione

Concetti di base della Tecnologia dell'informazione Corso ECDL Concetti di base della Tecnologia dell'informazione Modulo 1 Le reti informatiche 1 Le parole della rete I termini legati all utilizzo delle reti sono molti: diventa sempre più importante comprenderne

Dettagli

2.1 Introduzione ai linguaggi di marcatura

2.1 Introduzione ai linguaggi di marcatura Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata 2.1 Introduzione ai linguaggi di marcatura Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

MANUALE DELL UTENTE DEL SISTEMA DI POSTA VOCALE

MANUALE DELL UTENTE DEL SISTEMA DI POSTA VOCALE MANUALE DELL UTENTE DEL SISTEMA DI POSTA VOCALE AVVISO Le informazioni contenute in questo documento sono ritenute accurate sotto tutti i punti di vista, ma non sono garantite da Mitel Networks Corporation

Dettagli

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: Reti di computer ed Internet nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

Reti di computer ed Internet

Reti di computer ed Internet Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

Vericom Unified Messaging Server (VUMS)

Vericom Unified Messaging Server (VUMS) Vericom Unified Messaging Server (VUMS) VUMS è progettato per integrare ed espandere i sistemi di comunicazione in voce tradizionali con le funzioni applicative dei sistemi di telefonia su IP. Le caratteristiche

Dettagli

HTML 1. HyperText Markup Language

HTML 1. HyperText Markup Language HTML 1 HyperText Markup Language Introduzione ad HTML Documenti HTML Tag di markup Formattazione del testo Collegamenti ipertestuali Immagini Tabelle Form in linea (moduli) Tecnologie di Sviluppo per il

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

B. Comprendere il tema e le informazioni essenziali di un esposizione; comprendere lo scopo e l argomento di messaggi ascoltati.

B. Comprendere il tema e le informazioni essenziali di un esposizione; comprendere lo scopo e l argomento di messaggi ascoltati. ISTITUTO COMPRENSIVO DI CLUSONE A.S. 2014-2015 CURRICOLO DI ITALIANO Scuola Primaria Classe QUARTA _ QUARTO BIMESTRE_ COMPETENZE Indicazioni ABILITA CONOSCENZE AMBIENTE DI APPRENDIMENTO ASCOLTO E PARLATO

Dettagli

SCUOLA PRIMARIA CLASSE I

SCUOLA PRIMARIA CLASSE I SCUOLA PRIMARIA CLASSE I ITALIANO INDICATORI OBIETTIVI DI APPRENDIMENTO STANDARD PER LA VALUTAZIONE DELLE COMPETENZE Ascoltare e comprendere Leggere e comprendere Comunicare oralmente Mantenere l attenzione

Dettagli

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI 1 Web Link Monitor... 2 2 Database Browser... 4 3 Network Monitor... 5 4 Ghost Site... 7 5 Copy Search... 9 6 Remote Audio Video

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

Materiali per il Modulo 1 E.C.D.L.

Materiali per il Modulo 1 E.C.D.L. Materiali per il Modulo 1 E.C.D.L. Queste due sigle indicano LAN Local Area Network Si tratta di un certo numero di Computer (decine centinaia) o periferici connessi fra loro mediante cavi UTP, coassiali

Dettagli

Ausili per disabilità sensoriali

Ausili per disabilità sensoriali Ausili per disabilità sensoriali Sommario 1. Introduzione 2. Ausili informatici 3. Ausili per disabilità visive 4. Ausili per disabilità uditive Studio di Consulenza Stefano Persichino Consulenza, valutazione,

Dettagli

Analisi applicazione vocale

Analisi applicazione vocale Analisi applicazione vocale semplice e naturale: usa la tua voce DOTVOCAL S.r.l. Piazza Pinelli 1,7 16124 Genova Tel. +39 010 275411 Fax +39 010 27541216 www.dotvocal.com www.portavoce.org OVERVIEW...

Dettagli

FileMaker Server 12. Pubblicazione Web personalizzata con XML

FileMaker Server 12. Pubblicazione Web personalizzata con XML FileMaker Server 12 Pubblicazione Web personalizzata con XML 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento

Dettagli

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione Evoluzione del Web Direzioni di sviluppo del web a) Multimedialità b) Dinamicità delle pagine e interattività c) Accessibilità d) Separazione del contenuto dalla forma di visualizzazione e) Web semantico

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica CL3 - Biotecnologie Orientarsi nel Web Prof. Mauro Giacomini Dott. Josiane Tcheuko Informatica - 2006-2007 1 Obiettivi Internet e WWW Usare ed impostare il browser Navigare in internet

Dettagli

TABELLA 1 Livelli comuni di riferimento: scala globale

TABELLA 1 Livelli comuni di riferimento: scala globale TABELLA 1 Livelli comuni di riferimento: scala globale avanzato intermedio elementare C2 C1 B2 B1 A2 A1 È in grado di comprendere senza sforzo praticamente tutto ciò che ascolta o legge. Sa riassumere

Dettagli

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci I motori di ricerca in internet: cosa sono e come funzionano Roberto Ricci, Servizio Sistema

Dettagli

Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza

Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza Dichiarazione di accessibilità del sito di Ulisse - Nella rete della scienza I riferimenti riguardano quanto indicato nelle Recommendation del World Wide Web Consortium (W3C) ed in particolare in quelle

Dettagli

Motori di ricerca di ultima generazione: il web semantico

Motori di ricerca di ultima generazione: il web semantico Motori di ricerca di ultima generazione: il web semantico Quando parliamo di vie di comunicazione di un sistema EWS, è opportuno pensare a quale strada può essere la più rapida per il recupero dei dati

Dettagli

FormScape V3.1: SUPPORTO XML

FormScape V3.1: SUPPORTO XML FormScape V3.1: SUPPORTO Maggio 2004 FormScape V3, la Soluzione Intelligente per Creare, Gestire, Visualizzare e Distribuire i Tuoi Documenti FormScape V3 Page 1 Introduzione Il formato si sta affermando

Dettagli

SITI WEB DEL COMUNE DI PESARO, RAPPORTO DI CONFORMITA' AI REQUISITI TECNICI DELLA LEGGE N.4-9 GENNAIO 2004

SITI WEB DEL COMUNE DI PESARO, RAPPORTO DI CONFORMITA' AI REQUISITI TECNICI DELLA LEGGE N.4-9 GENNAIO 2004 SITI WEB DEL COMUNE DI PESARO, RAPPORTO DI CONFORMITA' AI REQUISITI TECNICI DELLA LEGGE N.4-9 GENNAIO 2004 Le pagine del sito istituzionale e dei siti tematici del Comune di Pesaro sono state progettate

Dettagli

Sintesi della Lingua Italiana dei Segni mediante l utilizzo del Motion Capture e dei metodi procedurali

Sintesi della Lingua Italiana dei Segni mediante l utilizzo del Motion Capture e dei metodi procedurali Sintesi della Lingua Italiana dei Segni mediante l utilizzo del Motion Capture e dei metodi procedurali Andreea Barticel Introduzione Le lingue dei segni rappresentano il mezzo principale di comunicazione

Dettagli

Università degli Studi di Foggia Dipartimento Sistemi Informativi ed Innovazione Tecnologica. Presentazione Portale Vocale Rete di Accesso Wi-Fi

Università degli Studi di Foggia Dipartimento Sistemi Informativi ed Innovazione Tecnologica. Presentazione Portale Vocale Rete di Accesso Wi-Fi Presentazione Portale Vocale Rete di Accesso Wi-Fi Foggia, 15 maggio 2009 Cos è il portale vocale? Un applicazione che permette a studenti, docenti e utenti dell Università degli Studi di Foggia di interagire

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Il software Dipartimento di Ingegneria dell Informazione Universitàdegli Studi di Parma SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Applicazioni e Architetture Internet 1 Introduzione Introduzione alle architetture a tre livelli Formati di dati per il Web HTML, XML, DTD 2 Componenti dei sistemi dataintensive Tre tipi separati di funzionalità:

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli

Sistemi Informativi di relazione - Internet

Sistemi Informativi di relazione - Internet Sistemi Informativi di relazione - Internet Obiettivi. Presentare i concetti base di Internet. Illustrare l evoluzione storica di Internet. Familiarizzare con gli elementi fondamentali di Internet: Il

Dettagli

Esercizi di Ingegneria del Software

Esercizi di Ingegneria del Software Esercizi di Ingegneria del Software Il caso della Grande Distribuzione V. Ambriola, C. Montangero e L. Semini Corso di Laurea in Informatica Corso di Laurea in Informatica Applicata Dipartimento di Informatica

Dettagli

Modulo 8. Sviluppo di pagine e siti Creare pagine Web

Modulo 8. Sviluppo di pagine e siti Creare pagine Web Pagina 1 di 6 Sviluppo di pagine e siti Creare pagine Web HTML è l'acronimo di HyperText Markup Language; si tratta di un linguaggio utilizzato per la marcatura ipertestuale. A differenza dei comuni linguaggi

Dettagli

INTERNET. Un percorso per le classi prime Prof. Angela Morselli

INTERNET. Un percorso per le classi prime Prof. Angela Morselli INTERNET Un percorso per le classi prime Prof. Angela Morselli PARTE 1 INTERNET: LA RETE DELLE RETI 2 È ALQUANTO DIFFICILE RIUSCIRE A DARE UNA DEFINIZIONE ESAUSTIVA E CHIARA DI INTERNET IN POCHE PAROLE

Dettagli

voice Centralino VoIP e CTI

voice Centralino VoIP e CTI voice Centralino VoIP e CTI Il telefono come sistema informativo NethVoice è una nuova soluzione telefonica aperta ed integrata con l intero sistema informativo aziendale, in grado di fornire tutti i servizi

Dettagli

INFORMATICA CORSI DELL'INDIRIZZO TECNICO CLASSI PRIME AMMINISTRAZIONE - FINANZA E MARKETING

INFORMATICA CORSI DELL'INDIRIZZO TECNICO CLASSI PRIME AMMINISTRAZIONE - FINANZA E MARKETING INFORMATICA CORSI DELL'INDIRIZZO TECNICO CLASSI PRIME AMMINISTRAZIONE - FINANZA E MARKETING Modulo propedeutico Le lezioni teoriche sono sviluppate sui seguenti argomenti: Struttura dell elaboratore: CPU,

Dettagli

Richiami sugli elementi del linguaggio HTML

Richiami sugli elementi del linguaggio HTML Richiami sugli elementi del linguaggio HTML Un documento in formato Web può essere aperto con un browser, attraverso un collegamento a Internet oppure caricandolo dal disco del proprio computer senza connettersi

Dettagli

Corso di Visual Basic (Parte 8)

Corso di Visual Basic (Parte 8) Corso di Visual Basic (Parte 8) di MAURIZIO CRESPI Questo mese il corso di programmazione in Visual Basic focalizza la propria attenzione sulle procedure, talvolta dette subroutine L oggetto dell ottava

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Verifica di Accessibilità del sito www.aots.sanita.fvg.it

Verifica di Accessibilità del sito www.aots.sanita.fvg.it Verifica di Accessibilità del sito www.aots.sanita.fvg.it NOTE: Verifica effettuata in base ai requisiti descritti nell allegato A del Decreto Ministeriale 8 luglio 2005, ai sensi della legge n.4 del 9

Dettagli

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi : di base e applicativo L HardWare (monitor, tastiera, circuiti, stampante, ) è il nucleo fondamentale del calcolatore ma da solo non serve a nulla. Bisogna utilizzare il software per poterlo fare funzionare.

Dettagli

Un Sistema Operativo di Rete nasconde all utente finale la struttura del calcolatore locale e la struttura della rete stessa

Un Sistema Operativo di Rete nasconde all utente finale la struttura del calcolatore locale e la struttura della rete stessa LE RETI INFORMATICHE Un calcolatore singolo, isolato dagli altri anche se multiutente può avere accesso ed utilizzare solo le risorse locali interne al Computer o ad esso direttamente collegate ed elaborare

Dettagli

Verifica tecnica accessibilità

Verifica tecnica accessibilità Verifica tecnica accessibilità Realizzato secondo il modello predisposto dal CNIPA per i soggetti di cui all articolo 3, comma 1, della legge 9 gennaio 2004, n. 4 Soggetto interessato: Comune di San Mauro

Dettagli

Dal numero di settembre 2013 di Customer Management Insights (www.cmimagazine.it)

Dal numero di settembre 2013 di Customer Management Insights (www.cmimagazine.it) Dal numero di settembre 2013 di Customer Management Insights (www.cmimagazine.it) Nuove interfacce per il canale telefonico di un contact center Nella storia dei call center l'esigenza di utilizzare messaggi

Dettagli

Accessibilità del sito web del Comune di Triggiano

Accessibilità del sito web del Comune di Triggiano Accessibilità del sito web del Comune di Triggiano Il Comune di Triggiano, già attento nella precedente versione del suo sito web al tema dell'accessibilità delle informazioni, ha riprogrammato tutte le

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

Esercizi di Ingegneria del Software

Esercizi di Ingegneria del Software Esercizi di Ingegneria del Software Il caso della Grande Distribuzione V. Ambriola, C. Montangero e L. Semini Corso di Laurea in Informatica Corso di Laurea in Informatica Applicata Dipartimento di Informatica

Dettagli

ISTITUTO COMPRENSIVO DI MUSSOLENTE SCUOLA PRIMARIA ITALIANO CLASSE PRIMA

ISTITUTO COMPRENSIVO DI MUSSOLENTE SCUOLA PRIMARIA ITALIANO CLASSE PRIMA ISTITUTO COMPRENSIVO DI MUSSOLENTE SCUOLA PRIMARIA ITALIANO CLASSE PRIMA OBIETTIVI SPECIFICI DI APPRENDIMENTO PER LA CLASSE PRIMA E RELATIVI COMUNICAZIONE ORALE MANTENERE L ATTENZIONE SUL MESSAGGIO ORALE,

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Reti di Calcolatori Francesco Fontanella Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

Informatica. Classe Prima

Informatica. Classe Prima Informatica Classe Prima Obiettivo formativo Conoscenze Abilità Conoscere e utilizzare il computer per semplici attività didattiche Conoscere i componenti principali del computer. o Distinguere le parti

Dettagli