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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

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

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

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

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

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

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

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

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

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

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

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

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

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

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

di Giuseppe Fiorentino fiorent@dm.unipi.it Introduzione

di Giuseppe Fiorentino fiorent@dm.unipi.it Introduzione di Giuseppe Fiorentino fiorent@dm.unipi.it Introduzione Mini Access Test Manager è una versione ridotta del sistema di autoapprendimento Access Test Manager descritto nel testo I sistemi Autore PSWelcome

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

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

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

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

Configuration of a distributed system as emerging behavior of autonomous agents

Configuration of a distributed system as emerging behavior of autonomous agents Configuration of a distributed system as emerging behavior of autonomous agents Configuration of a distributed system as emerging behavior of autonomous agents : Questo documento illustra la strategia

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

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

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

Software a supporto della Gestione amministrativa dello Sportello Unico Versione 2.1

Software a supporto della Gestione amministrativa dello Sportello Unico Versione 2.1 Pag. 1 di 9 Software a supporto della Gestione amministrativa dello Sportello Unico Versione 2.1 Interventi sul software RE V. REDAZIONE VERIFICHE ED APPROVAZIONI CONTROLLO APPROVAZIONE AUTORIZZAZIONE

Dettagli

Progetto per la valutazione dei comportamenti organizzativi del personale del comparto in Arpa Repertorio

Progetto per la valutazione dei comportamenti organizzativi del personale del comparto in Arpa Repertorio Allegato 1 REVISIONE DEL SISTEMA DI VALUTAZIONE DEL COMPARTO Progetto per la valutazione dei comportamenti organizzativi del personale del comparto in Arpa Repertorio SINTESI DEI COMPORTAMENTI ORGANIZZATIVI

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

Your business to the next level

Your business to the next level Your business to the next level 1 2 Your business to the next level Soluzioni B2B per le costruzioni e il Real Estate New way of working 3 01 02 03 04 BIM Cloud Multi-Platform SaaS La rivoluzione digitale

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

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

BARRA LATERALE AD APERTURA AUTOMATICA...

BARRA LATERALE AD APERTURA AUTOMATICA... INDICE 1) SOMMARIO... 1 2) PRIMO AVVIO... 1 3) BARRA LATERALE AD APERTURA AUTOMATICA... 2 4) DATI AZIENDALI... 3 5) CONFIGURAZIONE DEL PROGRAMMA... 4 6) ARCHIVIO CLIENTI E FORNITORI... 5 7) CREAZIONE PREVENTIVO...

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

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

Convegno di studio La biometria entra nell e-government. Le attività del CNIPA nel campo della biometria: le Linee guida

Convegno di studio La biometria entra nell e-government. Le attività del CNIPA nel campo della biometria: le Linee guida Convegno di studio La biometria entra nell e-government Le attività del CNIPA nel campo della biometria: le Linee guida Alessandro Alessandroni Cnipa alessandroni@cnipa.it Alessandro Alessandroni è Responsabile

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

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

Questua: aste online social

Questua: aste online social UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE RETI DI CALCOLATORI Questua: aste online social Matteo Zignani 14 giugno 2013 1 PRESENTAZIONE DEL PROBLEMA Lo studente deve sviluppare

Dettagli

Rapporto Tecnico su installazione del dimostratore

Rapporto Tecnico su installazione del dimostratore Rapporto Tecnico su installazione del dimostratore Indice 1 Introduzione 2 2 Installazione 3 2.1 Requisiti.............................. 3 2.2 Installazione........................... 3 3 Inserimento e/o

Dettagli

02 L Informatica oggi. Dott.ssa Ramona Congiu

02 L Informatica oggi. Dott.ssa Ramona Congiu 02 L Informatica oggi Dott.ssa Ramona Congiu 1 Introduzione all Informatica Dott.ssa Ramona Congiu 2 Che cos è l Informatica? Con il termine Informatica si indica l insieme dei processi e delle tecnologie

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

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

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

PROGRAMMAZIONE EDUCATIVA PER GLI ALUNNI DIVERSAMENTE ABILI ANNO SCOLASTICO 2014/2015

PROGRAMMAZIONE EDUCATIVA PER GLI ALUNNI DIVERSAMENTE ABILI ANNO SCOLASTICO 2014/2015 PROGRAMMAZIONE EDUCATIVA PER GLI ALUNNI DIVERSAMENTE ABILI ANNO SCOLASTICO 2014/2015 La programmazione educativa, redatta dal Presidente del Gruppo H e stilata dalla Docente F/S per le attività a sostegno

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

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

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

Titolo dell'attività (max 255 caratteri, spazi compresi) Sintesi dell'attività (max 1000 caratteri, spazi compresi)

Titolo dell'attività (max 255 caratteri, spazi compresi) Sintesi dell'attività (max 1000 caratteri, spazi compresi) RIFLESSIONE SULLA PROGETTAZIONE Titolo dell'attività (max 255 caratteri, spazi compresi) Fare Scienze con un approccio innovativo: l Apparato Circolatorio. Sintesi dell'attività (max 1000 caratteri, spazi

Dettagli

Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB

Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB Brochure prodotto Infrastrutture di ricarica per veicoli elettrici Servizi di connessione ABB Servizi di connessione Prodotti a supporto del business Per sfruttare al meglio una rete di ricarica per veicoli

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

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

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

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE

Dettagli

Il consulente aziendale di Richard Newton, FrancoAngeli 2012

Il consulente aziendale di Richard Newton, FrancoAngeli 2012 Introduzione Chiedete a qualunque professionista di darvi una definizione dell espressione consulente aziendale, e vedrete che otterrete molte risposte diverse, non tutte lusinghiere! Con tale espressione,

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

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

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security

Dettagli

Mausoleo COMUNE DI NUORO PROGETTO PER LA REALIZZAZIONE DEL CIMITERO MULTIMEDIALE. Arch.Marco Cerina Ing.Enrico Dini

Mausoleo COMUNE DI NUORO PROGETTO PER LA REALIZZAZIONE DEL CIMITERO MULTIMEDIALE. Arch.Marco Cerina Ing.Enrico Dini COMUNE DI NUORO D O C U M E N T O D I S P E C I F I C A P E R I L P R O D O T T O Mausoleo PROGETTO PER LA REALIZZAZIONE DEL CIMITERO MULTIMEDIALE Arch.Marco Cerina Ing.Enrico Dini Descrizione introduttiva

Dettagli

Lezione 8. Motori di Ricerca

Lezione 8. Motori di Ricerca Lezione 8 Motori di Ricerca Basi di dati Un campo prevalente dell applicazione informatica è quello costituito dall archiviazione e dalla gestione dei dati (basi di dati). Sistema Informativo. Un sistema

Dettagli

1 Progetto di laboratorio di reti I

1 Progetto di laboratorio di reti I 1 Progetto di laboratorio di reti I In questo documento sono descritte le specifiche per la realizzazione del progetto. Vedremo innanzitutto le caratteristiche richieste nel codice e nella relazione, per

Dettagli

E-learning. Vantaggi e svantaggi. DOL79 Laura Antichi

E-learning. Vantaggi e svantaggi. DOL79 Laura Antichi E-learning Vantaggi e svantaggi vantaggi Abbattimento delle barriere spazio-temporali Formazione disponibile sempre (posso connettermi quando voglio e tutte le volte che voglio) e a bassi costi di accesso

Dettagli

Statistica 4038 (ver. 1.2)

Statistica 4038 (ver. 1.2) Statistica 4038 (ver. 1.2) Software didattico per l insegnamento della Statistica SERGIO VENTURINI, MAURIZIO POLI i Il presente software è utilizzato come supporto alla didattica nel corso di Statistica

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

1. I database. La schermata di avvio di Access

1. I database. La schermata di avvio di Access 7 Microsoft Access 1. I database Con il termine database (o base di dati) si intende una raccolta organizzata di dati, strutturati in maniera tale che, effettuandovi operazioni di vario tipo (inserimento

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

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

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

LAVORO DI GRUPPO. Caratteristiche dei gruppi di lavoro transnazionali

LAVORO DI GRUPPO. Caratteristiche dei gruppi di lavoro transnazionali LAVORO DI GRUPPO Caratteristiche dei gruppi di lavoro transnazionali Esistono molti manuali e teorie sulla costituzione di gruppi e sull efficacia del lavoro di gruppo. Un coordinatore dovrebbe tenere

Dettagli

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

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

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

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST.

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST. INDICE 1) SOMMARIO... 1 2) ISTRUZIONI DI BASE... 2 3) CONFIGURAZIONE... 7 4) STORICO... 9 5) EDITOR HTML... 10 6) GESTIONE ISCRIZIONI E CANCELLAZIONI... 11 7) GESTIONE MAILING LIST... 12 8) E-MAIL MARKETING...

Dettagli

PIANO DI LAVORO (a.s. 2015/2016)

PIANO DI LAVORO (a.s. 2015/2016) Istituto Tecnico Commerciale Statale e per Geometri E. Fermi Pontedera (Pi) Via Firenze, 51 - Tel. 0587/213400 - Fax 0587/52742 http://www.itcgfermi.it E-mail: mail@itcgfermi.it PIANO DI LAVORO (a.s. 2015/2016)

Dettagli

Appunti di Sistemi Distribuiti

Appunti di Sistemi Distribuiti Appunti di Sistemi Distribuiti Matteo Gianello 27 settembre 2013 1 Indice 1 Introduzione 3 1.1 Definizione di sistema distribuito........................... 3 1.2 Obiettivi.........................................

Dettagli

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri. Il Servizio World Wide Web () Corso di Informatica Generale (Roberto BASILI) Teramo, 20 Gennaio, 2000 Il World Wide Web Storia : obbiettivi : tecnologie Le Applicazioni Scenari Futuri La Storia (1990)

Dettagli

Regolamento tecnico interno

Regolamento tecnico interno Regolamento tecnico interno CAPO I Strumenti informatici e ambito legale Articolo 1. (Strumenti) 1. Ai sensi dell articolo 2, comma 5 e dell articolo 6, comma 1, l associazione si dota di una piattaforma

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

Per aiutare gli studenti a scoprire le loro possibilità

Per aiutare gli studenti a scoprire le loro possibilità Listening. Learning. Leading. Per aiutare gli studenti a scoprire le loro possibilità Comprendere i punteggi del test TOEFL Junior Per scoprire il proprio potenziale. Per estendere le proprie opportunità.

Dettagli

Dispense Corso Access

Dispense Corso Access Dispense Corso Access Introduzione La dispensa più che affrontare Access, dal punto di vista teorico, propone l implementazione di una completa applicazione Access, mettendo in risalto i punti critici

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

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

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

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

PRIVACY E SICUREZZA http://www.moviwork.com http://www.moviwork.com de.co dsign&communication di Celestina Sgroi

PRIVACY E SICUREZZA http://www.moviwork.com http://www.moviwork.com de.co dsign&communication di Celestina Sgroi PRIVACY E SICUREZZA LA PRIVACY DI QUESTO SITO In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano. Tale politica

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Manuale. Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons

Manuale. Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons Manuale Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons Premessa Gestione Biblioteca scolastica è un software che permette di gestire in maniera sufficientemente

Dettagli

9) si ritorna alla maschera di fig. 6, nella quale si clicca su "Salva modifiche" per completare l operazione.

9) si ritorna alla maschera di fig. 6, nella quale si clicca su Salva modifiche per completare l operazione. Fig. 8 La finestra Gestione file con il file appena caricato 9) si ritorna alla maschera di fig. 6, nella quale si clicca su "Salva modifiche" per completare l operazione. Fig. 9 Il corso con la nuova

Dettagli

14 maggio 2010 Versione 1.0

14 maggio 2010 Versione 1.0 SOFTWARE PER LA GESTIONE DI UN SISTEMA PER LA RILEVAZIONE DELLA QUALITÀ PERCEPITA DAGLI UTENTI, NEI CONFRONTI DI SERVIZI RICHIESTI ALLA PUBBLICA AMMINISTRAZIONE, ATTRAVERSO L'UTILIZZO DI EMOTICON. 14 maggio

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

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

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica INGEGNERIA DEL SOFTWARE Prof. Paolo Salvaneschi 1 Obiettivi Scopi del corso: - Fornire gli elementi di base della disciplina,

Dettagli