SlideShare a Scribd company logo
1 of 95
Download to read offline
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
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

More Related Content

What's hot

Sviluppo Di Portali Tramite La Tecnologia Sharepoint
Sviluppo Di Portali Tramite La Tecnologia SharepointSviluppo Di Portali Tramite La Tecnologia Sharepoint
Sviluppo Di Portali Tramite La Tecnologia SharepointDenis Tomada
 
Software Architecture Documentation - Fastfood
Software Architecture Documentation - FastfoodSoftware Architecture Documentation - Fastfood
Software Architecture Documentation - Fastfoodgioacchinolonardo
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Alberto Scotto
 
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Francesco De Giorgi
 
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGPTesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGPFabio Pustetto
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigantedox82
 
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3energymanager
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPFabio Pustetto
 
Orchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMOrchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMMichele Filannino
 
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 AmmLibera AL
 
Guida Database SQL
Guida Database SQLGuida Database SQL
Guida Database SQLAmmLibera AL
 
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebJoseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebCyclope86
 
Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Po...
Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Po...Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Po...
Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Po...Alex Ronci
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleLuigi De Russis
 
Strategie ingestigative in ambito di criminalità informatica
Strategie ingestigative in ambito di criminalità informaticaStrategie ingestigative in ambito di criminalità informatica
Strategie ingestigative in ambito di criminalità informaticapeppespe
 
Piano Nazionale Scuola Digitale (risorse integrative)
Piano Nazionale Scuola Digitale (risorse integrative)Piano Nazionale Scuola Digitale (risorse integrative)
Piano Nazionale Scuola Digitale (risorse integrative)Ministry of Public Education
 
Programa operativo basilicata
Programa operativo basilicataPrograma operativo basilicata
Programa operativo basilicataxinxinzuo
 
Tesi Zorzin
Tesi ZorzinTesi Zorzin
Tesi Zorzinshadow82
 

What's hot (20)

Sviluppo Di Portali Tramite La Tecnologia Sharepoint
Sviluppo Di Portali Tramite La Tecnologia SharepointSviluppo Di Portali Tramite La Tecnologia Sharepoint
Sviluppo Di Portali Tramite La Tecnologia Sharepoint
 
Software Architecture Documentation - Fastfood
Software Architecture Documentation - FastfoodSoftware Architecture Documentation - Fastfood
Software Architecture Documentation - Fastfood
 
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
Cloud Computing: Una Soluzione "Private" Basata Su Software IBM (Tesi di laur...
 
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
Valutazione sperimentale di tecnologie per la gestione dei dati per workflow ...
 
Tesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGPTesi Triennale - X509 e PGP
Tesi Triennale - X509 e PGP
 
Abstract Domenico Brigante
Abstract   Domenico BriganteAbstract   Domenico Brigante
Abstract Domenico Brigante
 
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
Regole applicative_dm_5_maggio_2011_25_06_2012_rev3
 
Tesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMPTesi Specialistica - Weka SMP
Tesi Specialistica - Weka SMP
 
Orchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMOrchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPM
 
Teoria probabilità 4
Teoria probabilità 4Teoria probabilità 4
Teoria probabilità 4
 
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
 
Guida Database SQL
Guida Database SQLGuida Database SQL
Guida Database SQL
 
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebJoseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
 
Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Po...
Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Po...Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Po...
Progettazione e sviluppo di un'applicazione web basata su tecnologia Share Po...
 
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientaleInterfaccia utente basata su eye-tracking per sistemi di controllo ambientale
Interfaccia utente basata su eye-tracking per sistemi di controllo ambientale
 
Tesi Paolo Menegatti
Tesi Paolo MenegattiTesi Paolo Menegatti
Tesi Paolo Menegatti
 
Strategie ingestigative in ambito di criminalità informatica
Strategie ingestigative in ambito di criminalità informaticaStrategie ingestigative in ambito di criminalità informatica
Strategie ingestigative in ambito di criminalità informatica
 
Piano Nazionale Scuola Digitale (risorse integrative)
Piano Nazionale Scuola Digitale (risorse integrative)Piano Nazionale Scuola Digitale (risorse integrative)
Piano Nazionale Scuola Digitale (risorse integrative)
 
Programa operativo basilicata
Programa operativo basilicataPrograma operativo basilicata
Programa operativo basilicata
 
Tesi Zorzin
Tesi ZorzinTesi Zorzin
Tesi Zorzin
 

Viewers also liked

La mia Tesi di Laurea - Disturbi Comportamento Alimentare
La mia Tesi di Laurea - Disturbi Comportamento AlimentareLa mia Tesi di Laurea - Disturbi Comportamento Alimentare
La mia Tesi di Laurea - Disturbi Comportamento AlimentareValentina Ugolini
 
Università Di Salerno Presentazione Tesi Gaetano Costa
Università Di Salerno   Presentazione Tesi Gaetano CostaUniversità Di Salerno   Presentazione Tesi Gaetano Costa
Università Di Salerno Presentazione Tesi Gaetano Costaguest777bcf
 
Presentazione tesi laurea magistrale
Presentazione tesi laurea magistralePresentazione tesi laurea magistrale
Presentazione tesi laurea magistraleLuigi De Russis
 

Viewers also liked (6)

Tesi - Presentazione
Tesi - PresentazioneTesi - Presentazione
Tesi - Presentazione
 
TESI
TESITESI
TESI
 
Indice tesi magistrale
Indice tesi magistraleIndice tesi magistrale
Indice tesi magistrale
 
La mia Tesi di Laurea - Disturbi Comportamento Alimentare
La mia Tesi di Laurea - Disturbi Comportamento AlimentareLa mia Tesi di Laurea - Disturbi Comportamento Alimentare
La mia Tesi di Laurea - Disturbi Comportamento Alimentare
 
Università Di Salerno Presentazione Tesi Gaetano Costa
Università Di Salerno   Presentazione Tesi Gaetano CostaUniversità Di Salerno   Presentazione Tesi Gaetano Costa
Università Di Salerno Presentazione Tesi Gaetano Costa
 
Presentazione tesi laurea magistrale
Presentazione tesi laurea magistralePresentazione tesi laurea magistrale
Presentazione tesi laurea magistrale
 

Similar to Tesi

Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiPietro Corona
 
Sistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionSistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionAmmLibera AL
 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaStefano Bussolon
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistraleDomenico Caputi
 
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...fcecutti
 
Publish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based RoutingPublish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based RoutingNicola Mezzetti
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMDavide Ciambelli
 
GaPiL - Guida alla Programmazione in Linux
GaPiL - Guida alla Programmazione in LinuxGaPiL - Guida alla Programmazione in Linux
GaPiL - Guida alla Programmazione in LinuxAmmLibera AL
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxCe.Se.N.A. Security
 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Daniele Ciriello
 
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...maaske
 
Openfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsOpenfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsLorenzo Stacchio
 
Validation and analysis of mobility models
Validation and analysis of mobility modelsValidation and analysis of mobility models
Validation and analysis of mobility modelsUmberto Griffo
 
Un metodo di progettazione di reti locali con esigenze di qualità del servizio
Un metodo di progettazione di reti locali con esigenze di qualità del servizioUn metodo di progettazione di reti locali con esigenze di qualità del servizio
Un metodo di progettazione di reti locali con esigenze di qualità del servizioClaudio Bortone
 
Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Maurizio Cacace
 
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiFrancesco Magagnino
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
 

Similar to Tesi (20)

domenicoCaputiTriennale
domenicoCaputiTriennaledomenicoCaputiTriennale
domenicoCaputiTriennale
 
Monitoraggio di rete con nagios
Monitoraggio di rete con nagiosMonitoraggio di rete con nagios
Monitoraggio di rete con nagios
 
Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzati
 
Sistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisitionSistemi SCADA - Supervisory control and data acquisition
Sistemi SCADA - Supervisory control and data acquisition
 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo Macchina
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistrale
 
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
 
LINEE GUIDA PER IL DISASTER RECOVERY
LINEE GUIDA PER IL DISASTER RECOVERYLINEE GUIDA PER IL DISASTER RECOVERY
LINEE GUIDA PER IL DISASTER RECOVERY
 
Publish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based RoutingPublish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based Routing
 
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEMTesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
Tesi Triennale - Grid Credit System: un portale per la sostenibilità di COMPCHEM
 
GaPiL - Guida alla Programmazione in Linux
GaPiL - Guida alla Programmazione in LinuxGaPiL - Guida alla Programmazione in Linux
GaPiL - Guida alla Programmazione in Linux
 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linux
 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
 
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
24546913 progettazione-e-implementazione-del-sistema-di-controllo-per-un-pend...
 
Openfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsOpenfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistems
 
Validation and analysis of mobility models
Validation and analysis of mobility modelsValidation and analysis of mobility models
Validation and analysis of mobility models
 
Un metodo di progettazione di reti locali con esigenze di qualità del servizio
Un metodo di progettazione di reti locali con esigenze di qualità del servizioUn metodo di progettazione di reti locali con esigenze di qualità del servizio
Un metodo di progettazione di reti locali con esigenze di qualità del servizio
 
Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques Anomaly detection in network traffic flows with big data analysis techniques
Anomaly detection in network traffic flows with big data analysis techniques
 
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
 

Tesi

  • 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. Parole chiave:  documento  information retri eval  collegamento  meta motore  sistema di vot o 2
  • 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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