Progetto e realizzazione di un sistema per la generazione di dialoghi in linguaggio naturale UNIVERSITA DEGLI STUDI DI GENOVA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progetto e realizzazione di un sistema per la generazione di dialoghi in linguaggio naturale UNIVERSITA DEGLI STUDI DI GENOVA"

Transcript

1 UNIVERSITA DEGLI STUDI DI GENOVA Corso di Laurea Magistrale in Ingegneria Elettronica Tesi di Laurea Progetto e realizzazione di un sistema per la generazione di dialoghi in linguaggio naturale Relatore: Chiar. mo Prof. Ing. Alessandro De Gloria Candidato: Daniele Mori Anno Accademico 2010/ marzo 2012

2 Alla Commissione di Laurea e di Diploma Alla Commissione Tirocini e Tesi Sottopongo la tesi redatta dallo studente Daniele Mori dal titolo: Progetto e realizzazione di un sistema per la generazione di dialoghi in linguaggio naturale Ho esaminato, nella forma e nel contenuto, la versione finale di questo elaborato scritto, e propongo che la tesi sia valutata positivamente. Il Relatore Accademico Chiar. mo Prof. Ing. Alessandro De Gloria i

3 Design and implementation of a system for natural language dialogues generation Abstract This thesis concerns the design and implementation of a system for natural language dialogues generation. The realization of this project aims at using recent technologies (ASP.NET MVC, Entity Framework, Windows Communication Foundation) to build a system which could be defined as NPCs As A Service. The system allows users to remotely access the server which was developed and to talk in natural language to Non Player Characters, hence the definition of the phrase NPCs As A Service. In order to realize such a behavior, algorithms of Natural Language Processing and techniques of Information Retrieval have been studied and implemented in the system. Finally tests were done in which users had the task of interacting with the system and evaluating it. The main goal of the tests was to understand the perception of the user about this tool, when used for knowledge acquisition. Other goals of the tests were about understanding the effective knowledge gained by using this system in comparison with a traditional way of learning. ii

4 Prefazione Questa tesi riguarda la progettazione e lo sviluppo di un sistema per la generazione di dialoghi in linguaggio naturale. La realizzazione di questo progetto è orientata all utilizzo di alcune delle più recenti tecnologie (ASP.NET MVC, Entity Framework, Windows Communication Foundation), usate per realizzare un sistema definibile come Npc As A Service. Il sistema consente agli utenti di interagire in modo remoto con il server che è stato sviluppato e di dialogare in linguaggio naturale con Agenti Conversazionali o più in generale con Personaggi Non Giocanti. Al fine di realizzare un sistema di questo tipo, sono stati studiati ed implementati nel progetto algoritmi di Natural Language Processing e tecniche di Information Retrieval. Sono stati infine condotti dei test su un campione di utenti al fine di valutare il sistema. L obiettivo principale dei test ha riguardato la percezione degli utenti della validità di questo strumento, se usato per finalità didattiche e di apprendimento. Altri obiettivi del test sono stati la comprensione dell effettiva conoscenza acquisita con l utilizzo di questo sistema, in comparazione con modalità di apprendimento tradizionali. iii

5 Indice Simboli e abbreviazioni 1 Introduzione 3 1 Stato dell arte e lavori precedenti 8 2 Il progetto Introduzione al progetto Struttura logica del sistema Applicazione Servizi Web Services Sistema Strumento di Authoring DAL / DataBase Tecnologie utilizzate WCF Windows Communication Foundation ASP.NET MVC Entity Framework 32 3 Algoritmo adottato Note generali Modelli di Text Retrieval Naive Bayes Text Classification 46 4 Implementazione del sistema Architettura del sistema Modulo di accesso ai dati DbContext Unit Of Work e Repository Pattern Classe ausiliaria DbQuerier 54 iv

6 4.2.4 Inizializzazione dei dati per finalità di testing Modulo di logica del sistema Strategy Manager Conversation Monitor Tactics Manager Application Manager Accesso al sistema: Web Services con WCF 63 5 User Tests Introduzione all applicazione Implementazione dell applicazione Metodologia dei test svolti Risultati ottenuti e valutazione dei risultati Sondaggio valori medi dei giudizi espressi dagli utenti Sessione di gioco punteggi medi registrati durante il test Quiz risultati medi relativi alla conoscenza acquisita Sondaggio risultati medi relativi alla conoscenza acquisita 75 6 Conclusioni e sviluppi futuri Conclusioni Sviluppi futuri 80 Appendice 1 82 Appendice 2 84 Appendice 3 86 Appendice 4 87 Appendice 5 88 v

7 Simboli e abbreviazioni CA NPC NLP SG DMS IR TR LM SAAS DAL IAP WCF URI MTOM Conversational Agent Non Player Character Natural Language Processing Serious Games Dialogue Management Systems Information Retrieval Text Retrieval Language Modeling Software As A Service Data Access Layer Interrogative Adjective/Pronoun Windows Communication Foundation Uniform Resource Identifier Message Transmission Optimization Mechanism 1

8 SOAP CLR MVC SRP ORM POCO TF IDF PRP MAP Simple Object Access Protocol Common Language Runtime Model, View, Controller Single Responsibility Principle Object Relational Mapper Plain Old CLR Object Term-Frequency Inverse Document Frequency Probability Ranking Principle Maximum A Priori 2

9 Introduzione La tesi riguarda la realizzazione di un sistema software per la gestione di Agenti Conversazionali (CA o Conversational Agents) per la realizzazione di dialoghi con l utente in linguaggio naturale. Scopo del lavoro in oggetto è di realizzare un implementazione di quanto teorizzato nell articolo [1]. Gli Agenti Conversazionali sono personaggi virtuali, controllati dal computer, capaci di dialogare con gli utenti in linguaggio naturale. I linguaggi naturali sono definiti nella filosofia del linguaggio come le lingue la cui formazione si sia sviluppata nel corso della storia (come ad esempio l italiano o l inglese); ad essi si contrappongono i linguaggi artificiali, la cui origine è intenzionale e orientata alla soddisfazione di scopi ben precisi (prendiamo ad esempio l Esperanto o i linguaggi di programmazione). Studi precedenti [2, 3, 4, 5] hanno dimostrato che la presenza di Agenti Conversazionali in applicazioni di realtà virtuale per fini didattici o di addestramento migliora la percezione di realismo per l utente, così come il suo coinvolgimento emotivo. Il sistema realizzato ha lo scopo di agevolare l utente nell acquisizione della conoscenza relativa ad argomenti specifici nel corso dell interazione con Personaggi Non Giocanti (NPC o Non-Player Characters). In aggiunta, il sistema mette a disposizione un interfaccia per l authoring degli NPC di utilizzo semplice ed immediato, che facilita la manutenzione e che non richiede all autore conoscenze specifiche relative alla NLP (Natural Language Processing o Elaborazione del Linguaggio Naturale) o, in generale, nell ambito della computer science. 3

10 L interesse nei confronti dei Serious Games (SG) da parte della comunità scientifica è crescente [5, 6, 7]. I Serious Games sono applicazioni di realtà virtuale che fanno uso delle medesime tecniche comunicative e dei meccanismi tipici dei videogiochi tradizionali, differenziandosi però da questi ultimi per quanto riguarda lo scopo che non è meramente ludico, bensì educativo. Nel corso degli ultimi anni si è potuto assistere al progressivo affermarsi dei Serious Games per quanto riguarda la formazione e l apprendimento nei contesti più disparati. La ragione per cui si sta affermando la didattica attraverso l impiego di tali applicazioni interattive in realtà simulata è da individuarsi nel conseguente coinvolgimento sperimentato dall utente, al quale viene richiesto di risolvere problemi secondo le dinamiche tipiche dei videogiochi. Un interazione di questo tipo, in cui l utente è tenuto a sperimentare determinati argomenti di studio in modo concreto e pratico e non più semplicemente teorico, implica un apprendimento più profondo attraverso il paradigma comunemente molto apprezzato del learning by doing, che stimola la concentrazione, l attenzione e la memoria. Nei Serious Games l utente è tenuto ad affrontare delle sfide, a risolvere problemi e come conseguenza risulta essere più ricettivo nei confronti del messaggio che si vuole comunicargli. Ci sono numerosi altri vantaggi. La ripetibilità delle esperienze a parità di condizioni iniziali consente all utente di imparare dai propri errori; allo stesso tempo la ripetizione di una sessione di addestramento non ha alcun costo rispetto invece al caso di simulazioni e addestramenti reali. Emerge quindi chiaramente quale sia il grande potenziale didattico dei Serious Game; è quindi comprensibile l attenzione ed essi dedicata da parte di quella componente della comunità scientifica che a livello di ricerca si occupa di studiare i modi per rendere questo tipo di esperienze sempre più simili alla realtà, sia dal punto di vista della simulazione virtuale del mondo reale, sia dal punto di vista dell esperienza che viene percepita dall utente. Lo scopo è quindi di rendere più efficace l apprendimento mediante questo tipo di forma didattica. La particolare tipologia di Serious Games che prendiamo in considerazione nel lavoro in oggetto riguarda le applicazioni in cui risultino essere centrali e di grande rilievo le modalità di interazione umana dell utente con il sistema. Prendiamo perciò in considerazione giochi in cui il compito affidato all utente sia di acquisire conoscenza mediante l interazione con il sistema; al giocatore viene lasciata la libertà di esplorare liberamente lo spazio della conoscenza ( learning space ), senza fornire alcuna 4

11 informazione su come tale spazio sia strutturato. E quindi lampante che la principale preoccupazione di chi fosse incaricato di sviluppare un tale sistema dovrebbe essere di impedire all utente di perdere l orientamento nello spazio della conoscenza, evitando però al contempo di limitarne la libertà di esplorazione, che rappresenta, appunto, uno dei fattori determinanti per mantenere elevati i livelli di attenzione e di coinvolgimento del giocatore. E quindi altrettanto chiaro che, a tal fine, siano le stesse modalità di interazione umana, attraverso una comunicazione in linguaggio naturale, a giocare il ruolo di catalizzatore nel trasferimento della conoscenza dei contenuti, garantendo, da questo punto di vista, un elevato livello di realismo. L interesse in ambito accademico nei confronti di Serious Games caratterizzati da questo tipo di interazione è considerevole ed è dimostrato anche dall elevato numero di pubblicazioni che affrontano specificatamente tali problematiche [1, 2, 5, 7]. I DMS (Dialog Management Systems o Sistemi per la Gestione di Dialoghi) sono sistemi che fanno uso di testo o di immagini per consentire un dialogo in linguaggio naturale con l utente. L utilizzo di Agenti Conversazionali e di DMS si è rivelato promettente in diverse applicazioni, soprattutto nel caso di ambienti virtuali in cui l immedesimazione in situazioni di vita reale risulti centrale, come ad esempio nel caso di applicazioni il cui scopo sia quello di imparare una lingua, esplorare un ambiente [6], interagire con persone di una cultura differente [2] o con persone con comportamenti diversi. Possiamo citare l esempio di Tactical Iraqi [3] che è un videogioco pensato per velocizzare l apprendimento dell utente che studia la lingua araba. E impiegato in campo militare per consentire un rapido dislocamento di soldati in delicate situazioni tattiche. Un altro esempio è dato da Virtual Iraq [3], una simulazione in realtà virtuale il cui scopo è di alleviare gli effetti dei disturbi a seguito di stress post-traumatico, riscontrato in veterani di combattimento. Gli autori affermano che questi mondi in realtà virtuale consentono agli utenti di sviluppare un alfabetizzazione culturale altrimenti mancante. Tecniche analoghe [4], applicate per l addestramento di personale militare statunitense sono state accolte positivamente a seguito delle conoscenze acquisite in campo linguistico e culturale, e successivamente applicate con efficacia. In queste applicazioni, i principali meccanismi che hanno consentito un efficace trasferimento di conoscenze verso l utente si basavano sulla tecnologia dell intelligenza artificiale conversazionale, che ha consentito 5

12 agli utenti di stabilire conversazioni con Personaggi Non Giocanti. Gli utenti si sono trovati a dover assolvere il compito di parlare il linguaggio del personaggio e di adeguare i propri comportamenti alla sua cultura al fine di avere successo nel gioco. Altre applicazioni in cui sono stati impiegati sistemi di gestione del dialogo riguardano lo sviluppo di narrativa interattiva. Un esempio particolarmente emblematico è Façade [8], una storia interattiva, nel corso della quale il giocatore è tenuto ad interagire liberamente con gli NPC in linguaggio naturale. Essi reagiscono agli input dell utente in modo tale da dar vita ad una trama narrativa complessa ed articolata, in cui il finale non è unico e la storia può risolversi in modo imprevedibile. I DMS sono notoriamente complessi nella loro gestione e manutenzione da parte degli autori dei dialoghi, questo fatto può spiegare il motivo per cui questi sistemi non siano utilizzati ampiamente in applicazioni comuni. Possiamo inoltre aggiungere che questi sistemi genericamente non soddisfano sempre i requisiti di base dei Serious Games, i quali, per mantenere sostenuto il ritmo di gioco ed evitare rallentamenti nell avanzamento verso gli obiettivi, prevedono interazioni con scambi di battute brevi e rapide tra l avatar del giocatore e l NPC. Come conseguenza di questo fatto, il lavoro di questa tesi è stato realizzato con l intento di rispettare ben determinate caratteristiche. Ogni NPC incorpora infatti una ben precisa unità di conoscenza; e questo fatto risulta essere plausibile e realistico. Lo scopo dell interazione con gli NPC è di rispondere alle domande dell utente, il quale ha il compito di far emergere dal dialogo la conoscenza specifica di quel NPC mediante le proprie domande. Il contesto in cui è svolto il dialogo deve, inoltre, essere un elemento di rilievo per dedurre la caratterizzazione del personaggio, e di conseguenza per identificare la sua conoscenza specifica. Il sistema deve infine essere facilmente editabile per l autore degli NPC; esso deve ovviamente essere anche semplice da mantenere. Risulta quindi importante garantire che all autore non debba essere richiesta, a tal fine, alcuna conoscenza relativa alla teoria alla base dell elaborazione del linguaggio naturale, né tantomeno devono essere necessarie delle conoscenze specifiche nell ambito della Computer Science. Tali requisiti vincolano, per certi aspetti, le funzionalità del sistema finale, il quale, quindi, non espone possibilità di interazione di tipo generico con il sistema (il sistema, cioè, non chiacchiera con l utente). Ciò è tuttavia in accordo con l obiettivo del progetto, che è esattamente quello di stabilire un tipo di interazione ben preciso, che preveda dialoghi 6

13 brevi e concisi, attraverso i quali l utente possa ottenere quegli indizi necessari ad ampliare il proprio bagaglio di conoscenze con quanto immagazzinato nella memoria dell NPC. La tipologia di dialogo che prende forma da questa descrizione è d altra parte in linea con i meccanismi di gioco tipici dei Serious Games o più in generale dei videogiochi. I videogiochi infatti richiedono che le interazioni con gli NPC siano limitate; così come risulta essere al contempo auspicabile che i dialoghi testuali o parlati siano brevi. I videogiochi e di conseguenza anche i Serious Games, non vogliono essere, in generale, romanzi interattivi. Bisogna infatti far fronte al fatto che la lettura dei testi in un videogioco venga solitamente percepita come un momento noioso e che quindi andrebbe evitato qualora non fosse strettamente necessario. I giocatori sono tipicamente mossi dal bisogno di progredire rapidamente nel gioco e ottenere risultati in termini di punteggio; la lettura invece è solitamente percepita come un fattore che rallenta il corso del gioco. D altra parte, però, non si può fare a meno di ricorrere a dialoghi, siano essi solo testuali o anche parlati, nel caso in cui i meccanismi di gioco si basino, per l appunto, sull interazione tra il giocatore ed il sistema, che è il caso che stiamo prendendo in considerazione nel lavoro in oggetto. Bisogna pertanto dare maggior rilievo nell applicazione ad aspetti quali l interattività del dialogo, che implica quindi il coinvolgimento del giocatore, e l integrazione di tale sistema di dialogo nei meccanismi che regolano gli avanzamenti nei progressi del gioco e nel punteggio. In sostanza, il concetto da tenere in maggior considerazione nello sviluppo di un sistema di questo tipo, deve riguardare il fatto che il nostro obiettivo debba essere quello di creare dialoghi brevi e concisi, finalizzati all estrazione della conoscenza specifica in possesso dell NPC. 7

14 Capitolo 1 Stato dell arte e lavori precedenti Da quanto emerge dallo scenario descritto nell introduzione risulta evidente come l interazione in linguaggio naturale tra l utente ed il sistema rappresenti un importante opportunità per arricchire le esperienze riscontrabili nell utilizzo di giochi, Serious Games o simulazioni. L utilizzo di sistemi di dialogo in linguaggio naturale è già stato sperimentato con successo in diverse applicazioni, e la diffusione di giochi che facciano uso appieno delle tecniche di NLP sembra essere ormai una questione di tempo [9]. Un elemento di riflessione, sotto questo aspetto, può riguardare il mercato dei videogiochi e delle console. Nel corso degli ultimi anni si è potuta osservare la spinta da pa rte dell industria videoludica verso meccanismi che presupponessero interazioni progressivamente più vicine all interazione umana. L intento perseguito è di ridurre drasticamente, se non di eliminare del tutto, l interazione tradizionale basata su pulsanti o controller, e di rendere invece l esperienza il più naturale possibile per l utente. Il commercio di dispositivi di controllo, con i quali il giocatore possa sperimentare un interazione fisica, sta spingendo il mondo dei videogiochi in questa direzione. Per il momento pare essersi affermata con successo un interazione basata prevalentemente sul riconoscimento di movimenti e gestualità, ma si stanno aprendo degli spazi per l inserimento in questo mercato di innovazioni tecnologiche anche per quanto riguarda l integrazione del linguaggio nei videogiochi. Un esempio a sostegno di questa affermazione può essere individuato nelle funzionalità del dispositivo Kinect di Microsoft. Esso è prevalentemente orientato al riconoscimento dei movimenti del giocatore, ma è 8

15 anche dotato di un sistema di speech recognition, che riconosce i comandi vocali impartiti dall utente. L identificazione riguarda semplicemente un insieme di istruzioni codificate, senza l aggiunta di un analisi interpretativa di frasi complesse ed articolate; risulta tuttavia un fatto degno di nota per intuire come l introduzione di questa caratteristica manifesti l intento di ridurre il gap tra uomo e sistema informatico a vantaggio di un interazione che risulti sempre più naturale. Per quanto riguarda sistemi che implementino il riconoscimento e l elaborazione del linguaggio naturale, possiamo portare alcuni esempi di applicazioni che sono particolarmente emblematiche nel raffigurare l attuale stato dell arte in questa area di ricerca. Possiamo infatti citare il linguaggio AIML (Artificial Intelligence Mark-Up Language), il quale è uno strumento di authoring basato sul linguaggio XML. Esso implementa un complesso sistema di regole orientate alla definizione di pattern che rappresentano i modelli per possibili input dell utente che il sistema deve riconoscere per fornire una risposta adeguata, implementata a sua volta come template. I template possono, inoltre, fare riferimento anche ad altri pattern e tale meccanismo viene utilizzato per fornire la stessa risposta nel caso di domande diverse ma con lo stesso significato. I pattern inoltre possono essere definiti ricorrendo all utilizzo di metacaratteri, che consentono di introdurre nelle risposte parole non note a priori provenienti dalle domande, come ad esempio il nome dell utente. Considerando quindi questi fattori e considerando inoltre che si tratta di un linguaggio di livello relativamente basso, è evidente che la manutenzione del sistema risulti essere di utilizzo tutt altro che semplice per la definizione di personaggi con dialoghi articolati. A questo proposito possiamo infatti citare il caso di A.L.I.C.E. [10], un applicazione di chatterbot (cioè un Agente Conversazionale in grado di chiacchierare con l utente) basata sul linguaggio AIML. Gli ottimi risultati riconosciuti a questo programma sono testimoniati dal fatto che il software ha vinto per addirittura tre anni il premio Loebner, che è una competizione annuale in cui vengono esaminati diversi bot sottoponendoli al test di Turing. Ricordiamo che il test di Turing sancisce un criterio per stabilire il livello di un sistema di intelligenza artificiale; semplificando, il test di Turing risulta essere superato se un operatore umano non è in grado di stabilire se stia interagendo con un altro operatore umano oppure con un sistema di intelligenza artificiale. Il software A.L.I.C.E. ha potuto ottenere tali riconoscimenti a seguito dell attenta programmazione del 9

16 complesso sistema di regole con cui è stato descritto. E chiaro che una quantità così elevata di informazioni, tenute in considerazione anche le interdipendenze tra pattern differenti, è senza dubbio difficile da gestire per l autore nel caso fosse necessario estendere o modificare la knowledge base del sistema, in particolar modo se egli fosse carente delle conoscenze adeguate nel campo dell informatica. Un secondo esempio, molto significativo di applicazioni che implementino un DMS, può essere individuato nel precedentemente citato Façade, che è una storia interattiva in cui si comunica con due NPC dotati di un sistema di intelligenza artificiale orientata allo sviluppo del dialogo e della trama. Il giocatore impersona un ruolo, che lo vede ospite per una serata di una coppia sposata di sua conoscenza, cioè i due Personaggi Non Giocanti. L utente è quindi tenuto ad affrontare la crisi matrimoniale dei due amici, interagendo con loro liberamente, esplorando l ambiente e dialogando con loro in linguaggio naturale. La risoluzione del conflitto è imprevedibile e la conversazione può diramarsi fino a sfociare in diverse situazioni finali, che dipendono da come il giocatore interagisce con i due personaggi. Come nel caso precedente di A.L.I.C.E., anche questo gioco è stato realizzato implementando un complesso sistema di regole, che constano di 800 differenti template. La gestione dell interazione e dei dialoghi di Façade non ha come scopo la comprensione piena di quanto scritto dal giocatore. L intento è bensì di mantenere scorrevole lo svolgersi della narrazione, per cui anche in caso di mancata comprensione dell input dell utente, il flusso narrativo non viene interrotto e la storia viene forzata dal sistema a procedere comunque in qualche maniera. In effetti, gli input del giocatore, più che riconosciuti, nel senso della comprensione, vengono invece mappati in scene di discorso. Il sistema inoltre analizza le frasi dell utente mediante l applicazione di operatori booleani quali l OR (impiegato per verificare la presenza di insiemi di parole) o il NOT (per verificare l assenza di determinate parole). Façade inoltre fa uso del database semantico-lessicale WordNet per quanto concerne l identificazione di sinonimi. Citiamo infine Chatscript [11], che è anch esso un linguaggio per la definizione di Agenti Conversazionali. Con esso sono stati programmati i due chatterbot Suzette che ha vinto il premio Loebner nell edizione del 2010 della competizione [9] e Rosette che ha vinto il promeio Loebner nel Chatscript è stato progettato per favorire l estrazione del significato dalle frasi e fornisce una sintassi che può essere implementata facilmente, rafforzando quindi l aspetto di manutenzione del codice. Chatscript introduce nuovi tipi di 10

17 regole per la comprensione di schemi di linguaggio, tenendo in considerazione anche la punteggiatura. Esso inoltre fa uso di un sistema di raggruppamento dei contenuti per argomenti ( topic ), ogni topic racchiude un insieme complesso di regole che sono specifiche per gestire l interazione relativa a quel preciso argomento. Questo fatto facilita notevolmente l authoring rispetto ad AIML; basti confrontare le 120,000 regole di A.L.I.C.E. con il numero di regole che definiscono Suzette che è pari a 15,000 circa, mentre il più recente Rosette consta di poco meno di 10,000 regole. Le parole dell utente possono essere inoltre catturate ed utilizzate nelle risposte del bot facendo uso del sistema dei metacaratteri; ma da questo punto di vista si differenza in modo sostanziale da AIML in quanto è possibile definire delle specifiche regole che riguardano ad esempio il numero massimo di parole di cui può constare il metacarattere al fine di garantire una corrispondenza più precisa con il pattern. E contemplato poi, per i metacaratteri, un meccanismo di generalizzazione che si basa sulle ontologie del database semantico - lessicale WordNet, consentendo perciò la costruzione di schemi di significato più complessi. In aggiunta agli operatori booleani di AND, OR e NOT, il sistema consente anche di specificare se una o più parole debbano essere poste all inizio o alla fine di una frase oppure se possano essere presentate secondo un ordine qualsiasi. E possibile anche definire variabili allo scopo di registrare dati dagli input dell utente. Essendo infine Chatscript un linguaggio di scripting completo, esso consente anche la definizione di funzioni e di codice di controllo. Gli esempi riferiti rappresentano al meglio lo stato dell arte dei sistemi di gestione del linguaggio. Essi però risultano essere validi soprattutto per quanto riguarda la generazione di dialoghi realistico e general-purpose. Lo scopo di questo lavoro è invece, come abbiamo già avuto modo di affermare, quello di sviluppare dialoghi il cui scopo sia di fornire informazioni al giocatore limitatamente ad una particolare knowledge base. E stato pertanto ritenuto appropriato, a tal fine, esplorare altre tecniche, più caratteristiche dell ambito dell Information Retrieval (IR). Possiamo considerare di strutturare il nostro sistema in modo tale da risolvere il seguente problema: ogni Agente Conversazionale incorpora una ben precisa knowledge base, e ha un insieme di possibili risposte ( template ) ad altrettante domande che l utente potrebbe porre ( pattern ). Lo scopo del sistema dovrebbe quindi essere di catalogare le risposte 11

18 contenute nella memoria dell NPC attribuendo ad ognuna di esse un punteggio sulla base della pertinenza con la domanda posta dal giocatore. Il nostro problema può anche essere pensato in termini di Text Retrieval (TR). [12] fornisce una valida panoramica sulle tecniche di Text Retrieval e di NLP. Un problema di Text Retrieval rappresenta un caso particolare di un problema di Information Retrieval (IR), in cui il sistema mette in relazione una query dell utente con un insieme di oggetti appartenenti ad una collezione, e restituisce l insieme degli oggetti che soddisfano la query dell utente. Vi sono diversi approcci secondo i quali affrontare e risolvere un problema di TR; l approccio classico riguarda principalmente la valutazione della similarità tra due documenti mediante l applicazione dell operazione di prodotto scalare. L approccio probabilistico, invece, si basa sulla classifica dei documenti sulla base della loro probabilità di appartenere alla classe dei documenti rilevanti rispetto alla query dell utente. Un approccio più recente consiste nel Language Modeling (LM) [13], in cui si ordinano i documenti sulla base della probabilità di ottenere la query dell utente come estrazione di un campione generato casualmente dal linguaggio con cui è stato creato il documento. Nel terzo capitolo di questa trattazione verrà affrontato nuovamente e con il livello di dettaglio dovuto, il discorso relativo ai metodi secondo i quali affrontare un problema di Text Retrieval. Questo tipo di problema è stato infatti preso in considerazione al fine della determinazione dell algoritmo implementato del sistema; in effetti già da lungo tempo si è ritenuto che rafforzare il Text Retrieval con tecniche di NLP potesse portare benefici, nonostante però i risultati registrati fin ora non abbiano dimostrato di essere significativi. [14] Tra le principali problematiche relative a questo tipo di problemi, l analisi sintattica, è generalmente considerata importante allo scopo dell interpretazione. Il parsing, inteso come l identificazione della sintassi di una frase, si è rivelato, da questo punto di vista utile in svariati casi pratici [14]. Come uno dei principali riferimenti per il parsing statistico possiamo citare il corpus (cioè una collezione di testi) Penn Treebank [15], che consta di due milioni di testi annotati manualmente, in cui è evidenziato il parsing delle frasi. Un altro aspetto legato all Elaborazione del Linguaggio Naturale che può influire positivamente sulla risoluzione di un problema di Text Retrieval, riguarda l analisi lessicale [16]. Le relazioni lessicali sono infatti i fattori che maggiormente generano ambiguità nel testo [17]. A questo proposito una soluzione spesso adottata, prevede l utilizzo del database semantico - lessicale di WordNet, che è uno dei più conosciuti per la 12

19 lingua inglese. Esso raggruppa le parole in synset, che sono raggruppamenti di sinonimi e tiene memoria delle relazioni semantiche tra questi raggruppamenti. 13

Progetto e realizzazione di un sistema per la generazione di dialoghi in linguaggio naturale

Progetto e realizzazione di un sistema per la generazione di dialoghi in linguaggio naturale Progetto e realizzazione di un sistema per la generazione di dialoghi in linguaggio naturale Candidato: Daniele Mori Relatore: Chiar.mo Prof. Alessandro De Gloria Obiettivo Utilizzare tecniche NLP in contesti

Dettagli

Introduzione alla Linguistica Computazionale

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

Dettagli

Corso Sviluppatore servizi per il Web (WCF) Lezione 01

Corso Sviluppatore servizi per il Web (WCF) Lezione 01 01 Introduzione Introduzione alla tecnologia WCF Premessa Il corso su WCF di cui state leggendo la prima lezione, vi guiderà alla scoperta di questa nuova tecnologia introdotta da Microsoft per venire

Dettagli

Manuale di Integrazione IdM-RAS

Manuale di Integrazione IdM-RAS IdM-RAS Data: 30/11/09 File: Manuale di integrazione IdM-RAS.doc Versione: Redazione: Sardegna IT IdM-RAS Sommario 1 Introduzione... 3 2 Architettura del sistema... 4 2.1 Service Provider... 4 2.2 Local

Dettagli

Informatica Documentale

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

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Laurea Magistrale in Ingegneria Informatica Tesi di Laurea Sistema informativo per la gestione dei processi

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

È possibile caratterizzare un percorso formativo per gli studenti sulla base di due aree di specializzazione (indirizzi):

È possibile caratterizzare un percorso formativo per gli studenti sulla base di due aree di specializzazione (indirizzi): Percorsi per la Laurea Magistrale in Informatica Percorso Video Game Docenti di riferimento: Dario Maggiorini, Laura Anna Ripamonti Sede di erogazione: Milano LIKE THIS! Obiettivi generali Il mercato dei

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

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

Dettagli

Percorso Video Game. Percorsi per la Laurea Magistrale in Informatica. Obiettivi generali. Sbocchi professionali

Percorso Video Game. Percorsi per la Laurea Magistrale in Informatica. Obiettivi generali. Sbocchi professionali Percorsi per la Laurea Magistrale in Informatica Percorso Video Game Docenti di riferimento: Dr. Dario Maggiorini, Dr. Laura Anna Ripamonti Sede di erogazione: Milano Obiettivi generali Il mercato dei

Dettagli

Single Sign On sul web

Single Sign On sul web Single Sign On sul web Abstract Un Sigle Sign On (SSO) è un sistema di autenticazione centralizzata che consente a un utente di fornire le proprie credenziali una sola volta e di accedere a molteplici

Dettagli

2.1 Introduzione ai linguaggi di marcatura

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

Dettagli

Co.El.Da. Software S.r.l. Coelda.Ne Caratteristiche tecniche

Co.El.Da. Software S.r.l.  Coelda.Ne Caratteristiche tecniche Co..El. Da. Software S..r.l.. Coelda.Net Caratteristiche tecniche Co.El.Da. Software S.r.l.. Via Villini Svizzeri, Dir. D Gullì n. 33 89100 Reggio Calabria Tel. 0965/920584 Faxx 0965/920900 sito web: www.coelda.

Dettagli

Il clustering. Sistemi Distribuiti 2002/2003

Il clustering. Sistemi Distribuiti 2002/2003 Il clustering Sistemi Distribuiti 2002/2003 Introduzione In termini generali, un cluster è un gruppo di sistemi indipendenti che funzionano come un sistema unico Un client interagisce con un cluster come

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

Introduzione al Model-View-Controller (MVC)

Introduzione al Model-View-Controller (MVC) Introduzione al Model-View-Controller (MVC) Maurizio Cozzetto 9 Luglio 2009 Indice 1 Model-View-Controller 1 1.1 Definizione.................................................. 1 1.2 Soluzione...................................................

Dettagli

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

Dettagli

Universal Resource Identifier (URI) Autore slide: Fabio Vitali

Universal Resource Identifier (URI) Autore slide: Fabio Vitali Universal Resource Identifier (URI) Autore slide: Fabio Vitali 1 Introduzione Esaminiamo: Gli Universal Resource Identifier (URI) 2 URI Gli URI (Universal Resource Identifier) sono una sintassi usata in

Dettagli

Motore di riempimento DB (generatore dati per simulazione)

Motore di riempimento DB (generatore dati per simulazione) SISTEMI DISTRIBUITI prof. S.Pizzutilo Motore di riempimento DB (generatore dati per simulazione) Studente: Alessandro Balestrucci 617937 Corso di Laurea: Informatica Magistrale Dipartimento di Informatica

Dettagli

Piattaforma ilearn di Hiteco. Presentazione Piattaforma ilearn

Piattaforma ilearn di Hiteco. Presentazione Piattaforma ilearn Presentazione Piattaforma ilearn 1 Sommario 1. Introduzione alla Piattaforma Hiteco ilearn...3 1.1. Che cos è...3 1.2. A chi è rivolta...4 1.3. Vantaggi nell utilizzo...4 2. Caratteristiche della Piattaforma

Dettagli

DESIGN PATTERN ESERCITAZIONE UML E DP INGEGNERIA DEL SOFTWARE. A quali pattern si riferiscono i tre schemi?

DESIGN PATTERN ESERCITAZIONE UML E DP INGEGNERIA DEL SOFTWARE. A quali pattern si riferiscono i tre schemi? ESERCITAZIONE UML E DP INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it DESIGN PATTERN A quali pattern

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

ACRL Association of College and Research Libraries

ACRL Association of College and Research Libraries ACRL Association of College and Research Libraries Standard delle competenze per il possesso dell informazione (information literacy) nell educazione superiore Standard, indicatori di performance, obiettivi

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni

ProgettAzione V anno Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Unità 3 - Architetture per applicazioni web Lezione: Esempio sviluppo applicazioni Web service Hello world con Visual Studio 2012 Si tratta di un semplice esempio di web service, infatti come tutti I programmi

Dettagli

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A.

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A. Università di Venezia Corso di Laurea in Informatica Laboratorio di Informatica Applicata Introduzione all IT Governance Lezione 4 Marco Fusaro KPMG S.p.A. 1 CobiT Obiettivi del CobiT (Control Objectives

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

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

Dettagli

Internet Architettura del www

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

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

Base Dati Introduzione

Base Dati Introduzione Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria

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

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate Mystic Pizza Gestione Pizzeria Scheda di Progetto Version 1.0 Data 19/03/2007 Indice degli argomenti 1. Introduzione 3 a. Scenario

Dettagli

NOSTROMO. Piattaforma WEB Based per gestione completa di CALL CENTER

NOSTROMO. Piattaforma WEB Based per gestione completa di CALL CENTER NOSTROMO Piattaforma WEB Based per gestione completa di CALL CENTER CARATTERISTICHE DELLA PIATTAFORMA La piattaforma sarà in grado di assolvere a tutte le funzioni di Call Center essendo in grado di offrire

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

Master Quiz. Matteo Zignani. 18 agosto 2014

Master Quiz. Matteo Zignani. 18 agosto 2014 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Master Quiz Matteo Zignani 18 agosto 2014 1 PRESENTAZIONE DEL PROBLEMA Lo studente

Dettagli

Informatica per le discipline umanistiche 2 lezione 12

Informatica per le discipline umanistiche 2 lezione 12 Informatica per le discipline umanistiche 2 lezione 12 Nella lezione precedente: In realtà non tutto il data mining è dettato dagli interessi economici (commercial) data mining Abbiamo visto risvolti commerciali

Dettagli

GUIDA ALLA PREPARAZIONE DEGLI ESAMI

GUIDA ALLA PREPARAZIONE DEGLI ESAMI Laurea in Lingue e cultura per l impresa (a. a. 2005/2006) Corso di Informatica GUIDA ALLA PREPARAZIONE DEGLI ESAMI PROGRAMMA CFU 6 Corso di laurea / anno DU I o II anno, CL4 II anno Professore Roberto

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

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

Dettagli

LABORATORIO DI TELEMATICA

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

Dettagli

catalogo corsi di formazione 2015/2016

catalogo corsi di formazione 2015/2016 L offerta formativa inserita in questo catalogo è stata suddivisa in quattro sezioni tematiche che raggruppano i corsi di formazione sulla base degli argomenti trattati. Organizzazione, progettazione e

Dettagli

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

Il progetto di ricerca Ellade

Il progetto di ricerca Ellade Il progetto di ricerca Ellade Ellade ELectronic Live ADaptive Learning Gruppo di lavoro Università degli Studi della Calabria, Dipartimento di Matematica Università degli Studi Mediterranea di Reggio Calabria,

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

WEBsfa: l automazione della forza vendita via Web

WEBsfa: l automazione della forza vendita via Web WEBsfa: l automazione della forza vendita via Web White Paper 1 Gennaio 2005 White Paper Pag. 1 1/1/2005 L automazione della Forza Vendita Le aziende commerciali che che sviluppano e alimentano il proprio

Dettagli

Dalla tastiera alla Smart City, come evolvono tecnologie e servizi

Dalla tastiera alla Smart City, come evolvono tecnologie e servizi Dalla tastiera alla Smart City, come evolvono tecnologie e servizi A. Rossi, P.L. Emiliani Seconda Parte 2012-30 anni di Ausilioteca GIORNATA DI STUDIO La proposta di tecnologie assistive: fattori di qualità

Dettagli

Introduzione. Perché è stato scritto questo libro

Introduzione. Perché è stato scritto questo libro Introduzione Perché è stato scritto questo libro Sul mercato sono presenti molti libri introduttivi a Visual C# 2005, tuttavia l autore ha deciso di scrivere il presente volume perché è convinto che possa

Dettagli

Descrizione dettagliata dell ambiente Access 2007

Descrizione dettagliata dell ambiente Access 2007 01 Descrizione dettagliata dell ambiente Access 2007 Premessa Premettiamo da subito che Microsoft Access risulta essere uno degli applicativi della famiglia di Microsoft Office con una curva di apprendimento

Dettagli

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali CL AS SE INFORMATICA 6(3) 6(4) - 6(4) SISTEMI E RETI 4(2) 4(2) 4(2) TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI COMPETENZE 3 Essere in grado di sviluppare semplici applicazioni

Dettagli

Università degli studi di Messina

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

Dettagli

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

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

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

Dettagli

Dal f lipped all EAS

Dal f lipped all EAS Dal flipped all EAS Lo sviluppo della tecnologia e i piani nazionali permettono oggi di portare con sempre maggior costanza e diffusione le TIC all interno della classe, il luogo per definizione deputato

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE I DATABASE o basi di dati possono essere definiti come una collezione di dati gestita dai DBMS. Tali basi di dati devono possedere determinati requisiti, definiti come specifiche, necessarie per il processo

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Introduzione all elaborazione di database nel Web

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

Dettagli

Linguaggi & Tecnologie Multimediali: TV interattiva e mobile TV

Linguaggi & Tecnologie Multimediali: TV interattiva e mobile TV Linguaggi & Tecnologie Multimediali: TV interattiva e mobile TV Realizzazione di applicazioni interattive multichannel (SMS, MMS, WAP) attraverso la piattaforma Pecan. Tesi di fine corso di Marco Mura

Dettagli

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015 ASSE DISCIPLINA DOCENTE MATEMATICO INFORMATICA Cattani Barbara monoennio CLASSE: quinta CORSO D SEZIONE LICEO SCIENZE APPLICATE

Dettagli

Come funziona internet

Come funziona internet Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa

Dettagli

prof. Andrea Messeri docente Università degli Studi di Siena

prof. Andrea Messeri docente Università degli Studi di Siena prof. Andrea Messeri docente Università degli Studi di Siena UNIVERSITÀ, SCUOLE E ORIENTAMENTO IN ITALIA intervento al convegno Essenzialità dell Orientamento per il Futuro dei Giovani, Orvieto 9 11 dicembre

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Il test di Turing. Seminario. Ester Dalvit. 22 marzo 2005. Il test di Turing p. 1/1

Il test di Turing. Seminario. Ester Dalvit. 22 marzo 2005. Il test di Turing p. 1/1 Il test di Turing Seminario Ester Dalvit 22 marzo 2005 Il test di Turing p. 1/1 Intelligenza artificiale Una macchina compie in modo efficiente e veloce attività come eseguire calcoli aritmetici Il test

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

PROGRAMMAZIONE ANUALE DEL DIPARTIMENTO DI INFORMATICA E TELECOMUNICAZIONI ISTITUTO TECNICO a.s. 2015-16

PROGRAMMAZIONE ANUALE DEL DIPARTIMENTO DI INFORMATICA E TELECOMUNICAZIONI ISTITUTO TECNICO a.s. 2015-16 PROGRAMMAZIONE ANUALE DEL DIPARTIMENTO DI INFORMATICA E TELECOMUNICAZIONI ISTITUTO TECNICO a.s. 2015-16 SECONDO BIENNIO Disciplina: INFORMATICA La disciplina Informatica concorre a far conseguire allo

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

PRIVACY PERCHE QUESTO AVVISO IL TITOLARE DEL TRATTAMENTO LUOGO DI TRATTAMENTO DEI DATI TIPI DI DATI TRATTATI

PRIVACY PERCHE QUESTO AVVISO IL TITOLARE DEL TRATTAMENTO LUOGO DI TRATTAMENTO DEI DATI TIPI DI DATI TRATTATI PRIVACY PERCHE QUESTO AVVISO In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano. Si tratta di un informativa

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

Web Service Architecture

Web Service Architecture Giuseppe Della Penna Università degli Studi di L Aquila dellapenna@di.univaq.it http://dellapenna.univaq.it Engineering IgTechnology Info92 Maggioli Informatica Micron Technology Neta Nous Informatica

Dettagli

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c)

DESIGN PATTERN ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE. La soluzione corretta è la c) DESIGN PATTERN Barrare con una X la lettera del diagramma delle classi che fra i seguenti rappresenta in modo corretto il design pattern architetturale Model View Controller (MVC) ESERCITAZIONE PREPARAZIONE

Dettagli

Introduzione alle basi di dati (prima parte)

Introduzione alle basi di dati (prima parte) Introduzione alle basi di dati (prima parte) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2007/2008

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI

Dettagli

Appendice D. D. Web Services

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

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

Università della Svizzera italiana

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

Dettagli

Moodle 2. comandi avanzati. manuale per il docente. Albano Squizzato ingsquizzato@libero.it Paolo Macchi paolo.macchi@libero.it

Moodle 2. comandi avanzati. manuale per il docente. Albano Squizzato ingsquizzato@libero.it Paolo Macchi paolo.macchi@libero.it Albano Squizzato ingsquizzato@libero.it Paolo Macchi paolo.macchi@libero.it Moodle 2 comandi avanzati manuale per il docente Generazione Web 2013-14 - G9 Il database (creazione) The database is veritable

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Il funzionamento delle reti

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

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto INTRODUZIONE AI SISTEMI DI BASI

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

MANUALE UTENTE DELLA BIBLIOTECA VIRTUALE

MANUALE UTENTE DELLA BIBLIOTECA VIRTUALE MANUALE UTENTE DELLA BIBLIOTECA VIRTUALE Il sistema di ricerca della biblioteca virtuale permette di accedere in maniera rapida ai materiali didattici di interesse degli studenti presenti all interno del

Dettagli

BASI DI DATI I Lezione n 2 25/09/2009

BASI DI DATI I Lezione n 2 25/09/2009 BASI DI DATI I Lezione n 2 25/09/2009 Fumarola Roberta, Galeano Antonio Andrea Linguaggio di modellazione Insieme di simboli e regole atto a descrivere la struttura e le funzionalità di un Database prima

Dettagli

INTERNET EXPLORER Breve manuale d uso

INTERNET EXPLORER Breve manuale d uso INTERNET EXPLORER Breve manuale d uso INDICE INTRODUZIONE... 3 COME IMPOSTARE LA PAGINA INIZIALE... 3 LA WORK AREA... 3 LE VOCI DI MENU... 5 IL MENU FILE... 5 IL MENU MODIFICA... 6 IL MENU VISUALIZZA...

Dettagli

Progetto Febbraio 2013 - Appello 1: Diffusione di tweets sul grafo di Twitter

Progetto Febbraio 2013 - Appello 1: Diffusione di tweets sul grafo di Twitter UNIVERSITÀ DEGLI STUDI DI MILANO, DIPARTIMENTO DI INFORMATICA LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE CORSO DI RETI DI CALCOLATORI ANNO ACCADEMICO 2011/2012 Progetto Febbraio 2013 - Appello 1: Diffusione

Dettagli

2009. STR S.p.A. u.s. Tutti i diritti riservati

2009. STR S.p.A. u.s. Tutti i diritti riservati 2009. STR S.p.A. u.s. Tutti i diritti riservati Sommario COME INSTALLARE STR VISION CPM... 3 Concetti base dell installazione Azienda... 4 Avvio installazione... 4 Scelta del tipo Installazione... 5 INSTALLAZIONE

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale Esperienze di Apprendimento Automatico per il corso di lippi@dsi.unifi.it Dipartimento Sistemi e Informatica Università di Firenze Dipartimento Ingegneria dell Informazione Università di Siena Introduzione

Dettagli

catalogo corsi di formazione 2014/2015

catalogo corsi di formazione 2014/2015 L offerta formativa inserita in questo catalogo è stata suddivisa in quattro sezioni tematiche che raggruppano i corsi di formazione sulla base degli argomenti trattati. Organizzazione, progettazione e

Dettagli

Messaggi volatili. Matteo Zignani. 10 gennaio 2015

Messaggi volatili. Matteo Zignani. 10 gennaio 2015 UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE PROGETTO LABORATORIO DI RETI DI CALCOLATORI Messaggi volatili Matteo Zignani 10 gennaio 2015 1 PRESENTAZIONE DEL PROBLEMA Lo studente

Dettagli

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira

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

Dettagli

DD - Design Document

DD - Design Document Politecnico di Milano Progetto di Ingegneria del Software 2 DD - Design Document Autori: Claudia Foglieni Giovanni Matteo Fumarola Massimo Maggi Professori: Elisabetta Di Nitto Raffaela Mirandola 1 gennaio

Dettagli

Metodologia Classica di Progettazione delle Basi di Dati

Metodologia Classica di Progettazione delle Basi di Dati Metodologia Classica di Progettazione delle Basi di Dati Metodologia DB 1 Due Situazioni Estreme Realtà Descritta da un documento testuale che rappresenta un insieme di requisiti del software La maggiore

Dettagli

Universita di Pisa. Sistema di back end di un porto

Universita di Pisa. Sistema di back end di un porto Universita di Pisa Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica per la Gestione d Azienda Progetto di Tecnologie Informatiche per la Gestione Aziendale Sistema di back end di un porto

Dettagli

Cronoprogramma e Quadro Economico

Cronoprogramma e Quadro Economico Tutela della Biodiversità nel parco Regionale dei Castelli Romani Cronoprogramma e Quadro Economico 1 Indice generale 1 PREMESSA... 3 2 DESCRIZIONE DELLE COMPONENTI DEL PROGETTO PER LA CONSERVAZIONE DELLA

Dettagli