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