Lucidi sul Web-IR

Transcript

Lucidi sul Web-IR
Metodi basati
sugli autovettori
per il Web
Information
Retrieval
HITS, PageRank e il metodo delle potenze
LSI e SVD
LSI è diventato famoso per la sua abilità nel
permettere di manipolare i termini (all’interno di una
query) che presentano problemi di polisemia o
sinonimia.
LSI utilizza la SVD della matrice termini-documenti
per catturare le associazioni semantiche latenti.
La SVD permette di “clusterizzare” documenti e
termini in concetti
sinonimia: automobile, veicolo, macchina possono essere
raggruppati nello stesso cluster
polisemia: banca suddivisa in base ai suoi significati
1
LSI e SVD
I metodi di LSI basati sulla SVD presentano però
alcuni problemi
alti costi computazionali
problemi di immagazzinamento se le matrici
termini-documenti hanno grandi dimensioni
L’utilizzo dei metodi LSI-SVD è generalmente
limitato a collezioni di documenti di
piccole/medie dimensioni
L’insieme delle pagine web ha dimensioni tali da
far preferire altri metodi all’uso del LSI
Caratteristiche del Web
LSI non è adatto al Web a causa delle sue
diverse caratteristiche
enormi dimensioni
la mancanza di un processo di revisione editoriale
ridondanza di documenti
link interroti
documenti di bassa qualità
frequenti aggiornamenti e modifiche dei
documenti Web
la struttura hyperlink del web
2
IR per il Web
Un metodo di IR per il recupero di informazioni
dal Web dovrebbe sfruttare le sue caratteristiche
peculiari
privilegiare l’accuratezza
incorporando gli
aggiornamenti frequentemente
favorire la semplicità, lavorando su una matrice
termini-documenti non aggiornata
Un metodo di Web-IR dovrebbe anche essere
insensibili ai meccanismi che falsano l’importanza
dei documenti Web (aumentandone la popolarità di
selezionate pagine)
IR per il Web
Nel costruire un meccanismo di Web-IR si
dovrebbero considerare le tendenze degli utenti
del Web
uso di query molto piccole (pochi termini)
scarso uso del feedback per correggere la ricerca
raro uso di qualunque caratteristica avanzata di un
sistema di IR
abitudine a consultare solo le prime 10/20 pagine
recuperate
3
IR per il Web
I metodi di web-IR prediligono velocità e
accuratezza rispetto la semplicità
La struttura a hyperlink del web fornisce delle
infomazioni supplementari per la progettazione
di un metodo di web-IR
La struttura a hyperlink è utilizzata dai più
meccanismi di retrieval
HITS (Hypertext Inducer Topic Search, 1997)
PageRank (1998)
SALSA (2000)
La struttura a Hyperlink del Web
Ciascuna pagina/documento del Web è
rappresentata come un nodo di un grafo molto
grande
Gli archi diretti che connettono questi nodi
rappresentano gli hyperlink tra i diversi
documenti
In-link: pagine che puntano uno specifico
documento (link entranti)
Out-link: pagine collegate a uno specifico
documento (link uscenti)
4
La struttura a Hyperlink del Web
Autority: documento con numerosi in-link
Hub: documento con diversi out-link
I sistemi HITS e Page-Rank sono entrambi
basati sui concetti di authority e hub
a ogni pagina viene assegnato un punteggio
HITS: buoni hubs puntano a buone authority e
buone authority sono puntate da buoni hubs
a ogni pagina viene assegnato un punteggio hub
e authority
HITS
• L'ipotesi di base adottata dal modello HITS è:
“buoni hubs puntano a buone authority e buone
authority sono puntate da buoni hubs”
Indicato con E l’insieme di tutte le connessioni
del grafo associato al web
−
−
eij rappresenta le connessioni tra i nodo i e il nodo j
Considerata l’i-sima pagina indichiamo con
−
−
xi il punteggio hub della pagina considerata
yi il punteggio authority della pagina considerata
5
HITS
HITS si basa sul raffinamento successivo dei
punteggi xi ed yi
l’importanza di una pagina come authority
dipende dall’importanza dei suoi in-link
xi( k ) =
∑y
( k −1)
j
j: e ji ∈E
l’importanza di una pagina come hub dipende
dall’importanza dei suoi out-link
yi( k ) =
∑x
(k )
j
j: eij ∈E
HITS
Le precedenti equazioni si possono riscrivere in
forma matriciale introducendo la matrice di
adiacenza L= [ lij ] del grafo del Web
1 se esiste connessione tra i nodi i e j
lij = 0 altrimenti
lij =
le colonne di L sono i documenti puntati (out-link) dalla
generica pagina
le righe di L sono i documenti (in-link) che puntano alla
generica pagina
x(k ) = LT y(k −1)
y(k ) = Lx(k )
6
HITS
I precedenti sistemi lineari definiscono il
seguente algoritmo
Step 1 Inizializzare y(0)=1
Step 2 Iterare fino alla convergenza, per ogni k
(1 vettore con componenti uguali a 1)
calcolare x(k)=LTy(k-1) (step 2.1)
calcolare y(k)=LTx(k) (step 2.2)
normalizzare i vettori x(k) e y(k) (step 2.3)
Sostituendo (step 2.2) in (step 2.1) si ottiene
HITS
Sostituendo (step 2.2) in (step 2.1) si
ottengono le seguenti equazioni semplificate
x(k)=LTL x(k-1)
y(k)=LLTy(k)
Tali equazioni definiscono il metodo delle
potenze per calcolare l’autovettore dominante
per le matrici LTL e LLT
LTL matrice authority
LLT matrice hub
7
HITS: implementazione
Data una query q, l’implementazione di HITS
richiede:
costruzione del grafo di vicinanza (neighborhood
graph) relativo alla query q
calcolo dei punteggi di authority ed hub del grafo (algoritmo precedente applicato alla matrice di
adiacenza L associata ad )
tutti i documenti che contengono dei riferimenti ai termini
della query q
L ha dimensioni ridotte rispetto il numero totale dei
documenti contenuti nel Web
costruzione e presentazione all’utente delle liste
ordinate dei documenti “hub” e “authority” recuperati
HITS: costo e convergenza
Le matrici LLT ed LTL hanno dimensioni ridotte
rispetto al numero di documenti presenti sul web
Si calcola solo un autovettore dominante
il calcolo dell’autovettore dominante richiede quindi un
costo inferiore
per esempio calcolato x si ottiene poi y effettuando un
prodotto matrice-vettore y = L x
LLT ed LTL sono matrici, simmetriche, semi-definite
positive
autovalori reali, non negativi, tali che λ1>… λk≥ 0
il metodo delle potenze converge
8
HITS: vantaggi e svantaggi
Vantaggi
doppio ranking (come authority e hub)
uso di matrici di dimensione ridotta rispetto al numero
totale di documenti nel web
Svantaggi
dipendenza dalla query (per la costruzione del
neighborhood graph)
suscettibile allo spamming
i punteggi di hub ed authority possono essere alterati
introducendo in/out link alla propria web-page
possibile indirizzamento a pagine off-topic
PageRank
Formulato nel 1998 da Larry Page e Sergey Brin
Algoritmo di ricerca di Google
Supera gli svantaggi di HITS
L’idea di base del PageRank
i voti (link) da siti importanti dovrebbero avere un
peso maggiore dei voti (link) da siti meno
importanti, e l’importanza di un voto (link) da una
qualunque sorgente dovrebbe essere attenuato dal
numero dei siti che la sorgente vota
9
PageRank
Indicata con P una generica pagina web
BP= {insieme delle pagine che puntano a P}
Si definisce il punteggio r(P) di P:
r( P) =
∑
Q∈BP
r (Q )
|Q |
PageRank
Se abbiamo n pagine P1 , P2 ,…, P n ed assegniamo
a ciascuna pagina un (arbitrario) punteggio
iniziale r0(Pi )=1/n
Il punteggio r(P) può essere calcolato mediante la
seguente iterazione:
rj ( Pi ) =
∑
Q∈BPi
rj −1 (Q )
|Q |
j = 1,2,3,...
10
PageRank
Ponendo: πjT = (r j (P1 ), r j(P2 ),…. r j(P n ))
P la matrice di elementi
pij = 1/Pi se Pi si connette con la pagina Pj
pij = 0 altrimenti
P è detta “matrice di Google” (per righe)
La precedente iterazione si può riscrivere come:
πT =πT P
j
j −1
Metodo delle potenze
PageRank
Se il limite esiste, il vettore PageRank è
definito
π T = lim j→∞ π T
j
la i-sima componente del vettore PageRank
è il punteggio (page-rank) della pagina Pi
Per assicurare la convergenza del processo
iterativo la matrice P deve essere modificata
11
PageRank
La matrice di Google per righe P è
non-negativa
somma degli elementi sulle righe è zero o uno
righe con somma zero corrispondono a pagine senza
outlink (nodi “dangling”)
Assumendo che non ci siano nodi dangling, la
matrice P ha tutte le righe con somma uguale ad 1,
quindi risulta una matrice stocastica:
ha autovalore dominante uguale ad 1
l’iterazione PageRank converge all’autovettore sinistro
normalizzato πT= πT P t.c. πT 1=1
Calcolo del PageRank
Calcolare il PageRank di una assegnata
pagina web richiede la risoluzione
del problema agli autovalori πT = πT P t.c. πT 1=1
o del sist. lineare omogeneo πT(I-P)=0 t.c. πT 1=1
Difficoltà: dimensione della matrice P
“the world’s largest matrix computation”
Scelte pratiche: varianti del metodo delle
potenze
12
Calcolo del PageRank
La struttura ad hyperlink del web genera alcuni
problemi nella costruzione della matrice P
la matrice di Google per righe P potrebbe non essere
una matrice stocastica (a causa della presenza dei
nodi dangling)
rimedio: sostituire ad ogni riga nulla il vettore 1T/n
la nuova matrice stocastica si indica con P
la matrice P necessita ulteriori modifiche per
renderla irriducibile
rimedio: aggiungere una matrice perturbazione E =11T/n
P = α P + (1 − α ) E
α ∈ [ 0 ,1 ]
Calcolo del PageRank
La matrice di Google (stocastica) è ottenuta
sommando una matrice di perturbazione E=1vT
con
P = α P + (1 − α ) 1 v T
vT > 0 un vettore di probabilità (vettore di
“personalizzazione” )
vT = 1T/n e α=0.85 scelta originaria di Google
vT e le sue modifiche permettono di adattare
PageRank e di personalizzarlo
13
Calcolo del PageRank:
considerazioni
Il vettore PageRank è l’autovettore sinistro della matrice di
Google
Le sue componenti costituiscono i punteggi di importanza
(popolarità) per ciascuna pagina web
Non si hanno informazioni sulla rilevanza delle pagine web
PageRank è uno dei tanti parametri considerati da Google
per determinare il ranking (la posizione) di una pagina web
Un valore di PageRank alto non garantisce
necessariamente una posizione migliore rispetto a una
pagina con PageRank più basso.
Per ottenere la rilevanza dei documenti rispetto una
assegnata query il PageRank deve essere combinato con
altri meccanismi di ricerca
Implementazione di PageRank
Un semplice modello di IR che utilizza
PageRank è il seguente.
Assegnata una query q:
Step 1: determinare l’insieme di rilevanza della
query (cioè un sottoinsieme di nodi (pagine web)
contenenti i termini della query)
Step 2: applicare PageRank all’insieme di rilevanza
di q per ottenere i punteggi (ordinati) delle pagine
considerate
ogni documento ha un punteggio di PageRank
indipendente dalla query
14
Implementazione di PageRank
L’algoritmo per il calcolo del vettore di
PageRank π Trelativo alla matrice di Google P
è il seguente
Step 1: specificare il valore del parametro α
Step 2: porre π0T = 1T/n
Step 3: iterare fino alla convergenza (prefissata
tolleranza) l’equazione
π kT+ 1 = απ
T
k +1
P + (1 − α ) v T
PageRank: esempio
Consideriamo un Web con 6 nodi la cui
struttura a hyperlink è illustrata in figura:
1
2
3
5
6
4
15
PageRank: esempio
La matrice di Google per riga è:
1
2
3
4
5
6
0
0
0 12 12 0
0
2
0
0
0
0
0 

3 1 3 1 3
0
0 13 0 
P=

4
0
0
0
0
1
2
1
2


5 
0
0
0 1 2 0 1 2


6
0
0
1
0
0 
 0
1
pij = probabilità che la pagina
i sia connessa alla pagina j
1
2
3
6
5
4
PageRank: esempio
La matrice stocastica associata è
0
0
0 12 12 0
1 6 1 6 1 6 1 6 1 6 1 6


0 13 0
1 3 1 3 0
P=

0
0
0 1 2 1 2
0
0
0
0 1 2 0 1 2


0
0
1
0
0
0
riducibile
16
PageRank: esempio
Per ottenere una matrice irriducibile
scegliamo il parametro α=0.9
 1 / 60
 1/6

19 / 60
= 
 1 / 60
 1 / 60

 1 / 60
P = α P + (1 − α ) 11 T / n
7 / 15
7 / 15 1 / 60
1 / 60
1/6
1/6
1/6
1/6
19 / 60 1 / 60
1 / 60
19 / 60
1 / 60
1 / 60
1 / 60
7 / 15
1 / 60
1 / 60
7 / 15
1 / 60
1 / 60
1 / 60 11 / 12
1 / 60
1 / 60 
1/6 

1 / 60 

7 / 15 
7 / 15 

1 / 60 
PageRank: esempio
Il vettore di PageRank associato alla precedente
matrice è:
πT= (.03721, .05396, .04151, 0.3751, .206, .2862)
vettore indipendente dalla query
Consideriamo una query che contenga i termini 1 e
2 ( q=(t1,t2))
Supponiamo che il file “termini-documenti” inverso
sia il seguente
t1 doc1, doc4, doc6
t2 doc1, doc3
...
17
PageRank: esempio
Calcoliamo l’insieme di rilevanza per la query
q=(t1,t2)
insieme di rilevanza {1,3,4,6}
I PageRank dei 4 documenti possono essere
confrontati per individuare quale dei documenti è il
più rilevante
ordinare le componenti del vettore pagerank associate ai
docuementi selezionati in modo decrescente
π4 , π6 , π3 , π1
doc4 documento più rilevante
seguono doc6, doc3, doc1
18