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

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

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

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

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

Progettazione e sviluppo di una composizione di servizi web

Progettazione e sviluppo di una composizione di servizi web Progettazione e sviluppo di una composizione di servizi web Progetto di Tecnologie dei Servizi I Alessandro Marrandino Matr. 739695 Sommario In questo documento è descritto il lavoro svolto per realizzare

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

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

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

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

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

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

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

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

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

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

Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici

Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici Tesi di laurea Semantica: un sistema per l indicizzazione, il retrieval semantico di learning objects e la generazione automatica di corsi didattici Anno Accademico 2007/2008 Relatori Ch.mo prof. Angelo

Dettagli

DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18.

DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18. PERIODO : DA DEFINIRE Sede del corso: Presso GI Formazione in Piazza IV novembre 5, Milano Orari dalle 9.00 alle 13.00 e dalle 14.00 alle 18.00 A CHI E RIVOLTO IL CORSO Questo progetto si rivolge a tutti

Dettagli

Learning by Playing: nn nuovo approccio alla formazione con Moodle. Giorgio Manfredi - Occambee Srl. giorgio.manfredi@occambee.com

Learning by Playing: nn nuovo approccio alla formazione con Moodle. Giorgio Manfredi - Occambee Srl. giorgio.manfredi@occambee.com Learning by Playing: nn nuovo approccio alla formazione con Moodle Giorgio Manfredi - Occambee Srl giorgio.manfredi@occambee.com MoodleMoot - Padova 20-21 giugno 2014 Università degli Studi di Padova,

Dettagli

Costruzione di Basi di Conoscenza AIML per chatter bot a partire da FAQ e Glossario

Costruzione di Basi di Conoscenza AIML per chatter bot a partire da FAQ e Glossario Peer Reviewed Papers Costruzione di Basi di Conoscenza AIML per chatter bot a partire da FAQ e Glossario Giovanni De Gasperis Dipartimento Ingegneria Elettrica e dell Informazione, Università degli Studi

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

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

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

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

Novità di Visual Studio 2008

Novità di Visual Studio 2008 Guida al prodotto Novità di Visual Studio 2008 Introduzione al sistema di sviluppo di Visual Studio Visual Studio Team System 2008 Visual Studio Team System 2008 Team Foundation Server Visual Studio Team

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

Sistemi Informativi Multimediali 1 - Introduzione

Sistemi Informativi Multimediali 1 - Introduzione Che cos è un sistema informativo multimediale? Sistemi Informativi li 1 - Introduzione Augusto Celentano Università Ca Foscari di Venezia Un sistema informativo multimediale (MMDBMS) è un framework che

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

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

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

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

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

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

Architettura del software: dai Casi d Uso al Modello

Architettura del software: dai Casi d Uso al Modello Architettura del software: dai Casi d Uso al Modello Lorenzo Barbieri Sono un Senior Trainer/Consultant in ObjectWay SpA (www.objectway.it), specializzato in architetture Microsoft.NET, Windows, SQL Server,

Dettagli

Laboratorio di RETI DI CALCOLATORI

Laboratorio di RETI DI CALCOLATORI Laboratorio di RETI DI CALCOLATORI A.A. 2009-2010 I WEB SERVICES Carlo Mastroianni Laboratorio di Reti di Calcolatori - Orario lunedì, 11:30-13:30, aula 40B mercoledì, 10:00-11:30, laboratorio settimo

Dettagli

Sommario. iii. Prefazione... xi Introduzione...xvii Ringraziamenti... xxi. Parte I - Concetti... 1. Capitolo 1 - L hardware del PC...

Sommario. iii. Prefazione... xi Introduzione...xvii Ringraziamenti... xxi. Parte I - Concetti... 1. Capitolo 1 - L hardware del PC... iii Prefazione... xi Introduzione...xvii Ringraziamenti... xxi Parte I - Concetti... 1 Capitolo 1 - L hardware del PC... 5 1.1 Il processore, la scheda madre e la memoria... 7 1.1.1 Il processore...7 1.1.2

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

PROGETTARE PER COMPETENZE

PROGETTARE PER COMPETENZE Il nostro curricolo: verticale,integrato,unitario 1 ISTITUTO COMPRENSIVO PASCOLI CRISPI MESSINA Misure di accompagnamento Indicazioni Nazionali Annualità 2014-15 Progetto Formativo Nazionale: Rafforzamento

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

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

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

Dettagli

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

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

Motori di ricerca di ultima generazione: il web semantico

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

Dettagli

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

Interrogazione strutturata di triple RDF estratte dal linguaggio naturale

Interrogazione strutturata di triple RDF estratte dal linguaggio naturale UNIVERSITA DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Interrogazione strutturata di triple RDF estratte dal linguaggio naturale Candidato:

Dettagli

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org

1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org 1 Vincenzo de Stefano SAP e Servizi Web http://desvino.altervista.org Prefazione. Da Hello World a Hello World Wide Web. Hello World è la prima frase stampata a video dal primo programma di esempio scritto

Dettagli

Realizzazione di un sistema di logging prototipale per la piattaforma

Realizzazione di un sistema di logging prototipale per la piattaforma tesi di laurea Realizzazione di un sistema di logging prototipale per la piattaforma Android Anno Accademico 2011 / 2012 relatore Ch.mo prof. Marcello Cinque candidato Dario De Meis Matr. 528 / 741 Smartphone

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

APPENDICE B Le Active Server Page

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

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

maildocpro Manuale Installazione

maildocpro Manuale Installazione maildocpro Manuale Installazione versione 3.4 maildocpro Manuale Installazione - Versione 3.4 1 Indice Indice... 2 Creazione database... 3 Database: MAILDOCPRO... 3 Database: SILOGONWEB... 5 Configurazione

Dettagli

L alunno esprime: vissuti; emozioni, fatti.

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

Dettagli

Processi di Business e Sistemi di Gestione di Workflow: concetti di base. Prof. Giancarlo Fortino g.fortino@unical.it

Processi di Business e Sistemi di Gestione di Workflow: concetti di base. Prof. Giancarlo Fortino g.fortino@unical.it Processi di Business e Sistemi di Gestione di Workflow: concetti di base Prof. Giancarlo Fortino g.fortino@unical.it Introduzione Le aziende devono modificare la loro organizzazione per cogliere le nuove

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

Servizi web in LabVIEW

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

Dettagli

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

Organization Intelligence: Approccio e Tecnologia

Organization Intelligence: Approccio e Tecnologia Organization Intelligence: Approccio e Tecnologia [Knowledge] «In organizations it often becomes embedded not only in documents or repositories but also in organizational routines, processes, practices

Dettagli

I Principali Servizi del Protocollo Applicativo

I Principali Servizi del Protocollo Applicativo 1 I Principali Servizi del Protocollo Applicativo Servizi offerti In questa lezione verranno esaminati i seguenti servizi: FTP DNS HTTP 2 3 File Transfer Protocol Il trasferimento di file consente la trasmissione

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

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

Progetto e sviluppo in Swift di un applicazione per dispositivi mobili basata su dati semantico-lessicali

Progetto e sviluppo in Swift di un applicazione per dispositivi mobili basata su dati semantico-lessicali Università degli studi di Modena e Reggio Emilia Dipartimento di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica Progetto e sviluppo in Swift di un applicazione per dispositivi

Dettagli

Architetture Applicative Il Web

Architetture Applicative Il Web Architetture Applicative Il Web Alessandro Martinelli alessandro.martinelli@unipv.it 18 Marzo 2014 Architetture Architetture Web L Architettura Client-Server HTTP Protocolli di Comunicazione Fondamenti

Dettagli

tesi di laurea Anno Accademico 2004/2005 relatore Ing. Massimo Ficco candidato Pasquale Incarnato Matr. 534/938

tesi di laurea Anno Accademico 2004/2005 relatore Ing. Massimo Ficco candidato Pasquale Incarnato Matr. 534/938 tesi di laurea Anno Accademico 2004/2005 relatore Ing. Massimo Ficco candidato Pasquale Incarnato Matr. 534/938 Obbiettivi del progetto Progettazione ed implementazione di un applicazione, basata su un

Dettagli

SIRV-INTEROP Sicurezza basata sui ruoli

SIRV-INTEROP Sicurezza basata sui ruoli SIRV-INTEROP (UML-A8.2-0) 06 ottobre 2004 Approvazioni Il presente documento è stato approvato da: UML-A8.2-0 18/11/05 16.25 2 Storia delle Modifiche Versione Data Descrizione Riferimenti Numero Titolo

Dettagli

CAPITOLO 10 - TECNOLOGIA ASP.NET - WEB FORM

CAPITOLO 10 - TECNOLOGIA ASP.NET - WEB FORM INTRODUZIONE Nel capitolo 5, dedicato all ambiente di sviluppo, si è descritto come implementare un progetto Web tramite lo strumento di sviluppo Microsoft Visual Studio 2010. Un progetto web (o sito web)

Dettagli

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

Registro SPICCA Architettura del Software

Registro SPICCA Architettura del Software Registro SPICCA Architettura del Software Versione 1.0 del 25/08/2009 Sommario 1 Introduzione... 4 1.1 Scopo... 4 1.2 Obiettivo... 4 1.3 Riferimenti... 4 1.4 Panoramica del documento... 4 2 Rappresentazione

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

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

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

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Il World Wide Web. Il Web. La nascita del Web. Le idee di base del Web

Il World Wide Web. Il Web. La nascita del Web. Le idee di base del Web Il World Wide Web Il Web Claudio Fornaro ver. 1.3 1 Il World Wide Web (ragnatela di estensione mondiale) o WWW o Web è un sistema di documenti ipertestuali collegati tra loro attraverso Internet Attraverso

Dettagli

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz

Breve introduzione allo sviluppo WEB. a cura di Ciro Attanasio - ciro.attanasio@email.cz Breve introduzione allo sviluppo WEB a cura di Ciro Attanasio - ciro.attanasio@email.cz Partiamo (1 di 1) Come funziona il WEB e quali tecnologie lo compongono Cos è un Client (1 di 2) Un client, in informatica,

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

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

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

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

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

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

Approfondimento: i sistemi di gestione delle basi di dati (DBMS)

Approfondimento: i sistemi di gestione delle basi di dati (DBMS) Approfondimento: i sistemi di gestione delle basi di dati (DBMS) Prerequisito essenziale della funzionalità delle basi di dati è il controllo e la fruibilità dell informazione in esse contenuta: a tale

Dettagli

Un Sistema Location-based per la mappatura degli Access Point

Un Sistema Location-based per la mappatura degli Access Point 1 Un Sistema Location-based per la mappatura degli Access Point Pasquale Cautela pasquale.cautela@studio.unibo.it Marco Peca marco.peca@studio.unibo.it Rosario Salpietro rosario.salpietro@studio.unibo.it

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

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript tesi di laurea di difetti all interno di codice Javascript Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo ing. Domenico Amalfitano candidato Vincenzo Riccio Matr.

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale tesi di laurea inventario comunale Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo Ing. Luigi Pontillo candidato Michele Vitelli Matr. 534 2170 Redazione dell Inventario

Dettagli

REGIONE TOSCANA GERTIC. Documentazione di progetto. Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574.

REGIONE TOSCANA GERTIC. Documentazione di progetto. Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574. REGIONE TOSCANA GERTIC Documentazione di progetto Viale Montegrappa 278/E 59100 Prato (Italy) Telefono +39.0574.514180 Fax +39.0574.551195 www.netstudio.it INFORMAZIONI DOCUMENTO PROGETTO GeRTIC Gestione

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

Enrico Fagnoni BOTK IN A NUTSHELL

Enrico Fagnoni <e.fagnoni@e-artspace.com> BOTK IN A NUTSHELL Enrico Fagnoni BOTK IN A NUTSHELL 20/01/2011 1 Business Ontology ToolKit Business Ontology Toolkit (BOTK) è un insieme estensibile di strumenti per realizzare applicazioni basate

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

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

Dettagli

1 Analisi del problema

1 Analisi del problema Università degli studi di Pisa Esame di Sistemi per l elaborazione dell informazione: Gestione di Rete. Un architettura distribuita per il management di reti GSM. De Col Daniela 5 luglio 2001 1 1 Analisi

Dettagli

CATALOGO CORSI DI FORMAZIONE INFORMATICA

CATALOGO CORSI DI FORMAZIONE INFORMATICA CATALOGO CORSI DI FORMAZIONE INFORMATICA La Dialuma propone a catalogo 22 corsi di Informatica che spaziano tra vari argomenti e livelli. TITOLI E ARGOMENTI I001 - Informatica generale Concetti generali

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

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

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

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

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Piazza Multicanale. Caso di Studio: Progetto di sistema. Realizzato da: Addante Michele Daddario Fabio De Vito Francesco Cania Lagrotta Piero

Piazza Multicanale. Caso di Studio: Progetto di sistema. Realizzato da: Addante Michele Daddario Fabio De Vito Francesco Cania Lagrotta Piero Ingegneria del Software Caso di Studio: Piazza Multicanale Progetto di sistema Realizzato da: Addante Michele Daddario Fabio De Vito Francesco Cania Lagrotta Piero Indice Parte III: Progetto di Sistema

Dettagli