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

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

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

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

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

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

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

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

CONSIGLI PER POTENZIARE L APPRENDIMENTO DELLA LINGUA

CONSIGLI PER POTENZIARE L APPRENDIMENTO DELLA LINGUA CONSIGLI PER POTENZIARE L APPRENDIMENTO DELLA LINGUA Possiamo descrivere le strategie di apprendimento di una lingua straniera come traguardi che uno studente si pone per misurare i progressi nell apprendimento

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

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

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

GUIDA ALL USO 4 STAR PRESENTA LA RUBRICA VOCALE UN SOLO NUMERO PER CHIAMARE CHI VUOI.

GUIDA ALL USO 4 STAR PRESENTA LA RUBRICA VOCALE UN SOLO NUMERO PER CHIAMARE CHI VUOI. GUIDA ALL USO 4 STAR PRESENTA LA RUBRICA VOCALE UN SOLO NUMERO PER CHIAMARE CHI VUOI. INDICE TUTTO SULLA TUA RUBRICA 02 COS È IL SERVIZIO RUBRICA 02 PER UTILIZZARE IL SERVIZIO 03 ALCUNE INFORMAZIONI UTILI

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

PIANO BIENNALE PER I DIRITTI DELLE PERSONE CON DISABILITÀ

PIANO BIENNALE PER I DIRITTI DELLE PERSONE CON DISABILITÀ PIANO BIENNALE PER I DIRITTI DELLE PERSONE CON DISABILITÀ 15 novembre 2014 Daniela Sangiovanni Comunicazione e Ufficio stampa Policlinico S,Orsola ACCESSIBILITÀ Gli Stati dovrebbero riconoscere l importanza

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Lo scenario: la definizione di Internet

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

Dettagli

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

NAVIGAORA HOTSPOT. Manuale utente per la configurazione NAVIGAORA HOTSPOT Manuale utente per la configurazione NAVIGAORA Hotspot è l innovativo servizio che offre ai suoi clienti accesso ad Internet gratuito, in modo semplice e veloce, grazie al collegamento

Dettagli

DIMENSIONI CRITERI INDICATORI

DIMENSIONI CRITERI INDICATORI Allegato 4 - Manerbio META EDUCATIVA: autonomia in ambito scolastico (classe 4/5 scuola primaria) DIMENSIONI CRITERI INDICATORI GESTIONALE OPERATIVA Uso degli strumenti Conoscere gli strumenti necessari

Dettagli

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. Premessa Oltre alle singole parole WoWords può gestire intere frasi in inglese. A differenza delle singole parole, le

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

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

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

Dettagli

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

INGLESE CLASSE PRIMA

INGLESE CLASSE PRIMA CLASSE PRIMA L allievo/a comprende oralmente i punti essenziali di testi in lingua standard su argomenti familiari o di studio che affronta normalmente a scuola. ASCOLTO (Comprensione orale) Capire i punti

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

ESERCITAZIONE Semplice creazione di un sito Internet

ESERCITAZIONE Semplice creazione di un sito Internet ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

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

PROCEDURA PER LA GESTIONE ESAMI DI STATO AREA ALUNNI AXIOS

PROCEDURA PER LA GESTIONE ESAMI DI STATO AREA ALUNNI AXIOS PROCEDURA PER LA GESTIONE ESAMI DI STATO AREA ALUNNI AXIOS Lo scopo di questa guida rapida è quello di fornire all utente, sia del prodotto SISSI in RETE che del prodotto Axios, un vademecum per la corretta

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

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

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza

Dettagli

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato

Dettagli

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Express Import system

Express Import system Express Import system Manuale del destinatario Sistema Express Import di TNT Il sistema Express Import di TNT Le consente di predisporre il ritiro di documenti, pacchi o pallet in 168 paesi con opzione

Dettagli

Servizio on-line di Analisi e Refertazione Elettrocardiografica

Servizio on-line di Analisi e Refertazione Elettrocardiografica Servizio on-line di Analisi e Refertazione Elettrocardiografica Guida utente Scopo del servizio... 2 Prerequisiti hardware e software... 3 Accesso all applicazione... 4 Modifica della password... 7 Struttura

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

03. Il Modello Gestionale per Processi

03. Il Modello Gestionale per Processi 03. Il Modello Gestionale per Processi Gli aspetti strutturali (vale a dire l organigramma e la descrizione delle funzioni, ruoli e responsabilità) da soli non bastano per gestire la performance; l organigramma

Dettagli

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del Progetto Software to Fit - ShellExcel Pagina 1 Manuale d'uso ShellExcel ShellExcel è una interfaccia per disabili che permette ad un alunno con difficoltà di apprendimento di esercitarsi ripetitivamente

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

Come creare il test di Yasso tramite l applicazione Training Center

Come creare il test di Yasso tramite l applicazione Training Center Come creare il test di Yasso tramite l applicazione Training Center A differenza degli altri test pubblicati da Garmin, il test di Yasso necessita di un approfondimento. Il test di Yasso è un test molto

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

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

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare

Dettagli

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo.

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo. Pag. 1 di 5 6FRSR analizzare problemi complessi riguardanti la gestione di un sito interattivo proponendo soluzioni adeguate e facilmente utilizzabili da una utenza poco informatizzata. 2ELHWWLYL GD UDJJLXQJHUH

Dettagli

Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE

Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE Guida alla compilazione on-line delle domande di Dote Scuola A.S. 2013-2014 - per le Famiglie INDICE Introduzione... 2 Riconoscimento del soggetto richiedente da parte del sistema... 2 Elenco dei servizi

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

Novità di Access 2010

Novità di Access 2010 2 Novità di Access 2010 In questo capitolo: Gestire le impostazioni e i file di Access nella visualizzazione Backstage Personalizzare l interfaccia utente di Access 2010 Creare database utilizzando modelli

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

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

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

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

Technical Document Release Version 1.0. Product Sheet. MediaSpot. Creazione e gestione palinsesto pubblicitario

Technical Document Release Version 1.0. Product Sheet. MediaSpot. Creazione e gestione palinsesto pubblicitario Technical Document Release Version 1.0 Product Sheet MediaSpot Creazione e gestione palinsesto pubblicitario MediaSpot MediaSpot è il software di SI Media sviluppato per la gestione completa dei contratti

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Guida all accesso al portale e ai servizi self service

Guida all accesso al portale e ai servizi self service Guida all accesso al portale e ai servizi self service INDICE PREMESSA 2 pag. 1 INTRODUZIONE 2 2 MODALITÀ DI PRIMO ACCESSO 2 2.1 LA CONVALIDA DELL INDIRIZZO DI POSTA ELETTRONICA 2 2.2 L INSERIMENTO DELLA

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto

Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Lande Immortali: Riepilogo dello Stato di Avanzamento del Progetto Progetto a cura di Martino Michele Matricola: 0124000461 Miglio Stefano Matricola: 0124000462 Obiettivi Iniziali Si intende realizzare

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................

Dettagli

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1.

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1. Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane e per le Informazioni bibliografiche Manuali utente per SBN WEB Versione 1.0 Produzione editoriale Vers. 1.0 27/09/2013 Pagina 1 Sommario

Dettagli

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

2 Gli elementi del sistema di Gestione dei Flussi di Utenza SISTEMA INFORMATIVO page 4 2 Gli elementi del sistema di Gestione dei Flussi di Utenza Il sistema è composto da vari elementi, software e hardware, quali la Gestione delle Code di attesa, la Gestione di

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

Dettagli

Il corso di italiano on-line: presentazione

Il corso di italiano on-line: presentazione Il corso di italiano on-line: presentazione Indice Perché un corso di lingua on-line 1. I corsi di lingua italiana ICoNLingua 2. Come è organizzato il corso 2.1. Struttura generale del corso 2.2. Tempistica

Dettagli

CRITERI DI VALUTAZIONE SCUOLA PRIMARIA SCUOLA PRIMARIA

CRITERI DI VALUTAZIONE SCUOLA PRIMARIA SCUOLA PRIMARIA CLASSI seconde CRITERI DI VALUTAZIONE SCUOLA PRIMARIA SCUOLA PRIMARIA LINGUA ITALIANA l alunno utilizza in maniera appropriata il codice linguistico per descrivere, narrare argomentare. si esprime in modo

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB UNIVERSITÀ DEGLI STUDI DI PADOVA FACOLTÀ DI LETTERE E FILOSOFIA CORSO DI LAUREA MAGISTRALE IN STRATEGIE DI COMUNICAZIONE LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB LA PROPOSTA DI UN MODELLO MIRATO

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it Decreto Legislativo 196/2003 Codice in materia di protezione dei dati personali COOKIE POLICY La presente informativa è resa anche ai sensi dell art. 13 del D.Lgs 196/03 Codice in materia di protezione

Dettagli