(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 CD (v V ) degree (v) Nella versione normalizzata degree (v) C D (v V ) | V | 1 Complessità V 2 Grafo denso: Grafo sparso: E 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 1 CC (v V ) spl (v, u) uV Nella versione normalizzata CC (v V ) V 1 spl (v, u) uV Complessità (dettata dalla ricerca di tutti gli spl) (Floyd–Warshall algorithm) Grafo sparso: O V log V V E (Johnson's algorithm) Grafo denso: OV 3 2 CLOSENESS CENTRALITY La formulazione originale è valida solo per grafi completamente connessi Formulazione alternativa (tra le tante proposte) Opsahl (2010): 1 CC (v V ) uV 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 st v C B (v V ) s t vV st Grafo indiretto Grafo diretto Grafo indiretto st v C B (v V ) s t vV st Nella versione normalizzata st v CB (v V ) s t vV st V 1V 2 st v CB (v V ) st vV st V 1V 2 2 BETWEENNESS CENTRALITY Complessità (dettata dalla ricerca di tutti gli spl) Grafo denso: (Floyd–Warshall algorithm) OV 3 Grafo sparso: (Johnson's algorithm) O V log V V E 2 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 avt v ,tV Matematicamente xv 1 a tv x vt t Dove xv è la Eigenvector centrality del nodo v, mentre λ è una costante EIGENVECTOR CENTRALITY Ax x 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 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 Av T v A u In forma chiusa uk A AT uk 1 T v A A vk 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 1 PR( pi ) n Update. Per ogni nodo pi PR( pi ) 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 j ) 1 d PR( pi ) d n p j M ( pi ) 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