ALGORITMI PAGERANK ED HITS A CONFRONTO ED UNA POSSIBILE IMPLEMENTAZIONE DEL SECONDO Marco Buzzoni Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Introduzione HITS (Hypertext Induced Topic Search) e PageRank hanno lo scopo di fornire una stima della popolarità delle pagine web prese in considerazione. Le pagine restituite in seguito ad una query verranno ordinate anche in base al punteggio assegnato da tali algoritmi. Per comprendere in cosa differisce l’algoritmo HITS dal più popolare algoritmo usato da Google è necessario per prima cosa fare una breve introduzione di quest’ultimo. A seguire verranno mostrate le differenze tra i due algoritmi e verrà data una possibile implementazione dell’HITS. 2 ALGORITMO PAGERANK Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Formula di base La tesi alla base di questo algoritmo è che una pagina è importante se è puntata da altre pagine importanti. Il PageRank 𝒓 di una pagina è quindi dato dal punteggio delle pagine che puntano ad essa. 𝒓 𝒌 (𝑷𝒋 ) 𝒓 𝒌+𝟏 𝑷𝒊 = 𝑷𝒋 ∈𝑩𝑷𝒊 𝑷𝒋 𝒌: indice dell’iterazione; 𝑷𝒊 : pagina corrente (di tutte le pagine indicizzate); 𝑩𝑷𝒊 : insieme delle pagine 𝑷𝒋 che puntano alla pagina 𝑷𝒊 ; 𝑷𝒋 : quantità dei link in uscita dalla pagina 𝑷𝒋 ; 4 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Formula di base (2) Per eseguire la prima iterazione si prende 𝒓(𝟎) = 𝟏 𝒏 per tutte le pagine web, dove 𝒏 è il numero di pagine indicizzate dal motore di ricerca. Le iterazioni vengono ripetute fino a quando non si ha convergenza. Per convergenza si intende che la differenza tra i valori ottenuti durante l’iterazione attuale e i valori ottenuti in quella precedente è minore di un valore fissato. La formula per ottenere il PageRank può essere riscritta in termini di matrici e vettori. 5 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Formula in termini di matrici Riscrivendo la formula sostituendo la sommatoria con un prodotto vettore matrice si ottiene la formula seguente, che è una implementazione del metodo delle potenze: 𝒓(𝒌+𝟏) 𝑻 = 𝒓(𝒌) 𝑻 𝑯 𝒓(𝒌) 𝑻 : vettore riga contenente i PageRank delle pagine. 𝟏 𝑷𝒊 𝒔𝒆 𝒆𝒔𝒊𝒔𝒕𝒆 𝒖𝒏 𝒍𝒊𝒏𝒌 𝒅𝒂 𝑷𝒊 𝒂 𝑷𝒋 𝑯= 𝟎 𝒂𝒍𝒕𝒓𝒊𝒎𝒆𝒏𝒕𝒊 ovvero la matrice di adiacenza del grafo rappresentante le pagine web indicizzate. 𝑷𝒊 : pagina indicizzata. 6 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio di esecuzione del PageRank P2 P1 Abbiamo 4 pagine web indicizzate, 𝑷𝟏 𝑷𝟐 𝑷𝟑 e 𝑷𝟒 , e il grafo mostrato in figura. P3 pagina web A B P4 𝑃1 𝑃2 𝑃3 𝑃4 𝑃1 0 1/2 1/2 0 H= 𝑃2 0 Il vettore iniziale è: 𝒓(𝟎) 𝑻 = 𝟏/𝟒 hyperlink da A a B 𝟏/𝟒 𝟏/𝟒 𝟏/𝟒 La matrice di adiacenza è: 0 0 𝑃3 1/3 1/3 0 1/3 𝑃4 0 0 0 0 0 7 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio di esecuzione del PageRank (2) Dopo 2 iterazioni le pagine sono ordinate come mostrato nella tabella seguente (in caso di valori uguali si ordinano per posizione): Pagine K 𝑷𝟏 𝑷𝟐 𝑷𝟑 𝑷𝟒 0 1/4 1/4 1/4 1/4 1 1/12 5/24 1/8 1/12 2 1/24 1/12 1/24 1/24 𝑷𝟐 𝑷𝟏 𝑷𝟑 𝑷𝟒 Posizione: 8 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Pro e contro di PageRank Pro Contro Indipendenza dalle query: il calcolo I calcoli vengono effettuati su una del punteggio per le pagine non matrice comprendente tutte le deve essere fatto ad ogni pagine indicizzate. iterazione. È un algoritmo robusto, ovvero il fenomeno del link spamming non comporta particolari problemi. 9 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Robustezza dell’algoritmo Piccole community non possono alterare in modo significativo i punteggi di popolarità delle pagine. Un limite al tale cambiamento nei punteggi è dato dalla seguente formula: 𝑻 𝒙𝒌 − 𝒙𝒌+𝟏 𝑻 𝟏 𝟐𝜶 ≤ 𝟏−𝜶 𝒙𝒊 𝒊∈𝑴 𝒙𝒌 𝑻 e 𝒙𝒌+𝟏 𝑻 : il vecchio e il nuovo vettore PageRank. 𝒙 𝟏 = 𝒏 𝒊=𝟏 𝒙𝒊 𝜶: probabilità che l’utente navighi seguendo gli hyperlink. 𝒊∈𝑴 𝒙𝒊 : somma del vecchio PageRank delle pagine modificate. 10 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio di robustezza dell’algoritmo 𝜶 = 0.8. −𝟔 𝐢∈𝐌 𝐱 𝐢 = 𝟐 ∗ 𝟏𝟎 , quindi questo è il punteggio complessivo delle pagine aggiornate. 𝟐𝜶 𝟏−𝜶 =8 𝒙𝒌 𝑻 − 𝒙𝒌+𝟏 𝑻 𝟏 ≤ 𝟖 ∗ (𝟐 ∗ 𝟏𝟎−𝟔 ) Due elementi importanti sono il numero di pagine modificate ed PageRank delle stesse. 11 DIFFERENZE TRA HITS E PAGERANK Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Differenze tra HITS e PageRank PageRank HITS Indipendente dalla query: il Dipendente dalla query: il punteggio viene calcolato su tutte punteggio viene calcolato a tempo le pagine indicizzate a intervalli di query. fissati. Una sola lista di risultati: PageRank delle pagine. Resistente al link spamming. il Due liste di risultati: authority e hub. Suscettibile al link spamming. Dimensione del problema: tutte le Dimensione del problema: un pagine indicizzate. sottoinsieme contenuto delle pagine indicizzate. Convergenza prevedibile grazie al Convergenza prevedibile. parametro 𝜶. non facilmente 13 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Relazione tra authority ed hub In questo esempio viene evidenziata la relazione tra pagine authority e pagine hub. Una pagina authority è una pagina che è puntata da altre pagine. Una pagina hub è una pagina che punta ad altre pagine. A : pagina web A B : hyperlink da A a B B C A è un hub per B C e D B è un authority per A ed un hub per C D 14 INTRODUZIONE ED IMPLEMENTAZIONE DELL’ALGORITMO HITS Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Introduzione all’algoritmo HITS La tesi alla base di questo algoritmo è che buone authority sono puntate da buoni hub, viceversa buoni hub puntano a buone authority. L’authority score di una pagina è dato dalla somma degli hub score delle pagine che puntano ad essa. L’hub score di una pagina è dato dalla somma degli authority score delle pagine alle quali essa punta. Come nel caso del PageRank l’algoritmo si basa su iterazioni successive fino a raggiungere la convergenza. Non vi sono particolari restrizioni sui valori iniziali. 16 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Formule di base Introduciamo le equazioni di base usate per il calcolo di authority score ed hub score. 𝒙𝒊 (𝒌) = 𝒚𝒋 (𝒌−𝟏) 𝒋:𝒆𝒋𝒊 ∈𝑬 𝒚𝒊 (𝒌) = 𝒙𝒋 (𝒌) 𝒋:𝒆𝒊𝒋 ∈𝑬 𝒙𝒊 (𝒌) ed 𝒚𝒊 (𝒌) : authority ed hub score della pagina web i; 𝒌: iterazione corrente; 𝒆𝒊𝒋 : pagina i che punta alla pagina j; 𝑬: insieme dei link delle pagine web analizzate; Normalizziamo x ed y dopo ogni computazione. 17 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio di calcolo dei due punteggi Calcoliamo i punteggi di alcune pagine usando l’algoritmo HITS. Consideriamo il grafo rappresentante le pagine web da ordinare. A : pagina web A B : link da A a B B C D 18 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio di calcolo dei due punteggi (2) Assegniamo 1 come valore iniziale e normalizziamo dividendo i vettori per il loro massimo valore). Pagine A B C D y 1 1 1 1 x 0,5 0,5 1 0,5 y 1 0,5 0,25 0 x 0,16 0,66 1 0,66 y 1 0,43 0,06 0 Authority: C B D A Hub: A B C D 0 K 1 2 19 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Grafo dei vicini Si costruisce il grafo dei vicini N basato sui termini della query usando l’inverted file index. Inverted File Index Restituisce le pagine che contengono i termini cercati. Pagina A: Casa Frutta Pagina B: Casa Giardino Pagina C: Sport Ad esempio la ricerca dei termini “Sport” e “Giardino ” restituisce le pagine B e C. 20 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Grafo dei vicini (2) Per prima cosa si inseriscono le pagine che corrispondono a quelle cercate dall’utente. In seguito si aggiungono i vicini di ognuna di queste pagine (fino a un massimo), per trovare anche pagine contenenti sinonimi. pagina ottenuta dalla query vicino delle pagine ottenute dalla query B C 21 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Implementazione dell’algoritmo – grafo come matrice di adiacenza Il grafo che rappresenta il sottoinsieme del web considerato è implementato con matrice di adiacenza, che chiameremo L, quadrata di dimensioni nxn, con n numero dei nodi del grafo. Ad esempio: Lij = 𝑳= 1, 0, se l′ arco orientato 𝑒𝑖𝑗 𝑒𝑠𝑖𝑠𝑡𝑒 altrimenti A A B C D A 0 1 1 0 B 1 0 1 0 C 0 1 0 1 D 0 1 0 0 C B D 22 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Assegnazione dei punteggi Sfruttando il metodo delle potenze i punteggi possono essere assegnati come segue: 𝒙(𝒌) = 𝑳𝑻 𝒚(𝒌−𝟏) 𝒚(𝒌) = 𝑳𝒙(𝒌) Tali formule possono essere riscritte come: 𝒙(𝒌) = 𝑳𝑻 𝑳𝒙(𝒌−𝟏) 𝒚(𝒌) = 𝑳 𝑳𝑻 𝒚(𝒌−𝟏) 𝒙(𝒌) : vettore degli authority score all’iterazione k 𝒚(𝒌) : vettore degli hub score all’iterazione k 𝑳𝑻 : L trasposta (le righe diventano le colonne e viceversa) 𝑳𝑻 𝑳 : matrice authority 𝑳 𝑳𝑻 : matrice hub 23 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Assegnazione dei punteggi (2) Per il grafo mostrato in figura avremmo ad esempio le seguenti matrici: 𝑳= 𝑳𝑻 = 𝑨 𝑩 𝑪 𝑨 𝑩 𝑪 𝟎 𝟏 𝟏 𝟎 𝟎 𝟏 𝟎 𝟏 𝟎 𝑨 𝑩 𝑪 𝑨 𝑩 𝑪 𝟎 𝟎 𝟎 𝟏 𝟎 𝟏 𝟏 𝟏 𝟎 𝑳𝑻 𝑳 = 𝑳𝑳𝑻 = 𝑨 𝑩 𝑪 𝑨 𝟎 𝟎 𝟎 𝑩 𝟎 𝟐 𝟏 𝑪 𝟎 𝟏 𝟐 𝑨 𝑩 𝑪 𝑨 𝑩 𝑪 𝟐 𝟏 𝟏 𝟏 𝟏 𝟎 𝟏 𝟎 𝟏 A C B 24 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Struttura delle matrici authority ed hub Le matrici 𝑳𝑻 𝑳 ed 𝑳𝑳𝑻 godono delle proprietà seguenti. Sono quadrate. Sono simmetriche, ovvero hanno valori uguali in posizioni simmetriche rispetto alla diagonale. 𝑨 𝑩 𝑪 𝑨 𝟎 𝟎 𝟎 𝑳𝑻 𝑳 = 𝑩 𝟎 𝟐 𝟏 𝑪 𝟎 𝟏 𝟐 𝑻 𝑻 Sono semidefinite positive: 𝒙 𝑳 𝑳𝒙 ≥ 𝟎 per ogni vettore x di lunghezza n (in questo caso 3). Sono non negative: tutti i suoi elementi sono maggiori o uguali a 0. 25 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Calcolo dei punteggi e convergenza Si calcolano i due punteggi. Data la struttura delle matrici 𝑳𝑻 𝑳 ed 𝑳𝑳𝑻 e la normalizzazione descritta dalla formula seguente l’algoritmo converge sempre. Si evita l’insorgere di problemi dovuti all’hardware. 𝒙(𝒌) 𝒙(𝒌) = 𝒎(𝒙 𝒌 ) 𝒙(𝒌) : vettore di authority score 𝒎 𝒙𝒌 = 𝒙(𝒌) = 𝒏 𝟐 𝒙 𝒊 𝒊=𝟏 Oppure 𝒎 𝒙𝒌 = elemento del vettore il cui valore assoluto è maggiore. 26 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Velocità di convergenza Il tasso di convergenza è dato dalla velocità con cui: 𝒄𝟐 𝒌 ( ) →𝟎 𝒄𝟏 𝒄𝟏 e 𝒄𝟐 : il primo ed il secondo autovalore della matrice usata. I vettori di authority ed hub score convergono all’autovettore corrispondente all’autovalore massimo. 27 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Autovalori ed autovettori di una matrice Ogni autovalore c soddisfa l’equazione 𝑨𝑿 = 𝒄𝑿 che si può riscrivere come 𝑨 − 𝒄𝑰 𝑿 = 𝟎 𝑨𝒏𝒙𝒏 : una matrice quadrata 𝑰: matrice identità 𝑿: autovettore di n elementi relativo a c. 28 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Autovalori ed autovettori di una matrice (2) Per trovare gli autovalori che soddisfano tale equazione bisogna applicare la formula: 𝒅𝒆𝒕 𝑨 − 𝒄𝑰 = 𝟎 Esempio: 1) 𝑨 = 𝟐 𝟏 𝟏 𝟐 3) 𝒄𝟐 − 𝟒𝒄 + 𝟑 = 𝟎 2) 𝒅𝒆𝒕 𝟐−𝒄 𝟏 𝟏 =𝟎 𝟐−𝒄 𝒄𝟏 = 𝟑 𝒄𝟐 = 𝟏 29 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Irriducibilità delle matrici e unicità dei risultati La matrice 𝑳𝑻 𝑳 così come 𝑳𝑳𝑻 è riducibile, e ciò causa dipendenza dei risultati dal vettore iniziale di hub score. Una matrice quadrata B è riducibile se esiste una matrice di permutazione Q tale che 𝑸𝑻 𝑩𝑸 = 𝑿 𝒀 𝟎 𝒁 X e Z sono matrici quadrate. Per il teorema di Perron-Frobenius se una matrice è irriducibile e non negativa essa possiede un unico autovettore dominante chiamato vettore di Perron. 30 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio - 𝐿𝑇 𝐿 riducibile 𝑳= 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 = 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 Gli autovalori sono 𝒄𝟏 = 𝟐, 𝒄𝟐 = 𝟎. Input: 𝒙𝟏 (𝟎) = 𝟏 𝟒 , 𝟏 𝟒 , 𝟏 𝟒 , 𝟏 𝟒 𝑳𝑻 𝑳 2 𝑻 𝐱 𝟐 (𝟎) = 𝟏 𝟒 , 𝟏 𝟖 , 𝟏 𝟖 , 𝟏 𝟐 𝐓 Normalizzazione con la norma 1 otteniamo: 𝒙𝟏 (∞) = 𝟏 𝟑 , 𝟏 𝟑 , 𝟏 𝟑 , 𝟎 𝑻 𝒙𝟐 (∞) = 𝟏 𝟐 , 𝟏 𝟒 , 𝟏 𝟒 , 𝟎 𝑻 31 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Rendiamo 𝐿𝑇 𝐿 irriducibile Rendiamo la matrice riducibile applicando la formula: 𝑨= 𝜶𝑳𝑻 𝑳 (𝟏 − 𝜶) 𝑻 + 𝒆𝒆 𝒏 𝟎≤𝜶≤𝟏 𝜶 : scalare che indica la probabilità che l’utente navighi seguendo gli hyperlink piuttosto che digitando un nuovo URL nel browser. 𝟏−𝜶 𝒏 𝒆𝒆𝑻 = 𝑬 : matrice di teletrasporto che rappresenta il fatto che l’utente può saltare in una nuova pagina qualsiasi. 𝒆 è un vettore di 1. 32 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Perché usare il metodo delle potenze L’implementazione vista per HITS usa il metodo delle potenze. Richiede solo un prodotto matrice vettore. Il vettore hub può essere ricavato al termine della computazione. Perfetto per il parallelismo: si pensi al prodotto matrice vettore. Si può tranquillamente iterare solo con una matrice e poi una volta ottenuto il vettore delle authority ricavare il vettore degli hub a partire da quest’ultimo. Esistono anche altri metodi. 33 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio completo di HITS Viene inviata una query di ricerca. Arriviamo al grafo dei vicini formato dalle pagine {1, 2, 3, 5, 6,10}. 3 10 pagina ottenuta dalla query vicino delle pagine ottenute dalla query 2 1 6 5 34 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio completo di HITS (2) Dopo aver costruito il grafo dei vicini otteniamo la corrispondente matrice di adiacenza: 𝐋= 1 2 3 5 6 10 1 0 0 1 0 1 0 2 1 0 0 0 0 0 3 0 0 0 0 1 0 5 0 0 0 0 0 0 6 0 0 1 1 0 0 10 0 0 0 0 1 0 35 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio completo di HITS (3) Le matrici authority e hub sono formate come segue: 1 2 3 5 6 10 1 2 0 1 0 1 1 0 2 0 1 0 0 0 0 1 0 3 1 0 1 0 0 1 1 0 0 5 0 0 0 0 0 0 1 0 3 0 6 1 0 0 0 2 0 0 0 0 0 10 1 0 1 0 0 1 1 2 3 5 6 10 1 1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 2 1 5 0 0 1 6 0 0 10 0 0 𝑳𝑻 𝑳 𝑳𝑳𝑻 36 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio completo di HITS (4) Otteniamo i 2 vettori 𝑥 𝑇 ed 𝑦 𝑇 che determinano rispettivamente authority score ed hub score. 𝒙𝑻 = ( 0 0 0,3660 0,1340 𝒚𝑻 = ( 0,3660 0 0,2113 0 0,5 0 ) 0,2113 0,2113 ) Ripetizioni di 0: evitabili rendendo le matrici irriducibili. Valori positivi identici: ordinati in base alla posizione. 37 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Esempio completo di HITS (5) Adesso calcoliamo i 2 vettori ma questa volta usando l’accorgimento spiegato precedentemente con 𝜶 = 𝟎. 𝟗𝟓. 𝒙𝑻 = ( 0,0032 0,0023 0,3634 0,1351 0,4936 0,0023 ) 𝒚𝑻 = ( 0,3628 0,0032 0,2106 0,0023 0,2106 0,2106 ) I risultati per authority e hub ranking sono i seguenti: Authority Rank: 6 3 5 1 2 10 Hub Rank: 1 3 6 10 2 5 38 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Pro e contro di HITS Pro Contro Due metodi di ricerca a disposizione Algoritmo query-dependent: calcolo dell’utente. Pagine authority per dei punteggi a tempo di query ricerche precise, pagine hub per ricerche ampie. Dimensione ridotta del problema Suscettibilità al link spamming relativamente al Web. dovuta al numero di pagine considerate, ridotto rispetto al web Topic drift: possibilità di ottenere documenti che non c’entrano niente con l’argomento cercato durante la costruzione del grafo. 39 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Evitare il topic drift Si assegna un peso alle pagine. Si costruisce una query più specifica prendendo le prime 1000 parole di ogni pagina trovata inizialmente (non i vicini). Si calcola la similarità per ogni documento del grafo. Si eliminano le pagine poco corrispondenti dai risultati. Questa procedura mitiga il fenomeno del link spamming. 40 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Evitare il topic drift (2) La formula per la similarità è: 𝒔𝒊𝒎𝒊𝒍𝒂𝒓𝒊𝒕𝒚 𝑸, 𝑫𝒋 = 𝒕 𝒊=𝟏(𝒘𝒊𝒒 𝒕 𝟐 𝒊=𝟏(𝒘𝒊𝒒 ) ∗ ∗ 𝒘𝒊𝒋 ) 𝒕 𝟐 𝒊=𝟏(𝒘𝒊𝒋 ) 𝑸 = 𝐪𝐮𝐞𝐫𝐲 𝐦𝐨𝐝𝐢𝐟𝐢𝐜𝐚𝐭𝐚 𝑫𝒋 = 𝐝𝐨𝐜𝐮𝐦𝐞𝐧𝐭𝐨 𝐞𝐬𝐚𝐦𝐢𝐧𝐚𝐭𝐨 𝒘𝒊𝒒 = 𝒇𝒓𝒆𝒒𝒊𝒒 ∗ 𝑰𝑫𝑭𝒊 𝒘𝒊𝒋 = 𝒇𝒓𝒆𝒒𝒊𝒋 ∗ 𝑰𝑫𝑭𝒊 𝒇𝒓𝒆𝒒𝒊𝒒 = 𝐟𝐫𝐞𝐪𝐮𝐞𝐧𝐳𝐚 𝐝𝐞𝐥 𝐭𝐞𝐫𝐦𝐢𝐧𝐞 𝒊 𝐧𝐞𝐥𝐥𝐚 𝐪𝐮𝐞𝐫𝐲 𝑸 41 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Evitare il topic drift (3) 𝒔𝒊𝒎𝒊𝒍𝒂𝒓𝒊𝒕𝒚 𝑸, 𝑫𝒋 = 𝒕 𝒊=𝟏(𝒘𝒊𝒒 𝒕 𝟐 𝒊=𝟏(𝒘𝒊𝒒 ) ∗ 𝒘𝒊𝒋 ) + 𝒕 𝟐 𝒊=𝟏(𝒘𝒊𝒋 ) 𝒇𝒓𝒆𝒒𝒊𝒋 = 𝐟𝐫𝐞𝐪𝐮𝐞𝐧𝐳𝐚 𝐝𝐞𝐥 𝐭𝐞𝐫𝐦𝐢𝐧𝐞 𝐢 𝐧𝐞𝐥 𝐝𝐨𝐜𝐮𝐦𝐞𝐧𝐭𝐨 𝑫𝒋 𝑰𝑫𝑭𝑰 (𝐈𝐧𝐯𝐞𝐫𝐭𝐞𝐝 𝐃𝐨𝐜𝐮𝐦𝐞𝐧𝐭 𝐅𝐫𝐞𝐪𝐮𝐞𝐧𝐜𝐲) = 𝒕𝒐𝒕𝒂𝒍𝒆 𝒅𝒆𝒊 𝒅𝒐𝒄𝒖𝒎𝒆𝒏𝒕𝒊 𝒅𝒆𝒍 𝒘𝒆𝒃 𝒍𝒐𝒈 𝒏𝒖𝒎𝒆𝒓𝒐 𝒅𝒊 𝒅𝒐𝒄𝒖𝒎𝒆𝒏𝒕𝒊 𝒄𝒉𝒆 𝒄𝒐𝒏𝒕𝒆𝒏𝒈𝒐𝒏𝒐 𝒊𝒍 𝒕𝒆𝒓𝒎𝒊𝒏𝒆 𝒊 42 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Rimozione dei nodi inutili Un possibile approccio all’eliminazione dei nodi è basato sul fissaggio di una soglia minima. Ci sono tre possibilità per fissare la soglia: Peso medio: la soglia è una media dei pesi di tutti i documenti. Peso medio dell’insieme iniziale: la soglia è una media dei pesi dei documenti dell’insieme iniziale (non i vicini). Frazione del peso massimo: la soglia è una frazione del peso massimo. 43 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Applicazione dell’algoritmo in bibliometria La bibliometria è una scienza applicata ai vari ambiti scientifici che utilizza la struttura di citazioni dei documenti per produrre stime numeriche della loro importanza e del loro impatto. In particolare esistono connessioni tra l’HITS e i due concetti di: co-citazione: due documenti sono citati da uno stesso terzo documento; co-riferimento: due documenti citano un terzo documento comune. 44 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Applicazione dell’algoritmo in bibliometria (2) Supponiamo di avere il grafo di hyperlink mostrato a fianco, e le relative matrici: La matrice authority ha una diretta relazione con la cocitazione. A B C D A B C D La matrice hub ha una diretta relazione con il co-riferimento. A 0 1 1 0 𝑳= B 1 0 1 0 C 0 1 0 1 D 0 1 0 0 45 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Applicazione dell’algoritmo in bibliometria (3) A B C D A B C D A 1 0 1 0 𝑳𝑻 𝑳 = B 0 3 1 1 = 𝑫𝒊𝒏 + 𝑪𝒄𝒊𝒕 C 1 1 2 0 D 0 1 0 1 𝑫𝒊𝒏 è una matrice diagonale che indica il numero di citazioni di un documento (es: C è citato da 2 documenti). 𝑪𝒄𝒊𝒕 matrice di co-citazione (es: A e C hanno un solo documento che condivide entrambe). 46 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Applicazione dell’algoritmo in bibliometria (4) A B C D A B C D A 2 1 1 1 𝑳𝑳𝑻 = B 1 2 0 0 = 𝑫𝒐𝒖𝒕 + 𝑪𝒓𝒆𝒇 C 1 0 2 1 D 1 0 1 1 𝑫𝒐𝒖𝒕 è una matrice diagonale che indica il numero di riferimenti del documento (es: A ha 2 riferimenti). 𝑪𝒓𝒆𝒇 matrice di co-riferimento che indica il numero di riferimenti che due documenti hanno in comune (es: A e C hanno un solo documento che condivide entrambe). 47 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Conclusioni 48 Esame CBD a.a. 2010/2011, Pasquale Marco Puzio Buzzoni di CBD a.a. 2011/2012, Riferimenti e link utili Google's PageRank and Beyond: The Science of Search Engine Rankings. Autori: Amy N. Langville, Carl D. Meyer. Princeton University Press, 2006: http://press.princeton.edu/quotes/q8216.html Improved Algorithms for Topic Distillation in a Hyperlinked Environment. Autori: Krishna Bharat, Monika B. Henzinger: http://dl.acm.org/citation.cfm?id=290972 Link Analysis: Hubs and Authorities on the World. Autori: Chris H.Q. Ding, Hongyuan Zhay, Xiaofeng He, Parry Husbands, Horst D. Simon. 2003: http://citeseerx.ist.psu.edu/ Wolfran Mathworld: http://mathworld.wolfram.com/ Teoma: http://www.teoma.com/ 49