Sistema configurabile per il collegamento assistito di documenti non strutturati a documenti strutturati in un EDMS attraverso l'utilizzo dei motori di ricerca
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
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
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
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