HITS and Page Rank - ICAR-CNR

Download Report

Transcript HITS and Page Rank - ICAR-CNR

(LABORATORIO DI )
SISTEMI INFORMATICI AVANZATI
Giuseppe Manco
CENTRALITÀ, STRUTTURA DI INTERNET.
SEARCH: HITS E PAGERANK
CENTRALITÀ, STRUTTURA DI INTERNET.
SEARCH: HITS E PAGERANK

Centralità
CENTRALITÀ


La centralità misura l’importanza relativa di un
nodo all’interno di un grafo G  V , E
Esistono svariate misure di centralità.




Degree centrality
Closeness centrality
Betweenness centrality
Ecc…
DEGREE CENTRALITY



La Degree centrality di un nodo è definita come il
numero di archi incidenti ad esso
La Degree centrality misura la capacità
immediata di un nodo di diffondere informazioni
nella rete
In caso di grafi diretti si possono calcolare due
tipi di centrality:
Indegree
 Outdegree

DEGREE CENTRALITY

Matematicamente
C D ( v  V )  degree ( v )

Nella versione normalizzata
C D (v  V ) 

Complessità
degree ( v )
| V | 1
 
 V

Grafo denso:

Grafo sparso:   E
2

CLOSENESS CENTRALITY

Misura basata su:
Shortest Path Length (spl) tra due nodi
 Farness: fissato un nodo, è la somma di tutte le
Shortest Path Length tra il nodo in esame e tutti gli
altri nodi della rete



La Closeness Centrality è l’inverso della farness
Intuitivamente, misura step sono necessari per
diffondere una informazione da un nodo a tutta
la rete
CLOSENESS CENTRALITY

Matematicamente
C C (v  V ) 
1
 spl ( v , u )
u V

Nella versione normalizzata
C C (v  V ) 
V 1
 spl ( v , u )
u V

Complessità (dettata dalla ricerca di tutti gli spl)


  (Floyd–Warshall algorithm)
Grafo sparso: O V log  V   V E  (Johnson's algorithm)
Grafo denso: O V
3
2
CLOSENESS CENTRALITY


La formulazione originale è valida solo per grafi
completamente connessi
Formulazione alternativa (tra le tante proposte)

Opsahl (2010):
C C (v  V ) 

u V
1
spl ( v , u )
BETWEENNESS CENTRALITY


È un indice che misura la frequenza di un nodo
all’interno dello shortest path tra due nodi
qualunque
Ad esempio, la capacità di raccogliere
informazioni da parte di uno sniffer in una rete
informatica
BETWEENNESS CENTRALITY



Sia v il nodo di cui si voglia calcolare la
betweenness e siano s e t altri due nodi della rete
diversi tra loro e diversi da v
Sia  st il numero di shortest path che uniscono s e
t tra loro
Sia  st v  il numero di shortest path tra s e t che
contengono v
BETWEENNESS CENTRALITY

Matematicamente

Grafo diretto
C B (v  V ) 

s  t  vV

Grafo indiretto
C B (v  V ) 

s  t  vV

 st v 
 st
 st v 
 st
Nella versione normalizzata

Grafo diretto

Grafo indiretto

 st v  

C B ( v  V )   


st
 s  t  vV

 V
 1  V  2 

 st v  

C B ( v  V )   


s

t

v

V
st


 V
 1  V  2  2 
BETWEENNESS CENTRALITY

Complessità (dettata dalla ricerca di tutti gli spl)

Grafo denso: (Floyd–Warshall algorithm)
 
O V

3
Grafo sparso: (Johnson's algorithm)

O V
2
log  V   V E

PARAGONE

Rete:
PARAGONE

Degree centrality
PARAGONE

Closeness centrality
PARAGONE

Betweenness centrality
EIGENVECTOR CENTRALITY


Misura la centralità di un nodo in base alle sue
interazioni con la rete
Un nodo è importante se è collegato a nodi
importanti

Ricorda qualcosa?
EIGENVECTOR CENTRALITY


Supponiamo che G sia diretto con matrice di
adiacenze A  a vt  v ,tV
Matematicamente
xv 
1
a


vt
xt
tv

Dove xv è la Eigenvector centrality del nodo v,
mentre λ è una costante
EIGENVECTOR CENTRALITY

In forma vettoriale: Ax   x

Questa è la formulazione degli autovettori, mentre le
costanti sono gli autovalori

Tra tutti gli autovalori possibili scegliamo quello
maggiore  autovettore positivo (teorema di Perron–
Frobenius)

La v-esima componente dell’autovettore x è il grado di
centralità del nodo v

In letteratura ci sono svariati algoritmi per il calcolo
dei migliori autovalori/autovettori

SVD
CENTRALITÀ, STRUTTURA DI INTERNET.
SEARCH: HITS E PAGERANK

Struttura di Internet
STRUTTURA DI INTERNET
13.6. EXERCISES
395
1
5
4
2
3
10
6
8
9
7
16
15
11
12
13
14
17
18
Figure 13.8: A direct ed graph of Web pages.

Source: David Easley, Jon Kleinberg Networks, Crowds,
and Markets, Cambridge University Press (2010)
(b) Name an edge you could add or delete from t he graph in Figure 13.8 so as t o
increase t he size of t he set IN.
13.3. THE WEB AS A DIRECT ED GRAPH
387
STRUTTURA DI INTERNET
I'm a student
at Univ. of X
I'm a applying to
college
Univ. of X
My song
lyrics
Classes
USNews:
College
Rankings
I teach at
Univ. of X
Networks
USNews:
Featured
Colleges
Networks
class blog
Blog post about
college rankings
Blog post
about
Company Z
Company Z's
home page
Our
Founders
Press
Releases
Contact Us
Figure 13.6: A direct ed graph wit h it s st rongly connected component s identified.
BOW-TIE

Source:A. Broder, et al. Graph structure in the
Web. In Proc. WWW, pages 309–320, 2000.
BOW-TIE


Internet è dunque una rete di contenuti con
proprietà simili a quelle studiate finora
Anche le risorse del web sono nodi di un grafo

È possibile dunque calcolare un grado di centralità e
di importanza di ogni risorsa

È possibile guidare la ricerca di contenuti in base
all’importanza delle risorse
CENTRALITÀ, STRUTTURA DI INTERNET.
SEARCH: HITS E PAGERANK

Search
SEARCH


Problema della ricerca web: individuare le risorse
richieste dall’utente nel minor tempo possibile a
partire da un certo numero di parole chiave
Inserisci un termine nella pagina di Google

Analizza i risultati

Il primo elemento è quello che ti aspettavi?

Come ha fatto Google a calcolare il risultato?
SEARCH

Un problema difficile
Information retrieval: ricerca in grosse repositories,
sulla base di keywords
 Keywords limitate e inespressive, e:

sinonimia (modi multipli per dire la stessa cosa: casa,
abitazione)
 Polisemia (significati multipli per lo stesso termine: Jaguar,
Apple)


Differenti modalità di authoring

Esperti, novizi, etc.
Estrema dinamicità del web
 Shift


Scarcity  abundance
CENTRALITÀ, STRUTTURA DI INTERNET.
SEARCH: HITS E PAGERANK

Algoritmo HITS
HITS

HITS è l’acronimo per Hyperlink-Induced Topic
Search (anche noto come hubs and authorities
algorithm)

È una variante di Eigenvector Centrality

Due tipi di pagine web:

Hubs: sono pagine che non hanno contenuto informativo
“autorevole” in merito all’argomento di ricerca, ma hanno
dei link verso pagine autorevoli

Autorities: pagine di contenuti informativi sugli argomenti
di ricerca
HITS

Hub

Authority
HITS

Data una ricerca sul web, l’algoritmo effettua due
operazioni principali:

Recupero delle pagine web che trattano l’argomento
in questione

Assegnamento, ad ogni pagina ottenuta al passo
precedente, di due punteggi


Score di authority: stima dell’importanza del contenuto
della pagina
Hub value: stima del valore dei link verso le altre pagine
HITS

L’assegnamento dei due punteggi avviene
attraverso una procedura mutua ed iterativa




Ad ogni passo uno score modifica l’altro
Sia A la matrice di adiacenze del grafo che
rappresenta le pagine web selezionate in base
alla ricerca
Sia v il vettore che contiene i valori (ordinati per
nodo) di authority di ogni nodo
Sia u il vettore che contiene i valori (ordinati per
nodo) di hub di ogni nodo
HITS

Inizializzazione
Ogni elemento di u è pari ad 1
t
 Ogni elemento di v è pari ad A u


Update
 u  Av

T
v

A
u


In forma chiusa
 u k  A  A T  u k 1

T
v

A
 A  v k 1
 k
HITS

In forma procedurale:

Authority Update Rule

Per ogni nodo p
n
auth ( p ) 
 hub ( i )
i 1


Dove n è il numero di pagine che puntano su p
Hub Update Rule

Per ogni nodo p
n
hub ( p ) 
 auth ( i )
i 1

Dove n è il numero di pagine puntate da p
HITS

Terminazione dell’algoritmo:

Così come è definito l’algoritmo diverge

È necessario un passo di normalizzazione che
garantisce la convergenza

von Ahn, Luis (2008-10-19). "Hubs and Authorities". 15-396:
Science of the Web Course Notes. Carnegie Mellon
University. Retrieved 2008-11-09.
HITS

Procedura
HITS

Esempio. Rete:
HITS

Matrice di adiacenze

Valore iniziale di u
HITS

Authority

Hub
HITS



Il nodo 3 è il più autorevole
I nodi 1 e 2 non sono autorevoli ma sono
equamente validi come hub
Ripetere il processo ulteriormente non porta
ulteriori miglioramenti
I vettori u e v saranno solo moltiplicati per uno
scalare
 Serve la normalizzazione per ottenere un punto fisso

CENTRALITÀ, STRUTTURA DI INTERNET.
SEARCH: HITS E PAGERANK

PageRank
PAGERANK




Il PageRank è una misura di importanza delle pagine
Web derivata dalla Eigenvector centrality
È un sistema attualmente alla base del motore di
ricerca di Google
Il suo brevetto appartiene alla Stanford University
Google ha acquistato dalla Stanford University una
licenza speciale del PageRank per l’ammontare di
1.8Mln di azioni Google

Nel 2005 la Stanford University ha venduto le azioni in suo
possesso per un totale di 336Mln di dollari
PAGERANK


Il PageRank è una distribuzione probabilistica
che misura la verosimiglianza che un utente
generico, navigando in maniera random
attraverso i link delle pagine visitate, arrivi ad
una pagina target
La stima della distribuzione di probabilità, come
per l’algoritmo HITS, prevede una procedura
iterativa ed approssimata
PAGERANK – DEFINIZIONE DI BASE
In una rete con n nodi assegniamo ad ogni nodo
un PageRank iniziale pari ad 1/n
 Scegliamo un numero limitato di step k
 Effettuiamo k volte la procedura di update dei
PageRank delle varie pagine


Basic PageRank Update Rule:
Ogni pagina divide il proprio PageRank per il suo outdegree
e passa tale quantità al PageRank delle pagine alle quali
punta
 Se una pagina non ha link uscenti passa l’attuale
PageRank a se stessa
 Ogni pagina assegna al proprio PageRank la somma di tutte
le porzioni di PageRank trasferitegli dalle pagine che la
puntano

PAGERANK – DEFINIZIONE DI BASE
Matematicamente.
 Inizializzazione. Per ogni pagina pi

PR ( p i ) 

1
n
Update. Per ogni nodo pi
PR ( p i ) 

p j M ( pi )

PR ( p j )
L( p j )
Dove M(pi) è l’insieme di tutte le pagine che
puntano pi
PAGERANK – DEFINIZIONE DI BASE

Esempio
PAGERANK – DEFINIZIONE DI BASE
Step
A
B
C
D
E
F
G
H
1
1/8
1/8
1/8
1/8
1/8
1/8
1/8
1/8
2
1/2
1/16
1/16
1/16
1/16
1/16
1/16
1/8
3
5/16
1/4
1/4
1/32
1/32
1/32
1/32
1/16
4
…
…
…
…
…
…
…
…
PAGERANK – PROBLEMA

Si consideri la seguente rete
PAGERANK – PROBLEMA


Poiché il sotto ramo della pagina C non ha archi
che facciano defluire il rank accumulato indietro
nei nodi A, B, D, E e H, si verificherà la seguente
condizione dopo un certo numero di iterazioni di
PageRank:

PR(A) = PR(B) = PR(C) = PR(D) = PR(E) = PR(H) = 0

PR(F) = PR(G) = 0.5
Questo scenario è molto verosimile nel Web:

modello Bow-Tie
PAGERANK – SOLUZIONE

Si aggiunge un fattore di dump (d):

Si suppone che ad ogni click, l’utente, che naviga in
maniera random seguendo i link, possa decidere di
smettere di seguire i link e di scegliere di aprire una
pagina a caso

Update. Per ogni nodo pi
PR ( p i ) 

1 d
n
d

p j M ( pi )
PR ( p j )
L( p j )
Ora si ha il problema della stima del parametro d

Google, attualmente, usa un valore intorno a 0.85
PAGERANK

Forma matriciale

Update

Dove la funzione di adiacenza l(pi, pj) è pari a 0 se non
esiste un arco tra pi e pj, ed è normalizzata in presenza di
archi in modo da avere:
PAGERANK


I valori dei PageRank sono le entry
dell’autovettore dominante della matrice di
adiacenze modificata
La matrice di adiacenze è resa stocastica
Rappresenta la probabilità di transazione da una
pagina alla successiva
 Le colonne sommano ad 1


Siamo, quindi, di fronte ad una variante
dell’eigenvector centrality
DIFFERENZE TRA HITS E PAGERANK

Tempo di esecuzione

HITS è eseguito contestualmente alla query



Il PageRank è eseguito in una fase di indicizzazione
precedente alle query



query lente
hub e authority score dipendenti dalle query
Query veloci
Score generale (ed unico)
Numero di score
HITS calcola due score per ogni documento
 Il PageRank calcola un solo score per documento


Quantità di pagine in analisi
HITS lavora su un sottoinsieme di documenti “rilevanti” ai
fini della query
 Il PageRank indicizza tutte le pagine web

PROBLEMA DEL PAGERANK


Il principale problema riscontrato nell’utilizzo del
PageRank è la preferenza verso le pagine con la
maggiore età.
Pagine nuove, anche se ricche di contenuti, sono
penalizzate dal fatto di non essere puntate da
altre pagine esistenti

A meno di non far parte di un sito già esistente
fortemente connesso

Ecco il motivo perché Wikipedia è sempre nei primi posti in
una ricerca su Google