Information Retrieval nel Web
HITS
PageRank
PageRank
Simone Rutigliano
Corso di Laurea in Informatica Magistrale
3 dicembre 2014
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Outline
1 Information Retrieval nel Web
2 HITS
Caratteristiche
Implementazione
Vantaggi e svantaggi
3 PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Caratteristiche del Web
Struttura ad hyperlink
Frequenza elevata nell’aggiornamento e modifica dei
documenti web
Quantit`a elevata di documenti da considerare
Mancanza di revisione nei documenti
Ridondanza
Link di bassa qualit`a
Link obsoleti
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
IR nel Web . . .
Per garantire qualit`a ai documenti recuperati `e necessario
puntare sull’accuratezza dei risultati incorporando
costantemente gli aggiornamenti
Immunit`a ai sistemi che falsano l’importanza dei documenti
Personalizzazione dei risultati in base alla profilazione utente
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
. . . IR nel Web
La struttura a hyperlink fornisce informazioni extra per la
costruzione di un metodo di Web-IR
Tale struttura `e utilizzata dai pi`u meccanismi di retrieval
HITS (Hypertext Inducer Topic Search, 1997)
PageRank (1998)
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
La struttura ad Hyperlink del Web . . .
Ciascuna pagina/documento del Web `e rappresentato come
un nodo di un grafico molto grande
Gli archi diretti che connettono questi nodi rappresentano gli
hyperlink tra i diversi documenti
inlink: pagine che puntano verso uno specifico documento
(link entranti)
outlink: pagine collegate ad uno specifico documento (link
uscenti)
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
. . . La struttura ad Hyperlink del Web
Entrambi i sistemi HITS e PageRank sono basati sui concetti di
authority e hub
Authority: documento con numerosi inlink
Hub: documento con diversi outlink
Ad ogni pagina viene assegnato un punteggio authority e hub
Auth Hub
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Caratteristiche
Implementazione
Vantaggi e svantaggi
HITS . . .
“Buoni hubs puntano a buone authority e buone authority sono
puntati da buoni hubs”
Indicato con E l’insieme di tutte le connessioni del grafo associato
al web
eij rappresenta la connessione tra il nodo i ed il nodo j
Considerata la pagina i-sima avremo
xi il suo punteggio di authority
yi il suo punteggio di hub
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Caratteristiche
Implementazione
Vantaggi e svantaggi
. . . HITS . . .
HITS si basa sul raffinamento successivo dei punteggi xi e yi
L’importanza di una pagina come authority dipende
dall’importanza dei suoi inlink
x
(k)
i =
j:eji ∈E
y
(k−1)
j
L’importanza di una pagina come hub dipende dall’importanza
dei suoi outlink
y
(k)
i =
j:eij ∈E
x
(k)
j
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Caratteristiche
Implementazione
Vantaggi e svantaggi
. . . HITS
Le precedenti equazioni si possono riscrivere in forma matriciale
introducendo la matrice di adiacenza L = [lij ] del grafo del web
dove
lij =
1 se esiste connessione tra i nodi i e j
0 altrimenti
Le colonne di L sono i documenti puntati dalla generica
pagina (outlink)
Le righe di L sono i documenti che puntano la generica pagina
(inlink)
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Caratteristiche
Implementazione
Vantaggi e svantaggi
HITS - Implementazione
Data una query q :
Costruire il grafo di vicinanza (neighborhood graph) N
relativo alla query q
Calcolare i punteggi di authority e hub del grafo N attraverso
l’ausilio della matrice di adiacenza
Presentare il rank dei documenti authority e hub recuperati
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Caratteristiche
Implementazione
Vantaggi e svantaggi
HITS - Vantaggi e Svantaggi
Vantaggi
doppio ranking (authority e hub)
uso di matrici di dimensioni ridotte
Svantaggi
Dipendenza dalla query per la costruzione della neighborhood
graph
Punteggi di hub ed authority alterabili inserendo inlink e
outlink al documento stesso
Possibile indirizzamento a pagine off-topic
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
PageRank - Definizione
Formulato nel 1998 da Larry Page e Sergey Brin
Algoritmo di ricerca di Google : “The heart of our software is
PageRank TM. . . it provides the basis for all of our web search
tools.”
Supera gli svantaggi di HITS
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
PageRank - Idea di base
Pesatura dei link in base all’importanza del sito da cui proviene
L’importanza di un link da una qualunque sorgente dovrebbe
essere attenuato dal numero dei siti che la sorgente vota
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
PageRank - Formalismo
Indicata con P una generica pagina, il suo punteggio sar`a
r(P) =
Q∈BP
r(Q)
|Q|
dove
BP = { insieme di tutte le pagine puntanti a P}
|Q| = numero degli outlink di Q
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Calcolo punteggio PageRank . . .
Se abbiamo n pagine P1, P2, . . . , Pn ed assegniamo a ciascuna
pagina un arbitrario punteggio iniziale r0(Pi ) = 1
n
Il punteggio r(P) pu`o essere calcolato mediante la seguente
iterazione:
rj (Pi ) =
Q∈BPi
rj−1(Q)
|Q|
j = 1, 2, 3, . . .
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . calcolo punteggio PageRank . . .
Ponendo: πj = (rj (P1), rj (P2), . . . , rj (Pn))
Definiamo la matrice di Google per righe P tale che:
pij =
1
Pi
se Pi si connette con la pagina Pj
0 altrimenti
La precedente iterazione si pu`o riscrivere come:
πj = πj−1P
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . calcolo punteggio PageRank
Se il limite esiste, il vettore PageRank `e definito
π = lim
j→∞
πj
la i-sima componente del vettore PageRank `e il
punteggio(pagerank) della pagina Pi
Per assicurare la convergenza del processo iterativo la matrice
P deve essere modificata
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Esempio di graph web
1 2
3
54
6
Matrice Google per righe P
P =
0 1
2
1
2 0 0 0
1
2 0 1
2 0 0 0
0 1
2 0 1
2 0 0
0 0 0 0 1
2
1
2
0 0 1
2
1
2 0 0
0 0 0 0 0 1
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Matrice Google per righe
La matrice di Google per righe P `e
non-negativa
somma degli elementi sulle righe pari a zero1
o uno
Se la matrice P ha tutte le righe con somma pari a uno allora
si parla di matrice stocastica:
autovalore dominante uguale a 1
iterazione PageRank converge all’autovettore sinistro
normalizzato π = π P t.c. π 1 = 1
1
nodi dangling
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Esempio nodo dangling
1 2
3
54
6
P =
0 1
2
1
2 0 0 0
1
2 0 1
2 0 0 0
0 1
2 0 1
2 0 0
0 0 0 0 1
2
1
2
0 0 1
2
1
2 0 0
0 0 0 0 0 0
s
Il nodo 6 `e un nodo dangling in quando non ha outlink
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Trasformazione Matrice di Google per righe . . .
Stocastica
Sostituire ad ogni riga nulla il vettore 1
n
La nuova matrice stocastica si indica con ¯P
Irriducibile
Aggiungere una matrice di perturbazione E = 11
n
La nuova matrice sar`a uguale a
¯¯P = d ¯P + (1 − d)E d ∈ [0, 1]
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . Trasformazione Matrice di Google per righe
La matrice di Google attualmente utilizzata `e ottenuta
considerando la matrice di perturbazione E = 1v dove v `e un
vettore di personalizzazione dell’utente
¯¯P = d ¯P + (1 − d)1v d ∈ [0, 1]
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Damping factor d
Fattore il cui valore `e stabilito da Google
Nella documentazione originale fornita dal Searcher il damping
factor `e pari a 0,85 (pu`o subire aggiustamenti a discrezione di
Google)
Attraverso il damping factor, Google pu`o determinare il valore
percentuale di PageRank che transita da una pagina all’altra e
stabilire un valore minimo di PageRank attribuito ad ognuna
delle pagine presenti nei suoi archivi
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Magic value d = 0.85
“the smart guys at Google use 0.85 ”
Funziona euristicamente bene
Gli algoritmi iterativi che approssimano il PageRank
convergono velocemente per d = 0.85
valori pi`u grandi richiederebbero pi`u iterazioni
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Energy Balance . . .
Dato un grafo GI , l’energia del grafo EI sar`a data dalla
somma di tutti i PageRank delle pagine contenute nel grafo
EI =
p∈I
xi
L’energia del grafo GI corrisponde al livello di authority del
grafo stesso
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . Energy Balance . . .
L’energia totale del grafo GI sar`a data dalla somma delle quattro
componenti
EI = |I| + EI
in
− EI
out
− EI
dp
|I| denota la cardinalit`a di pagine contenute in GI
EI
in
indica l’energia entrante nel grafo
EI
out
indica l’energia uscente dal grafo
EI
dp
indica l’energia persa dai nodi dangling
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . Energy Balance
Nel dettaglio, per calcolare le diverse energie le formule da
applicare saranno
Ein
I = d
1−d i∈in(I) fi xi
Eout
I = d
1−d i∈out(I) (1 − fi )xi
Edp
I = d
1−d i∈dp(I) xi
Dove
fi =
link di i puntanti a pagine presenti in GI
|link uscenti da i|
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Energy Balance - Propriet`a
Nel caso ottimale quindi, avremo che l’energia EI del grafo GI sar`a
EI ≤ |I| + Ein
I
Piccoli grafi con pochi referenti non possono avere pagine con
alti score
Robustezza della misura di authority
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Implementazione di PageRank
Data una query q
1 Determinare l’insieme di rilevanza della query creando il
sottoinsieme di pagine contenenti i termini della query
(indicizzazione inversa)
2 Applicare il PageRank all’insieme di rilevanza di q per ottenere
il rank delle pagine considerate (Ogni documento ha un
punteggio PageRank indipendente dalla query)
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Calcolo del vettore PageRank π relativo a ¯¯P
1 Specificare il parametro d
2 Porre π0 = 1
n
3 Fissata la threshold, iterare fino alla convergenza l’equazione
πk+1 = dπk
¯P + (1 − d)v
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Esempio . . .
Consideriamo l’insieme di rilevanza composto da sei pagine web
aventi la seguente struttura ad hyperlink
1 2
3
56
4
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . Esempio . . .
La matrice di Google per righe corrispondente al grafo sar`a la
seguente
P =
0 1
2
1
2 0 0 0
0 0 0 0 0 0
1
3
1
3 0 0 1
3 0
0 0 0 0 1
2
1
2
0 0 0 1
2 0 1
2
0 0 0 1 0 0
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . Esempio . . .
Considerato che il nodo 2 `e un nodo dangling allora sar`a necessario
trasformarla in matrice stocastica
1 2
3
56
4
¯P =
0 1
2
1
2 0 0 0
1
6
1
6
1
6
1
6
1
6
1
6
1
3
1
3 0 0 1
3 0
0 0 0 0 1
2
1
2
0 0 0 1
2 0 1
2
0 0 0 1 0 0
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . Esempio . . .
Per ottenere una matrice irriducibile settiamo il parametro
d = 0.85 da applicare alla formula 2
¯¯P = 0.85 ∗ ¯P +
0.15 ∗ 11
6
2 ¯¯P = d ¯P + (1−d)11
n
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . Esempio
Il vettore di PageRank associato alla precedente matrice sar`a
π = (0.3721 0.05396 0.0415 0.375 0.206 0.286)
PageRank indipendente dalla query
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
Esempio di raccomandazione . . .
Data una query contenente i termini t1 e t2
Inverted term-document associato sar`a
t1 −→ doc1, doc4, doc6
t2 −→ doc1, doc3
...
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
Definizione
Idea di base
Funzionamento
Implementazione
Esempio
. . . Esempio di raccomandazione
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 `e il pi`u rilevante
ordinare le componenti del vettore pagerank associate ai
documenti selezionati in modo decrescente
π4 π6 π3 π1
doc4 −→ documento pi`u rilevante
seguono doc6, doc3, doc1
Simone Rutigliano PageRank
Information Retrieval nel Web
HITS
PageRank
References
Monica Bianchini, Marco Gori, and Franco Scarselli.
Inside pagerank.
ACM Trans. Internet Technol., 5(1):92–128, February 2005.
Amy N. Langville and Carl D. Meyer.
A survey of eigenvector methods for web information retrieval.
SIAM Rev., 47(1):135–161, January 2005.
Simone Rutigliano PageRank