ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA
 FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI
     CORSO DI LAUREA TRIE...
Parole chiave:
         documento
         information retri eval
         collegamento
         meta motore
        ...
TAVOLA DEI CONTENUTI
 Tavola dei contenuti ..................................................................................
2.4.5 Modello cluster .................................................................................. 30
    2.5      V...
4.1.5 Algoritmo generale ............................................................................ 49
    4.2      Macr...
Interazione con l‟utente per la verifica dei risultati .............................. 67
    6.4
       6.4.1 Metodo “Feed...
INDICE DELLE FIGURE
        Figura 1 Diagramma di frequenza delle parole: l'ascissa rappresenta le singole
parole in ordin...
8
ABSTRACT

                                 «Prendi la direzione opposta all ’abitudine
                            e quasi...
precedent ement e   i ndicizzato   tutti   i   docum enti   non
           strutturati.
    In questo progetto di tesi son...
INTRODUZIONE

                                            «Tutto ciò che è scritto unicament e per far
                   ...
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 b...
1 LA GESTIONE DOCUMENTALE

                                  «Pensiamo          per   concetti     genera li,   ma
       ...
Una classe di documento (document class ) è l a definizione dell e
meta informazioni che sono cont enut e i n un documento...
da un operatore e l a successiva indi cizzazione manual e all ‟interno di un
EDMS. [Mur03]
     Recentem ente sono nati si...
insieme ordinato di nodi etichett ati, organizzato gerarchicament e con
una   st ruttura   ad     albero,   permett endo  ...
l ‟utent e
oppure                che   deve   scegli ere   dove   cl assifi care   il   proprio
docum ento (alcuni sistemi...
18
2 INFORMATION RETRIEVAL

                                     «La     verità        si    ritrova     sempre     nella
   ...
Spesso i docum enti stessi non sono mantenuti o immagaz zinati
dirett ament e nel sist ema IR, ma vengono rappresent ati d...
Egli asseriva che l a frequenza con cui al cune parole compaiono in
un testo forniscono un param etro i mportant e del si ...
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...
argom ento. La specificità venne defini ta [Kar04] com e la precisione
con cui un document o è indi cizzato.
     È    com...
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...
2.2.3 Processo di reperimento
     Data una coll ezione indicizzata, il processo di reperiment o può
essere svolto nel mod...
   i termini che compaiono più volte nel lo stesso docum ent o
              collassano in un uni co elem ento, al quale ...
vari e eccezioni. L‟ utilizzo di tali tecniche comunque non sempre
migliora l a qualità delle rispost e ad una qu er y.
  ...
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 a...
2.4.3 Modello probabilistico
      L‟identificazione                dei          concetti     si     basa       sul la    ...
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 o...
   Utent e: il contesto dell‟ int errogazione e i limiti posti
           all‟int errogazione ;
          Interrogazione...
svari ati fattori nel misurare la soddisfazione di un utente, dipendenti
dal tipo di utent e e di applicazione).
     Sono...
Le misure effettivame nte rilevanti sono Recall e Precisione, visto
che Sil enzio e R umore possono essere calcolat e da q...
che   considera       l‟esatt o
utilizzato      il    parametro           oppure

bilanci amento tra i due valori.
       ...
   prima     generazione,     che    utilizzano   solo    dati     t estuali   e
            al goritmi di calcol o della...
   present azione dei risultati.
  2.7 Collaborative filtering
  2.7.1 L’aspetto uman o
     Il coll aborative filt ering...
degli alt ri utenti . Infine l e raccom andazioni sono basate sulla qualit à
degli oggetti p iuttosto che su propriet à pi...
laborative Filtering o passive collaborative filtering , perché non c‟è
dirett a connessione né conoscenza tra l a persona...
sia di spazio occupato che di t empo i mpiegato per ogni predizione a
mano a mano che il database cresce (è quindi d iffi ...
40
3 META MOTORI DI RICERCA E SISTEMI DI
      VOTO

                                           «I progressi fondamentali han...
Analizzeremo solo i due aspetti che più ci int eressano: la
formul azione dell e quer y per i singoli motori e il raggrupp...
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 per...
   se ci sono candidati che non sono stati inseriti nell a
              classi fica, essi si di vidono equament e i punt...
4 COLLEGAMENTO DI DOCUMENTI CON LA
      TECNICA DEI META MOTORI DI RICERCA

                               «L’arte o è pl...
agiscono sui contenuti non strutturati presenti nell a knowledge base di
un‟azienda in cui sia present e un sistema docume...
4.1.3.4 Meta informazioni associat e al documento
Docum entMeta       =   (   DM_ Identifi er,     D_Identifier ,   DC M_I...
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 )...
   CR_Rate: Punt eggio final e
CollateResult List = arra y of Coll ateR esult
  4.1.4 Diagramma ER

        Gestione Docu...
o Creo il document o Quer yIst ance con i valori presenti
                    nei Docum entMeta rel ativi al Document pres...
   motori di ricer ca diversi possono avere diverse regol e di
            sintassi;
           posso definire più st ri...
4.2.2 Esecuzione           delle    QueryString           e    pri ma        elaborazione    dei
            risultati
   ...
     ad ogni apertura di documento (rallenta il sistema ma è
                    quella che recepisce meglio il cambiamen...
   25th of March 2009 (stile americano);
             2009-03-05 (form ato SQL).
     Deve qui ndi essere possib il e d ...
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Tesi
Upcoming SlideShare
Loading in …5
×

Tesi

1,892 views
1,757 views

Published on

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

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,892
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tesi

  1. 1. 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
  2. 2. Parole chiave:  documento  information retri eval  collegamento  meta motore  sistema di vot o 2
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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. 8. 8
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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. 18. 18
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26.  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
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. 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
  31. 31.  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
  32. 32. 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
  33. 33. 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
  34. 34. 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
  35. 35.  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
  36. 36.  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
  37. 37. 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
  38. 38. 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
  39. 39. 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. 40. 40
  41. 41. 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
  42. 42. 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
  43. 43. 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
  44. 44.  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
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49.  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
  50. 50. 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
  51. 51.  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
  52. 52. 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
  53. 53.  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
  54. 54.  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

×