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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

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

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

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

Rete Internet ALFABETIZZAZIONE INFORMATICA. Prof. Patti Giuseppe

Rete Internet ALFABETIZZAZIONE INFORMATICA. Prof. Patti Giuseppe Rete Internet ALFABETIZZAZIONE INFORMATICA Prof. Patti Giuseppe SERVIZI OFFERTI DA INTERNET INTERNET POSTA ELETTRONICA INTERNET Internet in pratica è una rete vastissima, costituita dall interconnessione

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

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

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

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

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

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

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

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

Internet Terminologia essenziale

Internet Terminologia essenziale Internet Terminologia essenziale Che cos è Internet? Internet = grande insieme di reti di computer collegate tra loro. Rete di calcolatori = insieme di computer collegati tra loro, tramite cavo UTP cavo

Dettagli

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

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

Capitolo 3. Il funzionamento delle reti

Capitolo 3. Il funzionamento delle reti Capitolo 3 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

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

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

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

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

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

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

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

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito LEZIONE 3 Il pannello di amministrazione di Drupal, configurazione del sito Figura 12 pannello di controllo di Drupal il back-end Come già descritto nella lezione precedente il pannello di amministrazione

Dettagli

SH.Invoice è un software pratico e completo per la gestione della fatturazione di professionisti e imprese.

SH.Invoice è un software pratico e completo per la gestione della fatturazione di professionisti e imprese. Presentazione: SH.Invoice è un software pratico e completo per la gestione della fatturazione di professionisti e imprese. Il programma si distingue per la rapidità e l elasticità del processo di gestione

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

Stress-Lav. Guida all uso

Stress-Lav. Guida all uso Stress-Lav Guida all uso 1 Indice Presentazione... 3 I requisiti del sistema... 4 L'installazione del programma... 4 La protezione del programma... 4 Per iniziare... 5 Struttura delle schermate... 6 Password...

Dettagli

SERVIZI OFFERTI DA INTERNET INTERNET POSTA ELETTRONICA

SERVIZI OFFERTI DA INTERNET INTERNET POSTA ELETTRONICA Reti Informatiche SERVIZI OFFERTI DA INTERNET INTERNET POSTA ELETTRONICA INTERNET Il prototipo della grande rete si chiamava ARPAnet ed alla fine del 1960 collegava i computer dell UCLA, dello Stanford

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

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

Facendo clic su parole, immagini e icone si può passare da un sito all'altro.

Facendo clic su parole, immagini e icone si può passare da un sito all'altro. I browser Introduzione Facendo clic su parole, immagini e icone si può passare da un sito all'altro. Ogni pagina web è un documento ipertestuale, caratterizzato da un proprio indirizzo denominato URL (Uniform

Dettagli

3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software

3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software Pagina 29 di 47 3. Gestione di un sistema operativo a interfaccia grafica (elementi di base) 3.1 Software Come abbiamo già detto in precedenza, l informatica si divide in due grandi mondi : l hardware

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

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

Dettagli

XML INVITO ALLO STUDIO EUROPEAN NETWORK OF INNOVATIVE SCHOOLS

XML INVITO ALLO STUDIO EUROPEAN NETWORK OF INNOVATIVE SCHOOLS XML INVITO ALLO STUDIO EUROPEAN NETWORK OF INNOVATIVE SCHOOLS CSS e XML Per formatare i documenti XML è possibile seguire due strade: Quando non c è bisogno della potenza elaborativa di XSL, l utilizzo

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

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

Introduzione alle Reti Informatiche

Introduzione alle Reti Informatiche WWW.ICTIME.ORG Introduzione alle Reti Informatiche Cimini Simonelli - Testa Sommario Breve storia delle reti... 3 Internet... 3 Gli standard... 4 Il modello ISO/OSI... 4 I sette livelli del modello ISO/OSI...

Dettagli

P ROGETTO V.O.C.I. HOWTO

P ROGETTO V.O.C.I. HOWTO P ROGETTO V.O.C.I. HOWTO IVR RUBRICA TELEFONICA E MENU DI GESTIONE DELLE CHIAMATE N O M E F I L E: Asterisk_IVR_Rubrica_e_Menu_Gestione_Chiamate.doc D A T A: 15/09/2009 A T T I V I T À: S T A T O: U R

Dettagli

Reti di computer. Tecnologie ed applicazioni

Reti di computer. Tecnologie ed applicazioni Reti di computer Tecnologie ed applicazioni Da I.T a I.C.T Con I.T (Information Tecnology) si intende il trattamento delle informazioni attraverso il computer e le nuove apparecchiature tecnologiche ad

Dettagli

ShellMemory. Sistema operativo Microsoft Windows 98 o superiore Libreria SAPI e voce sintetica Casse audio

ShellMemory. Sistema operativo Microsoft Windows 98 o superiore Libreria SAPI e voce sintetica Casse audio Progetto Software to Fit - ShellMemory Pagina 1 Manuale d'uso ShellMemory Memory è un gioco didattico realizzato con l'obiettivo di aiutare l'alunno ad esercitare la capacità di memorizzazione o le capacità

Dettagli

Introduzione all'uso di

Introduzione all'uso di Introduzione all'uso di Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica.

Dettagli

Configuratore di Prodotto Diapason

Configuratore di Prodotto Diapason Configuratore di Prodotto Diapason Indice Scopo di questo documento...1 Perché il nuovo Configuratore di Prodotto...2 Il configuratore di prodotto...3 Architettura e impostazione tecnica...5 Piano dei

Dettagli

Gigaset N510 IP PRO Funzioni nuove e aggiornamenti

Gigaset N510 IP PRO Funzioni nuove e aggiornamenti Gigaset N510 IP PRO Funzioni nuove e aggiornamenti Gigaset N510 IP PRO Funzioni nuove e aggiornamenti Le funzionalità dell apparecchio sono state ampliate dopo il completamento del manuale. Le modifiche

Dettagli

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO

MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO MATRICE DELLE FUNZIONI DI DRAGON NATURALLYSPEAKING 12 CONFRONTO TRA EDIZIONI DEL PRODOTTO Precisione del riconoscimento Velocità di riconoscimento Configurazione del sistema Correzione Regolazione della

Dettagli

VoiceSurvey. 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.

VoiceSurvey. 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. VoiceSurvey 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

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione La Rete Internet Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Che cos è Internet? Il punto

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

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

NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI

NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI NOMENCLATURA INTERFACCIA DI INTERNET EXPLORER Pagina 6 PRINCIPALI PULSANTI DELLA BARRA DEGLI STREUMENTI Richiama la pagina visualizzata in precedenza Richiama la pagina visualizzata dopo quella attualmente

Dettagli

5. Fondamenti di navigazione e ricerca di informazioni sul Web

5. Fondamenti di navigazione e ricerca di informazioni sul Web 5. Fondamenti di navigazione e ricerca di informazioni sul Web EIPASS Junior SCUOLA PRIMARIA Pagina 43 di 47 In questo modulo sono trattati gli argomenti principali dell universo di Internet, con particolare

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

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Dettagli

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. SISTEMI E RETI Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. CRITTOGRAFIA La crittografia è una tecnica che si occupa della scrittura segreta in codice o cifrata

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

My Instant Communicator per iphone

My Instant Communicator per iphone My Instant Communicator per iphone Alcatel-Lucent OmniTouch 8600 OmniPCX Office Rich Communication Edition Guida utente 8AL90849ITAAed03 Marzo 2013 INDICE GENERALE 1. Panoramica... 3 2. Benefici... 3 3.

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

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

Conformità: Conforme; tutte le pagine sono realizzate con linguaggio XHTML 1.0 Strict.

Conformità: Conforme; tutte le pagine sono realizzate con linguaggio XHTML 1.0 Strict. Tasti di accesso rapido Al fine di migliorare l'accessibilità del sito sono stati definiti i seguenti tasti di accesso rapido, per attivare le principali funzionalità offerte: [H] = Homepage [R] = Ricerca

Dettagli

Parrot MINIKIT Neo 2 HD. Guida per l utente

Parrot MINIKIT Neo 2 HD. Guida per l utente Parrot MINIKIT Neo 2 HD Guida per l utente 1 Sommario Sommario... 2 Primo utilizzo... 4 Prima di iniziare... 4 Contenuto della confezione... 4 Modifica della lingua... 4 Installazione del MINIKIT Neo 2

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

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Navigare in Internet

Navigare in Internet Navigare in Internet ICT per la terza età Le video lezioni della Fondazione Mondo Digitale Diapositiva Introduzione Word Wide Web = WWW = Ragnatela estesa a tutto il mondo In questo argomento del nostro

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

L essenziale da sapere per rendere usabile un sito web

L essenziale da sapere per rendere usabile un sito web L essenziale da sapere per rendere usabile un sito web I principi base dell usabilità 5 8 linee guida per scrivere per il web 7 10 linee guida per l e-commerce 10 Pagina 2 I PRINCIPI BASE DELL USABILITÀ

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Sistemi Web per il turismo - lezione 2 -

Sistemi Web per il turismo - lezione 2 - Sistemi Web per il turismo - lezione 2 - 8 Considerare il computer coma una calcolatrice sembra un po limitativo rispetto a quello che solitamente vediamo succedere sui computer intorno a noi come ad esempio

Dettagli

PredictiOnDemand Manuale Utente 1. Benvenuti nel mondo della previsione delle parole! Benvenuti in PredictiOnDemand!

PredictiOnDemand Manuale Utente 1. Benvenuti nel mondo della previsione delle parole! Benvenuti in PredictiOnDemand! PredictiOnDemand Manuale Utente 1 PredictiOn Demand for Windows La predizione quando serve! 1. Panoramica Benvenuti nel mondo della previsione delle parole! Benvenuti in PredictiOnDemand! PredictiOnDemand

Dettagli

PLC Sistemi a Logica Programmabile

PLC Sistemi a Logica Programmabile PLC Sistemi a Logica Programmabile Prof. Nicola Ingrosso Guida di riferimento all applicazione applicazione dei Microcontrollori Programmabili IPSIA G.Ferraris Brindisi nicola.ingrosso @ ipsiaferraris.it

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

MANUALE UTENTE Ed. 2 Rev.0/ 12-09-2013. AWI Assistenza Web Integrata (Service Desk On Line)

MANUALE UTENTE Ed. 2 Rev.0/ 12-09-2013. AWI Assistenza Web Integrata (Service Desk On Line) Servizi di sviluppo e gestione del Sistema Informativo del Ministero dell Istruzione, dell Università e della ricerca MANUALE UTENTE Ed. 2 Rev.0/ 12-09-2013 (Service Desk On Line) RTI : HP Enterprise Services

Dettagli

Asse linguistico Propedeutico al 1 livello 1 periodo

Asse linguistico Propedeutico al 1 livello 1 periodo Asse linguistico Propedeutico al 1 livello 1 periodo Competenza 1: Partecipare a scambi comunicativi in modo collaborativo ed efficace Durata del modulo: Declinazione competenza Abilità 1. Comprendere

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

VoIP e. via SOLUZIONI E INNOVAZIONE PER LA COMUNICAZIONE

VoIP e. via SOLUZIONI E INNOVAZIONE PER LA COMUNICAZIONE VoIP e via SOLUZIONI E INNOVAZIONE PER LA COMUNICAZIONE VoIP è Voice over IP (Voce tramite protocollo Internet), acronimo VoIP, è una tecnologia che rende possibile effettuare una conversazione telefonica

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

LABORATORIO DI TELEMATICA

LABORATORIO DI TELEMATICA LABORATORIO DI TELEMATICA COGNOME: Ronchi NOME: Valerio NUMERO MATRICOLA: 41210 CORSO DI LAUREA: Ingegneria Informatica TEMA: Analisi del protocollo FTP File Transfer Protocol File Transfer Protocol (FTP)

Dettagli