Sei sulla pagina 1di 72

Corsi di Laurea Specialistica in Ingegneria Corsi di Laurea Specialistica in Ingegneria

Informatica/Gestionale Informatica/Gestionale
Sistemi Informativi per il Web Sistemi Informativi per il Web
A.A. 2005 A.A. 2005 2006 2006
Tecniche di Information Retrieval e approcci
alla ricerca sul Web
Definizioni
Definizioni
IR tratta problemi di rappresentazione, memorizzazione,
organizzazione e accesso ad informazioni
Obiettivo: facilitare laccesso alle informazioni cui un utente
interessato
Un testo libero non pu direttamente essere usato per
interrogare gli attuali motori di ricerca su Web.
Una descrizione va trasformata in una query, una struttura di
dati (usualmente un vettore) adatta allelaborazione da parte di
un motore di ricerca.
Caratterizzare l
Caratterizzare l

interesse dell
interesse dell

utente
utente
Caratterizzare linteresse di un utente non facile: trova tutte le
pagine che contengono informazioni su squadre di tennis di Universit
Americane, e che partecipino alle gare NCAA. Mi interessano solo
documenti che riportino anche la qualifica di queste squadre negli
ultimi 3 anni e la email o telefono del loro allenatore
Rosso: irrilevante per la query
Blu: necessitano una qualche forma di ragionamento per dare alla
macchina la conoscenza di fatti, es:
MIT una Universit_Americana
march_2002 incluso nellintervallo |january_2000,
january_2003|
Accesso a dati vs. Accesso a informazioni Accesso a dati vs. Accesso a informazioni
Data retrieval: trovare oggetti che soddisfino condizioni
chiaramente specificate mediante una espressione regolare
(FIND person WHERE age>40 ANDOR..). Un errore segnale
di totale fallimento del sistema
Information retrieval: richiede una interpretazione della
richiesta dellutente. I documenti recuperati non possono
essere classificati tout court come buoni o cattivi, ma vanno
associati ad una misura di rilevanza rispetto alla richiesta
dellutente (allinterpretazione della richiesta!)
La nozione di rilevanza centrale in IR
Perch
Perch

IR
IR

importante
importante
IR aveva una ristretta nicchia di interesse (bibliotecari ed
esperti di informazioni)
Lavvento del Web ha cambiato radicalmente le cose
Una sorgente di informazioni virtualmente illimitata
Accesso universale ed a basso costo
Non esiste un controllo editoriale centralizzato
Molti nuovi problemi si pongono: IR vista come una
area chiave per identificare soluzioni appropriate
Le azioni dell
Le azioni dell

utente
utente
Una sessione di Retrieval comporta la specifica degli interessi dellutente e la
sua trasformazione in una query (usualmente, un insieme di parole chiave o
keywords)
Se linteresse dellutente mal specificato, o molto vasto, lutente pu
utilizzare una interfaccia interattiva, visualizzare alcuni documenti proposti,
seguire hyperlinks a partire da documenti che pi lo interessano, o dettagliare
meglio la sua query. Si parla allora di una sessione di Browsing.
Retrieval
Browsing
Database
Pulling
Pulling
vs.
vs.
pushing
pushing
Retrieval e Browsing vengono classificate come azioni di
pulling: lutente tira fuori le informazioni richieste
Alcuni sistemi sono in grado di prendere iniziative, cio di
sospingere (push) documenti verso lutente. Ad esempio,
filtrando notizie periodicamente sulla base di profili di utente
(web assistant, information filtering and extraction).
Operazioni sui testi
Operazioni sui testi
Come le richieste dellutente vengono trasformate in query, cos un
sistema di IR genera una rappresentazione pi generale e astratta
dei documenti, detta logical view, o rappresentazione.
Quando la rappresentazione di un documento comprende lintero
insieme delle parole che lo compongono, si parla di full text logical
view.
Tuttavia, anche nei moderni computers sono necessarie alcune
operazioni di compressione dellinformazione
Queste operazioni possono essere finalizzate non solo alla
compressione (es. eliminazione di articoli, congiunzioni.,
lemmatizzazione...) ma anche alla generalizzazione (non
rappresentare termini (ambigui) ma concetti )
Operazioni sui testi
Operazioni sui testi
struttura
Spaziature,
accenti
stopwords
lemmatizzazione
Operazioni+
complesse
Indicizzazione
Doc.
Struttura
(parag, titoli,
tags html XML...)
Full text Termini
indice
Nomi propri,
semantica
Il processo di
Il processo di
retrieval
retrieval
Interfaccia
utente
Operazioni sui testi
Operazioni
sulla query
Indicizzazi
one
ricerca
ranking
Indici
Testi
query
user need
user feedback
Documenti
pesati
Doc. recuperati
Vista logica Vista logica
inverted file
DB Manager
Module
Database
dei testi
Testi
Una caratterizzazione formale del task IR
Una caratterizzazione formale del task IR
Def. Un modello di IR una quadrupla [D,Q,F,R(q
i
,d
j
)] dove:
D un insieme di viste logiche, o rappresentazioni dei
documenti nella collezione
Q un insieme di viste logiche, o rappresentazioni dei
bisogni informativi dellutente , dette query
F uno schema per modellare le rappresentazioni dei
documenti, le query, e le inter-relazioni fra query e
documenti
R(q
i
,d
j
)] una funzione di ranking R : QD che
definisce un ordine fra i documenti, in relazione alla query q
i
Rappresentazione dei documenti
Rappresentazione dei documenti
Ogni documento viene rappresentato mediante un insieme di
parole-chiave o termini indice
Un termine-indice una parola ritenuta utile per rappresentare
il contenuto del documento
In genere, nei sistemi di IR classici, gli indici sono nomi,
perch maggiormente indicativi del contenuto
Tuttavia, nei motori di ricerca vengono considerati tutti i
termini (full text representation)
Funzione di ranking
Funzione di ranking
Un ranking un ordinamento dei documenti recuperati che
dovrebbe riflettere gli interessi dellutente
Ebasato su :
Identificazione di gruppi di termini comuni
Condivisione di termini pesati
Probabilit di rilevanza
La classificazione dei modelli di IR basata si diversi criteri di
ranking
Documenti
Bisogni Informativi
Termini indice
documenti
query
match
ranking
Operazioni
sui testi
Modelli di IR
Modelli di IR
Trascurando, per ora, il problema del passaggio dal full text alla visione logica
, supponiamo di avere a disposizione tale visione logica, e questa sia data da un
insieme di parole-chiave o keywords.
Un banale matching di parole chiave fra documenti e query spesso fornisce
risultati modesti, gli utenti sono insoddisfatti.
Inoltre, spesso gli utenti non sono in grado di esprimere i loro interessi mediante
un elenco appropriato di keywords
Il problema reso pi grave se siamo nellambito Web IR
Un ranking appropriato dei documenti ha un effetto notevole sulle prestazioni
(vedi i motori di ricerca)
Una tassonomia dei modelli di IR Una tassonomia dei modelli di IR
Non-Overlapping Lists
Proximal Nodes
Modelli strutturali
Retrieval:
Adhoc
Filtering
Browsing
U
s
e
r
T
a
s
k
Modelli Classici
booleano
vettoriale
probabilistico
Teoria degli insiemi
Fuzzy
Extended Boolean
Probabilistici
Inference Network
Belief Network
Algebrici
Generalized Vector
Lat. Semantic Index
Neural Networks
Browsing
Flat
Structure Guided
Hypertext
Modelli Modelli classici classici : concetti base : concetti base
Non tutti i termini sono ugualmente importanti per la
rappresentazione di un testo (o query). Nella selezione di
termini indice importante assegnare un peso di rilevanza alle
varie parole.
Limportanza di un termine indice rappresentata da un valore
che ad esso viene associato
Sia
ki un termine indice
dj un documento della collezione
wij un peso associato a (ki,dj)
Il peso wij quantifica limportanza dellindice ki per descrivere il
contenuto del documento
Modelli Modelli classici classici : : concetti base concetti base (2) (2)
k
i
un termine indice
d
j
un documento
t il numero totale di documenti in D
K = (k1, k2, , kt) linsieme dei termini indice
w
ij
>= 0 un peso associato con (ki,dj)
w
ij
= 0 indica che un termine non appartiene al documento
vec(d
j
) =dj=dj =(w1j, w2j, , wtj) un vettore pesato
associato a dj
gi(dj) = wij una funzione che restituisce il peso associato
alla coppia (ki,dj)
Set
Set
theoretic
theoretic
models
models
: Modello
: Modello
Booleano
Booleano
Un modello molto semplice basato sulla set theory
Le query vengono rappresentate mediante espressioni booleane
q = k
a
(k
b
k
c
)
Es: (automobili (vendita fabbricazione)
I termini sono presenti o assenti. Dunque,
wij {0,1}
Problemi del modello
Problemi del modello
Booleano
Booleano
Il retrieval basato su criteri di decisione binari, non esiste la
nozione di corrispondenza parziale
Non viene fornito un ordinamento parziale dei documenti (non
c ranking!!)
Gli utenti trovano difficile trasformare le loro richieste
informative in una espressione booleana
Gli utenti formulano spesso query booleane troppo
semplicistiche (congiunzioni di termini)
Di conseguenza, le query booleane restituiscono o troppo pochi
o troppi documenti
Modello a spazi vettoriali
Modello a spazi vettoriali
query e documenti sono
rappresentati mediante vettori
pesati in uno spazio vettoriale
Lo spazio ha una dimensionalit
pari al numero di termini nel
vocabolario.
La similarit tra la query e il
documento impiega misure
geometriche di similarit tra vettori.
t
1
t
2
t
3
d
1
d
2

Pesatura dei termini nel modello vettoriale


Pesatura dei termini nel modello vettoriale
Una misura del peso di un termine in un documento deve tenere conto
di due fattori :
Quantificazione del peso che il termine ha nel documento:
Fattore tf (term frequency)
Quanto il termine aiuta a discriminare il documento dj
dagli altri documenti in D
Fattore idf (inverse document frequency)
Dove: N numero di doc. nella collezione, n
i
numero dei
documenti in cui il termine ki appare
wij = tf(i,j) * idf(i)
tf (i, j) =
freq
i, j
max
k
freq
k, j
( )
idf
i
= log
N
n
i
Peso dei termini nella
Peso dei termini nella
query
query
Salton e Buckley suggeriscono:
w
i,q
= 0, 5 +
0, 5 freq
i,q
max
k
( freq
k,q
)
|
\



|
.
|
|
|
log
N
n
i
Varie
Varie
misure
misure
di
di
similarit
similarit

|) | |, min(|
| |
| | | |
| |
| |
| |
| | | |
| |
2
| |
2
1
2
1
D Q
D Q
D Q
D Q
D Q
D Q
D Q
D Q
D Q
I
I
U
I
I
I

+
Simple matching (coordination level match)
Dices Coefficient
Jaccards Coefficient
Cosine Coefficient (la pi diffusa)
Overlap Coefficient
Un
Un
esempio
esempio
numerico
numerico
1.0
0.8
0.6
0.4
0.2
0.8 0.6 0.4 0.2 0 1.0
D
2
D
1
Q
1

Term B
Term A
D
i
=(d
i1
,w
di1
;d
i2
, w
di2
;;d
it
, w
dit
)
Q =(q
i1
,w
qi1
;q
i2
, w
qi2
;;q
it
, w
qit
)

= =
=
=
t
j
t
j
d q
t
j
d q
i
ij j
ij j
w w
w w
D Q sim
1 1
2 2
1
) ( ) (
) , (
Q = (0.4,0.8)
D1=(0.8,0.3)
D2=(0.2,0.7)
98 . 0
42 . 0
64 . 0
] ) 7 . 0 ( ) 2 . 0 [( ] ) 8 . 0 ( ) 4 . 0 [(
) 7 . 0 8 . 0 ( ) 2 . 0 4 . 0 (
) 2 , (
2 2 2 2
= =
+ +
+
= D Q sim
74 . 0
58 . 0
56 .
) , (
1
= = D Q sim
Vantaggi e svantaggi del modello vettoriale Vantaggi e svantaggi del modello vettoriale
Vantaggi:
Il peso dei termini migliora la qualit delle risposte
Poich possono verificarsi matching parziali fra documenti e
query, possibile ottenere risposte che approssimino le
richieste dellutente
La formula usata per misurare la similarit tra vettori
consente di ordinare i documenti rispetto al grado di
similarit con la query
possibile clusterizzare i documenti ed effettuare ricerche
gerarchice
Svantaggi:
Si basa sullassunzione che i termini siano fra loro
indipendenti. Ma non provato che questo sia un vero
svantaggio..
RELEVANCE FEEDBACK RELEVANCE FEEDBACK
Partendo dallassunzione ragionevole che documenti rilevanti si
assomigliano, possibile riformulare una interrogazione con lausilio
dellinformazione disponibile sui documenti gi recuperati e rilevanti.
Ci ovviamente richiede una interazione con lutente che genera
linterrogazione. E il suo giudizio che determina la rilevanza o meno di
un documento tra quelli recuperati dal sistema. Lidea base che la
riformulazione della query sulla base dei risultati ottenuti possa
condurre ad un raffinamento della stessa e quindi a nuovi risultati
rilevanti.
Documenti rilevanti e ritrovati
Query originale
Query retroazionata
Documenti rilevanti e ritrovati dalla 2 query
La riformulazione della query pu avvenire mediante due operazioni
complementari: termini presenti nei documenti considerati rilevanti
possono essere aggiunti (o incrementati di peso); termini presenti nei
documenti considerati non rilevanti possono essere eliminati ( o il loro
peso ridotto).
La generica query alla k-esima iterazione di feedback pu esprimersi
come:
con ed opportune costanti (la trattazione teorica relativa alla
determinazione dei valori delle costanti non viene qui inclusa).
Numerose varianti a questa espressione possono essere apportate e
sono state proposte, es. determinare la nuova query ignorando la
query precedente; esprimere il feedback in termini solo positivi senza
considerare termini a sottrarre; sottrarre esclusivamente il contributo
del documento non rilevante a somiglianza maggiore, etc.

= =
+
+ =
notrel rel
M
1 j
) k (
j
N
1 i
) k (
i
) k ( ) 1 k (
Y X Q Q
Extended Boolean Model
Extended Boolean Model
Il modello booleano semplice ed elegante
Ma non consente ranking
Il modello booleano pu essere esteso mediante la
nozione di corrispondenza parziale e di pesatura dei
termini
Combina le caratteristiche del modello vettoriale con le
propriet dellalgebra booleana
Trattamento dei testi
Trattamento dei testi
Come trasformare un documento in un vettore di
keywords?
Come organizzare i vettori dei documenti in modo da
facilitarne il recupero a fronte di una query?
Operazioni sui testi
Operazioni sui testi
struttura
Spaziature,
accenti
stopwords
lemmatizzazione
Operazioni+
complesse
Indicizzazione
Doc.
Struttura
(parag, titoli,
tags html XML...)
Full text Termini
indice
Nomi propri,
semantica
1.Identificazione delle keywords o tokens rilevanti
2.Definizione di una struttura di memorizzazione
dei documenti efficiente ai fini del recupero
Tokenizzazione
Tokenizzazione
Un testo va trasformato in una lista di elementi significativi detti
token.
A volte, la punteggiatura, i numeri, e la differenza fra maiuscole e
minuscole possono essere elementi significativi. Anche le
etichette html (o xml) possono o meno essere eliminate.
Generalmente, pi superficiale lanalisi del testo, pi dettagli
vengono eliminati.
Lapproccio pi semplice quello usato dai motori di ricerca-
consiste nellignorare numeri e punteggiatura e considerare solo
stringhe contigue di caratteri alfabetici come tokens.
Tokenizzazione
Tokenizzazione
di
di
simboli
simboli
HTML
HTML
Cosa fare del testo racchiuso nei comandi html che tipicamente
non vengono visualizzati? Alcune di queste stringhe sono
significative:
Le parole contenute negli URLs.
Le parole contenute nei meta testi delle immagini.
Lapproccio pi semplice esclude dalla tokenizzazione tutte le
informazioni contenute fra tag HTML (fra < e >).
Tipi
Tipi
di
di
documenti
documenti
Documenti
Stringhe di testo Documenti su files
Files Testo
Files HTML
(per le query digitate da tastiera)
(ASCII files) (HTML files)
Stopwords
Stopwords
Tipicamente vengono eliminate parole ad elevata frequenza in
un linguaggio, dette stopwords (es. parole funzionali, in
inglese: a, the, in, to; o pronomi: I, he, she, it,
ecc.).
Le Stopwords sono ovviamente dipendenti dalla lingua. Vector
Space Retrieval (VSR) utilizza un set standard di circa 500
parole inglesi.
Le stringhe di stopwords vengono memorizzate in una
hashtable per essere riconosciute in tempo costante.
Stemming
Stemming
Si intende per stemming il processo di riduzione di un termine
al lemma o alla radice, in modo da riconoscere variazioni
morfologiche della stessa parola.
comput-er,comput-ational, comput-ation compute
Lanalisi morfologica specifica di ogni lingua, e pu essere
molto complessa (ad esempio in Italiano ben pi che in
Inglese)
I sistemi di stemming pi semplici si limitano ad identificare
suffissi e prefissi e ad eliminarli.
Porter Stemmer
Porter Stemmer
E una procedura semplice, che iterativamente riconosce ed
elimina suffissi e prefissi noti senza utilizzare un dizionario
(lemmario).
Pu generare termini che non sono parole di una lingua:
computer, computational, computation diventano tutti
comput
Vengono unificate parole che in effetti sono diverse (matto e
mattone)
Non riconosce deviazioni morfologiche (vado e andiamo).
Errori
Errori
del Porter Stemmer
del Porter Stemmer
Errori di raggruppamento:
organization, organ organ
police, policy polic
arm, army arm
Errori di omissione:
cylinder, cylindrical
create, creation
Europe, European
Operazioni pi
Operazioni pi

complesse sui testi


complesse sui testi
Analisi morfosintattica
I have been be
Analisi dei Nomi Propri, date, espressioni monetarie e numeriche,
terminologia
Medical Instrument inc
April 15th, 2003. 15-4-03
5 millions euros
Consiglio di amministrazione, week end, ..
Analisi della struttura del testo
Es: I termini nel titolo o nei paragrafi hanno un peso maggiore, i termini
in grassetto o sottolineati..
Analisi semantica: associare a parole singole o a porzioni di testo dei
concetti di una ontologia
Lalbergo dispone di piscina.. hotel_facility
Lalbergo si trova a Corvara.. Val_Badia Dolomiti ..
Is_a
Is_in
Indicizzazione
Indicizzazione
dei
dei
documenti
documenti
Come recuperare le informazioni?
Una semplice alternativa consiste nello scandire
lintero testo sequenzialmente
Una opzione migliore quella di costruire
strutture di dati chiamate indici per velocizzare la
ricerca
Tecniche di indicizzazione:
Inverted files
Array di suffissi
Signature files
Indicizzazione Indicizzazione: come : come memorizzare memorizzare e e recuperare recuperare I I
documenti documenti rappresentati rappresentati mediante mediante keywords keywords
Notazione
Notazione
n: il numero di tokens nel testo
m: lunghezza di un vettore
v: taglia del vocabolario (quante parole diverse)
M: memoria a disposizione
Inverted Files
Inverted Files
Definizione: un inverted file un meccanismo orientato alla
manipolazione di parole, per indicizzare una collezione di
documenti in modo da velocizzare il processo di ricerca.
Struttura di un inverted file:
Vocabolario: linsieme di parole diverse nel testo (NOTA:
la taglia di V dipende dalle operazioni effettuate sui testi)
Occorrenze: liste che contengono tutte le informazioni
necessarie per ogni parola del vocabolario (posizione nel
testo, frequenza, documenti nei quali appaiono, ecc.)
Esempio
Esempio
Testo:
Inverted file
1 6 12 16 18 25 29 36 40 45 54 58 66 70
That house has a garden. The garden has many flowers. The flowers are beautiful
beautiful
flowers
garden
house
70
45, 58
18, 29
6
Vocabolario Occorrenze
Spazio
Spazio
di
di
memoria
memoria
Lo spazio necessario per memorizzare il vocabolario non
eccessivo.
Viceversa, le occorrenze richiedono uno spazio molto
maggiore.
Per ridurre lo spazio necessario, si pu utilizzare una tecnica
detta indirizzamento di blocco (block addressing)
Indirizzamento
Indirizzamento
di
di
blocco
blocco
Il testo viene suddiviso in blocchi
Le occorrenze puntano ai blocchi in cui appare la parola
Vantaggi:
Il numero dei puntatori di blocco minore del numero dei
puntatori di posizione
Tutte le occorenze di una parola allinterno di uno stesso
blocco hanno un solo puntatore
Svantaggi:
Se richiesta lidentificazione esatta del termine,
necessario scandire online i blocchi di interesse
Esempio
Esempio
Testo:
Inverted file:
Block 1 Block 2 Block 3 Block 4
That house has a garden. The garden has many flowers. The flowers are beautiful
beautiful
flowers
garden
house
4
3
2
1
Vocabolario Occorrenze
Dimensioni Dimensioni di di un Inverted File in termini un Inverted File in termini di di % ( % (approssimate approssimate) ) della della taglia taglia
dell dell intera intera collezione collezione
45%
19%
18%
73%
26%
25%
36%
18%
1.7%
64%
32%
2.4%
35%
26%
0.5%
63%
47%
0.7%
In % delle parole
In % dei documenti~10k
In % di blocchi da 256 K
Percentuale di riduzione
Piccole collezioni
(1Mb)
Collezioni medie
(200Mb)
Collezioni grandi
(2Gb)
Ricerca
Ricerca
su
su
inverted indexes
inverted indexes
Lalgoritmo di ricerca basato su indici inversi opera in
tre fasi successsive:
Ricerca nel vocabolario: le parole presenti nella query
vengono ricercate nel vocabolario
Recupero delle occorrenze: viene estratta la lista delle
occorrenze di tutte le parole incluse nella query
Manipolazione delle occorrenze: la lista delle occorrenze
viene elaborata, per generare una risposta alla query
Ricerca
Ricerca
su
su
inverted indexes(2)
inverted indexes(2)
La ricerca parte sempre dal vocabolario, che dovrebbe
essere memorizzato separatamente
I vocabolari vengono memorizzati in strutture di tipo
hashing, tries o B-trees
Alternativamente, le parole possono essere memorizzate in
ordine alfabetico (si risparmia in spazio, maggior tempo di
ricerca)
Costruzione
Costruzione
del
del
vocabolario
vocabolario
Il vocabolario viene generato scandendo i testi del repository
Vengono effettuate operazioni preliminari sui testi, di cui
abbiamo parlato, al fine di limitare la taglia del vocabolario
Ad ogni parola del vocabolario, quale che sia la struttura dati
utilizzata, viene associata la lista delle occorrenze nei
documenti
Ogni parola incontrata in un testo viene prima cercata nel
vocabolario: se non viene trovata, viene aggiunta al
vocabolario, con una lista inizialmente vuota di occorrenze.
Costruzione
Costruzione
del
del
vocabolario
vocabolario
(2)
(2)
Una volta che si siano esaminati tutti i testi, il vocabolario
viene memorizzato sul disco con la lista delle occorrenze.
Vengono generati due files:
Nel primo file, vengono memorizzate in locazioni contigue
le liste delle occorrenze
Nel secondo file, il vocabolario memorizzato in ordine
lessicografico (alfabetico), e viene generato per ogni
parola un puntatore alla sua lista di occorrenze nel
secondo file. Questo consente, durante la ricerca, di
mantenere il vocabolario in memoria.
CRITERI DI VALUTAZIONE
CRITERI DI VALUTAZIONE
Scopo di un sistema di IR di accedere efficientemente a tutti e soli i documenti
rilevanti per una data interrogazione. La bont di un sistema di IR pu essere valutata in
vari modi. I criteri pi accettati includono: coverage, time, presentation, effort, precision
e recall.
Coverage (copertura) rappresenta la completezza della collezione, cio quanto del
materiale disponibile e classificato e quindi potenzialmente ritrovabile.
Time misura il tempo necessario per calcolare la risposta ad una interrogazione.
Presentation rappresenta la bont dellinterfaccia utente.
Effort rappresenta lo sforzo, misurabile in termini di tempo, necessario allutente per
effettuare una interrogazione.
Precision e recall, sono i due parametri pi noti e frequentemente utilizzati. Precision
valuta la capacit di filtrare documenti non rilevanti in risposta ad una query; recall
valuta la capacit di recuperare documenti rilevanti.
n = a + b + c + d totale documenti nella base dati
Precision = P=a/(a+b)
Recall = R=a/(a+c)
Misura unica:
Rilevante Non-rilevante
Recuperato a b
Non-recuperato c d

R P
PR
R P
F
+
+
=
+
=
2
2
) 1 (
1
) 1 (
1
1


Motori di ricerca Web
Motori di ricerca Web
I web search engine condividono parte delle
problematiche dei generici sistemi di IR, ma hanno
specificit notevoli e utilizzano pertanto anche altre
tecniche.
Principali differenze: volatilit delle risorse (non possono
essere controllate); assenza di un vocabolario definito;
numero enorme di risorse; risorse statiche e generate
dinamicamente; formati diversi (pdf, html, etc.) ;
difficolt dellutente nellindividuare il proprio bisogno
informativo; utilizzo di tecniche di ranking non basate
esclusivamente sul contenuto (e.g. pagerank); uso di
spider e crawler per effettuare la ricerca delle risorse.
Crawl Control
Architettura
Architettura
di
di
un Search Engine
un Search Engine
Crawlers
Ranking
Page Repository
Query
Engine
Link
Analysis
Text
Structure
Document
Store
Queries
Results
Snippet
Extraction
Indexer
Crawler e spider
Crawler e spider
Attivit: navigare il web prelevando le risorse (web page,
documenti vari) che verranno indicizzate.
Problematiche: ricercare il pi possibile; ricercare risorse
rilevanti; non seguire pi volte il medesimo cammino di
ricerca; bilanciare il carico e i percorsi tra i vari crawler
che lavorano in parallelo; evitare i mirror di medesime
risorse.
Ulteriori problematiche: non sovraccaricare I server con
richieste (rispettare netiquette); gestire il refresh di
risorse gi indicizzate (le pagine possono cambiare nel
tempo)
Vari nomi: crawler, spider, bot (abbrv. robot)
Load
Monitor
SCHEDULER
Crawl
Metadata
Duplicate
URL
Eliminator
URL
Filter
Hosts
HREFs
extractor
and normalizer
PARSER
Internet
seed URLs
URL FRONTIER
Citations
RETRIEVERS
DNS HTTP
Architettura
Architettura
di
di
un Crawler
un Crawler
Ricerca
Ricerca
Breadth
Breadth
-
-
First
First
z z
Iniziare
Iniziare
con un
con un
insieme
insieme
di
di
URL note (semi)
URL note (semi)
z z
Ricercare
Ricercare
in
in

cerchi
cerchi
concentrici
concentrici

intorno
intorno
a
a
queste
queste
URL
URL
start pages
distance-one pages
distance-two pages
Usato da molti crawler
Aiuta a bilanciare il carico
Alternativo al depth first
Regolamentare Regolamentare l l accesso accesso ad un server ad un server
Il file robots.txt pu essere usato per impedire/
regolamentare laccesso a agli spider
Costituito da coppie: user-agent: textstring (il crawler da
regolamentare) disallow:textstring (le risorse il cui
accesso va regolamentato)
Esempio:
User-agent: *
Disallow: /cgi-bin/ (impedisce a tutti I crawler -* una wild card-
laccesso alla directory specificata)
User-agent: googlebot
Disallow: * (impedisce laccesso al crawler di google)
Indicizzazione
Indicizzazione
web
web
La prima generazione di web search engine utilizzava
esclusivamente le tecniche classiche di IR
Attualmente a queste si aggiungono dati web-specifici
non dipendenti dal contenuto delle pagine (approccio
Google-like).
In particolare:
Link (or connectivity) analysis (I link rappresentano voti sulla
rilevanza di una pagina)
Click-through data (su quali risultati di una ricerca gli utenti
cliccano)
Anchor-text (come gli utenti si riferiscono alla risorsa)
Ordinamento Ordinamento Query Query- -independent independent
Tecnica base: usare il numero di link come misura di
popolarit (molte citazioni importante)
Undirected popularity:
Per ogni pagina: score = il numero di in-links pi il numero di out-
links (3+2=5)
Directed popularity:
Per ogni pagina: score = il numero di in-links (3)
Nuova
Nuova
logica
logica
del Query processing
del Query processing
Recuperare le risorse che verificano la query usando IR
classico
Pesa e ordina le risorse usando la link popularity
Limite: approccio semplice, ma prono allo spam
PageRank
PageRank
scoring
scoring
Si considera un browser che effettua una random walk
tra le pagine:
Inizia con una pagina random
Ad ogni passo, segui uno dei link in maniera equiprobabile
Allequilibrio ogni pagina ha uno score a lungo termine
di visite: questo il suo page score
Problema: I vicoli ciechi
1/3
1/3
1/3
??
Teleporting
Teleporting
Ad ogni passo, con probabilit 10%, scegli una web
page in maniera random
con probabilit 90%, segui uno dei link in maniera
random
Ci evita di rimanere bloccati nei vicoli ciechi
PageRank
PageRank
Cerca di catturare la nozione di rilevanza di una pagina
(indipendentemente dal suo contenuto)
Usa i Backlinks per il ranking
Evita lo spamming: Distribuisce il voto delle pagine tra quelle che
esse linkano
Pagine Importanti che puntano ad una pagina innalzeranno il rank
di questultima pi di altre
Nota: Google usa il pagerank, ma anche numerose altre euristiche
non pubbliche.
PageRank
PageRank
Base
Base
Dato da :
Dove
B(i) : insieme dei link a i.
N(j) : numero di outgoing-links da j.
Basato sul Random Surfer
Model - Rank della pagina
determinato dalla probabilit di
rittovarsi in quella pagina

=
) (
) (
) (
) (
i B j
j N
j r
i r

=
=
=
Otherwise 0
j to points i if ) ( / 1
,
)] ( ),..., 2 ( ), 1 ( [
i N
j i
a
m r r r r
r
tr
A r
Data una matrice A, un autovalore c e il corrispondente
autovettore v definito se Av=cv
Ne segue che r autovettore di A
tr
per lautovalore 1
se G fortemente connesso r unico
Lalgoritmo base:
ector PageRank v the is 5.
2 goto 4.
5 goto || | | if 3.
2.
vector random any 1.
r
r s
s r
s A r
s
tr

<

Esempio
Esempio
Problema Problema e e soluzione soluzione modificata modificata
Il web non un grafo connesso
Molte pagine non puntano a nulla (page leaks)
Soluzione pratica:rimuovere i Page leak
Aggiungere un fattore di decadimento d al PageRank
Basato sul Board Surfer Model
m
d
j N
j r
d i r
i B j
1
) 1 (
) (
) (
) (
) (
+ =

HITS: Hypertext Induced Topic Search HITS: Hypertext Induced Topic Search
Dipendente dalla query
Produce due score:
Authority: pagina probabilmente molto rilevante per una data
query
Hub: Una pagina che contiene link a molte authority page
Basata su:
A. Identificazione di un subgrafo di interesse
B. Analisi Link
a) a) Identificazione Identificazione del del subgrafo subgrafo di di
interesse interesse
Creazione del subgrafo da un
insieme di pagine
di cardinalit t:
d: fattore di riduzione per risorse
estremamente popolari
graph focused the holds 4.
in to points that pages all ) maximum to (up Include (b)
in to points that pages the all Include (a)
page each for 3.
2.
pages initial : t 1.
S
S p d
S p
R p
R S
R

B)
B)
Analisi
Analisi
link
link
Calcolare gli score per Authorities e Hubs (a
i
& h
i
) per
ogni pagina in S

pages) all (for (b)
pages) all (for (a)
e convergenc until Repeat 2.
y. arbitraril ) 1 ( , Initialize 1.
) (
) (

=
=

i F j
j i
i B j
j i
i i
a h
h a
n i b a