Information Retrieval
PageRank
Giambattista Amati
Università di Tor Vergata, Roma
Giambattista Amati
Lezione
Università di Tor Vergata
Raffinamento di Pagerank
Introduzione di un rank source E che restituisce il rango a
ciascuna pagina p mediante una quantità fissata E(p).
!
X
R(q)
R(p) = k ·
α·
+ (1 − α) · E(p)
N(q)
q:q→p
che si può riscrivere come
R(p) = k ·
X 1
R(q)
α·
+ (1 − α) · E(p)
·
N(q)
n
q:q→p
q
!
X
dove n è il numero dei nodi e E(p) = 1 se si vuole la
distribuzione uniforme.
Giambattista Amati
Lezione
Università di Tor Vergata
Algoritmo standard di PageRank
Input: Un Grafo diretto G qualunque (inclusi i dangling
nodes e le trappole per i robot) e un parametro α
Input: Un vettore r di PageRank
1
2
(0)
Sia rj
do
=
1
N,
t =1
(
1
2
3
3
Giambattista Amati
Lezione
r
(t−1)
α · jN(i)
0 se N(j) = 0
P 0(t)
(t)
0(t)
dove S = j rj
∀j : rj = rj + 1−S
N
t = t + 1
∀j :
while
0(t)
rj
=
P
i→j
P (t+1)
(t) − rj > j rj
Università di Tor Vergata
Algoritmo finale
Ad ogni passo il surfer casuale ha due opzioni:
Ha una probabilità α di seguire un outlink a caso
Ha una probabilità 1 − α di saltare a una qualunque
pagina a caso di probabilità E(p)
Valori comuni per α sono compresi tra 0.8 e 0.9
Giambattista Amati
Lezione
Università di Tor Vergata
PageRank personalizzato
PageRank può essere personalizzato (biased )
cambiando E(p) con una distribuzione non-uniforme.
Restringendo la probabilità di accedere mediante “salti
casuali” (random jumps) ad un insieme di pagine rilevanti.
Per esempio E(p) = a, ma E(p) = 0:
per tutte le pagine home,
per tutte le pagine relative a una topic,
per tutte le pagine di spam
I risultati saranno quelli più vicini alle pagine E(p) 6= 0
desiderate.
Giambattista Amati
Lezione
Università di Tor Vergata
PageRank personalizzato con una Topic
Un camminatore casuale ha una piccola probabilità di
effettuare il teletrasporto
Con il teletrasporto si può andare
con il PageRank standard: a ogni pagina con uguale
probabilità per evitare vicoli ciechi e problemi di spider-trap
Topic PageRank specifico: su pagine "Rilevanti" per un
insieme argomenti specifici (insieme di teletrasporto)
Idea: Personalizzare il random walk
Quando avviene il teletrasporto, si sceglie una pagina da
un insieme S
S contiene solo le pagine che sono rilevanti per un tema
Per ogni insieme di teletrasporto S, si ottiene un diverso
vettore rS
Giambattista Amati
Lezione
Università di Tor Vergata
PageRank personalizzato con una Topic
La Matrice
Per personalizzare aggiornare solo la parte del
teletrasporto nella formulazione standard di PageRank:
α · Mij + (1 − α)/|S| se i ∈ S
Aij =
α · Mij
altrimenti
A è stocastica!
P
P
P
Aij = α · i∈S Mij + 1 − α + α · i6∈S Mij =
iP
α · i Mij + 1 − α = 1
Abbiamo il set di teletrasporto S in modo uniforme.
Si potrebbero anche assegnare pesi diversi alle pagine!
Random walk con Restart : S è un singolo elemento
Calcolare come per PageRank standard: Moltiplicare
per M, quindi aggiungere un vettore.
Giambattista Amati
Lezione
Università di Tor Vergata
PageRank personalizzato con una Topic
Esempio
Supponiamo S = 1, α = 0.8
Giambattista Amati
Lezione
Università di Tor Vergata
PageRank personalizzato con una Topic
Esempio
Nodo
1
2
3
4
Node
1
2
3
4
Giambattista Amati
Lezione
0
0.25
0.25
0.25
0.25
S
0
0.25
0.25
0.25
0.25
S = {1}
1
2
0.4
0.28
0.1
0.16
0.3
0.32
0.2
0.24
= {1, 2, 3, 4}
1
2
0.250 0.170
0.150 0.150
0.350 0.350
0.250 0.330
limite
0.294
0.118
0.327
0.261
limite
0.144
0.168
0.377
0.311
Università di Tor Vergata
La Fattoria degli Spammers (Spam Farm)
Giambattista Amati
Lezione
Università di Tor Vergata
La Fattoria degli Spammers (Spam Farm)
Ogni pagina della Fattoria non accessibile da fuori riceve
solo da y che ha M outlinks e quindi ha un rango:
1
1
z = α · y + ·(1 − α)
M
N
P
1
Poiché y = x + α z z + (1 − α) · N allora
y = x + α · M α M1 y + ·(1 − α) N1 + (1 − α) · N1
x
α
M
y∼
+
·
2
1+α N
1−α
Giambattista Amati
Lezione
Università di Tor Vergata
La Fattoria degli Spammers (Spam Farm)
y∼
Se α = 0.85 allora
α
M
x
+
·
1 − α2 1 + α N
1
1−α2
= 3.6!!!
Effetto Moltiplicativo per ogni PageRank acquisito (con
coefficiente 0.46)!!
Aumentando M possiamo aumentare y a piacimento!!
Giambattista Amati
Lezione
Università di Tor Vergata
Lotta contro lo spam
Lotta contro lo spam dei termini
Analizzare il testo utilizzando metodi statistici
Filtraggio dello spam in modo simile alla posta elettronica
Utile anche: Rilevamento pagine quasi duplicate
Lotta contro spam dei link
Rilevamento e blacklist di strutture che sembrano
aziende di spam
Porta a un’altra guerra - nascondere e rilevare le spam
farms
TrustRank = PageRank con argomenti specifici, con un
insieme di pagine di fiducia per il teletrasporto Esempio:
domini del tipo .edu
Giambattista Amati
Lezione
Università di Tor Vergata
TrustRank
Principio di base: isolamento approssimativo
È raro che una pagina "buona" punti a una "cattiva" (spam)
Campione di pagine seminali dal web
Avere un oracolo (umano) per identificare le pagine
buone e quelle di spam nel set seminali
Compito costoso, quindi dobbiamo scegliere l’insieme
seminale il più piccolo possibile
Giambattista Amati
Lezione
Università di Tor Vergata
Propagare la fiducia
Chiamare il sottoinsieme di pagine seminali che vengono
identificate come buone le pagine di fiducia
Eseguire un PageRank personalizzato su un argomento
sensibile con l’ insieme teletrasporto = pagine di fiducia
Propagazione della fiducia tramite link:
Ogni pagina ottiene un valore di fiducia tra 0 e 1
Soluzione 1: utilizzare un valore di soglia e
contrassegnare tutte le pagine al di sotto della soglia di
fiducia come spam
Giambattista Amati
Lezione
Università di Tor Vergata
Perché un buon sistema?
Attenuazione della Fiducia : Il grado di fiducia conferita
da una pagina di fiducia diminuisce con la distanza nel
grafo.
Divisione della Fiducia : Maggiore è il numero di out-link
da una pagina, minore è il controllo che l’autore della
pagine assegna a ogni link in uscita
La fiducia è divisa tra gli out-link
Giambattista Amati
Lezione
Università di Tor Vergata