Tesi
Upcoming SlideShare
Loading in...5
×
 

Tesi

on

  • 2,622 views

Sistema configurabile per il collegamento assistito di documenti non strutturati a documenti strutturati in un EDMS attraverso l'utilizzo dei motori di ricerca

Sistema configurabile per il collegamento assistito di documenti non strutturati a documenti strutturati in un EDMS attraverso l'utilizzo dei motori di ricerca

Statistics

Views

Total Views
2,622
Views on SlideShare
2,617
Embed Views
5

Actions

Likes
0
Downloads
30
Comments
0

3 Embeds 5

http://www.linkedin.com 3
http://www.lmodules.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tesi Tesi Document Transcript

  • ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA TRIENNALE IN INFORMATICA SISTEMA CONFIGURABILE PER IL COLLEGAMENTO ASSISTITO DI DOCUMENTI NON STRUTTURATI A DOCUMENTI STRUTTURATI IN UN EDMS ATTRAVERSO L’UTILIZZO DEI MOTORI DI RICERCA Tesi di laurea in BASI DI DATI E SISTEMI INFORMATIVI Relatore Presentata da PROF. DANILO MONTESI ALESSANDRO BONDI Matricola n. 0000100333 Anno Accademico 2007/08 Sessione III
  • Parole chiave:  documento  information retri eval  collegamento  meta motore  sistema di vot o 2
  • TAVOLA DEI CONTENUTI Tavola dei contenuti ................................................................................................ 3 Indice delle figure ................................................................................................... 7 Abstract ................................................................................................................... 9 Introduzione .......................................................................................................... 11 Premessa............................................................................................................ 11 Obiettivi ............................................................................................................ 11 Organizzazione.................................................................................................. 11 1 La gestione documentale .............................................................................. 13 1.1 Definizioni ............................................................................................ 13 1.2 Il problema: la strutturazione di documenti non strutturati .................. 14 Il vantaggio nell‟utilizzare documenti strutturati .................................. 15 1.3 1.4 Il ciclo di vita di un documento: workflow documentale ..................... 16 2 Information Retrieval ................................................................................... 19 2.1 Introduzione .......................................................................................... 19 2.1.1 Nascita dell‟Information Retrieval .................................................... 20 2.1.2 Fasi del reperimento delle informazioni............................................ 20 2.1.3 Luhn e l‟IR ........................................................................................ 20 2.2 Sistemi di IR ......................................................................................... 24 2.2.1 Definizione del sistema ..................................................................... 24 2.2.2 Componenti di un sistema di IR ........................................................ 24 2.2.3 Processo di reperimento .................................................................... 25 2.3 Indicizzazione della collezione ............................................................. 25 2.3.1 Tecniche di indicizzazione ................................................................ 25 2.3.2 Semplificazione di documenti testuali .............................................. 26 2.3.3 Algoritmi di stemming ...................................................................... 27 2.3.4 Considerazioni sui moduli linguistici ................................................ 27 2.4 Modelli di IR ......................................................................................... 28 2.4.1 Modello booleano .............................................................................. 28 2.4.2 Modello fuzzy ................................................................................... 28 2.4.3 Modello probabilistico ...................................................................... 29 2.4.4 Modello vettoriale ............................................................................. 29 3
  • 2.4.5 Modello cluster .................................................................................. 30 2.5 Valutazione dei sistemi di IR ................................................................ 30 2.5.1 Valutazione di rilevanza .................................................................... 30 2.5.2 Criteri di valutazione ......................................................................... 31 2.5.3 Misure di efficacia e parametri di valutazione .................................. 32 2.5.4 Precision e recall ............................................................................... 33 2.6 Web information retrieval ..................................................................... 34 2.6.1 I dati sul web ..................................................................................... 34 2.6.2 Evoluzione dei web search engine .................................................... 34 2.6.3 Web search engine – Indicizzazione e risultato ................................ 35 2.7 Collaborative filtering ........................................................................... 36 2.7.1 L‟aspetto umano ................................................................................ 36 2.7.2 Sistemi automatici ............................................................................. 36 2.7.3 Problematiche .................................................................................... 37 2.7.4 Tipologie ........................................................................................... 37 2.7.5 Algoritmi di predizione ..................................................................... 38 2.7.6 Raccolta delle preferenze .................................................................. 39 3 Meta motori di ricerca e Sistemi di voto ...................................................... 41 3.1 I meta motori di ricerca ......................................................................... 41 3.1.1 I meta motori di ricerca ..................................................................... 41 3.1.2 Formulazione delle query per i singoli motori .................................. 42 3.1.3 Raggruppamento dei risultati ............................................................ 42 3.2 Sistemi di voto ...................................................................................... 43 3.2.1 Le procedure di voto e i meta motori di ricerca ................................ 43 3.2.2 Il metodo Borda Count ...................................................................... 43 3.2.3 Esempio di applicazione del metodo Borda Count ........................... 44 4 Collegamento di documenti con la tecnica dei meta motori di ricerca ........ 45 4.1 Proposta di soluzione ............................................................................ 45 4.1.1 Utilizzo delle meta informazioni come punto di partenza ................ 45 4.1.2 Specifica ............................................................................................ 45 4.1.3 Entità di riferimento .......................................................................... 46 4.1.4 Diagramma ER .................................................................................. 49 4
  • 4.1.5 Algoritmo generale ............................................................................ 49 4.2 Macroanalisi dei blocchi principali....................................................... 50 4.2.1 Configurazione delle QueryString .................................................... 50 4.2.2 Esecuzione delle QueryString e prima elaborazione dei risultati ..... 52 4.2.3 Post-Filtering: Merge dei risultati e gestione dei duplicati ............... 52 4.3 Aspetti implementativi .......................................................................... 52 4.3.1 Inizializzazione dei collegamenti ...................................................... 52 4.3.2 Esecuzione della procedura ............................................................... 52 4.3.3 Grado di affidabilità delle query e dei motori di ricerca ................... 53 4.3.4 Modalità di interazione con i motori di ricerca ................................. 53 4.3.5 Gestione dei tipi di dato e della formattazione dei valori ................. 53 4.3.6 Controllo di accesso .......................................................................... 54 5 Prodotti e tecnologie utilizzate ..................................................................... 55 5.1 KarthaDoc ............................................................................................. 55 5.1.1 Presentazione ..................................................................................... 55 5.1.2 Funzionalità ....................................................................................... 55 5.1.3 Tecnologia ......................................................................................... 56 5.2 Google Mini (search appliance) ............................................................ 58 5.2.1 Presentazione ..................................................................................... 58 5.2.2 Funzionalità ....................................................................................... 58 5.2.3 Il supporto concreto offerto ............................................................... 59 5.2.4 Motivazioni relativi alla soluzione integrata ..................................... 59 5.2.5 Differenze tra Google Mini e Google Mini ....................................... 59 5.3 Web service........................................................................................... 60 5.3.1 Definizione W3C............................................................................... 60 5.3.2 Funzionamento dei web service ........................................................ 61 5.3.3 Principali vantaggi............................................................................. 62 5.3.4 Svantaggi e problematiche ................................................................ 62 6 Ricerca futura ............................................................................................... 65 6.1 Utilizzo di sistemi informativi diversi .................................................. 65 6.2 Usabilità relativa alla configurazione delle query ................................ 65 6.3 Utilizzo dei coefficienti di rilevanza (relevance scores) ...................... 66 5
  • Interazione con l‟utente per la verifica dei risultati .............................. 67 6.4 6.4.1 Metodo “Feedback” (eBay) ............................................................... 67 6.4.2 Metodo “Pool” (quiz, sondaggi, etc.) ................................................ 68 6.5 Falsi negativi e autoapprendimento ...................................................... 68 6.5.1 Azioni da parte degli utenti relative ai falsi negativi ........................ 68 6.5.2 Meccanismi di autoapprendimento ................................................... 69 Conclusioni ........................................................................................................... 71 Riferimenti bibliografici........................................................................................ 73 Appendice A – Presentazione ............................................................................... 77 Frontespizio ....................................................................................................... 77 Gestione documentale ....................................................................................... 78 Collegamento tra documenti strutturati e documenti non strutturati ................ 80 Information Retrieval ........................................................................................ 81 Meta motori di ricerca ....................................................................................... 83 Sistemi di voto .................................................................................................. 84 Proposta di soluzione del problema .................................................................. 85 Algoritmo generale............................................................................................ 86 Sviluppi ............................................................................................................. 87 Conclusioni ....................................................................................................... 88 Riconoscimenti...................................................................................................... 91 Colophon ............................................................................................................... 93 6
  • INDICE DELLE FIGURE Figura 1 Diagramma di frequenza delle parole: l'ascissa rappresenta le singole parole in ordine di frequenza. ......................................................................................... 21 Figura 3.1 Algoritmo semplificato di un meta motore di ricerca .......................... 41 Figura 4.1 Diagramma ER .................................................................................... 49 7
  • 8
  • ABSTRACT «Prendi la direzione opposta all ’abitudine e quasi sempre f arai bene. » Jean -Jacques Rousseau Pensiamo a quanti documenti di vitale importanz a vengano persi o dimenticati all‟int erno di una qualsi asi ret e azi endal e. Va da sé che la mancata fruizione di quest e inform azioni può comport are un danno economico perché il loro recupero può essere l aborioso o, nella peggiore dell e ipot esi, può non avveni re. I documenti costituiscono l a base del patrimoni o inform at ivo di qualsiasi realtà : il vero valore aggiunt o è riuscire ad indi viduare e a cons ervare le relazioni all‟int erno di questo sistem a. La ri cerca nel set tore docum ental e oggi è ori entat a verso il problem a dell a strut turazione dei documenti non strutturat i al fine di poter costruire queste rel azioni tra documenti all ‟apparenza eterogenei tra loro. Ribaltando il concetto, è invece più sempli ce ottenere docum enti non st rut turati a partire da documenti strutt urati definendo per ogni tipologi a di docum ento un t emplate da dare in pasto ad un sistema autom atico. La domanda pot rebbe essere quindi così posta: com e è possibile ricercare collegam enti tra docum enti strutturati e non strutturati attraverso questo “nuov o” docum ento ott enuto? L‟idea, nata durant e la lettura di pubblicazioni ri guardanti il problem a della strutt urazione, è stat a questa:  da un document o strutturato è possibil e ottenere una quer y di ricerca (t ramite un t emplat e opportunam ente costruito posso così ott enere quest o “nuovo” docum ento);  è possibile ri cercare questi coll egamenti dando in pasto la quer y generat a ad un motore di ricerca che ha 9
  • precedent ement e i ndicizzato tutti i docum enti non strutturati. In questo progetto di tesi sono indicate al cun e m etodol ogi e e tecni che, nuove e antiche, opportunamente adatt ate e connesse per rintracciare e m antenere queste relazioni così importanti. 10
  • INTRODUZIONE «Tutto ciò che è scritto unicament e per far piacere all ’autore è senza valore.» Blaise Pascal Premessa Il presente lavoro è finalizzato al la progettazione di un componente soft ware (nella fattispecie, un web servi ce) per il support o al coll egamento tra docum enti strutturat i e non strutturati. Obiettivi Lo scopo dell a tesi è di progett are un si stema confi gurabile per il collegamento assist ito di documenti non strutturati a docum enti strutturati in un sist ema di gestione documental e. Tale component e deve essere realm ente applicabile e di facile utilizzo, grazie all ‟interfacci a web e alla stesura di pr ocedure che guidano l‟ut ente passo per passo. La progett azione verrà effettuata a livell o generale pensando ad un componente integrabile in diversi sist emi informativi, anche se nello speci fico si farà riferimento ad un sistem a di gestione docum ental e. La st ruttura del servizio dovrà quindi essere flessibile, confi gurabile ed all o stesso tempo indi pendente, al fine di rispondere alle esi genze di ogni singolo tipologia di docum ento. Dovranno comunque di volt a in volta essere prese in considerazione l e peculi arit à del sist ema inform ativo in analisi per perm ettere un ‟i ntegrazione che allo stesso t empo sia efficace ed effi ci ente. Organizzazione Nella present e tesi verranno descritte tutte le fasi della progettazione. 11
  • Nel capitolo 1 verranno esposti gli aspetti r el ativi all a gestione docum ental e, al fine di chi ari re i concetti di base ed individuare il problem a propost o. Nel capitol o 2 verranno esposti i concetti generali relativi al mondo dell‟ Inform ation ret rieval , disciplina che è alla base del funzionam ento de i motori di ricerca. Nel capitolo 3 verrà analizzata la struttura dei m eta mot ori di ricerca e come i sist emi di voto vengano in aiuto nell a compi lazione del risultato finale. Nel capitolo 4 verrà propost a la sol uzione del probl ema attraverso la dest ruttu razione dei docum enti strutturati, con l ‟aiut o dei meta motori di ricerca. Nel capitolo 5 si descriveranno i prodot ti e l e t ecnologie che sono state considerate nel la pratica per l ‟anali si in questi one. Nel capitolo 6 saranno delineati gli spunti di ricerc a futuri emersi dalla t ratt azione. Infine, verranno riportate al cune not e conclusive. 12
  • 1 LA GESTIONE DOCUMENTALE «Pensiamo per concetti genera li, ma viviamo di particolari.» Alfred North Whit ehead 1.1 Definizioni Un documento può essere visto come un ‟informazione organizzata o un oggetto, t ratt at o com e unit à. Un documento non -strutturato è un document o senza un formato speci fico (ad esempi o, un file di testo); un documento semi -strutturato è un documento di viso in sezioni o paragrafi (ad esem pi o, un testo form attato o una pagina web) . I meta data (met a informazioni ) sono i nform azioni strutturate che descrivono si ngoli oggetti per forni re conoscenze aggiuntive per trovare, gestire, controllare, capire o preservare t ali oggetti. Un linguaggio di annotazione (linguaggi o di markup ) è un si stema form ale per scambi are o pubbli care i nformazioni in modo strutturato. XML è un linguaggi o di annotazione che fornisce un form ato per la descrizione di dati strutturati, che consente di di chiarare con maggi or precisione il cont enuto dei dati e di ott enere risultati più signi ficativi nelle ricerche eseguite su diverse piatt aform e (definisce in modo non ambi guo l a st ruttura dei dati contenuti nel docu m ento). Un documento strutturato è un documento che al suo interno contiene un linguaggio di annot azione che definisca l e informazioni di base relative al document o stesso (es. l‟aut ore di un document o, il client e a cui fa riferimento una fattura, il mitte nte di un m essaggio di posta el ettronica ). La strutturazione dei documenti è un aspetto important e dato che perm ette di el aborare i docum enti in modo automati co (archi viazione) e renderli facilment e recuperabili ed interpret abili. 13
  • Una classe di documento (document class ) è l a definizione dell e meta informazioni che sono cont enut e i n un documento strutturato (es. articolo, fattura, messaggio di post a el ettronica). In linguaggio XML, un documento st rutt urato è un ‟istanza di docum ento ment re una cl asse di documento è quel l ‟insiem e di regol e che l ‟istanza di documento deve rispett are. La gesti one dei documenti (document management ) è il processo di acquisizione, condi visione, tracciam ent o, revisione e distribuzione di docum enti e dell e inform azioni in essi conte nut e. Un sistema di gestione documental e (document management system – DMS) è un sist em a automati co di supporto alla creazione, utilizzo e manutenzione per l a creazione di docum enti (non dati ). Un r ecords management s ystem (RMS) è un sist em a per l‟identi ficazione, la cl assifi cazione, l ‟archiviazione e, a volte, la cancell azione di record (rappresentati da singoli documenti). Un sistema di gest ione documental e elettronica (EDMS) è un sistema com pleto software e hardware per la gestione documental e; include servizi di indicizzazione e ri cerca dei docum enti, acquisizione, OCR, mass st orage, gestione del worflow e dell a condivisione/ collaborazione. Un electroni c records management syst em (ERMS ) è un sistema automati co per gest ire la creazione, l ‟utilizzo, la man utenzione e la distribuzione di record el ettroni ci; questi sistemi mant engono delle inform azioni contestuali appropri ate (metadata) e collegamenti tra record al fine di evi denziare il loro cont enuto. 1.2 Il problema: la strutturazione d i documenti non strutturati La maggior parte delle informazioni aziendali (circa l ‟80%) è compost a da docum enti non strutturati, mentre gli attuali sistemi di gestione docum ental i non sono in grado di gesti re tali documenti senza un consistent e int ervento um ano. Fi no a poco t empo fa l ‟unico modo che si aveva per gestire un docum ento di questo tipo era l a sua lettura 14
  • da un operatore e l a successiva indi cizzazione manual e all ‟interno di un EDMS. [Mur03] Recentem ente sono nati sist emi di auto cl assifi cazione e di auto estrazione che ri escono ad estrarre da documenti el ett ronici non strutturati o da documenti cart acei st rutturati (attraverso un sistema di OCR) le inform azioni necessari e per una loro indi cizzazione autom atica o un loro inserim ent o in un sist ema di gestione docum ental e. Il problem a della strutturazione di docum enti non st rutturati rimane comunque uno dei punti chi ave della ricerca in campo docum ental e, dat a la mole di inform azioni che deve essere gestita ogni giorno dalle aziende e dall a necessità di trasfor mare ogni singolo docum ento in una component e del propri o patrim onio inform ativo. 1.3 Il vantaggio nell ’utilizzare documenti strutturati L‟utilizzo di strum enti per la strutturazi one dei docum enti è la vi a più efficace ed economica per gestire le inform azioni. La st rutturazione delle inform azioni è un processo naturale dell a ment e umana spesso l ‟umanit à sottovalut ato o considerato implicito, ma ha sempre considerato questo processo come fondam ental e nell a stesura di docum enti (basti pensare all ‟utilizzo di somm ari , indi ci, divisione in capitoli/paragrafi). [ MR96] La strutturazione dei docum enti perm ette di:  elaborare i documenti in maniera autom atica in processi di archiviazione o di estrazione dati;  effettuare ri cerche efficaci in una base documental e;  rendere il cont enuto del docum ento faci lmente recuperabile ed int erpret abile;  identifi care, elaborare ed estrarre qualsiasi part e di docum ento. L‟archi viazione di tali docum enti risult erà tanto dettagli ata quanto la finezza della granularit à della cl asse di docume nt o, superando così gli inconvenienti dell ‟archiviazione dei documenti com e file interi. Generalment e un documento st rutturat o viene quindi vist o com e un 15
  • insieme ordinato di nodi etichett ati, organizzato gerarchicament e con una st ruttura ad albero, permett endo un‟ulteri ore gestione della struttura gerarchica che a sua volta avvia una cat ena di elaborazione automati ca del documento (es. sist em i di gestione automatica del workflow in cui ogni processo aziendale viene accom pagnato dall a rel ativa docum entaz ione che passa di elaborazione in el aborazione). [GalCap03] 1.4 Il ciclo di vita di un documento : workflow documentale Parlando del ci clo di vita di un docum ento occorre considerare il lavoro dei sistemi di gestione document ale, il cui compito è proprio di seguire pot enzialmente tutto il ciclo di vita di un document o, dalla sua creazione in poi, gestendo aspetti che spaziano dall a m emorizzazione alla ri cerca, dall a condivisione fra i dipendenti alla pubbli cazione su Internet (tra le funzioni critiche anche la defi n izione dei diritti di access o ai document i e la forma in cui essi possono essere visualizzati o stampati ). Tali sistemi possono anche interfacciarsi con i sistemi di workflow, un aspett o particolarment e utile quando i documenti sono part e di un processo be n defi nito (per esempi o l ‟approvazione di acquisti ) che vede coinvolte pi ù fi gure aziendali. Analizziamo ora il processo di creazione e gestione di un docum ento condiviso. La prima azione è l a creazione del documento (anche dett a check- in): quest a non si esaurisce con la sola scrittura del docum ento, ma è necess ari a la sua archiviazione tenendo conto dell e met a i nform azioni ad esso associ ate che rappresent ano il documento (quasi) a prescindere dal proprio cont enuto (es. autore, data di creazione, progetto di riferimento). Tali inform azioni sono essenziali nella logica organizzativa della gestione di un documento strutturato. È comunque diffici le creare elem enti di cat alogazione oggettivi per chi deve progettare tutt e le cat egori e in cui devono essere organizzati i documenti: un docum ento può appart enere a pi ù categori e, 16
  • l ‟utent e oppure che deve scegli ere dove cl assifi care il proprio docum ento (alcuni sistemi utilizzano allora sistemi automatici di cat egorizzazione semantica che si basano sul al goritmi di t ext mining ). Per quanto ri guarda l ‟archivi azione del documento, il sistema deve cons ervare non solo il docum ento fisico, ma anche l ‟insieme dei metadati a esso associati. Normalm ent e si parla di repositor y, anche se in realtà l ‟archivi azione fisi ca del documento è effettuata in un file s yst em e quell a dei met adati in un database relazionale. Si crea successivament e una serie di coll egam enti fra i due archi vi tenendo pres ent e che l ‟utent e, per accedere a un file (sul file s yst em), deve passare dal databas e che conserva i metadati collegati a quel file. L‟archit ettura quindi normalmente è a tre livelli: il client (ultimament e un browser), il server di gestione e i due el ementi di archiviazione (repositor y). A questo punto il documento inizia a viaggiare log i cament e nell‟azienda e vi ene utilizzato per acqui sire conoscenza e per prendere decisioni. Si parl a quindi di workflow documental e definendolo com e un modello quot;a t re Rquot;: routes (processi: la sequenza di passi), rul es (azioni: ciò che va fatto) e roles (persone: chi lo deve fare). Il workflow document ale, che va ben distinto dal workflow di processo, assume di versi aspetti a seconda del tipo di processo: sequenziale, condizional e, quot;tim e drivenquot; (scandito dal tempo) o parallelo. [NW00] In questo t ratt ato non analizzeremo gli aspetti propri di una gestione di workflow non essendo oggetto del lavoro di t esi, ma quest a breve analisi è important e per capi re l ‟effettiva importanza della meta inform azioni associ ate ad un docum ento. 17
  • 18
  • 2 INFORMATION RETRIEVAL «La verità si ritrova sempre nella sempli cità, mai nella confusi one.» Isaac Newton 2.1 Introduzione L'Inform ation ret rieval ( IR) (l etteralm ente “recupero d'informazioni”) è l 'insi eme delle tecni che utilizzate per il recupero mirato dell ‟inform azione in form ato elettr onico. Per quot;informazionequot; si intendono tutti i documenti, i m etadati , i fil e presenti all 'interno di banche dati o nel world wide web. L'IR è un campo interdisciplinare che nasce dall 'incrocio di discipline diverse. L'IR coinvol ge l a psi cologi a cognitiva, l 'architettura inform ativa, la fi losofia, il desi gn, il comport amento umano sull'informazione, la linguisti ca, la semiotica, la scienza dell 'inform azione e l 'inform atica. Per recuperare l 'informazione, i si stem i IR usano i linguaggi di interrogazione basat i su comandi t estuali. Due concett i s ono di fondament ale im port anza, query ed ogget to:  le quer y (quot;interrogazioniquot;) sono stringhe di parol e -chi avi rappresent anti l 'informazione ri chi es ta: vengono di git ate dall 'ut ente in un si stema IR (per esempio, un m otore di ricerca);  un oggetto è un'entit à che mantiene o racchiude informazioni in una banca dati (u n docum ento di t est o, pe r esempio, è un oggetto). Una ti pica ri cerca di IR ha come input un com ando dell 'utente. Poi la sua quer y viene messa in rel azione con gl i oggetti presenti nella banca dati . In risposta, il sistema forni sce un insi eme di record che soddisfano l e condizioni richiest e. 19
  • Spesso i docum enti stessi non sono mantenuti o immagaz zinati dirett ament e nel sist ema IR, ma vengono rappresent ati da loro su rrogati (i motori di ri cerca del Web sono l e applicazioni più note ed ovvie dell e teori e di Information Retri eval ). 2.1.1 Nascita dell’ Information Retri eval Il termine IR fu coniato nel 1952 da C alvin Mooers che tra l‟altro formulò la “l egge di Mooers” che è s icuram ente un riferim ento da non perdere m ai di vist a nella progettazione di sistemi di IR : «Un sistema di reperimento dell e inf ormazioni tenderà a non esser e usato quando trovare le informazioni è più noioso e doloroso che non trovarl e ». I primi studi t ra il ‟50 e il ‟60 posero le basi dell a analisi st atistica del linguaggio che è quell a disciplina che ha l‟obi ettivo di defini re leggi di distribuzione di probabilità che perm ettano di elaborare i modelli di rappresent azione applicabili a qualunque cont esto linguisti co. Nel caso dell‟ IR ciò ha lo scopo di ottimizzare l‟individuazione dei termini indi catori del cont enuto. 2.1.2 Fasi del reperimento delle informazioni Le due fasi fondamentali per il reperimento dell e informazioni sono: 1. la rappresentazione del conten uto dei documenti; 2. la rappresentazione del fabbisogno informativo dell‟ut ente. Tecnicament e la rappresent azione del contenuto del documento consist e nella “indicizzazione” cioè nel processo di sel ezione dai docum enti di termini indice “speci fi ci” ed “esaus tivi” adatti a rappres ent arne il contenuto. 2.1.3 Luhn e l ’IR Ma fu l‟analisi di Luhn nel 1958 che di ede una spint a si gni ficativa con la definizione che l a capacit à dei termini di discriminare il contenuto dei documenti è m assima nella posizione int erm edia t ra i 2 livelli di cut -off dell a distribuzione di frequenza. 20
  • Egli asseriva che l a frequenza con cui al cune parole compaiono in un testo forniscono un param etro i mportant e del si gnificat o delle parol e. Inoltre dice che il posizionamento di queste parole all ‟int erno delle frasi è un al tro paramet ro che indica il si gnifi cat o e quindi l‟import anza dell e frasi. Quindi l ‟importanza e il si gni fi cato di una frase è dato dall a combinazione di questi due fattori. Possiamo affermare che l a frequenza con cui alcune parol e compaiono in un test o, può ess ere usata per rappresent are un documento [ Luh58]. Se pensi amo all ‟i ndicizzazione autom atica dei testi, possiamo immaginare l ‟importanza di questo pri ncipio, infatti se per un essere umano è facile capire l ‟importanza di un tes to e indivi duarne gli argom enti tratt ati, per un calcol atore questo è molto più complicat o. Come può capi re l ‟argomento trattato in un testo? E come può capirne l‟import anza? La frequenza con cui l e parole compaiono i n un testo può dare un grande aiut o, an che se non basta cont are le parol e e vedere quella che compare più volte per cl assifi care un documento F i g u r a 1 D i a g r a m ma d i f r e q u e n z a d e l l e p a r o l e : l ' a s c i s s a r a p p r e s e n t a l e singole parole in ordine di frequenza. 21
  • Luhn usò la legg e di Zipf [Zip49] per specifi care due “cut -off”, uno alto e uno basso. La linea di cut -off alta, tagli a tutte le parol e che occorrono troppo frequentem ente e che quindi non sarebbero indicative per rappresentare un testo, i n itali ano im maginiamo la congiun zione “e” oppure gli arti coli. Il cut -off basso invece serve per eliminare le parole che compai ono troppo raram ente e che quindi non sono indicative per identifi care un t esto; immaginiamo che i n un articolo compai a una volt a la parola “addizione”, non sare bbe suffi ciente per di re che il testo tratta di aritm etica. Oltre a questo, Luhn stabilì una regola basat a su dell e tecni che di conteggio per stabili re a quale frequenza le parol e sono da considerarsi più si gnifi cati ve e quindi più utili per discriminare i l contenuto del testo. Questa funzione raggiunge il suo picco a met à via tra i due cut - off, per poi scendere nelle due direzioni, avvi cinandosi allo zero in corrispondenza delle due linee di cut -off. A questo punto appare chi aro che una parte molto importa nt e del lavoro è definire i punti di cut -off: ancora adesso vi è una buona dose di arbit rariet à nel defi nire questi limiti. Luhn utilizzò quest a tecni ca per defini re dei sommari automatici dei testi, successivamente è st ata utiliz zata per stabilire l ‟importanz a delle parole da indicizzare. Successi vament e l a regol a di Luhn fu raffinata, normalizzando le sue misure rispetto all a frequenza di ogni parol e nel testo t ot ale, quindi se una parol a compare 4 volte in una frase e 200 volt e nel testo tot ale, l ‟importanza della parola sarà 4/200. L‟analisi autom atica dei t esti si è rivelat a ovviam ente molto important e per quanto ri guarda l ‟indi cizzazione di questi . Un indice è form ato da un insi eme di t ermi ni chi amati t ermini indice, che sono ricavati dai t esti per l ‟appunto indicizzati. Due importanti fattori per valutare un indi ce sono esaustivit à e specifi cità. Per ogni indice l‟es austività è defi nita dal numero di “topic” (argom enti) i ndicizzati, mentre la speci ficit à è l ‟abilità di un i ndice di descrivere a fondo un 22
  • argom ento. La specificità venne defini ta [Kar04] com e la precisione con cui un document o è indi cizzato. È comunque intui bile che questi fattori sono di ffi ci lmente quantifi cabili : quantificarli è molt o important e per aument are l‟efficacia del reperimento dei docum enti, infatti un indi ce con alt a esausti vità porta ad avere un alto richiamo ([docum ent i rilevanti reperiti]/[docum enti rilevanti totali reperiti e non -reperiti]) e una bassa precisione ([documenti rilevanti reperit i]/[documenti totali reperiti]) . (d‟altra part e una bassa esaustivit à port a ad un ‟alta precisi one e ad un basso richi amo ). La stessa cosa si veri fi ca con l a speci ficit à, più alt a è questa maggiore è la precisione e mi nore è il richiamo e viceversa (precisione e richi amo sono due grandez ze inversamente proporzionali, all‟aument are di una diminuisce l ‟altra) Un modo per cont rollare esaustività e speci ficit à di un indice è quello di pesare i termini indi ce ed ovviament e c i sono m olti tipi di pesatura. L‟idea di Luhn (l a frequenza con cui un termine compare in un testo) può essere usat a com e pesat ura del termine e c ome indice della sua importanz a, assegnando ad ogni termine un peso dirett ament e proporzional e all a frequ enza con cui com pare nel testo. Se consideri amo importante la specifi cità d i un termine, che è assunt a essere inversamente proporzionale al numero di document i in cui il termine indice com pare allora l a pesatura m aggiore sarà associ ata, contrari amente al caso precedent e, ai t ermini che compaiono in meno docum enti. La di fferenza t ra i due metodi di pesatura è che utilizzando la frequenza dei termini si pone enfasi sulla descrizione dei cont enuti mentre la pesatura basat a sulla speci fi cità pone l ‟accento sull ‟abilità dei termini di discri minare un docum ent o dall ‟altro. 23
  • 2.2 Sistemi di IR 2.2.1 Definizione del sist ema Un Sistem a di IR è progettato per svol gere al meglio il processo di IR . Esso dovrà portare a termine al meglio tutti i passi di questo processo. Inizialment e, prima che il processo di reperiment o abbia inizio, è necess ario disporre di una base di dati testual e. È quindi necessario speci ficare i docum enti da utilizzare, l e operazioni da effettuare sul testo per rendere pi ù veloce l a ri cerca dei documenti ed il modello (ad esempio un tipo di struttura parti colare che ha il testo e qua li sono gli elem enti che possono essere reperiti). Una volta che è st ata definit a la visione logi ca dei docum enti, si costruisce un indice del testo. Un indice è la struttura dati principal e in quanto esso permett e una rapida ri cerca all 'interno di grosse quantità di dati. Le risorse, i ntermini di tem po e spazio di mem orizzazione, impiegat e nella fase di indicizzazione sono giustificate dalle mi nor risors e necessari e per l e (notevolment e più num erose) operazioni di interrogazione. [Dem04] 2.2.2 Componenti di un s i stema di IR Da un punto di vista formal e, un sistem a di Inform ation Retrieval è rappres ent abile da una “quadrupla” (D, Q, F, R) composta da [BaeNet 99] :  un insiem e di rappresentazioni logiche dei documenti D;  un insiem e di rappresent azioni logi che dei fabbisogni inform ativi Q (l e quer y);  il modello di riferimento per la rappresentazione dei docum enti e dell e ri chiest e e dell e rel azioni tra loro, F;  una funzione di “ranking” R(Q i , D j ) che associ a un numero reale non negativo ad una quer y e ad un docum ento, ordinando i docum enti recuperati per soddisfare la richi est a. 24
  • 2.2.3 Processo di reperimento Data una coll ezione indicizzata, il processo di reperiment o può essere svolto nel modo seguent e [BaeNet 99]: 1. L'utent e specifi ca il suo bisogno informativo che viene trasform ato nello st esso modo in cui sono stati t rasformati i docum enti presenti nella coll ezione (vengono cioè estratte l e radi ci dei t ermini e inseriti t ermini simi li a quelli specifi cat i dall 'ut ente); 2. L'i nterrogaz ione vi ene processat a per ottenere quelli che sono i docum enti reperiti. Com e visto, un reperimento dei docum enti rapido è possibile grazie all a precedent e fase di indicizzazione. P ri ma che i docum enti vengano mostrat i all 'utente, essi vengono ordinati con frontando e stim ando quali docum enti sono più pertinenti rispetto ad altri assegnando ad ognuno un R etri eval Stat us Value (RSV) detto anche score. Questi valori assegnati vengono poi trasform ati in un ordinam ento (rank) che vi ene presentato all 'utent e; 3. L'u tent e analizza l 'insieme dei docum enti che sono stati reperiti ed indica ad esso quali documenti sono, a suo giudizio, pertinenti all 'int errogazione (in questo modo possono essere eseguite operazioni di relevance feedback per riformulare l 'i nterrogazione a l fi ne di renderl a più corretta). 2.3 Indicizzazione della collezione 2.3.1 Tecni che di indi cizzazione Le tecni che di indicizzazione studi ate per le basi di dati rel azionali non sono adatt e per i sistemi di Inform ation Ret ri eval. L‟indi ce pi ù utilizzato è l‟i ndice i nvertit o:  vengono scansionat i i documenti e creato un elenco di coppi e (t ermine, Document ID);  l‟elenco viene ordinato per t ermine; 25
  •  i termini che compaiono più volte nel lo stesso docum ent o collassano in un uni co elem ento, al quale viene aggiunt a la frequenza del termine;  il risult ato vi ene memorizzato in due file: il fil e del Dizionario e il file dei Posting. Tale t ecnica è vali da per quer y semplici (insi emi di t ermini); modifiche sono necessari e se si vogliono gestire alt re tipol ogie di quer y (frasi, prossimit à ecc.). 2.3.2 Semplifi cazione di documenti t estuali Ai documenti vengono appli cat e diverse procedure per semplifi care i termini che contengono:  uno stream di test o viene t rasform ato in un elenco di token candi dati a diventare ent r y dell‟indice;  vengono eliminate le “stopwords”, ci oè i termini molto frequenti nell a lingua in cui è scritto i l testo che non sono quindi si gni ficativi per capire l 'argom ento tratt ato dal t est o (ad esempio gli arti coli e le congiunzioni );  vengono divise le parole cont enenti un trattino (d e- hyphenation );  vengono eliminate le parole cont enenti ci fre;  vengono gestite l e trasformazioni minuscole/maiuscol e;  vengono estratte le radici mediant e al goritmi di stemming per non fare distinzioni tra singolari, plurali , verbi coniugati;  vengono gestiti i s inonimi attraverso dei thesauri (in quest o punto è anche possi bile valutare eventuali dizionari per la traduzione di t ermini tra lingue diverse;  se linguisti cam ent e possibile, una parol a vi ene ridott a alla sua radi ce grammati cal e (l emmati zation). Quest e operazioni perm ettono di ott enere una visione logi ca dei docum enti ori ginali , anche se in certi casi può essere necessario gesti re 26
  • vari e eccezioni. L‟ utilizzo di tali tecniche comunque non sempre migliora l a qualità delle rispost e ad una qu er y. 2.3.3 Algoritmi di st emmi ng Nel linguaggio nat ural e l e parol e sono formul ate con diverse vari anti morfologiche, sebbene si ri feriscano a un comune concett o (ad esempio: com unicare, comuni cati, com unicazione, comuni catore). P er stemmi ng si i ntende il raggrup pare queste parol e indi viduando la loro radi ce m orfologica ( stem). Appli cato ad un si stem a di Information Retrieval ( IR ), i termini chiave dell a quer y o del docum ento sono rappres ent ati dagli stem piuttosto che dal le parol e ori gi narie. Utilizzando lo stem m ing, un sist ema di IR può:  perm ettere all‟utent e di formul are query senza preoccuparsi di speci ficare ogni variazione morfol ogi ca delle parol e cercate;  migliorare la precision e la recall, specialm ente per quer y cort e;  ridurre l a dim ensione del dizionario di t ermini chiave. I risultati sull‟utilità dello stemming sono stati abbondant ement e studiati per l‟ingl ese, con risultati cont roversi. Lingue più complesse dal punto di vista m orfologico (lingue germ aniche, romanze, finnico…) richi edono approcci più sofi sticati, m a i benefici si ri velano più signi ficativi. Esistono generatori che si appoggiano sulla conoscenza di una parti colare lingua (che permett ono maggiore effi caci a ma scarsa adatt abilità), ment re i generatori “language -independent ” ut ilizzano un approccio statisti co per inferire le regole di formazione delle parol e (che sono quindi vantaggiosi per si stemi IR multilingua e non necessitano di un esperto per ogni li ngua, e neppure di form alizzare l e regol e). [GavVal05] 2.3.4 Considerazioni sui moduli linguisti ci I m oduli linguisti ci sono dipendenti dal linguaggio usato nel testo. Si possono quindi verifi care problemi nel caso in cui il test o cont enga 27
  • parol e scritt e in diversi linguaggi o i n casi di linguaggi che possono creare probl emi aggi unti (ad es empio, il gi apponese). Questi moduli anno dei benefi ci in termini di precisione dell a ricerca e dim ensione dell 'indi ce, ma l e t rasformazioni del t esto possono rendere più difficil e la ri cerca all 'utent e. Per questi motivi non tutti sono concordi sull'oppo rt unità di usarli (ad es empio, non sono utilizzati da molt i Web Search Engi ne). 2.4 Modelli di IR 2.4.1 Modello bool eano La quer y consiste i n una lista di term ini da confrontare con i termini usati per l a descrizione dell a coll ezione di documenti. Il confronto è bas ato sulla logi ca booleana usando norm al mente i t re operatori AND, OR e NOT Il confronto può essere migliorat o trasformando i termini usati per la des crizione dei documenti in altri più precisi con tecni che di stemming o con uso di thesaurus. Il modello bo oleano perm ette quindi di associ are all a coppia termine- docum ento solo i val ori 1 e 0. I problemi del modello booleano sono causati da:  peso dei t ermini (con una pura espressione booleana la valutazione è solo sulla presenza/assenz a del termine);  ordine di precedenza dei t ermini;  interpret azione scorretta degli operatori. 2.4.2 Modello fuzzy La logi ca fuzz y permette di associ are ad ogni coppia termine - docum ento un pero compreso t ra 0 e 1. Questa logica è utile nell a soluzione di probl emi complessi che non sono formalizzabili in un al goritmo det erm inistico. Possono essere invece descritti qualitativamente attraverso espressioni li nguistiche Un insiem e fuzz y è caratt erizzato da una funzione di correl azione che consente di esprimere il grado di rappresent abilità d i un termine T rispetto al cont enuto di un docum ento D. 28
  • 2.4.3 Modello probabilistico L‟identificazione dei concetti si basa sul la teori a dell‟inform azione di Shannon. Il ranki ng dei documenti è basato su modelli probabilist ici (statisti ca soggettiva basata su mo delli ba yesiani ). Questo modello è utile per le ri cerche su contesti non conos ciuti. Secondo Shannon, i l contenuto informativo di un “messaggio” è rappres ent ato dall a sua probabilità di presentarsi in un insieme di messaggi possibili: maggiore è l a probabi lità di realizzarsi, minore è il contenuto inform ativo. È abbast anza i ntuitivo che sarà il messaggi o meno probabile a portare la m assim a quantità di informazione quando si pres ent a. In t ermini sempli ci, il teorem a di Ba yes part e dalla considerazione che non tutti gli eventi siano direttament e osservabili. Se non possi amo osservare l ‟evento A l a probabilità “a priori ” di A sarà P(A). Però se un evento A è in qualche m odo connesso ad un event o B che possi amo osservare, l a probabilità a post eri ori di A sarà P(A/B). Il teorema di Ba yes stabilisce come cal colare la probabilità “a posteri ori ” di A a partire dall a probabilità, not a, di B. In termini di Information R etri eval, identifi cato un set di docum enti che si sa essere rispondenti alla quer y (evento B), è possibile calcol are per gli altri documenti la probabilit à che hanno di essere rilevanti. 2.4.4 Modello vettorial e Nel modello spazio vettori ale si a la quer y che il docum ento sono rappres ent ati come vettori in uno spazio n -dimensional e:  D i = (d i 1 , d i 2 , …, din )  Qj = (q j 1 , q j 2 , …, q j n ) dove d i k e q j k rappresent ano i val ori del termine k nel documento D i e nella quer y Q j . 29
  • I valori di un t erm ine possono essere semplicement e 0 o 1 per indicare l a sua presenza/assenza nel document o/quer y oppure possono rappres ent are il peso del t ermine nel documento o l a quer y. 2.4.5 Modello clust er Un cluster è un gruppo omogeneo di documenti che sono tra loro più fort em ente associati di quant o lo siano con docum enti in altri gruppi. Il clustering consente di raggruppare automaticament e un insieme di docum enti (ad esempio il risultat o di una ricerca). In questo senso il clustering è una forma di “unsupervised classi fication”, cioè uno strumento di aggregazione dei docum ent i quando non si abbiano classi predefi nite. L‟ al goritmo più semplice di clust eri ng (a singolo li vello senza overl ap) fa uso di:  una misura di similarità;  un valore di sogli a che definisce l‟appart enenz a al clust er;  “centroi di” o “m edoidi”, documenti più rappresent ativi per ciascun clust er. La ri cerca avvi ene i n due fasi: 1. si confront a l a quer y solo con i cent roidi dei cl uster; 2. si confront a l a quer y con i docum enti dei cluster selezionati. 2.5 Valutazione dei sistemi di IR 2.5.1 Valutazione di ril evanza Per l ‟utent e il do cumento rilevante per una quer y può essere il docum ento che [Olo]:  risponde precisam ente all e esi genze dell ‟utente ;  risponde parzialm ente all e esi genze dell ‟utente ;  suggerisce una fonte di informazioni ;  inform azion i contestuali sull‟argom ento di fornisce interesse;  richi ama alla memoria dell ‟utente altre conoscenze . I fattori che infl uenz ano l a val utazione di rilevanza sono [Sar75] : 30
  •  Utent e: il contesto dell‟ int errogazione e i limiti posti all‟int errogazione ;  Interrogazione: st ruttura e cl assificazione dell e interrogazioni ;  Chi effettua la ri cerca: esperi enza e percorsi cognitivi di chi effettua la ri cerca ;  Ricerca: modalità di formul azione dell a ricerca ;  Docum enti recuperat i . 2.5.2 Criteri di valutazione I criteri di valutazi one di un sistema di IR possono essere così definiti [CMK96] : 1. la copertura della base docum ental e ( la misura con cui il sistema definisce gli indici di rilevanza); 2. il tempo di risposta (l‟int ervallo tra l‟i nvio della ri chiest a e l‟ott enimento del risultato); 3. il modo di pres ent azione del risultato; 4. lo sforzo che l‟ut ente d eve compi ere p er ottenere le sue risposte; 5. la percentual e di materi ale ril evante che è stato recuperato; 6. la percent ual e di material e recuperato che è effettivament e ril evante. In alt ri termini: 1. precisione e recall; 2. contesti di applicabi lità; 3. facilità di ricerca da part e dell‟ut ent e; 4. facilità di analisi dei risultati; 5. semplicit à di impl ementazione. È import ante consi derare che oltre all e met riche tradizionali di perform ance dei si stemi di Dat a R et rieval, occorre considerare l a “soddisfazione” degli utenti (possono essere presi in considerazione 31
  • svari ati fattori nel misurare la soddisfazione di un utente, dipendenti dal tipo di utent e e di applicazione). Sono state anche sviluppat e coll ezioni di docum enti di t est per poter fornire un confront o real e t ra si stemi diversi (ad esempio, l a collezione TREC ). 2.5.3 Misure di effi cacia e parametri di valutazione Possiamo dividere i docum enti in quattro cat egorie:  docum enti ril evanti ritornati (veri positi vi);  docum enti ril evanti non ritornati (falsi negativi );  docum enti non rilevanti ritornati (falsi positivi);  docum ento non ril evanti non ritornati (veri negativi). Le misure di effi ca cia utilizzata per la valut azione dei sistemi di IR sono quatt ro:  Recall: p ercentuale di documenti ril evanti recuperati sul totale dei docum enti rilevanti presenti nell‟insiem e;  Precisi one: p ercent uale di documenti ril evanti sul tot ale dei docum enti recuperat i;  Silenzio: percentual e di docum enti rilevanti non recuperati sul total e dei docum enti ril evanti presenti nell‟ insiem e ;  Rumore: percentual e di docume nti non rilevanti sul tot ale dei documenti recuperati . 32
  • Le misure effettivame nte rilevanti sono Recall e Precisione, visto che Sil enzio e R umore possono essere calcolat e da queste due. 2.5.4 Precisi on e recall Questi due param etri vanno quindi considerati contest ualm ente, e possiamo quindi divi dere valutare un sist ema in quatt ro cat egori e:  bassa precisi one, basso recall (abbiamo pochi documenti rilevanti in m ezzo a tanti documenti non rilevanti);  bassa precisione, alt o recall (abbiamo quasi tutti i documenti rilevanti, che però sono “mischi ati” a tanti docum enti non rilevanti);  alta precisione, basso recall (quasi tutti i docum ent i restituiti sono ril evanti , anche se sono una pi ccola percent ual e tra tutti i docum enti ril evant i) ;  alta precisione, alto recall (l ‟insi eme dei docum enti rilevanti è molto simil e a quello dei docum ent i restituiti, il caso ovviam ente mi gli ore). Considerando uno solo dei valori, la valutazione non sarebbe esausti va:  se considerassimo solo la misura Recall, un motore che ritorna tutti i docum enti della collection sarebbe considerato perfetto (Recall = 1);  se considerassimo solo la misura P reci sion, un motore che ritorna solo un documento (che sicurament e viene considerato ril evante) sarebbe considerato perfetto (Precision = 1). Può essere anche int rodotta una misura combinata, che chi amiamo F, che bil anci a l ‟importanz a di Precisi on e Recall: La definizione delle cost anti dipende dal bilanci amento che l‟utent e da ai val ori di Precision e di Recall: solit amente vi ene 33
  • che considera l‟esatt o utilizzato il parametro oppure bilanci amento tra i due valori. L'utilizzo di Precisi on e Recall per l a valutazione di un sist ema di IR può comportare i noltre diversi problemi:  la distinzione verit iera tra docum ento rilevante e non rilevante , che dovrebbe essere e ffet tuato tra ut enti considerati “esperti ” ;  la divisione tra documento rilevante e non ril evant e non può essere sempre netta , ma ci pot rebbero essere casi in cui possano essere utilizzati pesi compresi tra 0 e 1 (com e avviene nell a logica fuzz y) ;  la misura è infl uenzata dal dominio di appli cazione (coll ezione e quer y) : uno stesso sist ema può avere ottime prest azioni in un det erminato domini o m a non i n un altro . 2.6 Web information retrieval 2.6.1 I dati sul w eb Il Web può essere visto come una col lezione non strutt ur ata di inform azioni, dist ribuita e di dim ensioni imponenti. C‟è da considerare inoltre che esistono sul web docum enti di tipi diversi (testi, immagini, suoni, video, etc.). Il reperim ento di informazioni sul web può avvenire in tre m odi diversi:  ricerca di rett a vi a UR L;  ricerca m ediant e navigazione (browsing e utilizzo di link tra pagine);  utilizzo di servizi per la ri cerca quali motori di ricerca e/ o director y. Ovviam ente l‟ IR entra i n gioco nell a struttura dei motori di ricerca. 2.6.2 Evoluzione dei w eb search engine Si possono individuare tre g enerazioni di motori di ricerca sul web: 34
  •  prima generazione, che utilizzano solo dati t estuali e al goritmi di calcol o della frequenza di parol e;  seconda generazione, che utilizzano i dati specifici del web (quali analisi dei li nk e dei t esti associati, memorizzazione dei cli ck effettuati dagli utenti nei risult ati dell e ri cerche);  terza generazione (i n fase sperimental e), che è incentrata sui reali bisogni dell‟ut ente e non sull e singole quer y (analisi semanti che, analisi del testo, determinazione del contesto, interazione con l ‟utente). 2.6.3 Web search engine – Indici zzazione e risultato Un motore di ri cerca sul web è del tutto simile ad un sist ema di IR: possiamo considerare una pagina web come un docum ento in un sistema di IR, anche se possono differire in st rut tura. Attenzione parti col are va però port ata verso due aspetti: la creazione dell a collezione e l ‟interazione con l ‟utente. In fase di indi cizzazione vanno consi derati i seguenti aspetti :  scal abilità, dat a l a mole dei d ati;  affi dabilit à, data l a distribuzione dei dat i tra server diversi;  volatilità, dat o l‟aggiornam ento continuo di cont enuti e di UR L;  ridondanza, dat a la replicazione dell e informazioni;  qualità, dat a la possibilità di presenza di errori o di inform azioni obsol et e;  eterogeneit à, dat a dalla struttura e dei t ipi di dati diversi (a livello di tipi di file ma anche di lingue, al fabeti , strutture…);  recupero, dat e le modalità di inserimento nell a collezione (segnal azione di rett a dei propri etari dei docum enti o agent e software – crawl er – che attraversa il web per indi cizzare nuovi documenti). A livello di interazi one vanno ben definiti due aspetti:  speci fica delle richi este da part e dell‟ut ente; 35
  •  present azione dei risultati. 2.7 Collaborative filtering 2.7.1 L’aspetto uman o Il coll aborative filt ering adott a un approccio complem ent are che tiene m aggiorm ent e conto dell e implicazioni soci ali del procedimento di raccomandazione. Invece di raccom andare el ementi si mili a quelli che l‟ut ente ha di mostrato di gradi re in passato, es so raccom anda elem enti che altri utenti simili hanno dimostrat o di gradire. Ad un livello um ano, quest a tecnica è utilizzata ogni volta che qualcuno basa le proprie azioni (ad esempio, andare o meno a vedere un film) sui consi gli ricevuti dal le persone che egli sa solitam ent e essere d‟accordo con lui (tipicamente gli amici ) [GNO92]. 2.7.2 Sistemi automati ci I com puter perm ettono di automatizzare questo processo e di applicarl o ad un più grande numero di utenti . In generale, non è necess ario specifi care quali sono l e persone con gusti simili perché esse vengono individuat e dal sist ema in mani era aut omati ca . Il coll aborative filtering lavora in part e associ ando ai documenti del comput er la storia del loro utilizzo. Ad esempio gli oggetti che noi usiamo nella vit a di tutti i giorni si logorano, le pagine di un libro si stropicciano, la ril egatura si sgual cisce, i bordi delle pagine si macchiano con l e i mpronte delle dita. Gli oggetti più consumati sono quelli pi ù utilizzati ed inoltre il logorio rappresent a un indice per l‟informazione relati va contenuta nel l‟oggetto [HSR95]. Il coll aborative filtering ri esce a superare alcune dell e limi t azioni dell‟approccio cont ent based. Non è necessario che gli oggetti da filtrare siano analizzabili in mani era automatica da un computer oppure che ess eri umani provvedano ad estrarne le caratteristiche descrittive. Inoltre il sistem a può raccomandare a l l‟utent e oggetti che sono molto differenti dal punto di vista del contenuto da quelli che esso ha gradito precedentem ente a ragion del fatto che si basa sul le opinioni 36
  • degli alt ri utenti . Infine l e raccom andazioni sono basate sulla qualit à degli oggetti p iuttosto che su propriet à più oggettive degli st essi. 2.7.3 Problematiche Tuttavi a il coll aborative filt ering present a anche qualche problem a:  gli oggetti appena inseriti nel sistem a non hanno ancora ricevuto voti e quindi le previsioni rel at ivament e ad essi non sono possibili. In seguito le predizioni saranno influenz at e esclusi vam ente dai pochi utenti che l e hanno valutat e per primi;  in maniera simile un utente che entra nel sistema non avendo ancora espresso voti non può essere confront ato con gli alt ri sulla base delle sue opinioni e quindi non è possibile fargli raccom andazioni;  l‟utent e comunque per essere comparato con gli altri e ricevere i suggerim enti deve fare lo sforzo di esprim ere l a sua opinione sul maggior numero possibile di oggetti e questo richi e de uno sforzo da part e dell‟utente;  in molti domini il numero degli oggett i eccede di molto il numero che ogni individuo può assorbire e valutare e quindi il grado di sovrapposizione tra due ut ent i è molto basso;  se il num ero di utenti non è eccessivament e elevato ci possono essere individui con gusti inusuali che non benefici ano del sistema in quanto le loro opinioni non concordano né discordano in mani era decisa con al cuno degl i altri. 2.7.4 Tipologie Il collaborative fil tering può essere diviso in due tipologi e: passivo e attivo. Al momento abbi amo considerato l‟esist enza di un unico dat abase in cui vengono memorizzati i voti espressi dagli utenti rel ativam ente agli oggetti e le raccomandazioni sono basat e sulle opinioni di persone simili per gusti: questo vi en e detto i n-place Col 37
  • laborative Filtering o passive collaborative filtering , perché non c‟è dirett a connessione né conoscenza tra l a persona che decide un voto e gli ut enti che giungono in seguito e ricevono raccomandazioni sulla base di questi voti aggreg ati. Un altro approccio al coll aborative filt ering si fonda sulla prati ca comune per cui le persone riferiscono ai loro ami ci o colleghi di interessanti documenti. Tal e approccio viene denominat o active Col laborative Filt ering perché c‟è l ‟intent o da part e dell a persona che cerca e val uta un oggetto di condividerne la sua conoscenza con parti colari persone Le due tecni che hanno due filosofi e di base opposte (in una l‟utent e tira verso sé stesso l‟informazione, m entre nell‟alt ra l a comunità spinge l ‟i nform a zione verso l‟utent e [CHI97]. Nel passive collaborative filt eri ng il sistem a lavora meglio se la convergenza di voti sullo st esso i nsieme di documenti è più alta; al contrario, il benefici o dell‟active collaborative filtering aumenta con la divergenza dei documenti trovat i. 2.7.5 Algoritmi di predizi one Possono essere identificate due maggi ori classi di al gori tmi di predizione basati sulla memoria (memory-based ) e basati sul modello (model -based) [BHK98] . Gli al goritmi m emor y-based mantengono un database di t utte le preferenz e espresse dagli utenti per gli oggetti e , per ogni predizione , eseguono una qual che com putazione su t utto il dat abase . D‟alt ro canto, quell i model -based prim a compil ano le preferenze degli ut enti in un modello descrittivo di utenti (oggetti e voti ): le raccom andazioni sono poi basat e esclusivament e sul modello . I m etodi basati sulla memoria rim andano ogni comput azione al momento della previsione : sono quindi pi ù sem plici ed intuitivi in genere e sembrano funzionare pi uttosto bene i n pratica . I nuovi dati possono essere aggiunti increment almente e facilmente : questo approccio pu ò però divent are comput azionalment e costoso in termini 38
  • sia di spazio occupato che di t empo i mpiegato per ogni predizione a mano a mano che il database cresce (è quindi d iffi cilment e scal abile) ed in più non si ri escono a recuperare informazioni aggi untive. Nei sistemi basati sul modello , il modello stesso pu ò offri re un‟inform azione che va al di l à dell e sue capacit à predittive (ad esempio evidenziando certe correlazioni dei dati offrendo motivazioni intuitive dell e raccom andazioni o sempli cem ente rendendo le assunzioni pi ù espli cite). I requisiti di memoria per il modello sono generalm ent e minori di quelli necessari per trattenere l ‟intero dat abase: le predizioni possono essere calcolat e velocem ent e una volta che il modello è st ato generato anche se i requisiti di tempo per compilare i dati in un modello possono essere proibi tivi e aggiungere un nuovo vot o potrebbe richiedere una ricompil azione completa . 2.7.6 Raccolta delle pre f erenze I sist emi di coll aborative filt ering si possono diff erenziare a seconda che essi operino su preferenz e esplicite piuttosto che su misure implicite estratte dall ‟atti vità dell‟ut ente. I primi si riferi scono alla situazione per cui un ut ent e esprim e in mani era cosci ente la sua preferenz a per un oggetto (solit ament e su una scal a numerica discret a) [HSR95] . I voti impliciti invece possono essere estratti dall ‟attivit à di browsing: ad esempio, nel caso di sistemi che raccomandano siti web , tali informazi oni possono essere raccolt e in seguito ad azioni dell‟ut ente com e:  inseri re una pagina nei bookmarks;  il tempo di l ettura presunt a ( per quanto ri guarda articoli on - line);  dalla storia degli acquisti (ad esempio nei punti vendita on - line);  link presenti in alt re pagine. 39
  • 40
  • 3 META MOTORI DI RICERCA E SISTEMI DI VOTO «I progressi fondamentali hanno a che f are con la reint erpretazi one delle i dee di base.» Alfred North Whit ehead 3.1 I meta motori di ricerca 3.1.1 I meta mot ori di ri cerca Un meta motore di ricerca può essere visto com e un ‟unica interfacci a di un si s tema modul are che può eseguire quer y in parallelo su più servizi di ricerca cont emporaneamente , fornendo risultati con un livello di qualit à m aggiore rispetto a quelli ott enuti con un singolo motore. P er ragg iungere questo scopo è necessario in generale seguire un al goritmo che può essere così sem plificato [SelEtz96] : Inserimento della query di ricerca Formulazione delle query per i singoli motori Esecuzione delle query sui singoli motori (e attesa dei risultati) Raggruppamento dei risultati Eliminazione dei duplicati Restituzione dei risultati F i g u r a 3 . 1 A l g o r i t mo s e mp l i f i c a t o d i u n me t a mo t o r e d i r i c e r c a 41
  • Analizzeremo solo i due aspetti che più ci int eressano: la formul azione dell e quer y per i singoli motori e il raggruppament o dei risultati. 3.1.2 Formulazione dell e query per i singoli motori I mot ori di ri cerca forniscono solit ament e un‟i nterfaccia di interrogazion e per parol e chiave o m aschere per l a ri cerca avanzat a. In questo caso noi dobbiamo fornire al singolo mot ore di ricerca una quer y speci fica, opportunament e confi gurata. Fondamentalm ente questo processo prevede un‟eventuale sviluppo di adapter per la conversione di quer y t ra st andard non compatibili (ad esempio, l ‟utilizzo o meno di operatori logici AND, OR, NEAR) o t ra metodi di int erazione diversi. Nel nostro caso specifico, quest a conversione non è necessari a perché utilizziamo un solo motore di ri cerca, ma è da analizzare nel caso di integrazione con sist emi di IR diversi tra loro). 3.1.3 Raggruppamento dei risultati Il problem a del raggruppamento dei risultati è il più complesso da affront are, dato che non si può formulare una st rat egia general e a causa di questi fattori che possono caratt erizzare un met a motore:  utilizzo di un coefficient e di rilevanza dei singoli risultat i (rel evance score s ) o di una mera classi fi ca ( ranks);  auto-apprendimento (training data ) o meno del met a motore attraverso m eccanismi statistici e probabilistici (ad esempio, l‟utilizzo dei teoremi di Ba yes ai filt ri rel ativi alla post a indesiderata). Il primo fattore dipende dalla scelt a dei singoli motori di ricerca: se anche uno solo restituisce i risult ati sotto form a di classi fica, siam o obbli gati a seguire quest a strada. Il secondo invece dipende dalla complessità dell ‟al goritmo di aggregazione utilizzato. [AslMon01] Ci possiamo quindi trovare di front e a quattro possibili strade da seguire: in questa tratt azione, per rimanere in am bit o general e, considereremo la strada dei risultati sot to forma di cl assifi ca e il non utilizzo di meccanismi di auto -apprendi mento. 42
  • 3.2 Sistemi di voto 3.2.1 Le procedure di voto e i meta motori di ricerca In general e, un sistema di voto perm ette agli elettori di poter scegli ere tra più opzioni. Ogni sistema deve contenere regole per defini re l a validità dei voti e com e essi devono essere aggregati per ottenere un risult ato final e. Gli studi compiuti in tal senso hanno dato vita nel di ciottesi mo secolo alla quot;Teori a del Votoquot;, una branca scienti fica che ha l e sue radici nella politica, dall ‟economia e dalla matem atica. Un sistem a di vot o può essere considerato un al gorit mo di aggregazione nel m omento in cui consi deri amo di dover combinare le preferenz e multiple degli elettori. Quest e procedure non sono dirett ament e applicabili ai m eta mot ori i n quando assumono la presenza di pochi candidat i rispetto al numero di votanti: analizzando l‟aggregazione dei risultati delle ricerche invece ci troviam o di front e allo scenario oppost o in quanto abbiamo tanti candidati (i ri sultati delle ricerche) di fronte a pochi elettori (i singoli motori che restituiscono una classi fica di preferenza). [AslMon01] È stato dimost rato che l ‟al goritmo ottimale in questo secondo caso è il metodo Borda Count in quant o soddisfa tutte l e propriet à simmetriche che ci si aspett a da un ragionevol e sist ema elettoral e [Saa98] [Saa01]. 3.2.2 Il metodo Borda Count Il m etodo Borda C ount è st ato formal izzato da Jean -Charles de Borda nel 1770 riprendendo il met odo di voto utilizzato nel Senato Romano. Il suo funz ionamento è il seguente [Bor81] :  ogni elettore cl assifica un insiem e fissato di n candidati in ordine di preferenz a;  per ogni vot ante, al primo candi dato della list a vengono assegnati n punti, al secondo n -1, al terzo n-2 e così vi a; 43
  •  se ci sono candidati che non sono stati inseriti nell a classi fica, essi si di vidono equament e i punti non assegnati dal singol o el ettore;  il candidato al qual e viene assegnato il maggior punt eggio vince l e elezioni (con lo stesso criteri o è possi bile qui ndi determinare una cl assifica finale). Si può quindi t rovare l ‟anal ogia con i m eta motori di ricerca:  l‟insiem e dei risult ati sono i “candidati”;  i singoli mot ori di ricerca sono gli “el et tori” che esprimono una classi fica di preferenza. Grazie a questo possiamo utilizzare il metodo Borda Count per aggregare i risultati dei vari motori di ricerca (sempre considerando il caso la dei ri sultat i sotto forma di classifi ca e il non utilizzo di meccanismi d i auto-apprendim ento). A livello di perform ance, è st ato sperim entato che l e prest azioni di questo m etodo i noltre sono abbast anza buone. [AslMon01] 3.2.3 Esempi o di applicazi one del metodo Borda Count Supponiamo che l ‟Assembl ea debba eleggere un Consi gli o. I candi dati sono 20, mentre i posti disponibili sono 9. Ogni elettore può indicare 5 nominativi in ordine di preferenza. Allo spoglio dell e schede, verranno assegnati i seguenti punti (per ogni scheda):  cinque punti al prim o dell a lista;  quattro punti al second o;  tre punti al t erzo;  due punti al quarto;  un punto al quint o. Alla fi ne dello scrut inio, verranno somm ati i vari punt eggi ot tenuti ad ogni candidato e i primi 9 risulteranno eletti. 44
  • 4 COLLEGAMENTO DI DOCUMENTI CON LA TECNICA DEI META MOTORI DI RICERCA «L’arte o è plagio o è rivol uzione. » Paul Gauguin 4.1 Proposta di soluzione 4.1.1 Utilizzo dell e meta i nformazioni come punto di part enza Nel mondo dei si stemi di gestione document ale il probl ema del collegamento tra documenti di tipo strutturato e docum enti di tipo no n strutturato è real e e di non facile sol uzione, e l a strutturazione di docum enti non strutt urati è un procedimento molto complesso. Possiamo però ribal tare il probl ema: a parti re da ogni documento strutturato generi am o una o pi ù quer y di ricerca, che diam o in pasto a motori di ricerca diversi . Per fare questo, defini remo delle quer y (attraverso t empl ate) per ogni classe di docum ento (possi amo anche defini re su quali singoli motori debbano essere eseguit e queste quer y). Possiamo inolt re associare a questi query t emplat e dei coeffici enti di rilevanza (una query può essere pi ù ril evant e di un‟alt ra), così com e possiamo definire questi coeffi cienti per i singoli motori (un motore può ess ere più affidabile di un alt ro). Quindi a partire da un docum ento non strut turat o possiamo ottenere dei “documenti non strutturati” (l e istanz e delle quer y al singolo documento) da dare in pasto ad un motore di ricerca. Eseguendo i processo di reperim ento a partire da quest e quer y possiamo associ are dei docum enti non strutturati ai nostri documenti strutturati (bast a al largare il concetto di met a motore, considerando ogni quer y diversa come un m otore di ricerca di versa). 4.1.2 Specifi ca In questo progetto di tesi si vuol e affront are quest a t emati ca utilizzando un o o più motore di ricerc a (nel caso, un Googl e Mini ) che 45
  • agiscono sui contenuti non strutturati presenti nell a knowledge base di un‟azienda in cui sia present e un sistema documental e di records management (nel caso, KarthaDOC ). Verrà quindi proposto un algoritmo generale per la s oluzione di questo probl ema e verranno nella fatti speci e analizzati due blocchi fondament ali:  il sistem a per la generazione di st ringhe di ri cerca (a partire dalle m eta -inform azioni associat e ad un docum ent o strutturato present e nel DMS ) ;  l‟interpretazione dei risultati ottenuti al fine di individuare i possibili coll egamenti tra l e due tipologi e di docum ento. 4.1.3 Entità di riferimento 4.1.3.1 Classi di docum ento Docum entClass = ( DC_Identifi er, DC_Name)  DC_Identifi er: Ident ificati vo della classe di documento  DC_Nam e: Nome della cl asse di documento 4.1.3.2 Meta informazioni relative all a classe di docum ento Docum entClassMet a = ( DCM_Identifi er , DC_Identifier , DC_Nam e, DC_T ype )  DCM_Identifi er: Identifi cativo della definizione di met a inform azione  DC_Identifi er: Ident ificati vo d ella classe di documento  DC_Nam e: Nome della met a inform azione  DC_T ype: Tipo di dato del val ore 4.1.3.3 Docum ento Docum ent = ( D_ Identifier , DC_Identifier , D_Description )  D_Identifi er: Identificativo del docum ent o  DC_Identifi er: Identificati vo dell a classe di docu m ento di riferimento  D_Description: Descrizione del documento 46
  • 4.1.3.4 Meta informazioni associat e al documento Docum entMeta = ( DM_ Identifi er, D_Identifier , DC M_Identifier , DM_Value )  DM_Identifi er: Identificati vo della m eta inform azione  D_Identifi er: Identificati vo del docum ent o di ri ferimento  DCM_Identifi er: Identifi cativo della definizione di met a inform azione di ri ferimento  DM_Value: Valore della m eta i nformazione 4.1.3.5 Stringhe di ri cerca Quer y = ( Q_Identi fier , DC_Identifier , Q_Pattern, Q_Rat eMoltiplicator )  Q_Identifi er: Identificativo dell a quer y  DC_Identifi er : Identificati vo della DocumentClass a cui la quer y fa ri feriment o  Q_Pattern: Patt ern t estual e della quer y string  Q_Rat eMoltiplicator: fattore di moltipl icazione che indica l‟affidabilità della quer y (una quer y restrittiva avrà valori tendenti a 1, quer y meno rest rittive valori più bassi) 4.1.3.6 Motori di ricerca uti lizzati SearchEngine = ( SE_Identifier , SE_Nam e, SE_R ateTrust )  SE_Identifier: Identi ficativo del motore di ricerca  SE_Nam e: Nom e del motore di ri cerc a  SE_RateTrust: fatt ore di moltiplicazione che indi ca l‟affidabilità del motore di ricerca (ad esempio, un fattore 1 indica che mi fido del Rate restituit o, valori minori indi cano un‟affidabilit à minori). 4.1.3.7 Associ azione di query ai motori di ricerca SEQuer y = ( SE_Identifier , Q_Identifier ) 47
  • 4.1.3.8 Istanza dell a quer y per il docum ento specificat o Quer yIst ance = ( Q_Identifi er , D_Identif ier , Q I_Text )  Q_Identifi er: Identificativo dell a quer y di riferim ento  D_Identifi er: Identificativo del documento a cui l a quer y fa riferimento  QI_Text: Testo del la quer y di ricerca per il docum ento speci ficato 4.1.3.9 Risultati di una ri cerca (ottenuti dal singolo motore di ri cerca per una singol a query) SEResult = ( SER_Identifi er , SE_Identif ier, Q_Identifier , D_Identifier , SER_Path, SER_Titl e, SER_ Position, SER_Rate )  SER_ Identi fier: Identificati vo dell risult ato  SE_Identifier: Ident ificati vo del m otore di ricerca a cui il risultato fa ri ferimento  Q_Identifi er: Identificativo dell a quer y a cui il risultato fa riferimento  D_Identifi er: Identi ficativo del documento a cui il risult ato fa riferim ento  SER_Path: Path del documento non strutturato ottenuta dal motore di ri cerca  SER_Title: Titolo ot tenuto dal motore di ricerca  SER_Position: Posizione del risultato nel la SERP  SER_Rate: Punt eggi o cal col ato col metodo Borda Count SEResult List = arra y of SEResult 4.1.3.10 Risultato finale di una ri cerca (ott enut a dall ‟uni one dei vari risultati ) CollateResult = ( CR _Path, D_Identifier , CR_Title, CR_Rat e )  CR_Path: Path del documento non strutt urato  D_Identifi er: Identi ficativo del documento a cui il risult ato fa riferim ento  CR_Title: Titolo associato 48
  •  CR_Rate: Punt eggio final e CollateResult List = arra y of Coll ateR esult 4.1.4 Diagramma ER Gestione Documentale DocumentClass Conf. Motori di ricerca PK DC_Identifier Query PK Q_Identifier DC_Name DocumentClassMeta FK1 DC_Identifier PK DCM_Identifier Q_Pattern Q_RateMoltiplicator FK1 DC_Identifier DC_Name DC_Type SearchEngine PK SE_Identifier SE_Name DocumentMeta Document SE_RateTrust PK DM_Identifier PK D_Identifier FK1 D_Identifier SEQuery FK1 DC_Identifier FK2 DCM_Identifier D_Description DM_Value PK,FK1 Q_Identifier PK,FK2 SE_Identifier Calcolo dei risultati QueryIstance PK,FK2 Q_Identifier PK,FK1 D_Identifier QI_Text SEResult PK SER_Identifier CollateResult FK1 Q_Identifier FK1 SE_Identifier PK CR_Path FK2 D_Identifier PK,FK1 D_Identifier SER_Path SER_Title CR_Title SER_Position CR_Rate SER_Rate F i g u r a 4 . 1 D i a g r a m ma E R 4.1.5 Algoritmo general e INPUT: D_Identifi er OUTPUT: CollateResult*  Per ogni Quer y associat a all a Docum ent Class 49
  • o Creo il document o Quer yIst ance con i valori presenti nei Docum entMeta rel ativi al Document preso in considerazione.  Per ogni SearchEngine collegato al la Quer y presa in considerazione o Eseguo la Quer y o Ottengo una SEResult List o Per ogni SEResult  Se non è gi à presente in Coll ateR esult List , inserisco il risult ato in Collat eResult List con CR_Rate = 0 (Discriminante: SER_Path = CR_Path)  Per ogni SEResult presente in ogni S EResult List o Calcolo il Punteggi o col m etodo Borda Count o Calcolo il SER_R ate in base all ‟affi dabilità dell a Quer y e del SearchEngine: SER_Rat e = Punt eggio * Q_Rat eMoltipli cation * SE_RateTrust o Aggiorno la Collat eResult aggiungendo, ove SER_Path = CR_Path , il rel ati vo punt eggio ottenuto: CR_Rat e = CR_Rate + SER_Rate  Ordino l a CollateResult List in base al valore CR_Rate decrescente 4.2 Macroanalisi dei blocchi principali 4.2.1 Configurazione delle QueryString In fase di confi gurazione delle DocumentClass devono essere definiti i templ ate per una o più stringhe di ri cerca, che a loro volt a possono essere singolarm ente eseguite su uno o più motori di ricerca. Questi templ ate verranno istanziati a partire dai m eta -dati associati ad un singolo docum ent o strutturato. Pertant o è possibil e defini re stringhe diverse per ogni singolo motore di ri cerca, oppure una stessa stringa può essere eseguit a su più motori. Questo può essere utile per diversi motivi: 50
  •  motori di ricer ca diversi possono avere diverse regol e di sintassi;  posso definire più st ringhe per trovare ri ferim enti all o stesso oggetto (ad esempi o, utilizzando dei sinonimi o diverse combinazioni di met a -dati e/ o testo libero); Esempio di quest a metodol ogia la t rovi amo nella tecnologi a rel ativa agli Adapt ers di Docum entum, in cui però assisti amo anche alla conversione automatica di stringhe di ricerca in base alla sintassi accett ata dai singoli motori di ricerca. Nella nost ra realtà questa funzionalità risulta superf lua in quanto l‟utilizzo di diversi motori di ricerca è concetto che rim ane a livello teori co/sperim ental e, in quando nella maggioranza dei casi reali di utilizzo verrà utilizzato il Google Mi ni (o un alt ro sistem a sviluppato da KarthaDOC, denominato INDEX ER). 4.2.1.1 Confi gurazione dell a quer y La quer y può essere confi gurata i n diversi metodi:  Metodo 1: Definizione dirett a del patt ern nell a forma: testo libero $metatag1$ testo testo $metatag2 ;  Metodo 2: Definizione tramite XML nell a forma <query> <pattern> testo libero <metatag name=”metatag1” /> testo testo <metatag name=”metatag2” /> </pattern> <search_engine name=”gsa” /> <search_engine name=”yahoo” /> </query> 4.2.1.2 Generazione delle Quer ySt ring A parti re da ogni singolo docum ent o, il sistema provvede a generare le quer y sostituendo i marker presenti nei templ ate con i valori contenuti nei met adati associati al docum ento. 51
  • 4.2.2 Esecuzione delle QueryString e pri ma elaborazione dei risultati Le quer y precedent emente generate vengono eseguite sui mot ori di ricerca definiti: avremo quindi come risult ato un insieme di SEResult List (una per ogni quer y eseguita su ogni singol o motore di ricerca). In questa fase viene eseguito un primo adatt ament o del rati ng di ogni singolo risult ato, utilizzando i fattori di moltiplicazione pre - impostati: SER_Rate = Punteggio * Q_RateMoltiplication * SE_RateTrust 4.2.3 Post-Filt ering: Merge dei risultati e gestione dei dupli cati I risultati ott enuti andranno inseriti nell a CollateR esult List. Punto critico di questa fase è generalment e la gestione dei ri sult ati duplicati (cioè, un path è presente i n più SER esult List ). Grazie al metodo Borda Count , prima di elaborare ogni singol a lista (virtualment e una list a di “preferenze”) aspetteremo di pot erl e avere tutt e per poter quindi creare quest o elenco virt ual e di “candidati” per poter applicare così il metodo senz a ulteriori complicazioni. 4.3 Aspetti implementativi 4.3.1 Inizializzazione dei collegamenti Ad ogni iterazione del ciclo di ri cerca di collegam enti, i collegamenti precedentem ente trovati possono essere rimoss i in modo tale da avere sempre un el enco di risultat i aggiornati. Solo quando vi sono inform azioni immesse dall ‟ut ent e relative al collegamento stesso, tali informazioni devono rimanere ed essere prese in considerazione, in base ai casi. 4.3.2 Esecuzione dell a p rocedura La procedura di ricerca automati ca dei collegamenti può essere eseguita: 52
  •  ad ogni apertura di documento (rallenta il sistema ma è quella che recepisce meglio il cambiamento della base docum ental e) ;  (viene richiesto manualment e dall ‟utent e on-demand l‟aggiornamento gl obale dei coll egam ento oppure di una sezione di document i oppure di un singol o docum ento) ;  come servizio schedulato (viene programmato l‟aggiornamento globale ad int ervalli predefiniti, ad esempi o ogni notte). 4.3.3 Grado di affidabilit à dell e query e dei motori di ri cerca Un punt o focale per l‟efficaci a del si stema è l ‟assegnazione del grado di affidabilit à alle singole quer y ed ai motori di ri cerca utilizzati. Per definire al meglio questi param etri sarà necessario svolgere una speriment azione utilizzando come sistema valutazione quelli di un classi co sist ema di Inform ation R etri eval . 4.3.4 Modalità di i nterazi one con i motori di ricerca Non essendo definit o uno stan dard universale per l ‟interazi one ai motori di ricerca, sarà necessario sviluppare un connettore per ogni tipo di motore utilizzato: ad esempio, potranno essere sviluppati sistemi che agiscono vi a AP I, via Webservi ces, si a XML diretto oppure anche sistemi di puro parsing del risultato del motore se non è prevista dallo stesso un‟int egrazione con altri sist emi. 4.3.5 Gestione dei tipi di dato e della formatt azione dei valori Un aspetto util e può essere l a form attazi one dei vari valori , i n base al tipo di dato. In questo caso occorre analizzare quali siano i tipi di dato soggetti a queste formatt azioni specifiche (o addirittura a linguaggi specifi ci 1). Ad esempio, una dat a potrebbe essere espressa in vari format i:  25/03/2009 (form ato europeo);  25 marzo 2009 (stile e uropeo);  03/05/2009 (form ato americano); 1 P e r s e m p l i c i t à s u p p o n i a mo c h e l e t r a d u z i o n i v e n g a n o e f fe t t u a t e d a l m o t o r e di IR utilizzato. 53
  •  25th of March 2009 (stile americano);  2009-03-05 (form ato SQL). Deve qui ndi essere possib il e d efini re, in fase di confi gurazioni delle quer y, il form ato corretto da utilizzare per l ‟istanza in oggetto. 4.3.6 Controllo di accesso Deve essere possibil e applicare ai pat h ottenuti un meccani smo di controll o dei privil egi di accesso fi nalizzato a rendere protetto il servizio da ut enti non autorizzat i, sal vaguardando la sicurezza e l a riservat ezza dei documenti. 54
  • 5 PRODOTTI E TECNOLOGIE UTILIZZATE «Non è suffici ente possedere una buona ment e. L ’i mportant e è saperla usare nel modo giusto.» Cartesio 5.1 KarthaDoc 5.1.1 Presentazione Kart haDoc è uno st rumento che consente di gesti re, archiviare e consult are tutto il flusso documentale aziendale, rappresenta la soluzione ai probl emi derivanti dalla gestione document ale cartacea, è un valido supporto per l ‟organizzazione aziendal e, ottimizza i processi aziendali e ne riduce i costi. Consent e inoltre di gestire, archivi are e consult are tutto il flus so documentale aziendale, rappresenta la soluzione ai probl emi derivanti dalla gestione document ale cartacea, è un valido supporto per l ‟organizzazione aziendal e, ottimizza i processi aziendali e ne riduce i costi. 5.1.2 Funzionalità Le funzionalit à di KarthaDoc si svil uppano in tre fasi:  Gestire. In KARTHADOC la catalogazione dei docum enti vuol dire organizzare per cl assi tutti i docum enti dello stesso tipo che vengono inseriti in un unico contenit ore. Ad ogni cl asse sono associat e dell e chiavi di ricerca che id enti ficano i n maniera univoca ogni docum ento inserito. Con KARTHADOC è quindi possibile gesti re grandi volumi di docum enti, sem pre in linea con facilità di ri cerca ad alta velocit à, anche attraverso la gestione integrata di fax ed email. 55
  •  Archiviare. l ‟archivi azione La st ruttura del software permett e e l‟indicizzazione automatica dei documenti prodotti all‟int erno dell ‟azi enda, proveni enti da sistemi ERP o da qualsiasi altra font e di git ale, evitando la scansione dei docum enti cartacei e riducendo drasticamen te le incom benz e del personal e. I documenti archivi ati possono essere legati fra loro in maniera t rasversale, legami bi -direzionali, oppure essere correlati verticalm ente i n dossi er.  Consultare. Una volta archiviat i i documenti sono disponibili per la consult azione. Le chiavi ed i campi di indi cizzazione perm ettono la ri cerca veloce del document o e la sua „copia visualizzazione in form ato conform e, anche richi amato di rett am ente sull a maschera front end di un applicativo esterno (gestionale). 5.1.3 Tecnologia KARTHADOC è stato sviluppato con il supporto della t ecnologi a .NET di Microsoft ma anche con una complet a compati bilità con la tecnol ogia open dei web services. Sono previst e funzi oni AP I di creazione, ricerca, visualizzazione, copia, invio fax, invio mail , acquisi zione da spool, funzioni di integrazione dati (autoload), invocab ili con m etodo OLE o Socket Tcp, funzionalit à di int egrazione complet a con emul atori di terminal e programmabili (Client Access AS400 ecc). Il cli ent web è stat o realizzato secondo un a ri gida riparti zione a livelli : 1. Risorse e Base Dati separat e (multipiatt aforma e multidatabase) 2. Logica Appli cativa con tecnologi a SOAP XML (st andard W3C) 56
  • l ‟int era dell ‟archi viatore I W eb servi ces realizzano logi ca mettendo a disposizione una interfacci a standard basat a sull e tecnol ogie SOAP e XML. I vant aggi di t ale ripartizi one sono:  indipendenza dal livello presentazione che può essere interament e riscritto mantenendo inalt erata la Logica;  possibilità di integrare funzioni di gestione documental e (Ricerca, Creazione, Visualizzazione, Cancell azione, Note…) in portali esistenti o in altri applicativi an che non Web in modo t rasparente;  affi dabilit à;  facilità di i nstall azione e confi gurazione . Lo sviluppo di un client web personal izzabile avvi ene att raverso l‟utilizzo di due tool: KarhaGat e e KarthaBridge. Kart ha Gate semplifica l ‟int egrazione con Kart haDoc utilizzando il livello di present azione com e pont e verso la logi ca. Questo avviene attraverso l ‟invocazione UR L a pagi ne del livello present azione che perm ettono di effett uare al cune operazi oni di base (visuali zzazione , ricerca , creazione). Questo permett e:  Integrazione con altri applicativi senza ridisegnare le pagine Web;  Basso tem po di svil uppo ;  Possibile divisione tra sito/programma integrato e docum ental e. Kart haBri dge integra gli appli cativi non web (ERP ) con una logica di chiamat e via socket che generano eventi in pagine Web. Attraverso un demone Java in ascolto su una porta socket tcp param etri ca effettua il parsi ng del messaggio in arrivo ed effet tua l a chiam ata all ‟opportuna pagina di Kart haGat e. Questo permett e:  Un sistem a Multipi attaforma ;  La mi grazioni dell e integrazioni gi à real izzate con olwsock e DDE2OLE verso il nuovo applicativo ; 57
  •  La sem plifi cazione dei processi di int egrazione stretta t ra gestionale e Kart haDoc in ambi ente Web . Con l‟utilizzo di JavaSock e KarthaBridge è possi bile proporre l‟integrazione strett a tra Kart haDoc e altri appli cativi in ambi ente Multipiattaform a e Web Based. Kart haDoc è in grado di delegare com pletam ente la prob l emati ca di accesso all ‟appli cativo Active Direct or y, tramite il qual e il sistema decide che tipo di servizi sono disponibil i. 5.2 Google Mini (search appliance) 5.2.1 Presentazione La crescent e mole di informazioni di git al izzate ha posto l e aziende nella condizione di gestire database sem pre più vasti e complessi. Google Mini è un prodotto pensat o e progett ato per la piccol a/media impresa che necessit a di mi gliorare l ‟accesso e l a dell ‟i nform azione, condivisione m ant enendo limitati i costi e sopratt utto le attivi tà di m anut enzione: offre una soluzione snella, a rapida install azione, il più possibil e autonoma ma che nello st esso tempo offre il valore aggiunto desi derato. Tecni cam ente è una soluzione “appli ance”, ovvero con sistema operativo e software applicativo prei nst allati, una conseguente fase di installazione verament e veloce e semplice, spi ccat e capacità di self -l earning che ne riducono al minimo le attività di manutenzione e ril evanza nell a generazione dei risultati di ri cerca. 5.2.2 Funzionalità Google Mini è in gra do di indi cizzare il contenuto dei portali internet/intranet e più di 200 tipi di file memorizzati in cart elle condivise grazie ad un crawl er ad elevate prestazioni. I risultati possono essere restituiti all ‟utente di rettam ent e dal mot ore st esso oppure possono essere passati all o stesso portal e di accesso intranet/internet e quindi trasformati utilizzando la grafica, i templat e e gli stili dell ‟azienda. È inoltre in grado di integrarsi con i sistemi di sicurezza standard aziendale al fine di verifi care che tra i risultati 58
  • restituiti non ci siano docum enti ai quali l ‟utent e non abbia poi accesso in lettura. Le AP I di cui Googl e Mi ni è dotato permettono di realizzare in maniera molto semplice quest a integrazione con i repositor y di inform azioni aziendali e con i web/fil e server. 5.2.3 Il support o concreto offerto Google Mini offre l a possibilit à di effet tuare una ri cerca vel oce su tutti i documenti aziendali, consentendo all ‟operat ore di poter offri re immediat ament e tutt e le rispost e all ‟interlocutore, oppure può ess ere un concret o supporto decisionale perché m ette a disposizione le inform azioni proprio nel mom ento della scelt a o della decisione. La sol uzione Googl e Mini è compl etamente autonoma e isolata rispetto al motore Google online, non riceve informazioni e non ne invia. L‟uni ca relazione, peraltro i ndiretta, col motore on -line è all ‟enorm e l‟utilizzo degli al goritmi che Googl e sviluppa grazie esperienza fatta con miliardi di ricerche giornali ere su googl e.com 5.2.4 Motivazioni rel ativi alla soluzione int egrata sol uzione “appliance” garantisce che l ‟hardware La si a corrett ament e dimensionato per support are le prest azioni del motore di ricerca e che sia di semplice inst allazione (i nfatti dopo aver dato l‟indirizzo IP all a macchina, il soft ware è già installat o e si p assa subito alla fase di confi gurazione). Una soluzione soft ware richi ederebbe notevoli conoscenze informatiche presso il client e per essere inst allata, l ascerebbe al cli ente la responsabilità sull ‟utilizzo dell‟hadrware corretto basandosi su l iste di serv er certificati che cambi ano di anno in anno e renderebbe più compl essa l a fase di manutenzione. 5.2.5 Differenze tra Googl e Mini e Googl e Mini La soluzione Googl e Mini è pensat a per l a media e grande azi enda, in quanto fornisce rispetto a Googl e Mi ni delle possi bilit à avanz ate di personalizzazione e di integrazione con i sist emi del client e. Le principali differenz e tra le due piatt aforme ri guardano la tipologia di reposit or y indicizzati e le i ntegrazioni con sist emi di si curezza. P er 59
  • quanto ri guarda il primo pun to, Google Mini è in grado di i ndicizzare anche i database, i Docum ent Managem ent S ystems com e, ad esempio, Lot us Not es, Docum entum, Li velink, Fil enet, Sharepoi ntet c ed è dotat a di un‟AP I di feeding che rende possibile caricare manualm ent e nell‟indi ce dell a macchina i documenti che si desidera vengano indicizzati. Per quanto ri guarda il secondo punto, quello dell a sicurezza, Google Mini è in grado di int egrarsi con sistemi avanz ati di autenti cazione e autorizzazione, com e i sistemi di Single Sign On, offrendo delle AP I per integrare i sistemi di si curezza propri etari e personalizzati. Per quanto ri guarda le funzionalit à offerte all ‟utente, un‟alt ra di fferenza è che su Google Mi ni vengono rese disponibili le funzionalit à avanzat e di ricerca e di filt ering bas at e sui met adati, olt re alla possibilit à di i nfluenz are percentualment e i pesi assegnati dagli al goritmi ai diversi docum enti e alla disponibilità di funzioni avanzat e di clas sificazione e cat egorizzazione. 5.3 Web service 5.3.1 Definizione W3C Secondo la definizion e data dal Worl d Wide Web Consortium (W3C) un Web Service (servizio web) è un sistem a software progettato per supportare l ‟interoperabilità tra diversi el aboratori su di una medesim a ret e; caratteristica fondam ent ale di un Web Servi ce è quella di offrire u n‟int erfacci a software (descritta in un formato automati cam ent e el aborabil e qual e, ad esempio, il Web Services Des cription Language) utilizzando la quale altri sistemi possono interagire con il Web Service stesso at tivando l e operazioni descritte nell‟int erfacci a tramite appositi quot;m essaggi quot; inclusi in una quot;bustaquot; (l a più famosa è SOAP): tali messaggi sono, solitam ent e, trasportati tramite il prot ocollo HTTP e formatt ati secondo lo st andard XML. Proprio grazie all ‟utilizzo di standard basati su XML, t ramite un‟architettura basata sui Web Service (chi amat a, con t erminologia ingl ese, Servi ce ori ented Archit ect ure - SOA) appli cazioni software scritt e in diversi l inguaggi di programmazione e implementat e su 60
  • divers e piatt aform e hardware possono quindi essere utili zzate, tramit e le interfacce che quest e quot;espongonoquot; pubbli cam ente e medi ant e l‟utilizzo delle funzioni che sono in grado di effett uare (i quot;serviziquot; che mettono a disposizione) per lo scambio di informazioni e l‟effett uazione di operazioni complesse (quali, ad esempio, la realizzazione di processi di business che coinvol gono più aree di una medesim a azienda) sia su reti aziendal i come anche su Internet: l a possibilità dell ‟int eroperabilità fra diversi software (ad esempio, tra J ava e P ython) e diverse piatt a forme hardware (com e Windows e Linux) è resa possibil e dall ‟uso di standard quot;apertiquot;. Il consorzio OAS IS (Organizati on for the Advancement of Structured Information Standards) ed il W3C sono i principali dell ‟architettura responsabili e della standardizzaz ione dei Web Service; per migli orare l ‟interoperabilità tra le diverse implementazioni dei Web S ervi ce l ‟organizzazione WS -I sta inoltre sviluppando una seri e di quot;profili quot; per meglio defini re gli standard coinvolti. 5.3.2 Funzionamento dei web servi ce Il protocoll o di base per i Web service è http, che si occupa di mettere i n comunicazione il servizio web con l ‟appli cazione che int ende usufruire dell e sue funzioni. Oltre ad HTTP però, i servizi web utili zzano molti alt ri st andard web, t utti basati su XML, t ra cui :  XML Schema;  UDD I (Universal Description, Discover y and Integration) ;  WSDL (Web Servi ces Descripti on Language) ;  SOAP (Simple Obj ect Access Protocol ) . È import ante sott olineare che XML può essere uti lizzato corrett ament e tra piattaform e differenti (Li nux, Windows, Mac) e differenti linguaggi di programm azione. XML è i noltre i n grado di esprim ere messaggi e funzioni anche molto complesse e garantisce che tutti i dati scambiat i possano essere uti lizzati ad ent ram bi i capi della connessione. Si può quindi dire che i Web service sono basati su XML 61
  • ed HTTP e che possono essere utilizzati su ogni piatt aform a e con ogni tipo di soft ware. 5.3.3 Principali vantaggi  I Web servi ce permettono l ‟int eroperabilit à tra diverse applicazioni software e su diverse pi attaform e hardware/software;  Utilizzano un form ato dei dati di tipo testual e, qui ndi più comprensibil e e più facil e da utilizzare per gli sviluppatori (esclusi ovv iam ente i trasferimenti di dat i di tipo binario);  Norm alment e, essendo basati sul protocollo HTTP, non richi edono modifi che all e regole di sicurezza utilizzate com e filtro dai fi rewall;  Sono semplici da uti lizzare e possono essere combinati l ‟uno con l‟altro (indipendentem ent e da chi li fornisce e da dove vengono resi disponibili) per form are servizi quot;i ntegrati quot; e complessi;  Permettono di riutili zzare applicazioni gi à sviluppate;  Fintanto che l ‟int erfaccia rimane costante, l e modi fiche effettuate ai servizi rimangono trasparenti ;  I servizi web sono i n grado di pubbli care le l oro funzioni e di scam biare dati con il resto del mondo;  Tutte le inform azioni vengono scambiat e attraverso protocolli quot;aperti quot;. 5.3.4 Svantaggi e probl ematiche 5.3.4.1 Performance I W eb service prese ntano performance drasticament e inferi ori rispetto ad altri m etodi di comunicazione utilizzabili in rete. Questo svantaggio è l egato alla natura stessa dei servizi web. Essendo basati su XM L ogni trasferim ento di dati richiede l ‟inseriment o di un notevole numero di dati supplementari (i tag XML) indispensabili per la descrizione dell ‟operazione. Inoltre tutt i i dati invi ati ri chiedono di essere prima codifi cati e poi decodifi cati ai capi della connessione. 62
  • Quest e due caratteristiche dei Web service li rendo no poco adatti a flussi di dati intensi o dove l a vel ocit à dell ‟applicazione rappresenti un fattore criti co. 5.3.4.2 Il prot ocollo HTTP Quando si sviluppa un Web servi ce è necessario t ener conto del protocollo di base. È quindi indispensabile disporre di un ‟applic azione terza che gestisca l e richi este HTTP oppure è necessario includerl a dirett ament e nel codice del nost ro programma qualora si desideri l a sua totale indipendenza. Va detto comunque che generalmente il codice che implement a un W eb servi ce viene fatto e seguire da un Web server (es. Apache) t ramit e CGI (per es. con P ython) o t ramit e appositi moduli (vedi PHP). Eseguendo il codice del Web service attraverso un server web l a gestione di HTTP è imm ediat amente assicurat a. 63
  • 64
  • 6 RICERCA FUTURA «Ogniqual volta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né l a teoria né il probl ema che si intendeva risolvere.» Karl Popper 6.1 Utilizzo di sistemi informativi diversi A livello generale possiamo consi derare che motori di ricerca diversi possono agire su sistemi inform ativi diversi; est rem izzando, si possono considerare motori di ricerca che agiscono su specifici domini o sottoinsiemi di sistemi informativi . Quindi teoricamente possiamo int eragire con ogni sistem a di IR , creando i connettori opportuni (si a per l a com pilazione dell e quer y che per il recupero dei ri sultati). 6.2 Usabilità relativa alla configurazione delle query L'usabilit à è defini ta dall 'ISO ( ISO 9241-11, “ Ergonom ics of human -s ystem int eraction - Guidance on usabilit y” ), come l'effi caci a, l'effici enza e la soddisfazione con le quali determinati utenti raggiungono det erm inati obi ettivi in determinati cont esti. In prati ca definis ce il grado di facilità e soddisfazione con cui l'int erazione uomo - strumento si compie. Il termine non si riferisce ad una caratteri stica intrinseca dello strumento, quanto al processo di i nterazione t ra classi di utenti, prodotto e fi nalit à. È però d'uso com une - per estensione - l'uso di questo t ermine in form a di aggetti vo (es: questo st rumento è parti colarmente usabile.) Il problem a dell 'usabilità si pone quando il modello del progettista (ovvero l e idee di questi ri guardo al funzionament o del prodotto, che tras ferisce al desi gn del prodotto stesso) non coincide con il modello 65
  • dell 'ut ente fi nal e (ovvero l'i dea che l 'ut ente concepisce del prodotto e del suo funzionamento). Il grado di usabilità si innalza proporzionalmente all 'avvicinament o dei due modelli (modello del progettista, e m odello dell 'ut ente). Pertant o la definiz ione di questi due mode lli può non essere banal e: ad esempio, dal punto di vista del progettista pot rebbe essere utilizzato un sistem a a pattern repl acement del tipo Decreto Legislativo $_Data_#_Estesa_$, n. $_Numero_$ “$_Titolo_$” pubblicato nella Gazzetta Ufficiale n. $_NumeroGazzetta_$ del $_DataPubblicazione_#_Estesa_$ che, dal punto di vi sta del ‟utente, pot rebbe non essere familiare. Questo dipende anche dal li vello di conoscenza dell‟ut ente che dovrà confi gurare le quer y. 6.3 Utilizzo dei coefficienti di rilevanza (relevance scores) La funzione per il calcolo del rating definitivo di un collegamento ritengo debba avere i seguenti requisiti:  il risultato deve essere sempre m aggiore o ugual e di ogni singolo rating ottenuto, o in alt ri termini del valore m assimo di rating ott enut o (i l fatto che si trovi l o stesso risultato in ricerche di verse è indice di m aggior confidenza dello stesso);  il risultato deve essere ugual e ad uno dei valori se e solo se gli altri sono uguali a zero (per l o stesso motivo)  l‟increm ento del val ore m assim o di rati ng deve dipendere i n maniera direttam ent e proporzionale dagl i altri valori;  la funzione deve godere della proprietà commutativa e associ ativa (in particolare, avendo pi ù di due valori il risultato non deve dipendere dall ‟ordine in cui considero questi valori );  la funzione deve prendere in ingresso due val ori all a volt a, al fine di poter essere utilizzata in processi iterativi. 66
  • 6.4 Interazione con l’utente per la verifica dei risultati La verifi ca e la gestione del le i nterazioni precedentement e effettuate dagli ut enti risulta util e per l ‟eliminazione di falsi positivi (utilizzando tecniche di coll aborati ve filtering opportunam ent e modificate e adatt at e al probl ema ). 6.4.1 Metodo “Feedback” (eBay) Per ogni collegamento, oltre al fattore di rate aut omati co, vien e mantenuto una sorta di punteggio di feedback, in base alle indicazioni degli ut enti. Di default, tale valore viene impostato a zero. Quando l‟utente accede per la prima vol ta ad un path collegato, gli viene richiest a una valutazione del tipo “L ‟informazi one è collegata al docum ento ori ginale? ” con tre opzioni possibili: “Sì”, “No”, “Indi fferent e”:  Se l‟ut ente sceglie “Indi fferent e”, il puntegg io di feedback rimane invari ato;  Se l‟ut ent e scegli e “No” il punt eggio di feedback viene diminuito di un ‟unit à;  Se l‟utente sceglie “Sì”, il punteggio di feedback viene aument ato di un ‟unit à. A questo punto si possono scegli ere al cune strade:  il punteggio di feedback vi ene visualiz zato nell ‟elenco dei risultati;  collegamenti con feedback positivo vengono port ati in test a all‟el enco;  collegamento con feedback negativo vengono port ati in coda all‟el enco;  il punteggi o di feedback infl uisce a run -time sul rate del collegamento;  quando il punt eggio di feedback supera una cert a soglia il path vi ene definitivamente coll egat o al documento; 67
  •  quando il punteggi o di feedback è inferi ore ad una cert a sogli a il coll egam ento vi ene rimosso (e non verrà più inserito i n una futura re -indicizzazione);  sempre il discorso dell e sogli e, ma invece di effettuare l‟operazione di rett a su un co llegamento viene i nviat a l a propost a dell ‟operaz ione all ‟amministrat ore di sistem a; Inoltre, ad ogni ruolo di ut enza può essere associ ato un diverso peso sul punteggio di feedback, magari anche rel ativo all a Docum entClass in cui si sta operando. 6.4.2 Metodo “Po ol” (qui z, sondaggi, et c.) Per ogni coll egam ento viene mantenut a una media -voto (che, per semplifi care l a vita degli ut enti, può essere compreso tra 1 e 4). Di default, t ale m edi a è pari a 2,5. Quanto l ‟utent e accede per la prim a volta ad un path collegato , gli viene chi esta una valutazione num eri ca da 1 a 4 (del tipo di quelli che si trovano nei sondaggi ). Viene quindi mantenuta quest a m edia voto, e in base ad essa possono essere intraprese delle azioni simili a quelle indi cat e per la gestione del punt eggi o di feedback. 6.5 Falsi negativi e autoapprendimento 6.5.1 Azioni da parte degl i utenti relative ai f alsi negati vi Può essere prevista una maschera di ri cerca, in cui l ‟ut ente può effettuare una ri cerca libera su tutto il sistema informativo. Nel caso in cui tra i risultati di questa ricerca vi si ano path collegati che non ri sultano nell ‟associ azione automati ca, l ‟utente può creare dirett amente questo collegam ento. Può inoltre essere previst a l ‟associaz ione manuale di un path diretto ad un docum ento. A quest o punto l e associazioni m anuali avr anno di defalt un rat e pari al m assimo (sal vo eventuali val utaz ioni feedback/pool ). 68
  • 6.5.2 Meccani smi di autoapprendi ment o In un sistem a di questo tipo meccanismi di aut o -apprendi mento sono difficili da val utare in questa fase: forse un o sbocco in tal senso potrebbe essere un ‟analisi sem anti ca dell e quer y di ri cerca li bera da cui deriva un coll egam ento manual e (che eventualm ent e potrebbero essere dall ‟amministratore mantenute in m emoria e poi vagl iate com e “proposta di modell o di st ringa di ricerca”). Un aiut o, anche in quest o caso, può venire dagli st udi di coll aborative filtering che ri guardano la raccolt a implicit a delle preferenze. 69
  • 70
  • CONCLUSIONI «Non costringerai a esist ere ci ò che non esiste. » Parmenide Il l avoro ha vist o la realizzazione di un prototipo di un componente soft ware impost ato in modo da soddisfare un pri mo livello, basilare, di soluzione del problem a. L‟interfaccia web e le procedure devono permett ere all ‟utent e una gestione dei coll egamenti in linea con l e propr ie aspettative. Questo prototipo è facilment e integrabil e in altri sistemi inform ativi modifi cando tutto ciò che prett ament e tecnologi co e speci fico di ogni motore di ri cerca o sist ema docum ent ale uti lizzato. La struttura comunque flessibil e, mant enuta in fase di analisi, lo rende svincol abile dall a gestione specifi ca di documenti presa in considerazione. La fase di st art -up di quest a applicazione com prende quindi:  l‟analisi delle esi genze reali e del contesto di ri ferimento;  predisposizione dei moduli di i nterfacci a con i prodotti presi in considerazione;  analisi e confi gurazione dei pattern relativi alle quer y di ricerca;  ricerca empiri ca dei livelli di affi dabilit à delle singol e quer y e dei specifi ci motori di ricerca;  ultimo, non per importanza, far capi re agli utenti l‟import anza dell ‟ut ilizzo di eventuali sistemi di interazione finalizzati all ‟indivi duazione dei falsi positivi e/o negativi. Le funzionalità anal izzate e implementate non coprono tuttavia il panoram a compl eto de gli obiettivi preposti: poss ono comunque essere spunti di partenza per lo sviluppo di att ività future, al cune delle quali sono stat e comunque esplicit ate ed t racci ate. 71
  • 72
  • RIFERIMENTI BIBLIOGRAFICI «Solo un inventore sa come prendere a prestito un’idea, ed ogni uomo è o dovrebbe esser e un inventore.» Ralph Wal do Emerson [AslMon01] Javed A. Aslam, Mark Montague , quot;Models for Metas earchquot;, Dartm outh College, 2001 . [BaeNet 99] R. Baeza -Yates e R. Net o, “ Modern Inform ation Retrieval ”, ACM P ress, 1999. [BHK98] J. Breese, D. Heckerman and C. Kadie quot;Em pirical anal ysi s of predi ctive al gorithm s for collaborative filteringquot;, Proceedings of the Fourteenth Conference on Uncert aint y i n Arti fici al Intelli gence, Madison, 1998 [Bor81] J. C. Borda, “M´emoi re sur l es ´el ections au scrutiny”, Histoire de l ‟Acad´emie Ro yal e des Sci ences, 1781. [CHI97] A.Chisl enko, quot;Automat ed C ollaborative Filteri ng and Semantic Transportsquot;, 1997, http://www.l uci fer.com/~sasha/articl es/ ACF.html , 10 gennai o 2009 Keen M., “ Factors [CMK96] Cleverdon C.W., Mills J., Determining t he P erform ance of Indexing S yst ems, Volume I - Desi gn, Volume II - Test R esults ” AS LIB Cranfi eld Proj ect C ranfi eld, 1966. [Dem04] Gianluca Demartini, “Una m etrica di valut azione per l‟information retriva: analisi criti ca e speriment azioni”, Università degli Studi di Udine, Tesi di laurea specialistica in Informati ca, 2004. [Eco00] quot;The mathematics of voti ng : Democrati c s ymmet r y quot;, The Economist, page 83, Marzo 2000 . [GalCap03] Liliana Galdi, Prof. Amedeo Cappelli, “ I Li nguaggi di markup per l ‟el aborazione d el lingua ggio nat urale”, Seminario di Elaborazione del Li nguaggio Naturale , Università di Pisa, 2003. 73
  • [GavVal05] Giulio Gavardi, Nicodemo Val erio, quot;St emmingquot;, Dipartimento di Matem atica Pura ed Appli cat a dell 'Universit à di Padova, Anno Accademico 2005/06 . [GNO92] D. Goldberg, D. Nichols, B.M. Oki and D. Terr y, quot;Using collaborative filt ering to weave an inform ation tapest r yquot;, Communications of t he ACM, 35(12):61 -70, 1992 [HSR95] W. Hill, L. Stead, M. R osenst ein and G. Furnas, quot;Recomm ending and evaluati ng cho i ces in a virtual communit y of usequot;, Proc of CH I-95, pp 192 -201, 1995 [Kar04] Karen Sparck Jones , “A statist ical int erpret ation of term speci ficit y and its application in retri eval ”, Journal of Documentation pp. 493 – 502, I. 5, V. 60, 2004. [ Luh58] H. P. Luhn, “The Automati c Creation of Lit erature Abstracts ”, IBM Journal, pp. 159 -165, Aprile 1958. [MR96] Peter Murra y-Rust, quot;An introducti on to Structured Docum entsquot;, Nottingham Universit y, 1996 . [Mur03] Rick Murphy, “Structuri ng the unstruct ured (document)”, Ottobre 2003, http://findarticl es.com/p/arti cles/mi _qa3947/is_200310/ai_n9337103 , 13 dicembre 2008. [NW00] quot;Gestione docum ental e, una questione di ori entamentoquot;, Network World, http://www.nwi.it/nwi_arretrati/ap090001.htm, 13 dicembre 2008. [Olo] Olocom T echnology, “Inform ation retri eval” [Po04] Laura Po, “P rogetto e realizzazione di un‟applicazione per l‟archivi azione otti ca sostitutiva di documenti”, Universit à di Modena e Reggio Emili a, Tesi di laurea in Ingegneria Inform atica, 2004. [Saa01] Donald G. S aari, “Chaoti c Elections! A mathem atici an looks at voting ”, Am eri can Mathemati cal Societ y, 2001. [Saa98] Donald G. S aari, quot;Explaining Al l Three -Alt ernative Voting Outcom esquot;, Northwestern Universit y, 1998 . 74
  • [Sar75] Saracevic Tefko, quot;R elevance: A Revi ew of an d a fram ework for the thinking on the notion in inform ation sciencequot;, J ournal of the American Societ y for Information S cience, pp. 321 -343, dicembre 1975 . Etzioni , “The [SelEtz 96] Erik S elberg, Oren MetaCrawler Architecture for Resource Aggregation on the Web”, Universit y of Washington, 1996. [Sin01] Amit Singhal, quot;Modern Inform ation R etrieval: A Bri ef Overviewquot;, Bulleti n of the IEEE Computer Societ y Technical Committee on Data Engineering, Vol. 24 No. 4. pp. 35 -42, 2001 [Zip49] Zipf G.K. , “Hum an behaviour and the principl e of least effort ”, Cam bridge (Mas s.), Addison -W esle y Press, 1949. 75
  • 76
  • APPENDICE A – PRESENTAZIONE «E forse, i post eri mi ringrazieranno per aver mostrato che gli antichi non conoscevano tutto.» Pierre de Fermat Frontespizio Pensiamo a quanti documenti di vitale importanz a vengano persi o dimenticati all‟int erno di una qualsi asi ret e azi endal e. Va da sé che la mancata fruizione di quest e inform azioni può comport are un danno economico perché il loro recupero può essere l aborioso o, nella peggiore dell e ipot esi, può non avveni re. I sist emi di gestione docum ent ale ci vengono in aiuto per risolvere questa probl ematica, ma non riescono a soddisfare appi eno le esi genze degli utenti: ci rca l‟80% delle informazioni è contenut a in documenti che non possono essere inseriti i n questi sist emi se non con un dispendioso intervento umano. L‟obi ettivo del lavoro di tesi è quindi il collegamento assi stito tra docum enti strutturati e non strutturati all‟interno di un sistema di gestione documental e. 77
  • Nello speci fico, è stato progett ato un component e software web - based basat o su un Googl e Mi ni, una soluzione hardware e soft ware integrata che appli ca l a st essa capaci tà e produttività della ricerca Google alla ri cerca globale su tutti i documenti present i nella ret e aziendale. Analizzeremo i sistemi di gestione documental e e gli aspetti positivi dell ‟utilizzo di docum enti strutt urati: per raggiungere il nost ro scopo farem o una panoramica sul mondo dell‟ IR e, prima di affront are la soluzione proposta, un‟analisi d ella struttura dei met a -motori di ricerca e di come i sistemi di voto ci aiutino i n questo settore. Chiuderemo con alcuni spunti di sviluppo e alcune note conclusive. Gestione documentale Visto che non esiste una solida base sci entifi ca e teori ca ri guardante nello speci fico il mondo della gestione docum entale, per prima cosa chiariremo alcune definizioni e peculi arit à di questi sist emi. La nostra unità di riferim ento è il documento, che può essere un‟inform azione organizzata oppure più generalm ent e un qu alsiasi oggetto 2. Come documento non strutturato intendiamo un documento senza form ato speci fico (ad esem pio, un t esto): possiamo anche i ntrodurre la 2 N e l l o s p e c i f i c o p a r t i r e m o d a l p r e s u p p o s t o d i t r a t t a r e d o c u m e n t i i n f o r ma t o elettronico, assunzione che non può essere sempre scontata. 78
  • definizione di documento semi strutturato (ad esem pio, un testo diviso in capitoli e i n paragrafi). Come document o strutturato intendi amo invece un docum ento che al suo interno conti ene una struttura che defi nisce le informazioni di base. Quest a strut tura viene general mente speci ficata attraverso l‟utilizzo di meta dati (informazioni che descrivono l‟oggetto p er forni re delle conoscenze aggiuntive) dichiarati con li nguaggi di 3 markup (una seri e di convenzioni standardizzate che descrive i meccanismi di rappresent azione strutturali, semantici o presentazional ). In realtà la struttura di queste meta informazioni prende il nome di classe di document o , e il documento stesso può essere quindi visto come un‟ist anza di questa cl asse 4. Un sistema di gesti one documental e è un sistem a com pleto per l a gestione automati ca d el ciclo di vita dei documenti (creazione, utilizzo e mant enim ento). Nello specifi co, penseremo ad un records management syst em , in cui le cl assi di documento sono rappresent ate da tabell e e il singolo documento att raverso un record. Parlando dei sist em i d i gestione documental e bisogna analizzare almeno tre aspetti:  i criteri di cat alogazione dei documenti (assegnazione manual e o autom atica di t ag/categori e);  l‟archit ettura client -server-repositor y, ove il repositor y è suddiviso a sua volt a in: o file s yst em, per il salvataggi o dei docum enti; o DBMS, per il salvat aggio dei m etadati; o l‟insiem e dei coll egati tra fil e e record;  workflow docum ent ale (3R ): o routes: processi, sequenze di passi; o rules: azioni, cioè che va fatto sui documenti; 3 I l t e r mi n e m a r k u p ( o m a r c a t u r a ) d e r i v a d a l l ' a mb i e n t e t i p o g r a f i c o d o v e s i usava marcare con annotazioni le parti del testo che andavano evidenziate o c o r r e t t e , a l l o s c o p o d i s e g n a l a r l e a l c o mp o s i t o r e o a l d a t t i l o g r a fo . 4 C o r r i s p o n d e n z a c o n i l i n g u a g g i X M L : l e c l a s s i d i d o c u me n t o s o n o e s p r e s s e attraverso DTD o XSD e i documenti attraverso documenti XML -Valid, 79
  • o roles: persone, chi può o deve fare qualcosa. Collegamento tra documenti strutturati e documenti non strutturati Il coll egamento tra docum enti st rutturati e non st rutturat i può avvenire attraverso un‟indi cizzazione m anual e (assegnazione m anual e delle met a inform azioni ai docum ent i non strutturati ) o attraverso sistemi di auto -classificazione, estrazione aut omati ca dei m et a dati ). Il vant aggio nell ‟uti lizzo di documenti strutturati è il poter rendere il contenuto del documento facilm ente recuperare ed int erpretabil e, per favorire i processi di ricerca, archivi azione ed estrazione di dati (non bisogna dim enticare che la strutturaz ione dell e informazioni è un processo naturale della mente um ana spesso sottovalut ato o considerato implicito!). 80
  • Information Retrieval L'Inform ation Ret ri eval t ratt a l 'insiem e dell e tecniche ut i lizzate per il recupero dell e inform azioni in formato el ettronico . Per recuperare le inform azioni, i sistemi IR usano i linguaggi di interrogazione basat i su comandi test ual i. I concetti fondam entali sono quelli di quer y (stri nga di parol e chi avi) e oggetto (entità che racchiude inform azioni). Form almente, un sistema di IR è rappresent abile da una “quadrupl a” com posta da:  D: insiem e di rappresentazioni logiche dei documenti;  Q: insiem e di rappresent azioni logi che dei fabbisogni inform ativi (l e query);  F: il modello di riferim ento per la rappresentazione dei docum enti e dell e ri chiest e e dell e rel azioni tra loro;  R(Qi, Dj ): una funzione di “ranking” che ordina i docum enti recuperati che soddi sfano la richi est a. Le tecni che di indicizzazione studi ate per le basi di dati rel azionali non sono adatte per questi sistemi: esistono svariati tipi di indici utilizzati, che comprendono anche al goritmi di sempli ficazione e di “riduzione ai mini mi termini ” dei vocaboli presenti . Il reperimento del le informazioni avviene att raverso questo processo: 81
  •  l'ut ent e specifi ca il suo fabbisogno informativo att raverso le quer y;  viene restituit a una lista di docum enti, in ordine di rilevanza;  l'ut ent e indica quali docum enti sono a suo giudizio pertinenti. La valut azione general e dei sistemi di IR è in realtà sogget tiva e può vari are da ut ente ad utente, ma possiamo indicare dei criteri generali da consi derare:  precisione (m aterial e recuperato effetti vament e ril evante) e recall (mat eri ale rilevante effettivam ente recuperato);  contesti di applicabi lità;  facilità di ricerca e di analisi dei risult ati;  semplicit à di impl ementazione. Visto che il problema comunque ri guarda un ambi ent e web -based, possiamo introdurre il concetto di Web Inform ation Retrieval rel ativam ente al mondo dei motori di ricerca (che sono a loro volt a sistemi di IR), considerando una pagina web com e un docum ento. Occorre comunque portare una grande attenzione verso gli aspetti di creazione dell a collezione 5 e di interazione co n l 'ut ente 6. 5 Mole dei dati, distribuzione dei documenti tra server diversi, volatilità, ridondanza, qualità, eterogeneità, recupero. 6 Specifica delle richieste, presentazione dei risu ltati. 82
  • Meta motori di ricerca Abbiamo int rodotto il discorso dei motori di ricerca intesi come sistemi di IR, m a a noi int eressa in questo caso analizzare il funzionam ento dei meta motori di ricerca: un meta motore semplicement e è un'interfacci a ch e svolge la sua interrogaz ione su più motori di ricerca contemporaneam ente. I concetti relativi ai sistemi di IR sono gli stessi, anche se vi è una maggiore compl essit à del processo di reperimento:  la quer y inserita dal l‟utent e viene formulata (eventualm en t e tradott a) per i diversi motori di ricerca;  inizia il processo di reperim ento sul singolo motore (con la rel ativa esecuzione delle quer y e l‟attesa dei risult ati);  i risultati ottenuti vanno raggruppati;  occorre gestire l‟eli minazione dei duplicati. Il p roblem a del raggruppamento dei risultati è il più complesso da affront are, dato che non si può formulare una st rat egia general e a causa di vari paramet ri che possono caratterizzare un singolo motore: per rimanere in ambito general e, considereremo la st rada dei ri sultati sotto form a di classifi ca e il non utilizzo di meccanismi di auto - apprendim ento. 83
  • Sistemi di voto Un sistem a di voto elettoral e contiene al suo i nterno regole per defini re com e i voti devono essere aggregati per ott enere un risult ato final e. Possiamo considerare i “candidati ” come l‟insi eme dei ri sultati ottenuti da un singolo motore (“el ettore”). Queste procedure non sono dirett ament e applicabili ai m eta mot ori i n quando assumono la presenza di pochi candidati rispetto al num ero di votanti: nei met a motori ci troviamo di front e allo scenario opposto in quanto abbiamo tanti candi dati di fronte a pochi elett ori. In questo scenario ci viene in aiuto il metodo Borda -Count, che riprende il metodo di voto del senato romano:  ogni elettore cl assific a un insiem e fissato di n candidati in ordine di preferenz a;  per ogni vot ante, al primo candi dato della list a vengono assegnati n punti, al secondo n -1, al terzo n -2 e così vi a;  se ci sono candidati che non sono stati inseriti nell a classi fica, essi si di v idono equament e i punti non assegnati dal singol o el ettore;  il candidato al qual e viene assegnato il maggior punt eggio vince l e elezioni (con lo stesso criteri o è possi bile qui ndi determinare una cl assifica finale). 84
  • È stata dimostrata la sua effi cacia in q uesto scenario, ed inoltre le prest azioni sono “abbastanz a buone”. Proposta di soluzione del problema Visto che la storia ci insegna che ottenere inform azioni strutturare a parti re da documenti non st rutturati è un procedim ento molt o complesso, ribalti am o il problem a: a parti re da ogni docum ento strutturato generi am o una o pi ù quer y di ricerca, che diamo in pasto a motori di ricerca diversi . Per fare questo, defini remo delle quer y (attraverso t empl ate) per ogni classe di docum ento (possi amo anche defini re su quali singoli motori debbano essere eseguit e queste quer y). Possiamo inolt re associare a questi query t emplat e dei coeffici enti di rilevanza (una query può essere pi ù ril evant e di un‟alt ra), così com e possiamo definire questi coeffi cienti per i singoli motori (un motore può ess ere più affidabile di un alt ro). Quindi a partire da un docum ento non strutturat o possiamo ottenere dei “documenti non strutturati” (l e istanz e delle quer y al singolo documento) da dare in pasto ad un motore di ricerca. Eseguendo i processo di reperim ento a partire da quest e quer y possiamo associ are dei docum enti non strutturati ai nostri documenti strutturati (bast a al largare il concetto di met a motore, considerando ogni quer y diversa come un m otore di ricerca di versa). 85
  • Algoritmo generale Defi niamo ora il processo di reperim ento:  per ogni quer y t emplate associ ato alla classe di document o, creo l ‟istanza della quer y relativa al singolo document o grazie ai dati contenuti nelle met a informazioni;  per ogni motore di ricerca associ ato al quer y templ at e, eseguo il singolo processo di reperim ent o; genero l ‟el enco dei candi dati 7 (unisco tut ti gli UR L);   per ogni list a di ri sultati, calcolo il punteggio col metodo Borda-Count;  per ogni punt eggio, applico il cal colo dei coeffi cienti di rilevanza (quer y, m otori);  sommo tutti i punt eggi e restituisco l a cl assifi ca finale. 7 C o n i s i s t e m i d i v o t o t r a d i z i o n a l i c o n o s c o a p r i o r i l ‟e l e n c o d e i c a n d i d a t i . 86
  • Sviluppi Una volt a definit a la struttura e l‟al goritmo di funzionam ento del nostro componente, dobbiamo prest at e una grande att enzi one re lativa alla confi gurazione dello stesso. Possiamo individuare ci nque punti fondament ali:  la definizione dei quer y t emplat e e l a loro sperimentazione per l ‟assegnazione dei coeffici enti di ril evanz a;  la sel ezione dei mot ori di ri cerca e la l oro sperim entazi one per l ‟assegnazione dei coeffici enti di affidabilità;  la definizione delle modalità di esecuzione dell a procedura (schedul ata, on dem and, all‟apertura di ogni document o);  la gestione della formattazione rel ativa al tipo di dato della meta informazione u tilizzata (ad esempio, i vari form ati di scrittura dell e dat e: europeo, am eri cano, europeo est eso…);  definizione dei privi legi di accesso ai vari UR L che possono essere diversi per ut enti diversi. Inoltre possi amo individuare alcuni spunti di ri cerca int er essanti ri guardo al prototipo:  utilizzo di motori di ricerca che possono agire su sistem i inform ativi diversi 8; 8 N e l c a s o p r e s o i n e s a m e s i t r a t t a v a d i u n u n i c o s i s t e m a i n fo r m a t i v o . 87
  •  considerazioni relat ive all ‟usabilità e alla semplicit à dell a confi gurazione dei quer y t empl ate da parte dell ‟utente;  l‟utilizzo di motori di ri cerca che utilizzano un meccanismo di rel evance scores piuttosto che di ranking. int eressante ri guarda l‟utilizzo di sistemi di Il punto più collaborative filteri ng propri dei sist emi di IR per la valorizzazione dell‟int erazione con l‟utent e, analizzando l ‟aspetto umano e la stori a di utilizzo dei docum enti grazie ad  sistemi di raccolt a delle preferenze;  sistemi di feedback, in stile eBa y;  utilizzo di un ulteriore sistem a di voto per la valutazione dei risultati da part e del l‟utent e; al fine di pot er impl ement are meccanism o di auto apprendimento e di individuazione dei falsi negativi. Conclusioni Vista l a fort e impl icazione del lat o umano nella soluzione del problem a, questo component e deve essere realm ente appli cabil e e di facile utilizzo. La st ruttura del servizio deve quindi essere fl essibile, confi gurabile ed all o stesso tempo indi pendente, al fine di rispondere alle esi genze di ogni singolo tipologia di docum ento e di ogni cont esto di riferim ento. 88
  • Purtroppo a causa della prem essa iniz iale non è f acile valutare form alment e un sist ema di questo tipo, perché possiamo valutare la precisione del sistema ma non il suo recall (non sappi amo a priori quali docum enti siano stati “persi” all‟int erno del sistem a informativo), se non utilizzando del le collezio ni di dati “istituzionali ” che vengono comunement e utiliz zate per il test dei sistemi inform ativi (ma il – un sistema di archi viazione di contest o real e di applicazione docum enti gestional i - è diverso data la molteplicit à di form ati di docum enti presenti nel sistem a inform ati vo). La vera conclusione che possiamo raggi ungere dopo l‟analisi della problem atica e la realizzazione del component e è che non si può mettere l a parol a fi ne. 89
  • 90
  • RICONOSCIMENTI «Credo che i riconoscimenti siano una delle sezioni più l et te. È dove l ’autore, per un breve istant e, può distogliere la ment e dall’aridità del documento accademi co per esprimere anni di frustrazione e grat itudine accumulat e.» Håkon Wium Lie Non farò nomi e cognomi onde evit are di dimenti care nessuno, visto gli anni impi egati nell a mia carri era universitaria e la moltitudine di persone che mi hanno affi ancato in questo cammino. Il primo ringraziam ento comunque non può non andare a chi ha sponsorizzato i mi ei studi 9. Il secondo va ai docenti che ho incontrato nel la mia carriera scolasti ca ed universitari a che, ognuno a modo suo, mi hanno trasmesso inform azioni ma soprattutto m etodi di studio e di l avoro diversi t ra loro: l‟impegno di ogni student e è qui ndi di riusci re ad effett uare un “raggruppam ento” (tanto per r estare in argom ento di tesi …) di tutte queste conoscenze. Un bacio ed un abbraccio vanno a tutti coloro che hanno “i gnoranza” 10 causati sopport ato i miei momenti di dallo stress universitario ed i vari disagi (in primi s, la mia compagna e gli ami ci più stretti). Un sal uto va anche ai miei compagni di studi con cui ho affrontato goli ardi cament e le t a nte ore passat e in dipartim ento ed ai colleghi che mi hanno aiut ato (implicitam ent e o esplicit ament e) a raggiungere questo t raguardo. 9 Studi, varie, eventuali… 10 E che tanto continueranno a sopportare… 91
  • Non posso l asci ar fuori chi mi ha dato l‟opportunit à di svolgere questo l avoro di tesi , che mi ha dato l‟opportunit à sì di ot tenere nuove conos cenz e ma soprattutto di farmi riscoprire la passi one per la sci enza e per l a ri cerca che mi aveva spinto ad i scrivermi a quest a Universit à. Ora bast a l eggere, non siamo mica qua a dare il colore ai pesci rossi! 92
  • COLOPHON «Un buon algoritmo è come un coltello affilato: fa esattament e ciò che si suppone debba fare appli cando una quantità mi nima di forza. Invece usare un algorit mo sbagli ato per risolvere un probl ema è come tagli are una bistecca con un cacciavite: si può anche arrivare ad un risultato accett abi le, ma facendo sicurament e uno sforzo più grande di quanto non fosse necessario, e i noltre il risultato non sarà certo elegante.» Thomas H. Cormen, Charles E. Leiserson, Ronald L. Ri vest, quot;Introduzione agli al goritmiquot; La versione st ampata di questo documento è stat a scrit ta con Micros oft Word 2007 su Windows XP eseguito in ambi ente Parall el su Max OSX 10.5.6. Le fi gure sono st ate realizzate con Mi crosoft Visio 2007. La font e tipografica utilizzata è stat a il Times New Roman 12pt/16pt: è un carattere tipografi co con grazie ideat o nel 1931 da Stanle y Morison comparso poi per la prima volt a il 3 ottobre 1932 sul quotidiano brit annico The Tim es (venne rimpiazzato dopo ben 40 anni, poiché le t ecnologi e di stam pa erano com pletam ente cambi at e). Gli esem pi di codi ce sono scritti in Courier New 10pt : un carattere monospazio (progettato per assomi gliare ai caratteri delle m acchine da scrivere) creat o da Howar d quot;Budquot; Kettl er nel 1955, anche se i l desi gn apparve però per la prima volt a nel 1950 e fu usato dall ‟IBM nell e propri e macchine da scri vere che, non avendone l ‟uso esclusivo dal punto di vista legal e , è diventato prest o uno standard per l ‟industri a delle m acchine da scrivere e per i programmatori che l o util izzano per scrivere codice sorge nte. 93
  • Tutto il m aterial e riportato e cit ato nel testo è di propri età dei rispettivi autori: mi scuso se in alcuni punti ho omesso involontariam ente di citare dell e fonti. Per l a present azione delle tecni che e dei prodotti utilizzati mi sono integralm ente av valso di docum enti promozionali, t ecni ci e/ o gui de sul web: nell a fat tispeci e mi sono avvalso: dei documenti prodotti da Kartha per la presentazione di Kart haDOC ; del material e messo a disposizione da Google ri guardo il GSA; di material e pubblicato su Wiki pedia e su HTML. IT riguardo al mondo web service com e tributo per due port ali che mi hanno dato tanto in questi anni. Questo volume è st ato stampato in Itali a . Tutto il material e da me prodotto ex -novo è protetto dalle leggi della R epubbli ca It aliana sul c op yri ght e sulla propriet à intel lettual e. 94
  • Atari 800XL (Fonte: Wikipedia) Alessandro Bondi è nato nel 1980 a R avenna, ove ancora tuttora risiede. Fin dalla tenera et à appassionato di informati ca ( inizia a programmare intorno agli 8 anni grazie ad un vecchio At ari 800XL e successivament e ad un Olivetti M -20), dopo aver frequent ato l ‟Istituto Tecnico inizia a lavorare sia com e li bero professionist a in ambit o consul enza e web si a come insegnante di inform atica in alcuni istituti superi ori (c on parentesi l avorative in tutt ‟altro settore, come autista soccorrit ore d ‟ambulanza): nel fratt empo intraprende, a rilento, la strada universitaria (si presenterà a di scutere la tesi di laurea dopo nove anni accademi ci). Nel 2005 prende l a decisione di pa ssare dalla libera professione al la realt à azi endal e. Attualmente è project manager, progetti sta di applicazioni web e analist a programmat ore PHP. Ha sempre mantenuto un grande rispetto verso gli standard e verso tutto ci ò che ri guarda accessibilità e usabilità, cercando di puntare verso lo quot;stato dell 'artequot;. La sua passione è l 'innovazione tecnologi ca. Da un punto di vista extraprofessional e ha port ato avanti numerose attività di volont ari ato (e non) in ambit o cattolico, soci ale e sportivo, ad oggi purt rop po ri dotte a causa di sopravvenuti problemi di salute. Alessandro Bondi www.alessandrobondi.com alessandro.bondi @gmail.com 95