La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Lalgoritmo PageRank. 2 Il grafo del Web Si può pensare allinsieme dei documenti presenti sul Web come a un grafo, in cui: Si può pensare allinsieme.

Presentazioni simili


Presentazione sul tema: "1 Lalgoritmo PageRank. 2 Il grafo del Web Si può pensare allinsieme dei documenti presenti sul Web come a un grafo, in cui: Si può pensare allinsieme."— Transcript della presentazione:

1 1 Lalgoritmo PageRank

2 2 Il grafo del Web Si può pensare allinsieme dei documenti presenti sul Web come a un grafo, in cui: Si può pensare allinsieme dei documenti presenti sul Web come a un grafo, in cui: i nodi sono gli URL;i nodi sono gli URL; cè un arco fra il nodo x e il nodo y quando la pagina che corrisponde allURL x contiene un link verso lURL y.cè un arco fra il nodo x e il nodo y quando la pagina che corrisponde allURL x contiene un link verso lURL y. Questo grafo è chiamato grafo del Web. Ovviamente, si tratta di un grafo dinamico, che cambia in continuazione. Questo grafo è chiamato grafo del Web. Ovviamente, si tratta di un grafo dinamico, che cambia in continuazione.

3 3 Dimensioni del Web Difficili da valutare; comunque, il grafo è enorme. Difficili da valutare; comunque, il grafo è enorme. Numero di nodi(=documenti): 2/4 miliardi (escludendo le pagine non accessibili).Numero di nodi(=documenti): 2/4 miliardi (escludendo le pagine non accessibili). Numero di archi: 60/100 miliardi.Numero di archi: 60/100 miliardi. Numero di host: 100/200 milioni.Numero di host: 100/200 milioni. Numero di utenti: 500/800 milioni.Numero di utenti: 500/800 milioni.

4 4 Richiami: componenti connesse Dato un grafo orientato G=(V,E), definiamo una relazione fra i nodi, ponendo x y quando esistono un cammino da x a y e un cammino da y a x. Dato un grafo orientato G=(V,E), definiamo una relazione fra i nodi, ponendo x y quando esistono un cammino da x a y e un cammino da y a x. La relazione è una relazione di equivalenza, le cui classi sono dette componenti (fortemente) connesse del grafo. La relazione è una relazione di equivalenza, le cui classi sono dette componenti (fortemente) connesse del grafo. È possibile costruire il grafo ridotto G*, che ha come nodi le componenti connesse, e ha un arco fra la componente C 1 e la componente C 2 quando esiste un arco che va da un nodo di C 1 a un nodo di C 2. È possibile costruire il grafo ridotto G*, che ha come nodi le componenti connesse, e ha un arco fra la componente C 1 e la componente C 2 quando esiste un arco che va da un nodo di C 1 a un nodo di C 2.

5 5 Componenti connesse: un esempio

6 6

7 7

8 8 La struttura a cravattino del Web Componente gigante. Componente gigante. Comprende circa il 30% delle pagine.Comprende circa il 30% delle pagine. Stime del diametro: orientato=20/30; non orientato=10/17.Stime del diametro: orientato=20/30; non orientato=10/17. Comè piccolo il mondo! (small world theory).Comè piccolo il mondo! (small world theory).

9 9 La struttura a cravattino del Web Componenti sorgente (circa 24%). Componenti sorgente (circa 24%). Puntano (direttamente o indirettamente) verso la componente gigante, ma …Puntano (direttamente o indirettamente) verso la componente gigante, ma … … non sono raggiungibili dalla componente gigante.… non sono raggiungibili dalla componente gigante. Sono le pagine reiette.Sono le pagine reiette.

10 10 La struttura a cravattino del Web Componenti pozzo (circa 24%). Componenti pozzo (circa 24%). Sono raggiungibili dalla componente gigante, ma …Sono raggiungibili dalla componente gigante, ma … … da esse non si può tornare indietro.… da esse non si può tornare indietro. In questa categoria rientra la maggior parte dei documenti senza link.In questa categoria rientra la maggior parte dei documenti senza link.

11 11 La struttura a cravattino del Web Componenti isolate e tentacoli. Componenti isolate e tentacoli. Non sono raggiungibili dalla componente gigante.Non sono raggiungibili dalla componente gigante. Da esse non si raggiunge la componente gigante.Da esse non si raggiunge la componente gigante. Ci sono collegamenti fra sorgenti e pozzi che non passano per la componente gigante (tentacoli).Ci sono collegamenti fra sorgenti e pozzi che non passano per la componente gigante (tentacoli).

12 12 Come cercare informazioni? La ricerca di informazioni è diventata sempre più difficile, per vari motivi: La ricerca di informazioni è diventata sempre più difficile, per vari motivi: dimensioni (too much information…);dimensioni (too much information…); mancanza di semantica (tentativi di realizzare il Web semantico) e struttura;mancanza di semantica (tentativi di realizzare il Web semantico) e struttura; qualità di informazione estremamente eterogenea;qualità di informazione estremamente eterogenea; i documenti sono soggetti a rapida modifica.i documenti sono soggetti a rapida modifica. Per tali motivi, circa l80% degli utenti utilizza abitualmente i motori di ricerca. Per tali motivi, circa l80% degli utenti utilizza abitualmente i motori di ricerca.

13 13 Comè fatto un motore di ricerca? Tre attività logicamente distinte: Tre attività logicamente distinte: raccolta di dati;raccolta di dati; elaborazione dei dati raccolti;elaborazione dei dati raccolti; risposta alle query degli utenti;risposta alle query degli utenti;

14 14 Raccolta dati Si tratta di recuperare il contenuto delle pagine Web (di solito, limitandosi a quelle testuali). Si tratta di recuperare il contenuto delle pagine Web (di solito, limitandosi a quelle testuali). Viene svolta da unapposita componente, detta spider. Viene svolta da unapposita componente, detta spider. Problemi da affrontare (fra gli altri): Problemi da affrontare (fra gli altri): Quantità di dati; quantità di banda;Quantità di dati; quantità di banda; frequenza di aggiornamento;frequenza di aggiornamento; presenza di materiale nascosto (cfr. cravattino);presenza di materiale nascosto (cfr. cravattino); standard non rispettati;standard non rispettati; spider traps!spider traps!

15 15 Elaborazione dati Obiettivi: Obiettivi: estrarre informazioni (parsing);estrarre informazioni (parsing); rilevare la presenza di duplicati (o quasi duplicati) dovuti al mirroring;rilevare la presenza di duplicati (o quasi duplicati) dovuti al mirroring; rilevare la presenza di spamming;rilevare la presenza di spamming; indicizzare i dati;indicizzare i dati; eventualmente, calcolare informazioni necessarie per il ranking.eventualmente, calcolare informazioni necessarie per il ranking.

16 16 Risposta alle query Diversi modi di rispondere alle query: Diversi modi di rispondere alle query: ricerche testuali sofisticate (ricetta AND (pasta NEAR pesto));ricerche testuali sofisticate (ricetta AND (pasta NEAR pesto)); uso di suggerimenti ontologici;uso di suggerimenti ontologici; riconoscimento linguistico;riconoscimento linguistico; analisi del profilo utente (logging di query, bookmarks, ecc.);analisi del profilo utente (logging di query, bookmarks, ecc.); sistemi di categorizzazione automatica.sistemi di categorizzazione automatica.

17 17 Elaborazione

18 18 Il problema Nella fase di elaborazione occorre indicizzare i documenti recuperati. Lindicizzazione deve consentire in modo efficiente di rispondere alle query. Nella fase di elaborazione occorre indicizzare i documenti recuperati. Lindicizzazione deve consentire in modo efficiente di rispondere alle query. In particolare, lindicizzazione deve permettere il ranking dei documenti! In particolare, lindicizzazione deve permettere il ranking dei documenti!

19 19 Il ranking Dato un insieme P di pagine e una query Q, definire una funzione r Q : P R che associ, ad ogni pagina, un numero reale (rank), che indica il grado di rilevanza di quella pagina a fronte di quella query. Dato un insieme P di pagine e una query Q, definire una funzione r Q : P R che associ, ad ogni pagina, un numero reale (rank), che indica il grado di rilevanza di quella pagina a fronte di quella query. Tecniche di ranking basate su: Tecniche di ranking basate su: analisi del contenuto testuale (Altavista);analisi del contenuto testuale (Altavista); analisi della struttura dei link (Google).analisi della struttura dei link (Google).

20 20 Latent Semantic Indexing È una tecnica di ranking basata sul contenuto testuale. È adottata da Altavista. È una tecnica di ranking basata sul contenuto testuale. È adottata da Altavista. Sia t il numero di termini considerati (presi, per es., da un dizionario, o tutte le parole incontrate nelle pagine raccolte). Sia t il numero di termini considerati (presi, per es., da un dizionario, o tutte le parole incontrate nelle pagine raccolte). Ad ogni pagina P è associato un vettore di t elementi dove Ad ogni pagina P è associato un vettore di t elementi dove (d P ) j = # occorrenze del termine j in P.

21 21 Latent Semantic Indexing Ad ogni query Q si associa un analogo vettore, che ha un 1 in corrispondenza dei termini che compaiono nella query, e uno 0 altrimenti. Ad ogni query Q si associa un analogo vettore, che ha un 1 in corrispondenza dei termini che compaiono nella query, e uno 0 altrimenti. Si tratta di determinare laffinità tra Q e D: Si tratta di determinare laffinità tra Q e D:

22 22 Latent Semantic Indexing Assunzione ingenua del LSI: Assunzione ingenua del LSI: una pagina è autorevole su un argomento se i termini relativi a quellargomento vi compaiono spesso. Non è vera (per es. FIAT) ed è suscettibile allo spamming. Si possono migliorare le prestazioni estendendo il testo della pagina con i testi delle ancore che puntano alla pagina (ed, eventualmente, il loro contesto). Non è vera (per es. FIAT) ed è suscettibile allo spamming. Si possono migliorare le prestazioni estendendo il testo della pagina con i testi delle ancore che puntano alla pagina (ed, eventualmente, il loro contesto). Inoltre, il LSI funziona bene solo su query multiple, ma la maggior parte delle query sono semplici (una, due, al massimo tre parole). Inoltre, il LSI funziona bene solo su query multiple, ma la maggior parte delle query sono semplici (una, due, al massimo tre parole).

23 23 PageRank: caratteristiche PageRank è un algoritmo di ranking con le seguenti caratteristiche: PageRank è un algoritmo di ranking con le seguenti caratteristiche: assegna a ciascuna pagina i un rank R i in modo statico, cioè indipendente dalla query: data una query Q, si determineranno le pagine che soddisfano la query, e queste pagine verranno ordinate in base al loro rank;assegna a ciascuna pagina i un rank R i in modo statico, cioè indipendente dalla query: data una query Q, si determineranno le pagine che soddisfano la query, e queste pagine verranno ordinate in base al loro rank; determina limportanza di una pagina esclusivamente sulla base dei link, e non del contenuto testuale: si basa sullidea che il contenuto non è autodescrittivo, e che il conferimento di importanza di una pagina è un processo esogeno.determina limportanza di una pagina esclusivamente sulla base dei link, e non del contenuto testuale: si basa sullidea che il contenuto non è autodescrittivo, e che il conferimento di importanza di una pagina è un processo esogeno. È alla base dellalgoritmo di ranking usato da Google. È alla base dellalgoritmo di ranking usato da Google.

24 24 PageRank: lidea Una pagina è tanto più importante quanto più numerose sono le pagine che la puntano. Una pagina è tanto più importante quanto più numerose sono le pagine che la puntano. Se R i indica limportanza (rango) di una pagina i, essa distribuisce la propria importanza in modo uniforme alle pagine che punta: Se R i indica limportanza (rango) di una pagina i, essa distribuisce la propria importanza in modo uniforme alle pagine che punta: dove j i indica la presenza di un link da j a i, e N j è il numero di link contenuti nella pagina j. Esiste una (unica) soluzione allequazione di ricorrenza? Esiste una (unica) soluzione allequazione di ricorrenza? Solo se il grafo è fortemente connesso!

25 25 PageRank: la formula Per garantire che il grafo sia fortemente connesso, si introduce un fattore che corrisponde a introdurre dei link random al grafo: Per garantire che il grafo sia fortemente connesso, si introduce un fattore che corrisponde a introdurre dei link random al grafo: dove N è il numero di pagine. Il rango della pagina i è determinato in parte (cioè, per una frazione 1-) dalle pagine che puntano i, e in parte (frazione ) è acquisito gratuitamente (come per effetto della presenza di archi da tutte le pagine alla pagina i). Il rango della pagina i è determinato in parte (cioè, per una frazione 1-) dalle pagine che puntano i, e in parte (frazione ) è acquisito gratuitamente (come per effetto della presenza di archi da tutte le pagine alla pagina i). [0,1]: di solito 0,15 (fattore di spargimento). [0,1]: di solito 0,15 (fattore di spargimento).

26 26 PageRank: il problema dei pozzi La formula di PageRank si può calcolare iterativamente, a partire da La formula di PageRank si può calcolare iterativamente, a partire da (tutte le pagine hanno la stessa importanza) e applicando la formula, che redistribuisce limportanza delle pagine. Ad ogni passo, viene mantenuta somma 1? Ad ogni passo, viene mantenuta somma 1?

27 27 PageRank: il problema dei pozzi Per ogni nodo j con almeno un arco uscente, il fattore R j t /N j viene sommato per ciascun arco uscente (ce ne sono N j in tutto): Per ogni nodo j con almeno un arco uscente, il fattore R j t /N j viene sommato per ciascun arco uscente (ce ne sono N j in tutto): La somma è 1 solo se non ci sono pozzi (cioè, nodi senza archi uscenti). Altrimenti, la somma sarà < 1: i pozzi assorbono importanza dalle pagine senza restituirla al sistema! La somma è 1 solo se non ci sono pozzi (cioè, nodi senza archi uscenti). Altrimenti, la somma sarà < 1: i pozzi assorbono importanza dalle pagine senza restituirla al sistema!

28 28 PageRank: eliminazione dei pozzi Per risolvere il problema, si può operare in molti modi diversi: Per risolvere il problema, si può operare in molti modi diversi: per ogni pozzo i, si aggiungono archi fittizi da i ad ogni altra pagina (cosicchè i pozzi cedano uniformemente la loro importanza a tutte le pagine);per ogni pozzo i, si aggiungono archi fittizi da i ad ogni altra pagina (cosicchè i pozzi cedano uniformemente la loro importanza a tutte le pagine); equivalentemente, ad ogni passo di PageRank, si aggiunge a tutti gli R i una stessa quantità in modo che la somma rimanga 1;equivalentemente, ad ogni passo di PageRank, si aggiunge a tutti gli R i una stessa quantità in modo che la somma rimanga 1; si eliminano iterativamente i pozzi e si applica PageRank al resto del grafo; i pozzi vanno poi reintegrati alla fine.si eliminano iterativamente i pozzi e si applica PageRank al resto del grafo; i pozzi vanno poi reintegrati alla fine.

29 29 PageRank: interpretazione stocastica Lalgoritmo di PageRank può essere interpretato come un processo stocastico. Assumiamo un navigatore probabilistico che naviga sul grafo del Web (senza pozzi) nel seguente modo: Lalgoritmo di PageRank può essere interpretato come un processo stocastico. Assumiamo un navigatore probabilistico che naviga sul grafo del Web (senza pozzi) nel seguente modo: parte da una pagina i a caso;parte da una pagina i a caso; con probabilità (1-) segue uno dei link della pagina corrente;con probabilità (1-) segue uno dei link della pagina corrente; con probabilità si muove verso una pagina a caso.con probabilità si muove verso una pagina a caso. Il rank R i è la frazione di tempo trascorsa dal navigatore probabilistico nella pagina i. Il rank R i è la frazione di tempo trascorsa dal navigatore probabilistico nella pagina i.

30 30 PageRank: vantaggi/svantaggi Viene calcolato con grande efficienza; il processo iterativo converge entro pochi passi. Viene calcolato con grande efficienza; il processo iterativo converge entro pochi passi. Va calcolato una volta sola, in modo indipendente dalla query. Va calcolato una volta sola, in modo indipendente dalla query. È possibile costruire insiemi di pagine artefatte che infuiscono sul ranking. È possibile costruire insiemi di pagine artefatte che infuiscono sul ranking. Lindipendenza dalla query è un limite! Lindipendenza dalla query è un limite! Di solito va aggiustato usando un secondo ranking, basato sul contenuto (per.es., LSI). Di solito va aggiustato usando un secondo ranking, basato sul contenuto (per.es., LSI).


Scaricare ppt "1 Lalgoritmo PageRank. 2 Il grafo del Web Si può pensare allinsieme dei documenti presenti sul Web come a un grafo, in cui: Si può pensare allinsieme."

Presentazioni simili


Annunci Google