Lucidi sul Web-IR
Transcript
Lucidi sul Web-IR
Metodi basati sugli autovettori per il Web Information Retrieval HITS, PageRank e il metodo delle potenze LSI e SVD LSI è diventato famoso per la sua abilità nel permettere di manipolare i termini (all’interno di una query) che presentano problemi di polisemia o sinonimia. LSI utilizza la SVD della matrice termini-documenti per catturare le associazioni semantiche latenti. La SVD permette di “clusterizzare” documenti e termini in concetti sinonimia: automobile, veicolo, macchina possono essere raggruppati nello stesso cluster polisemia: banca suddivisa in base ai suoi significati 1 LSI e SVD I metodi di LSI basati sulla SVD presentano però alcuni problemi alti costi computazionali problemi di immagazzinamento se le matrici termini-documenti hanno grandi dimensioni L’utilizzo dei metodi LSI-SVD è generalmente limitato a collezioni di documenti di piccole/medie dimensioni L’insieme delle pagine web ha dimensioni tali da far preferire altri metodi all’uso del LSI Caratteristiche del Web LSI non è adatto al Web a causa delle sue diverse caratteristiche enormi dimensioni la mancanza di un processo di revisione editoriale ridondanza di documenti link interroti documenti di bassa qualità frequenti aggiornamenti e modifiche dei documenti Web la struttura hyperlink del web 2 IR per il Web Un metodo di IR per il recupero di informazioni dal Web dovrebbe sfruttare le sue caratteristiche peculiari privilegiare l’accuratezza incorporando gli aggiornamenti frequentemente favorire la semplicità, lavorando su una matrice termini-documenti non aggiornata Un metodo di Web-IR dovrebbe anche essere insensibili ai meccanismi che falsano l’importanza dei documenti Web (aumentandone la popolarità di selezionate pagine) IR per il Web Nel costruire un meccanismo di Web-IR si dovrebbero considerare le tendenze degli utenti del Web uso di query molto piccole (pochi termini) scarso uso del feedback per correggere la ricerca raro uso di qualunque caratteristica avanzata di un sistema di IR abitudine a consultare solo le prime 10/20 pagine recuperate 3 IR per il Web I metodi di web-IR prediligono velocità e accuratezza rispetto la semplicità La struttura a hyperlink del web fornisce delle infomazioni supplementari per la progettazione di un metodo di web-IR La struttura a hyperlink è utilizzata dai più meccanismi di retrieval HITS (Hypertext Inducer Topic Search, 1997) PageRank (1998) SALSA (2000) La struttura a Hyperlink del Web Ciascuna pagina/documento del Web è rappresentata come un nodo di un grafo molto grande Gli archi diretti che connettono questi nodi rappresentano gli hyperlink tra i diversi documenti In-link: pagine che puntano uno specifico documento (link entranti) Out-link: pagine collegate a uno specifico documento (link uscenti) 4 La struttura a Hyperlink del Web Autority: documento con numerosi in-link Hub: documento con diversi out-link I sistemi HITS e Page-Rank sono entrambi basati sui concetti di authority e hub a ogni pagina viene assegnato un punteggio HITS: buoni hubs puntano a buone authority e buone authority sono puntate da buoni hubs a ogni pagina viene assegnato un punteggio hub e authority HITS • L'ipotesi di base adottata dal modello HITS è: “buoni hubs puntano a buone authority e buone authority sono puntate da buoni hubs” Indicato con E l’insieme di tutte le connessioni del grafo associato al web − − eij rappresenta le connessioni tra i nodo i e il nodo j Considerata l’i-sima pagina indichiamo con − − xi il punteggio hub della pagina considerata yi il punteggio authority della pagina considerata 5 HITS HITS si basa sul raffinamento successivo dei punteggi xi ed yi l’importanza di una pagina come authority dipende dall’importanza dei suoi in-link xi( k ) = ∑y ( k −1) j j: e ji ∈E l’importanza di una pagina come hub dipende dall’importanza dei suoi out-link yi( k ) = ∑x (k ) j j: eij ∈E HITS Le precedenti equazioni si possono riscrivere in forma matriciale introducendo la matrice di adiacenza L= [ lij ] del grafo del Web 1 se esiste connessione tra i nodi i e j lij = 0 altrimenti lij = le colonne di L sono i documenti puntati (out-link) dalla generica pagina le righe di L sono i documenti (in-link) che puntano alla generica pagina x(k ) = LT y(k −1) y(k ) = Lx(k ) 6 HITS I precedenti sistemi lineari definiscono il seguente algoritmo Step 1 Inizializzare y(0)=1 Step 2 Iterare fino alla convergenza, per ogni k (1 vettore con componenti uguali a 1) calcolare x(k)=LTy(k-1) (step 2.1) calcolare y(k)=LTx(k) (step 2.2) normalizzare i vettori x(k) e y(k) (step 2.3) Sostituendo (step 2.2) in (step 2.1) si ottiene HITS Sostituendo (step 2.2) in (step 2.1) si ottengono le seguenti equazioni semplificate x(k)=LTL x(k-1) y(k)=LLTy(k) Tali equazioni definiscono il metodo delle potenze per calcolare l’autovettore dominante per le matrici LTL e LLT LTL matrice authority LLT matrice hub 7 HITS: implementazione Data una query q, l’implementazione di HITS richiede: costruzione del grafo di vicinanza (neighborhood graph) relativo alla query q calcolo dei punteggi di authority ed hub del grafo (algoritmo precedente applicato alla matrice di adiacenza L associata ad ) tutti i documenti che contengono dei riferimenti ai termini della query q L ha dimensioni ridotte rispetto il numero totale dei documenti contenuti nel Web costruzione e presentazione all’utente delle liste ordinate dei documenti “hub” e “authority” recuperati HITS: costo e convergenza Le matrici LLT ed LTL hanno dimensioni ridotte rispetto al numero di documenti presenti sul web Si calcola solo un autovettore dominante il calcolo dell’autovettore dominante richiede quindi un costo inferiore per esempio calcolato x si ottiene poi y effettuando un prodotto matrice-vettore y = L x LLT ed LTL sono matrici, simmetriche, semi-definite positive autovalori reali, non negativi, tali che λ1>… λk≥ 0 il metodo delle potenze converge 8 HITS: vantaggi e svantaggi Vantaggi doppio ranking (come authority e hub) uso di matrici di dimensione ridotta rispetto al numero totale di documenti nel web Svantaggi dipendenza dalla query (per la costruzione del neighborhood graph) suscettibile allo spamming i punteggi di hub ed authority possono essere alterati introducendo in/out link alla propria web-page possibile indirizzamento a pagine off-topic PageRank Formulato nel 1998 da Larry Page e Sergey Brin Algoritmo di ricerca di Google Supera gli svantaggi di HITS L’idea di base del PageRank i voti (link) da siti importanti dovrebbero avere un peso maggiore dei voti (link) da siti meno importanti, e l’importanza di un voto (link) da una qualunque sorgente dovrebbe essere attenuato dal numero dei siti che la sorgente vota 9 PageRank Indicata con P una generica pagina web BP= {insieme delle pagine che puntano a P} Si definisce il punteggio r(P) di P: r( P) = ∑ Q∈BP r (Q ) |Q | PageRank Se abbiamo n pagine P1 , P2 ,…, P n ed assegniamo a ciascuna pagina un (arbitrario) punteggio iniziale r0(Pi )=1/n Il punteggio r(P) può essere calcolato mediante la seguente iterazione: rj ( Pi ) = ∑ Q∈BPi rj −1 (Q ) |Q | j = 1,2,3,... 10 PageRank Ponendo: πjT = (r j (P1 ), r j(P2 ),…. r j(P n )) P la matrice di elementi pij = 1/Pi se Pi si connette con la pagina Pj pij = 0 altrimenti P è detta “matrice di Google” (per righe) La precedente iterazione si può riscrivere come: πT =πT P j j −1 Metodo delle potenze PageRank Se il limite esiste, il vettore PageRank è definito π T = lim j→∞ π T j la i-sima componente del vettore PageRank è il punteggio (page-rank) della pagina Pi Per assicurare la convergenza del processo iterativo la matrice P deve essere modificata 11 PageRank La matrice di Google per righe P è non-negativa somma degli elementi sulle righe è zero o uno righe con somma zero corrispondono a pagine senza outlink (nodi “dangling”) Assumendo che non ci siano nodi dangling, la matrice P ha tutte le righe con somma uguale ad 1, quindi risulta una matrice stocastica: ha autovalore dominante uguale ad 1 l’iterazione PageRank converge all’autovettore sinistro normalizzato πT= πT P t.c. πT 1=1 Calcolo del PageRank Calcolare il PageRank di una assegnata pagina web richiede la risoluzione del problema agli autovalori πT = πT P t.c. πT 1=1 o del sist. lineare omogeneo πT(I-P)=0 t.c. πT 1=1 Difficoltà: dimensione della matrice P “the world’s largest matrix computation” Scelte pratiche: varianti del metodo delle potenze 12 Calcolo del PageRank La struttura ad hyperlink del web genera alcuni problemi nella costruzione della matrice P la matrice di Google per righe P potrebbe non essere una matrice stocastica (a causa della presenza dei nodi dangling) rimedio: sostituire ad ogni riga nulla il vettore 1T/n la nuova matrice stocastica si indica con P la matrice P necessita ulteriori modifiche per renderla irriducibile rimedio: aggiungere una matrice perturbazione E =11T/n P = α P + (1 − α ) E α ∈ [ 0 ,1 ] Calcolo del PageRank La matrice di Google (stocastica) è ottenuta sommando una matrice di perturbazione E=1vT con P = α P + (1 − α ) 1 v T vT > 0 un vettore di probabilità (vettore di “personalizzazione” ) vT = 1T/n e α=0.85 scelta originaria di Google vT e le sue modifiche permettono di adattare PageRank e di personalizzarlo 13 Calcolo del PageRank: considerazioni Il vettore PageRank è l’autovettore sinistro della matrice di Google Le sue componenti costituiscono i punteggi di importanza (popolarità) per ciascuna pagina web Non si hanno informazioni sulla rilevanza delle pagine web PageRank è uno dei tanti parametri considerati da Google per determinare il ranking (la posizione) di una pagina web Un valore di PageRank alto non garantisce necessariamente una posizione migliore rispetto a una pagina con PageRank più basso. Per ottenere la rilevanza dei documenti rispetto una assegnata query il PageRank deve essere combinato con altri meccanismi di ricerca Implementazione di PageRank Un semplice modello di IR che utilizza PageRank è il seguente. Assegnata una query q: Step 1: determinare l’insieme di rilevanza della query (cioè un sottoinsieme di nodi (pagine web) contenenti i termini della query) Step 2: applicare PageRank all’insieme di rilevanza di q per ottenere i punteggi (ordinati) delle pagine considerate ogni documento ha un punteggio di PageRank indipendente dalla query 14 Implementazione di PageRank L’algoritmo per il calcolo del vettore di PageRank π Trelativo alla matrice di Google P è il seguente Step 1: specificare il valore del parametro α Step 2: porre π0T = 1T/n Step 3: iterare fino alla convergenza (prefissata tolleranza) l’equazione π kT+ 1 = απ T k +1 P + (1 − α ) v T PageRank: esempio Consideriamo un Web con 6 nodi la cui struttura a hyperlink è illustrata in figura: 1 2 3 5 6 4 15 PageRank: esempio La matrice di Google per riga è: 1 2 3 4 5 6 0 0 0 12 12 0 0 2 0 0 0 0 0 3 1 3 1 3 0 0 13 0 P= 4 0 0 0 0 1 2 1 2 5 0 0 0 1 2 0 1 2 6 0 0 1 0 0 0 1 pij = probabilità che la pagina i sia connessa alla pagina j 1 2 3 6 5 4 PageRank: esempio La matrice stocastica associata è 0 0 0 12 12 0 1 6 1 6 1 6 1 6 1 6 1 6 0 13 0 1 3 1 3 0 P= 0 0 0 1 2 1 2 0 0 0 0 1 2 0 1 2 0 0 1 0 0 0 riducibile 16 PageRank: esempio Per ottenere una matrice irriducibile scegliamo il parametro α=0.9 1 / 60 1/6 19 / 60 = 1 / 60 1 / 60 1 / 60 P = α P + (1 − α ) 11 T / n 7 / 15 7 / 15 1 / 60 1 / 60 1/6 1/6 1/6 1/6 19 / 60 1 / 60 1 / 60 19 / 60 1 / 60 1 / 60 1 / 60 7 / 15 1 / 60 1 / 60 7 / 15 1 / 60 1 / 60 1 / 60 11 / 12 1 / 60 1 / 60 1/6 1 / 60 7 / 15 7 / 15 1 / 60 PageRank: esempio Il vettore di PageRank associato alla precedente matrice è: πT= (.03721, .05396, .04151, 0.3751, .206, .2862) vettore indipendente dalla query Consideriamo una query che contenga i termini 1 e 2 ( q=(t1,t2)) Supponiamo che il file “termini-documenti” inverso sia il seguente t1 doc1, doc4, doc6 t2 doc1, doc3 ... 17 PageRank: esempio Calcoliamo l’insieme di rilevanza per la query q=(t1,t2) insieme di rilevanza {1,3,4,6} I PageRank dei 4 documenti possono essere confrontati per individuare quale dei documenti è il più rilevante ordinare le componenti del vettore pagerank associate ai docuementi selezionati in modo decrescente π4 , π6 , π3 , π1 doc4 documento più rilevante seguono doc6, doc3, doc1 18