Analisi, progettazione e sviluppo di un software di Information Retrieval con Tecnologie J2EE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Analisi, progettazione e sviluppo di un software di Information Retrieval con Tecnologie J2EE"

Transcript

1 Scuola Politecnica e delle Scienze di Base Corso di Laurea Triennale in Ingegneria Informatica Tesi di Laurea Triennale in Ingegneria Informatica Analisi, progettazione e sviluppo di un software di Information Retrieval con Tecnologie J2EE Anno Accademico relatore Ch.mo Prof. Ing. Vincenzo Moscato Correlatore Ch.mo Dott. Antonio Agliata Candidato Pasquale Ragozzino N

2 A chi, ogni giorno, incessantemente, non ha mai dubitato ed esitato.

3 Indice Introduzione 5 1. Sistemi di Information Retrieval Cosa sono i sistemi di Information Retrieval Document Repository Indexer Query Processor Scopo di un motore di Information Retrieval Fasi di un motore di Information Retrieval Definizione formale di IR Fasi dell'ir Indicizzazione Tipologie di motori di Information Retrieaval Il modello Booleano Il modello Vettoriale Il modello Probabilistico Apache Lucene library Cos è Apache Lucene Indicizzazione con Lucene Ricerca con Lucene 16 3

4 2.2 Esempio d implementazione di un motore di Information Retrieval Tecnologie utilizzate Esempio di sviluppo di un motore di IR Progetto Indexer Progetto Searcher Ottimizzazione della ricerca con l algoritmo di Edit Distance Vocabolario dei sinonimi Thesaurus Somiglianza lessicale Somiglianza semantica Conclusioni Sviluppi futuri 24 Bibliografia 25 Ringraziamenti 26 4

5 Introduzione Questa tesi di laurea riguarda l Information Retrieval, ovvero quella disciplina che si occupa di studiare, progettare e realizzare sistemi informativi finalizzati al reperimento di documenti, immagini, video, suoni, riguardanti le richieste dell utente finale. Questa tematica ha suscitato l interesse di numerose comunità Open Source come Apache, poiché, nella società moderna, l Information Retrieval rappresenta e rappresenterà sempre maggiormente il modo più veloce ed efficace per memorizzare e ricercare informazioni su qualsivoglia argomento. Inoltre la branca dell IR abbraccia diverse discipline quali la letteratura, la psicologia, la filosofia, la linguistica, la scienza dell informazione e l informatica, segno inequivocabile che la materia è ostica e di difficile lettura ed interpretazione. I dati resi disponibili al reperimento possono essere di tre diverse tipologie : - Dati Strutturati ; - Dati Non-strutturati ; - Dati Semistrutturati. I primi sono dati conservati in un database, organizzati secondo schemi e tabelle rigide; questa è la tipologia di dati più indicata per i modelli di gestione relazionale delle informazioni. I secondi sono quei dati che non hanno nessun tipo di schema organizzativo ( ad esempio file testuali elaborati con uno dei softwares di scrittura disponibili ) e che per questo motivo, necessitano di essere gestiti con motori di IR. Mentre nei terzi s incontrano alcune delle caratteristiche dei dati strutturati e alcune delle caratteristiche dei non-strutturati. Un esempio esplicativo di quest ultima tipologia di organizzazione di dati è il file compilato con 5

6 sintassi XML. Nonostante non vi siano limiti strutturali all inserimento dei dati, le informazioni vengono, comunque, organizzate secondo logiche strutturate e interoperabili. In questo caso, i sistemi di gestione dei dati possono organizzare i documenti sia attraverso i modelli relazionali, sia attraverso modelli di information retrieval. Nel caso specifico dello sviluppo di un motore di IR d esempio, vengono trattati dati semistrutturati e non-strutturati per cui l uso di un IR rispetto ad un DBMS è risultato più vantaggioso e funzionale ; il motivo sta nella natura dei dati trattati ( Curriculum Vitae ) che hanno una struttura tale da rendere il caricamento di quest ultimi complesso e dispendioso nelle tabelle di un DBMS. Al contrario un IR si incaricherà di parserizzare il file e di renderlo persistente grazie all uso di strutture dati ( indici ) molto più funzionali ed accessibili dal sistema, per favorire la ricerca dei risultati da parte dell utente. Infine, quest elaborato, descriverà il funzionamento e l impiego di una delle librerie più potenti ( scritta in Java ) e flessibili per lo sviluppo di un motore di IR, dal nome Apache Lucene. La parte conclusiva dell elaborato, racchiude tutti quelli che sono i possibili sviluppi futuri e le conclusioni generali in merito alla sperimentazione avuta. 6

7 Capitolo 1: Sistemi di Information Retrieval Il termine Information Retrieval fu coniato nel 1952 dall informatico americano Calvin Mooers il quale, citando la legge da lui stesso formulata ( Legge di Mooer s ), dichiarò che: Un sistema di reperimento delle informazioni tenderà a non essere usato, quando, trovare le informazioni è più noioso e doloroso che non trovarle. I primi motori di IR erano utilizzati in modalità batch, attualmente invece, vengono utilizzati in Real-Time con modalità interattive a vari fini, come ad esempio la ricerca di contenuti documentali, la ricerca sul Web di contenuti di varia natura, il reperimento di informazioni aziendali ecc. Lo sviluppo e l evoluzione degli IR sono dovuti a molti fattori quali il basso costo e le capacità sempre più elevate dei dispositivi di memorizzazione, i softwares per la creazione di documenti digitali, strumenti e softwares per l acquisizione in digitale dei documenti cartacei, il web stesso, ecc. In generale un IR si occuperà di rendere semplice e funzionale la reperibilità di files mediante strutture dati ( indici ) facilmente accessibili e di semplificare la ricerca di tali files, opportunamente lavorati. 1.1 Cosa sono i sistemi di Information Retrieval L'IR è un campo interdisciplinare che nasce dalla fusione di discipline eterogenee. Esso coinvolge la psicologia cognitiva, l'architettura informativa, la filosofia, il design, il comportamento umano sull'informazione, la linguistica, la semiotica, la scienza dell informazione e l informatica. Nello specifico un motore di IR si occuperà di soddisfare l'information need dell'utente che ne fa uso, con tecniche e metodologie atte a restituire il contenuto voluto e cercato. In particolare l information need è il bisogno informativo dell utente 7

8 il quale anche se sembra banale, non lo è se l applicazione sviluppata non mette a disposizione i giusti strumenti per esprimerlo al meglio. Le componenti fondamentali di un sistema di IR sono tre: il document repository, l'indexer e il query processor Document-Repository Il document-repository è la componente che si occupa di raccogliere documenti e files contenuti in genere, assieme alla struttura che li interconnette, e li indicizza per rendere disponibile il tutto all'utente che fa uso del sistema Indexer L'indexer, si occupa di costruire opportune strutture dati per memorizzare le informazioni necessarie al recupero dei documenti ricevuti in input dal document-repository. Le strutture di cui in generale, i motori di ricerca si avvalgono sono il lessico, contenente i termini distinti che compaiono nella collezione di documenti e il posting file, il quale nella sua forma meno complessa, contiene tutte le liste dei documenti in cui i termini del lessico compaiono. 8

9 1.1.3 Query Processor Il query processor invece, si occupa del reperimento dei documenti nell'indice preventivamente creato dall'indexer e di restituirli all'utente ordinati in base alla loro presunta rilevanza e all'information need. Il concetto di rilevanza è di fondamentale importanza nei sistemi di IR ed è fonte di studi approfonditi e continui, inoltre, un approccio ibrido per la restituzione dei contenuti richiesti, è quello più utilizzato in quanto si sfrutta un motore di IR per l informazione non strutturata e una base di dati per i suoi metacaratteri descrittivi. 1.2 Scopo di un motore di Information Retrieval Lo scopo di un IR non è solo quello di progettare le tecniche di reperimento dei dati bensì anche quello di ricercare materiale ( generalmente dati non-strutturati ma in alcuni casi anche dati strutturati ) al fine di soddisfare l'information need dell utente che usufruisce di tale sistema; inoltre un IR aiuta l'utente ad esprimere in maniera chiara e consona il suo l'information need, oltre che della presentazione dei risultati ottenuti in forma adeguata. A tal proposito vi sono due tipi di approccio alla presentazione dei risultati: il clustering e la classificazione. Il primo dispone i risultati in gruppi secondo una serie di parametri, mentre il secondo dispone i risultati per tipo. Infine l'ir è ampiamente utilizzato anche nel mondo del data mining per l'elaborazione e la gestione di grosse moli di dati ed informazioni. 1.3 Fasi di un motore di Information Retrieval Definizione formale di IR Formalmente un modello di Information Retrieval è una quadrupla ( D, Q, F, R ), dove: - D è un insieme di viste logiche dei documenti della collezione; - Q è un insieme di viste logiche ( query ) dei bisogni informativi dell utente; - F è un sistema per modellare documenti, query e le relazioni tra loro; - R (q i, d j ) è una funzione di ranking che associa un numero reale positivo ad una query q i e un documento d j, definendo un ordinamento tra i documenti con riferimento alla query q i. 9

10 1.3.2 Fasi dell'ir Viste le attuali esigenze di operare sul Web, gli algoritmi che gestiscono la ricerca "per rilevanza" dei contenuti desiderati, risulterebbero poco efficienti e computazionalmente complessi da eseguire in real-time. La soluzione adoperata dai moderni IR è quella di utilizzare delle strutture dati dette indici. Le fasi principali di un IR sono fondamentalmente due: - Indicizzazione che non avviene in real-time, ma gli indici sono creati dai crawlers e dagli spiders e sono composti da valori del tipo [ term, id ]; - Ricerca che viene effettuata dall'utente e che grazie alla costruzione degli indici, ha complessità sub-lineare evitando anche l'appesantimento del Web, visto che solitamente gil indici sono in locale. Nel paragrafo successivo verrà descritta in dettaglio solo la fase di indicizzazione, mentre per quella di ricerca, vi sarà una panoramica nei capitoli e paragrafi seguenti Indicizzazione La fase di indicizzazione è la più importante delle fasi di un progetto di sviluppo di un motore di IR efficace ed efficiente, ma prima di effettuare questa operazione, è necessario compiere una serie di operazioni preliminari con lo scopo di ottimizzare i documenti/testi/dati da rendere disponibili alla struttura che si occuperà della ricerca. Il trattamento dei testi ha come scopo l individuazione degli elementi caratterizzanti un testo e la generazione di una rappresentazione formale ( in genere un array ). Il trattamento dei testi può essere più o meno complesso e si divide in due fasi fondamentali: Tokenizzazione: identificazione dei singoli elementi token ( parole, spazi ); Lemmatizzazione: identificazione della radice dei termini ( vadano andare ); La tokenizzazione può essere effettuata secondo diversi principi che risulteranno essere più o meno validi a seconda del sistema e del contesto dell IR da sviluppare. La lemmatizzazione, invece, è composta da più fasi, ed è di diversa natura a seconda della lingua e del testo da analizzare. In particolar modo sono di fondamentale importanza alcune fasi che 10

11 rendono il testo, preventivamente tokenizzato, più efficientemente indicizzabile. Si utilizza, per esempio, un vocabolario di Stop Words, contenente tutte quelle parole che hanno una frequenza di comparsa nel documento molto elevata. Un esempio possono essere le congiunzioni, la punteggiatura, le preposizioni ecc. Questi dizionari possono avere natura statica ( implementati in strutture dati personalizzate a seconda del contesto e del caso di studio ), oppure natura dinamica e di apprendimento ( in base ad un limite di frequenza è possibile decidere se includere le parole nel dizionario delle Stop Words o meno ). A valle della costruzione di tale dizionario, secondo uno dei metodi più comodo e consono al contesto di sviluppo, verrà effettuata un operazione di rimozione o non inclusione delle parole appartenenti allo stesso, al fine di ottimizzare il testo per la fase successiva di Stemming. Questa fase prevede che i tokens precedentemente lavorati, vengano ridotti dalla forma flessa o estesa, nella loro forma radice ( Es. andai, andare, andato and ). Gli algoritmi di Stemming sono tutt'oggi materia di studio e sviluppo e tra quelli di maggior impiego e utilizzo vi è sicuramente quello di Porter. Nel 1968 Julie Beth Lovins progetta e sviluppa il primo algoritmo di stemming che, nel 1980, dopo diversi miglioramenti, viene standardardizzato per la lingua inglese sotto il nome di "algoritmo di Martin Porter". Solo dopo le fasi di Tokenizzazione e Lemmatizzazione è possibile passare alla fase di Indicizzazione dei term lavorati e memorizzati. 11

12 La creazione dell'indice restituisce delle coppie di valori del tipo [ term, docid ], dove term rappresenta i termini del documento e docid, il documento stesso. E' buon uso, oltre che comodo e funzionale, costruire una matrice term/docid che rappresenterà il rapporto di frequenza e comparsa tra termini e documenti. d1 d2 d3... t t t In particolar modo, se nella matrice compare uno "0", allora il term non è presente nel documento, nel caso invece ci sia un "1", il termine sarà presente all'interno del documento. Grazie a questa matrice possiamo definire due parametri, ossia il Document Frequency ( DM ) e il Term Frequency ( TF ) corrispondenti relativamente al numero di documenti in cui appare il termine e il numero di occorrenze di termini presente nel documento. 1.4 Tipologie di motori di Information Retrieval Diverse sono le tipologie dei motori di IR che operano sui dati/file da ricercare; esse variano in base al modo in cui vengono interrogati i sitemi, oppure dal modo in cui vengono acceduti ecc. In particolarmodo abbiamo tre tipologie diverse di motori di IR che sono rispettivamente: - Il modello Booleano; - Il modello Vettoriale; - Il modello Probabilistico Il modello Booleano Il modello standard booleano dell'information Retrieval è un modello di base, in cui l'informazione associata ad un documento è composta da due valori possibili: un documento può 12

13 essere rilevante ( 1 ) o irrilevante ( 0 ), in base alla presenza o assenza di un termine richiesto all'interno del medesimo. Viene usato un sistema di "match" esatto per il recupero delle informazioni e le query sono fatte combinando i termini con gli operatori booleani AND, OR, NOT, quindi il sistema restituisce tutti i documenti che soddisfano tale query Il modello Vettoriale Il modello vettoriale prevede la rappresentazione di query e documenti mediante vettori pesati, in uno spazio vettoriale. Lo spazio ha una dimensionalità pari al numero "N" di termini nel vocabolario. La similarità tra le query e il documento, sfrutta le misure geometriche di similarità tra vettori. Alcuni vantaggi qualificano il modello Vettoriale tra i più efficienti modelli di IR attualmente utilizzati, infatti, il peso dei termini e la ricerca gerarchica grazie alla clusterizzazione dei documenti, migliora la qualità delle risposte e rispetta quindi l IN utente Il modello Probabilistico Il modello probabilistico, come quello vettoriale, risulta uno dei più utilizzati sia a livello teorico che a livello sperimentale. Questo modello, in particolare, rappresenta l incertezza e il costo della decisione presa dall IR nel reperire un documento. Il costo e l incertezza sono modellati con gli strumenti del calcolo delle probabilità e della statistica delle decisioni. 13

14 Capitolo 2: Apache Lucene library Lucene è una libreria di API ( application programming interface ) con licenza Open Source, utilizzata per il reperimento di informazioni, inizialmente sviluppata in Java e successivamente in C#, C++, Perl, Phyton, Ruby, PHP. Sebbene inizialmente il suo ideatore e sviluppatore, Doug Cutting, aveva ideato questa collezioni di API per l indicizzazione e la ricerca full-text di documenti e files, è attualmente utilizzata per la realizzazione e lo sviluppo di motori di ricerca sia nel World Wide Web che nelle intranet aziendali o private. L uso sempre più vasto e svariato di questa libreria, ha portato ad assumere la percezione del prodotto come di un motore di ricerca dotato di web-spider e parser HTML. In realtà non è così, infatti Lucene, richiede che tali strumenti siano forniti da terzi esternamente. I dati gestiti da Lucene sono rappresentati come documenti ( document ) e campi ( fields <nome,valore> ) testuali. Questa genericità, permette, di sviluppare motori di ricerca e di IR a prescindere dal tipo di file da trattare. Infatti Lucene ci permette di trattare ed indicizzare file testuali di tipo PDF, DOC, HTML, così come altri tipi di files dai quali sia possibile trarre ed estrarre informazioni. Alcuni esempi di utilizzo di Lucene si possono riscontrare nel codice di alcuni grandi Siti Web quali, Wikipedia, CNET, Alfresco ecc. 14

15 2.1 Cos è Apache Lucene Analisi, progettazione e sviluppo di un software di Information Retrieval con tecnologie J2EE Apache Lucene è un progetto maturo e open-source che consente di aggiungere alla propria applicazione funzionalità come la ricerca e l'indicizzazione, nascondendo la complessità di tali operazioni allo sviluppatore, in quanto, fornisce tramite un interfaccia, semplici ma potenti funzionalità che richiedono solo una minima conoscenza su argomenti quali la ricerca full-text. Inoltre opera senza fare assunzioni su ciò che indicizza e ciò che ricerca. Si può pensare a Lucene come ad uno strato situato sotto quello su cui poggia l applicazione Indicizzazione con Lucene L indicizzazione, come già descritto nei paragrafi precedenti, non è altro che un processo il quale elabora i dati originali in collezioni di riferimenti ordinati al fine di agevolarne la ricerca rapida. È utilizzato anche per eliminare il lento processo di scansione sequenziale di un testo. Il risultato di tale operazione è un indice ( Lucene index ), memorizzato per esempio, sul file 15

16 system e interrogabile in fase di ricerca mediante delle particolari query ( query Lucene ). Si può pensare a un indice come ad una serie di dati che consentono un accesso diretto alle parole memorizzate al suo interno; ne è un esempio l indice analitico di un libro che permette di individuare rapidamente le pagine che contengono un determinato termine. Nel caso di Lucene, un indice è una struttura dati appositamente progettata e archiviata sul file system sotto forma di file. La classe Lucene che si occupa dell indicizzazione è Analyzer ( analizzatore ) che incapsula, al suo interno, il processo di analisi, e marca pezzi di testo eseguendo su di esso una serie di operazioni quali: estrazione delle parole, rimozione degli accenti, della punteggiatura e dei termini comuni ( Es. il, un, dei, etc... ), trasformazione in forma minuscola dei caratteri, stemming e lemmatizzazione come descritto nei paragrafi precedenti Ricerca con Lucene Per effettuare una ricerca su di un indice precostituito è necessario aprire l indice in questione mediante un IndexSearcher, su cui, in seguito, effettuare le ricerche desiderate mediante delle opportune query. La query in Lucene è una perfetta astrazione del concetto classico di query per il recupero di informazioni da un database; tale astrazione a sua volta è fornita da un QueryParser, il quale ha come obiettivo quello di acquisire la keyword di ricerca ( una o più parole, anche generiche ), analizzarla con lo stesso Analyzer usato per la creazione dell indice ed infine rendere la stringa di ricerca come una query che rispetti una determinata sintassi. L ultimo passo consiste nel restituire l oggetto query che sarà passato all IndexSearcher per poter effettuare la ricerca sull indice ed immagazzinare i risultati di tale ricerca all interno di un oggetto ScoreDoc. 16

17 2.2 Esempio d implementazione di un motore di Information Retrieval In questo paragrafo verrà presentata una rapida descrizione dello sviluppo di un motore di IR d esempio progettato e sviluppato per testare quanto illustrato finora. In particolar modo verranno discussi i due progetti INDEXER e SEARCHER che implementano il motore di IR d esempio preso in esame e verranno inoltre presentate le tecnologie utilizzate per operare tale sviluppo. I progetti sono entrambi dei Web Application Java adoperati rispettivamente per indicizzare e per ricercare nel repository dei CV in base all IN utente Tecnologie utilizzate Di seguito una breve descrizione delle tecnologie adoperate, farà da introduzione allo sviluppo vero e proprio del motore di IR d esempio citato precedentemente. - Apache Lucene, di cui si è già abbondantemente discusso nei paragrafi precedenti; - Apache Tomcat, application server che ci permette lo sviluppo delle pagine JSP ( Java Server Pages ) o delle Servlet e l esecuzione di applicazioni web sviluppate in Java ; - Xaamp, piattaforma software, che mette a disposizione gli strumenti come, MySql e Apache HttpServer, per la creazione di pagine sviluppate con linguaggi di programmazione lato Server come PHP; - Eclipse Luna, IDE per la programmazione e lo sviluppo di software di varia natura e uso Esempio di sviluppo di un motore di IR In questo paragrafo verrà implementato un esempio di motore di IR e per comodità il progetto verrà diviso in due parti : - Indexer, che si occuperà dell indicizzazione dei documenti in ingresso al sistema ; - Searcher, che metterà a disposizione un interfaccia utente per la ricerca dei files. 17

18 Progetto Indexer In questa fase del progetto di costruzione di un motore di IR verrà implementata la parte relativa all indicizzazione dei termini nei documenti uplodati nel sistema. In particolare, i documenti trattati, saranno dei Curriculum Vitae in formato europeo ( per comodità con estenzioni *PDF o *DOC ). Tali CV verranno parserizzati ( verrà analizzato il flusso continuo di dati in ingresso, letti per esempio da un file, in modo da determinare la sua struttura grazie ad una data grammatica formale ) prima di essere passati alla classe Lucene che si occuperà della loro tokenizzazione e successiva indicizzazione. Questa fase produrrà un documento formattato secondo alcuni parametri comodi per le fasi successive e con lo scopo di accedere il file per essere elaborato. Successivamente il file storato in un oggetto di tipo Document verrà dapprima spostato in una struttura dati di tipo String ( necessaria per operare sul testo ), dopodichè il testo, opportunamente formattato, verrà matchato con un dizionario di Stop Words opportunamente creato per il caso d uso specifico e disposto in una struttura dati di tipo ArrayList <String> e se esistono corrispondenze di valore tra il testo e il dizionario stesso, verranno esclusi tali termini dalla struttura dati finale, che sarà poi utilizzata per l indicizzazione. Solo ora si otterrà una serie di term privi di Stop Words e tokenizzati. A questo punto i term verrano dapprima lemmatizzati e 18

19 successivamente indicizzati. La lemmatizzazione, in questo specifico caso d uso, consiste nella correzione del testo presente nella struttura dati contenente i token confrontandoli con un ulteriore dizionario ( in questo caso un dizionario della lingua italiana senza voci verbali coniugate per risalire alla radice dei verbi ) sfruttando un algoritmo di Distanza di Edit. Quest ultimo si occupa di effettuare una correzione o associazione di termini in base a quelli presenti nel dizionario, sostituendo i term con i termini che hanno distanza minima con gli stessi termini del dizionario. Questo algoritmo è illustrato in dettaglio nel paragrafo successivo. Infine, i term risultanti dalle operazioni precedenti, saranno indicizzati sfruttando la classe Analyzer di Lucene, la quale, mette a disposizione metodi e funzionalità per una corretta creazione dell indice Progetto Searcher Nella seconda ed ultima fase del progetto, verrà implementata un interfaccia grafica e la sezione che si occupa della ricerca, sfruttando ancora una volta i metodi e le classi di Apache Lucene. In particolare vi è una pagina di ricerca sviluppata con HTML5 e CSS3, che mette a disposizione una input per la digitazione del testo da ricercare e una veste grafica di esempio per il compimento di varie operazioni. A tale strumento è applicata una funzione, sottoforma di Servlet JSP con chiamata asicrona AJAX, per il suggerimento di parole da cercare al posto delle parole digitate nella barra di ricerca ( simil Google ). L algoritmo che gestisce il suggerimento di parole in alternativa al testo digitato nella input è la Distanza di Edit o Distanza di Levenshtein, il quale unitamente alla chiamata AJAX, da ausilio 19

20 all utente che digita il testo in merito alla correzione ortografica o al senso del testo digitato. 2.3 Ottimizzazione della ricerca con l algoritmo di Edit Distance In questo paragrafo è descritto dettagliatamente l algoritmo distanza di edit di Vladmir Levenshtein ( scienziato russo che ne 1965 introdusse il concetto di distanza di edit tra stringhe ) il quale è sfruttato per controllare la similitudine e l associazione tra testi, ma che è possibile sfruttare anche per immagini, suoni ecc. In generale la distanza di Levenshtein tra due stringhe A e B è il numero minimo di modifiche elementari che consentono di trasformare la stringa A in quella B. Per modifica elementare si intende : - cancellazione di un carattere contenuto nel termine ; - sostituzione di un carattere con un altro ; - inserimento ex-novo di un carattere nella stringa. Un esempio esplicativo dell algoritmo di edit è la trasformazione del termine "casa" in "carato": 1. casa -> cara ( sostituzione di S in R ); 2. cara -> carat ( inserimento di T ); 3. carat -> carato ( inserimento di O ). Percui, nel caso preso in esempio, non è possibile passare dalla prima parola alla seconda con meno di 3 operazioni, quindi la distanza di Levenshtein è 3. A supporto di questo esempio è sopra riportato lo sviluppo in Java dell algoritmo e un Main di prova per testarlo. 20

21 2.4 Vocabolario dei sinonimi Analisi, progettazione e sviluppo di un software di Information Retrieval con tecnologie J2EE Le difficoltà nell implementazione di un valido motore di IR stanno non tanto nelle fasi descritte fin qui, le quali sono ben definite e facili da implementare grazie all uso di algoritmi ben strutturati e studiati, ma sta nella restituzione e reperimento della IN utente. Diversamente dalle altre lingue mondiali, l italiano ha una sintassi e una morfologia estremamente complessa e articolata, percui, una parola può avere molti significati in base al contesto, alla posizione, all uso, ecc. Inoltre il vocabolario dei sinonimi in italiano, complica ancor di più la restituzione di un risultato valido e preciso all utente. E proprio su questo punto che attualmente vi è un forte studio per l ottimizzazione e l efficienza di strumenti già esistenti ma che vanno sicuramente perfezionati. Uno degli strumenti che permette di poter restituire risultati validi e quindi rispettare l IN dell utente è il Thesaurus, il quale si occupa di confrontare tuple di termini e restituire il sinonimo associato ai termini cercati dall utente. Il Thesaurus fa parte della più grande famiglia degli algoritmi di prossimità semantica, i quali sono di fondamentale utilità per aumentare le capacità di analisi testuale e per il soddisfacimento dell IN utente Thesaurus In sintesi un Thesaurus è sostanzialmente un dizionario dei sinonimi ( nel nostro specifico caso d uso in italiano ), nel quale nello specifico, vengono memorizzari i valori di somiglianza tra coppie di termini. Inoltre esistono diverse tecniche per la costruzione dei Thesaurus che si distinguono principalmente in due gruppi principali : - Somiglianza lessicale: si basano sull analisi della radice comune dei termini fornendo un indice che rappresenta quanto due parole derivino da una radice comune. - Somiglianza semantica: si basano sull analisi delle relazioni concettuali dei termini fornendo un indice che rappresenta quanto due termini sono concettualmente legati. 21

22 2.4.2 Somiglianza lessicale Esistono due tecniche per individuare le affinità semantiche tra coppie di termini di un documento: l individuazione di una radice comune tra i termini ( troncamento ) e l analisi tra stringhe. Nell utilizzo della prima metodologia si riscontrano ambiguità nella determinazione della radice comune e nell impossibilità di analizzare correttamente le forme irregolari dei termini. Nel confronto tra stringhe, invece, la procedura è più semplice ma più dispendiosa e consiste nel trovare una rappresentazione numerica al grado di somiglianza tra le parole Somiglianza semantica La somiglianza semantica si basa sulla ricerca di termini nel documento che possono essere considerati vocaboli simili. Due parole sono sinonimi se il loro utilizzo in un determinato contesto è neutrale ai fini del significato. Si possono analizzare diverse tipologie di correlazioni semantiche; i termini gatto e micio, ad esempio, sono sinonimi, ma anche i termini gatto e felino oppure gatto e animale, se pur in forma minore, sono dei sinonimi. In questi ultimi due casi si parla di iponimia della parola gatto in quanto i termini felino e animale sono concetti più generali rispetto al termine gatto. Oltre ai sinonimi vi sono anche altre correlazioni tra i termini, come esistono tra le parole cane e gatto. L individuazione di questi legami di termini è una fase molto complessa che non può prescindere dall intervento umano; la valutazione automatica di relazioni come quelle che esistono tra i termini cane e gatto, infatti, deve essere valutata manualmente in base al contesto di utilizzo. Per valutare le dipendenze di somiglianza semantica che esistono tra i termini di un documento si può pensare di prendere in considerazione come unità fondamentale, una frase. E logico pensare che se due termini compaiono assieme in diverse frasi è plausibile che queste parole siano correlate tra loro. Su questa idea di base si sviluppano le principali tecniche di analisi automatica della somiglianza semantica di termini. 22

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

Dettagli

Uno sguardo a Lucene. Diego De Cao, Roberto Basili Web Mining and Information Retrieval a.a. 2010/2011

Uno sguardo a Lucene. Diego De Cao, Roberto Basili Web Mining and Information Retrieval a.a. 2010/2011 Uno sguardo a Lucene Diego De Cao, Roberto Basili Web Mining and Information Retrieval a.a. 2010/2011 Outline Uno sguardo a Lucene Descrizione delle principali caratteristiche Realizzazione di un semplice

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

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testuali

Text mining ed analisi di dati codificati in linguaggio naturale. Analisi esplorative di dati testuali Text mining ed analisi di dati codificati in linguaggio naturale Analisi esplorative di dati testuali Il text mining: una definizione Data mining per dati destrutturati ovvero documenti codificati in linguaggio

Dettagli

La gestione del documento

La gestione del documento Operatore giuridico d impresa Informatica Giuridica A.A 2002/2003 II Semestre La gestione del documento prof. Monica Palmirani Il documento A differenza del dato il documento è solitamente un oggetto non

Dettagli

Kirey Re.Search 2.0. Piattaforma di ricerca Open Source

Kirey Re.Search 2.0. Piattaforma di ricerca Open Source Kirey Re.Search 2.0 Piattaforma di ricerca Open Source Le esigenze Quando si parla di motori di ricerca si tende a pensare istintivamente solo a quelli utilizzati per effettuare ricerche in Internet, come

Dettagli

Prime sperimentazioni d'indicizzazione [semi]automatica alla BNCF

Prime sperimentazioni d'indicizzazione [semi]automatica alla BNCF Prime sperimentazioni d'indicizzazione [semi]automatica alla BNCF Maria Grazia Pepe - Elisabetta Viti (Biblioteca nazionale centrale di Firenze) 6. Incontro ISKO Italia Firenze 20 maggio 2013 SOMMARIO

Dettagli

Report on Demand : Libreria Java open-source per offrire servizi di reportistica all interno delle applicazioni web sviluppate dall I.Z.S. A. e M.

Report on Demand : Libreria Java open-source per offrire servizi di reportistica all interno delle applicazioni web sviluppate dall I.Z.S. A. e M. Report on Demand : Libreria Java open-source per offrire servizi di reportistica all interno delle applicazioni web sviluppate dall I.Z.S. A. e M. di Luigi Possenti, Elio Malizia, Daniele Zippo, Patrizia

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

Information Retrieval

Information Retrieval Information Retrieval Dario Rigolin Comperio srl CTO dario.rigolin@comperio.it Bologna 22 Maggio 2009 Master in Tecnologie OpenSource Agenda Presentazioni di rito Piccola introduzione sull'ir Cosa offre

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

Configuratore di Prodotto Diapason

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

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Basi di dati. Basi di dati = database. Basi di dati

Basi di dati. Basi di dati = database. Basi di dati Basi di dati Da leggere: Cap. 6 Sawyer, Williams (testo A) Basi di dati = database Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi -> oggi anche

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

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

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

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo tesi di laurea Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo Anno Accademico 2009/2010 relatore Ch.mo prof. Marcello Cinque correlatore Ing. Catello di

Dettagli

Corso Android Corso Online Programmatore Android

Corso Android Corso Online Programmatore Android Corso Android Corso Online Programmatore Android Accademia Domani Via Pietro Blaserna, 101-00146 ROMA (RM) info@accademiadomani.it Programma Generale del Corso Modulo Uno - Programmazione J2ee 1) Programmazione

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

Indicizzazione. Fasi del processo di IR. Indicizzazione: due aspetti. Corpus: Costruzione delle viste logiche dei documenti: Termine indice

Indicizzazione. Fasi del processo di IR. Indicizzazione: due aspetti. Corpus: Costruzione delle viste logiche dei documenti: Termine indice Fasi del processo di IR Indicizzazione Information need text input Pre-process documents Parse Query Index Rank Indicizzazione: due aspetti Costruzione delle viste logiche dei documenti: Per ogni documento

Dettagli

Il software didattico ELSE e il suo ruolo nella riabilitazione di studenti affetti da disturbi specifici dell apprendimento

Il software didattico ELSE e il suo ruolo nella riabilitazione di studenti affetti da disturbi specifici dell apprendimento 1 Erika Firpo Il software didattico ELSE e il suo ruolo nella riabilitazione di studenti affetti da disturbi specifici dell apprendimento INTRODUZIONE I software sono i veri protagonisti degli interventi

Dettagli

CONTENT MANAGMENT SYSTEMS

CONTENT MANAGMENT SYSTEMS CONTENT MANAGMENT SYSTEMS ESTRATTO DA: Ileana D'Incecco, Progettare la comunicazione web per organizzazioni non-profit con strumenti open source: ideazione e realizzazione del sito web della Casa delle

Dettagli

Modulo 1: Motori di ricerca

Modulo 1: Motori di ricerca Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Antivirus Personal firewall Tecnologie delle reti di calcolatori Servizi

Dettagli

Pedigree Documentazione aggiuntiva Corso di reperimento dell informazione a.a. 2005/2006 prof.sa Maristella Agosti

Pedigree Documentazione aggiuntiva Corso di reperimento dell informazione a.a. 2005/2006 prof.sa Maristella Agosti Pedigree Documentazione aggiuntiva Corso di reperimento dell informazione a.a. 25/26 prof.sa Maristella Agosti Argenton Matteo Buzzi Lorenzo Gatto Giorgio Molinaro Matteo Zorzan Emmanuele Prestazioni

Dettagli

Università degli studi di Messina

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

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

Dettagli

Corso Programmazione Java Android. Programma

Corso Programmazione Java Android. Programma Corso Programmazione Java Android Programma 1.1 Obiettivo e modalità di fruizione L obiettivo del corso è di fornire le conoscenze tecniche e metodologiche per svolgere la professione di Programmatore

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

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

Linguaggi e Paradigmi di Programmazione

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

Dettagli

UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Informatica

UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Informatica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea in Informatica Costruzione di un thesaurus per gli algoritmi di prossimità semantica DISCo LET

Dettagli

Cercare documenti Web

Cercare documenti Web Pagine web (struttura html) Cercare documenti Web Motori di Ricerca I MOTORI DI RICERCA Sulla rete Web vi sono strumenti specifici chiamati motori di ricerca (research engines) per la ricerca di siti e

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi

La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi La ricerca delle informazioni nei siti web di Ateneo con Google Search Appliance Progetto, implementazione e sviluppi Il progetto del sistema di ricerca delle informazioni L'esigenza del sistema di ricerca

Dettagli

Aspetti applicativi e tecnologia

Aspetti applicativi e tecnologia Aspetti applicativi e tecnologia Premessa Architetture usate per i database Le prime applicazioni erano definite monolitiche, cioè un unico computer (mainframe) gestiva sia le applicazioni che i dati,

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

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

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

Dettagli

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

Tesi di Laurea Automazione del testing delle Interfacce utente di applicazioni WEB:

Tesi di Laurea Automazione del testing delle Interfacce utente di applicazioni WEB: Tesi di Laurea Automazione del testing delle Interfacce utente di applicazioni WEB: un caso di studio Anno accademico 2009 / 2010 Relatore Ch.mo prof. Porfirio Tramontana Correlatore Ch.mo Ing. Domenico

Dettagli

La realizzazione di WebGis con strumenti "Open Source".

La realizzazione di WebGis con strumenti Open Source. La realizzazione di WebGis con strumenti "Open Source". Esempi di impiego di strumenti a sorgente aperto per la realizzazione di un Gis con interfaccia Web Cos'è un Web Gis? Da wikipedia: Sono detti WebGIS

Dettagli

01KPS BF Progettazione di applicazioni web

01KPS BF Progettazione di applicazioni web 01KPS BF Progettazione di applicazioni web Presentazione del corso http://elite.polito.it/ Fulvio Corno, Emiliano Castellina Dipartimento di Automatica e Informatica Politecnico di Torino PAW - Presentazione

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

Gli obiettivi specifici di questa edizione sono:

Gli obiettivi specifici di questa edizione sono: Presentazione La ricerca è parte integrante del ruolo e della responsabilità dell infermiere. Il suo coinvolgimento nella ricerca spazia a diversi livelli, dalla progettazione e conduzione di uno studio

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Progetto Finale: Modelli semantici dei dati in domini applicativi specifici

Progetto Finale: Modelli semantici dei dati in domini applicativi specifici Progetto Finale: Modelli semantici dei dati in domini applicativi specifici Roberto Basili, Marco Pennacchiotti Corso di Fondamenti di Informatica a.a. 2003-2004 Definizioni Generali e Regole d esame Il

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica CL3 - Biotecnologie Orientarsi nel Web Prof. Mauro Giacomini Dott. Josiane Tcheuko Informatica - 2006-2007 1 Obiettivi Internet e WWW Usare ed impostare il browser Navigare in internet

Dettagli

UN ESEMPIO. Osservate come è stato scritto:

UN ESEMPIO. Osservate come è stato scritto: UN ESEMPIO Il testo che troverete qui sotto è un esempio di testo regolativo. Esso è stato scritto per facilitare la realizzazione di un testo tecnico di tipo particolare, la relazione di stage. Osservate

Dettagli

Content Management Systems

Content Management Systems Content Management Systems L o Guido Porruvecchio Tecnologia e Applicazioni della Rete Internet Definizione Un Content Management System (CMS) è letteralmente un sistema per la gestione dei contenuti Definisce

Dettagli

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270)

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270) Corsi di Laurea Ingegneria Informatica Ord. 270 A.A. 2012-2013 Prof. Vincenza Carchiolo vincenza.carchiolo@dieei.unict.it Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord.

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

Progettazione Web Applicazioni client-server

Progettazione Web Applicazioni client-server Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver

Dettagli

ELEMENTI DI INFORMATICA GIURIDICA

ELEMENTI DI INFORMATICA GIURIDICA Università degli Studi di Napoli «Federico II» Scuola Specializzazione Professioni Legali ELEMENTI DI INFORMATICA GIURIDICA Avv. Delia Boscia 18 marzo 2015 IL RAPPORTO TRA INFORMATICA E DIRITTO HA DATO

Dettagli

Content Management System

Content Management System Content Management System Docente: Prof. Roberto SALVATORI CARATTERISTICHE PRINCIPALI DI UN CMS In quest ultimo decennio abbiamo avuto modo di osservare una veloce e progressiva evoluzione del Web, portando

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Questa pagina e tutti i capitoli della guida che trovate elencati a destra costituiscono il cuore di questo sito web.

Questa pagina e tutti i capitoli della guida che trovate elencati a destra costituiscono il cuore di questo sito web. Posizionamento sui motori di ricerca. Cos'è il "posizionamento"? Per posizionamento si intente un insieme di tecniche che hanno l'obiettivo di migliorare la posizione di un sito web nei risultati delle

Dettagli

RICERCA DELL INFORMAZIONE

RICERCA DELL INFORMAZIONE RICERCA DELL INFORMAZIONE DOCUMENTO documento (risorsa informativa) = supporto + contenuto analogico o digitale locale o remoto (accessibile in rete) testuale, grafico, multimediale DOCUMENTO risorsa continuativa

Dettagli

SISTEMA EDITORIALE WEBMAGAZINE V.2.2

SISTEMA EDITORIALE WEBMAGAZINE V.2.2 SISTEMA EDITORIALE WEBMAGAZINE V.2.2 1 - Il funzionamento di Web Magazine Web Magazine è un applicativo pensato appositamente per la pubblicazione online di un giornale, una rivista o un periodico. E'

Dettagli

SIAGAS Manuale Utente Utente non autenticato

SIAGAS Manuale Utente Utente non autenticato SIAGAS Manuale Utente Utente non autenticato 27 marzo 2007 v.1.7 SIAGAS: Manuale Utente: utente non autenticato 1/10 1 Introduzione 1.1 Destinatario del prodotto SIAGAS è uno Sportello Informativo per

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

MediaWiki. Giuseppe Frisoni

MediaWiki. Giuseppe Frisoni MediaWiki Giuseppe Frisoni MediaWiki: costruire insieme 1/2 L'enorme successo di Wikipedia, la nota enciclopedia online, è sotto gli occhi di tutti; cosa meno nota, invece, è la piattaforma con cui è progettata.

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

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

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

La base di dati (database)

La base di dati (database) La base di dati (database) La costruzione, analisi e interrogazione delle basi di dati Il Database e la sua organizzazione Un DATABASE è una raccolta strutturata di dati Database relazionali Organizzazione

Dettagli

Pipoli Antonio. Telefono: 3472225977 Email: antonio.pipoli@yesoft.it

Pipoli Antonio. Telefono: 3472225977 Email: antonio.pipoli@yesoft.it CURRICULUM VITAE Pipoli Antonio Telefono: 3472225977 Email: antonio.pipoli@yesoft.it Data e luogo di nascita: 26/03/1983 Foggia (FG) Nazionalità: Italiana Codice Fiscale: PPLNTN83C26D643F Residenza: via

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

Estensione di un sistema per la gestione semi-automatica di siti didattici con XML

Estensione di un sistema per la gestione semi-automatica di siti didattici con XML Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Estensione di un sistema per la gestione semi-automatica di siti didattici con

Dettagli

1 Introduzione 1 1.1 Information Retrieval: promesse e problemi... 1 1.2 Presentazione del lavoro... 3 1.3 Sommario... 5

1 Introduzione 1 1.1 Information Retrieval: promesse e problemi... 1 1.2 Presentazione del lavoro... 3 1.3 Sommario... 5 Indice 1 Introduzione 1 1.1 Information Retrieval: promesse e problemi..................... 1 1.2 Presentazione del lavoro................................ 3 1.3 Sommario........................................

Dettagli

Sviluppo di applicazioni Internet: l'uso integrato di XML e Java

Sviluppo di applicazioni Internet: l'uso integrato di XML e Java UNIVERSITA' DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Infomatica Sviluppo di applicazioni Internet: l'uso integrato di XML e Java realizzata

Dettagli

Romecamp 2008 Roma 21 e 22/11/2008

Romecamp 2008 Roma 21 e 22/11/2008 Romecamp 2008 Roma 21 e 22/11/2008 L'Open Source entra nell'e Learning Paolo Gatti http://www.paologatti.it E learning: introduzione Per e learning si intende la possibilità di imparare sfruttando la rete

Dettagli

ACRL Association of College and Research Libraries

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

Dettagli

Liceo Scientifico " C. CATTANEO " PIANO DI LAVORO DI INFORMATICA. CLASSE 4 LSA SEZ. C e E

Liceo Scientifico  C. CATTANEO  PIANO DI LAVORO DI INFORMATICA. CLASSE 4 LSA SEZ. C e E Liceo Scientifico " C. CATTANEO " PIANO DI LAVORO DI INFORMATICA CLASSE 4 LSA SEZ. C e E Sommario PIANO DI LAVORO DI INFORMATICA... 1 INDICAZIONI GENERALI... 2 PREREQUISITI... 2 CONOSCENZE, COMPETENZE

Dettagli

Relazione finale di Didattica e laboratorio di Programmazione

Relazione finale di Didattica e laboratorio di Programmazione Relazione finale di Didattica e laboratorio di Programmazione Prof.ssa Vallì Carando Tirocinante Maria Grazia Maffucci Classe di concorso A042 aprile 2013 Progettazione Web Applicazioni client-server La

Dettagli

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE Istituto di Istruzione Secondaria Superiore ETTORE MAJORANA 24068 SERIATE (BG) Via Partigiani 1 -Tel. 035-297612 - Fax 035-301672 e-mail: majorana@ettoremajorana.gov.it - sito internet: www.ettoremajorana.gov.it

Dettagli

ADA. E learning e open source

ADA. E learning e open source 1 ADA. E learning e open source ADA 1.7.1 Come cresce un Ambiente Digitale per l'apprendimento open source Maurizio Graffio Mazzoneschi 2 Cos'è il software libero Libertà 0, o libertà fondamentale: la

Dettagli

MetaMAG METAMAG 1 IL PRODOTTO

MetaMAG METAMAG 1 IL PRODOTTO METAMAG 1 IL PRODOTTO Metamag è un prodotto che permette l acquisizione, l importazione, l analisi e la catalogazione di oggetti digitali per materiale documentale (quali immagini oppure file di testo

Dettagli

DAI CURRICOLI DISCIPLINARI AI PERCORSI DI APPRENDIMENTO TRASVERSALI

DAI CURRICOLI DISCIPLINARI AI PERCORSI DI APPRENDIMENTO TRASVERSALI 58 DAI CURRICOLI DISCIPLINARI AI PERCORSI DI APPRENDIMENTO TRASVERSALI Elaborazione della figura strumentale per il curricolo e la valutazione ins. Dott. Sabini Maria Rosaria 59 Indicatore Disciplinare

Dettagli

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Web Programming Specifiche dei progetti

Web Programming Specifiche dei progetti Web Programming Specifiche dei progetti Paolo Milazzo Anno Accademico 2010/2011 Argomenti trattati nel corso Nel corso di Web Programming sono state descritti i seguenti linguaggi (e tecnologie): HTML

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

Siti Web e Information Architecture: organizzare i contenuti e strutturare le informazioni

Siti Web e Information Architecture: organizzare i contenuti e strutturare le informazioni Siti Web e Information Architecture: organizzare i contenuti e strutturare le informazioni Ornella Nicotra A.A.1999-2000 Modulo europeo Action Jean Monnet Scuola Speciale per Archivisti e Bibliotecari

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

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015 Classe: 5^A inf Prof.ssa C. Lami Prof. S. Calugi Materia: INFORMATICA GENERALE, APPLICAZIONI TECNICO SCIENTIFICHE

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

Benvenuti nella guida completa a PHP5 e MySQL!

Benvenuti nella guida completa a PHP5 e MySQL! Introduzione Benvenuti nella guida completa a PHP5 e MySQL! Gli autori di questo libro, sebbene ammettano di essere di parte, ritengono che il linguaggio di scripting Web PHP possa essere considerato il

Dettagli

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

WordNet A lexical Database

WordNet A lexical Database Università degli Studi di Bari Corso di Gestione della Conoscenza d Impresa Anno Accademico 2003-2004 2004 WordNet A lexical Database Dott. Marco Degemmis Ringraziamenti Domenico Ladisa, Caso di studi

Dettagli

PIANO DI LAVORO (a.s. 2014/2015) Prof.Andrea Luppichini Prof. Marco Fiorentinini DISCIPLINA Informatica

PIANO DI LAVORO (a.s. 2014/2015) Prof.Andrea Luppichini Prof. Marco Fiorentinini DISCIPLINA Informatica 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. 2014/2015)

Dettagli

Trani (BA) Via Bari, 74-70010 Capurso (BA) PPLNTN83E01L328C

Trani (BA) Via Bari, 74-70010 Capurso (BA) PPLNTN83E01L328C Curriculum Vitae ANTONIO POPOLIZIO Cell: 329 8830256 e mail: antonio.popolizio@yesoft.it Dati personali Data di nascita: 01/05/1983 Luogo di nascita: Residenza e Domicilio: Codice fiscale: Trani (BA) Via

Dettagli

Sistemi informativi aziendali

Sistemi informativi aziendali Andrea Marin Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI E TECNOLOGIE WEB PER IL TURISMO - 1 a.a. 2012/2013 Section 1 Introduzione Introduzione ai sistemi

Dettagli

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II

Macchine per l elaborazione dell informazion e. Sistemi di Elaborazione delle Informazioni. Informatica II Macchine per l elaborazione dell informazion e Sistemi di Elaborazione delle Informazioni Informatica II Ing. Mauro Iacono Seconda Università degli Studi di Napoli Facoltà di Studi Politici e per l Alta

Dettagli

Segesta srl Via Giacomo Peroni 400 00131 Roma Tel. 06/36.00.65.96 Fax 06/233.28.703 marketing@segestaitalia.it

Segesta srl Via Giacomo Peroni 400 00131 Roma Tel. 06/36.00.65.96 Fax 06/233.28.703 marketing@segestaitalia.it Segesta srl Via Giacomo Peroni 400 00131 Roma Tel. 06/36.00.65.96 Fax 06/233.28.703 marketing@segestaitalia.it Cosa dice la normativa italiana? Il protocollo informatico è l'insieme delle risorse di calcolo,

Dettagli

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

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

Dettagli