(Laboratorio di ) Sistemi Informatici Avanzati Giuseppe Manco
Centralità, Struttura di Internet. Search: HITS e PageRank
Centralità, Struttura di Internet. Search: HITS e PageRank
Centralità La centralità misura l’importanza relativa di un nodo all’interno di un grafo 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 Nella versione normalizzata Complessità Grafo denso: Grafo sparso:
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 Nella versione normalizzata Complessità (dettata dalla ricerca di tutti gli spl) Grafo denso: (Floyd–Warshall algorithm) Grafo sparso: (Johnson's algorithm)
Closeness centrality La formulazione originale è valida solo per grafi completamente connessi Formulazione alternativa (tra le tante proposte) Opsahl (2010):
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 il numero di shortest path che uniscono s e t tra loro Sia il numero di shortest path tra s e t che contengono v
Betweenness centrality Matematicamente Grafo diretto Grafo indiretto Nella versione normalizzata
Betweenness centrality Complessità (dettata dalla ricerca di tutti gli spl) Grafo denso: (Floyd–Warshall algorithm) Grafo sparso: (Johnson's algorithm)
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 Matematicamente Dove xv è la Eigenvector centrality del nodo v, mentre λ è una costante
Eigenvector centrality In forma vettoriale: 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 Source: David Easley, Jon Kleinberg Networks, Crowds, and Markets, Cambridge University Press (2010)
Struttura di Internet
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 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 Update In forma chiusa Ogni elemento di u è pari ad 1 Ogni elemento di v è pari ad Atu Update In forma chiusa
HITS In forma procedurale: Authority Update Rule Hub Update Rule Per ogni nodo p Dove n è il numero di pagine che puntano su p Hub Update Rule 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 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 Update. Per ogni nodo pi 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 2 1/2 1/16 3 5/16 1/4 1/32 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 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 query lente hub e authority score dipendenti dalle query Il PageRank è eseguito in una fase di indicizzazione precedente alle 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