La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercitazione 2 Ranking di pagine Web Ilaria Bordino Ilaria Bordino e Debora Donato Corso di Ricerca dell'informazione nel Web - A.A. 2006/2007.

Presentazioni simili


Presentazione sul tema: "Esercitazione 2 Ranking di pagine Web Ilaria Bordino Ilaria Bordino e Debora Donato Corso di Ricerca dell'informazione nel Web - A.A. 2006/2007."— Transcript della presentazione:

1 Esercitazione 2 Ranking di pagine Web Ilaria Bordino Ilaria Bordino e Debora Donato Corso di Ricerca dell'informazione nel Web - A.A. 2006/2007

2 Raccolta delle pagine html; Costruzione del webgraph; Transformazione dei dati in un formato adeguato; Ranking delle pagine del webgraph: –Con Pagerank; –Con Hits. Passi per il ranking delle pagine

3 Libreria Software per l'analisi di grafi di grandi dimensioni È un tool sviluppato presso il Dipartimento di Informatica e Sistemistica dell' Universita La Sapienza. Disponibile gratuitamente in SIN-Tools.htm Documentazione in: liverableD13.pdf

4 Libreria Obiettivo: offre una serie di routines in grado di: –Generare grafi in base alla maggior parte dei modelli presenti in letteratura –Calcolare alcune delle misure statistiche proprie del grafo del Web Distribuzione indegree outdegree Pagerank, hits SCCs, Clique Bowtie

5 Installazione della Libreria Implementata in C++ versione 2.9; Raccomandata almeno 256 MB di RAM; Installazione: –Download e unzip la libreria; –Type cd dis_library (cambia directory) –Type make (compila i source)

6 Struttura della Libreria Per ogni programma viene creata una cartella. Ogni cartella contiene il codice (*.h, *.cpp, *.cc). Makefile: compila e crea gli eseguibili dei programma; Common: contiene le routine comuni ai diversi algoritmi (memoria secondaria, rappresentazione binaria, etc); bin: contiene gli eseguibili creati durante la esecuzione di Makefile;

7 Struttura della Libreria Generators: Measures: Search algorithms: Bow-tie discovering: File converters: Miscellaneous:

8 Programmi che saranno usati per l esercitazione di oggi Della categoria file converters: –text2ips.script: transforma un file testo nella rappresentazione IPS; Della categoria graph measurers: –pagerank: esegue pagerank –hits: esegue hits

9 Grafo in Formato Testo Grafo esempioFormato testo

10 Il Formato IPS Per ogni grafo sono presenti 3 tipi di multifile: –.info: contiene lindegree, loutdegree il puntatore alla lista dei successori (memorizzata in.succ), il puntatore alla lista dei predecessori (memorizzata in.pred) –.succ: lista dei successori –.pred: lista dei predecessori

11 Grafo in Formato IPS

12 Multifile I file.ips devono essere in grado di contenere le informazioni relative a milioni di nodi e miliardi di archi. Limite: filesystem Soluzione: ogni file viene spezzato in piu file la cui gestione e completamente trasparente allutente ( multiFileWriter, multiFileReader)

13 Implementazione di PageRank Il calcolo di pagerank e fatto in blocchi: –I blocchi hanno misura fissa che dipende dal numero di float allocabili in memoria principale; numMB = memoria / (1024*1024); numFloat = numMB/sizeof(float); Nblocchi = numNodi/numFloat NnodiPerBlocco = numNodi/Nblocchi –Ogni blocco e caricato in memoria. Il page rank del blocco viene calcolato ed il risultato viene scritto su file;

14 Inizializzazione Verifica la correttezza dei parametri Partiziona il file dei successori in blocchi. Inizializza tutti nodi a 1/N Esegue il ciclo principale Normalizza e calcola residual Stampa i file dei risultati

15 Multifile utilizzati fileSorgente : contiene i valori di PR calcolati alla fine del passo precedente. Viene inizializzato allinizio di ogni ciclo con i valori di fileDestinatario fileTemporaneo : contiene i valori di PR alla fine del ciclo principale, prima del passo di normalizzazione. fileDestinatario : contiene i valori di PR dopo il passo di normalizzazione.

16 Partizionamento del grafo I file Grafo.succ e partizionato in Nblocchi file di misura prefissata; Funzione partizionaFileSuccessori() –Calcola: numSucc, numInfo, numNodi e numNodiPerOgniBlocco; –esegue partizione (pseudocode nella prossima slide);

17 Partizionamento del Grafo For each structInfo i = readInfo()/* fInfo.read() */ For each successor node of i s = readSuccess()/* fSucc.read() */ insert(s,buffer)/* buffer = fTempo*/ if block_is_full writeToDisk(); } writeToDisk() } writeToDisk(): scrive sul file relativo al blocco corrente l ID del nodo, il numero totale di successori del nodo e la lista dei successori.

18 Inizializzazione del PageRank Inizializza il file destinatario con il valore di pagerank; –bufferFloatPR [numNodiperOgniBlocco] –For i from 1 to numNodiPerOgniBlocco bufferFloatPR[i] = –scrive bufferFloatPR nel destFile numOfBlocchi volte;

19 Ciclo Principale while (stop==false){ for each blocco b from 1 to Nblocchi{ pr = 0; //azzera il buffer for each node i del blocco b prende pr(i); identifica tutti i successori di I; for each succ j from 1 to numsucc pr(j) += pr(i)/numsucc; for each succ j from 1 to numsucc pr(j)= c*pr(j)+ (1-c)*(1/N); } scrive su fileDestPR; }

20 Terminazione stop: lalgoritmo si ferma quando il numero di iterazioni e > che maxIter o il residuo e < residual

21 Passo di Normalizzazione Si prende la somma di tutti i valori di PR alla fine del ciclo principale: sommaPR Si dividono tutti I valori di PR memorizzati allinterno del fileTemporaneo per sommaPR. Il risultato viene memorizzato in fileDestinatario

22 Calcolo del residuo Il residuo e la radice quadrata della sommatoria dei quadrati delle differenze dei valori di PR calcolati in due iterazioni successive. – residual = 0; – residual += (fileSorgente-fileDestinatario) 2 – residual= sqrt(residual)

23 Text2IPS.script INPUT: il nome del file contenente il grafo (ASCII) OUTPUT: i file testo in multifile format –NameMultifile.%d.info –NameMultifile.%d.pred –NameMultifile.%d.succ

24 Text2IPS.script Uso: text2ips.script –savesource –ram: memoria disponibile in MB –-savesource: non cancella il file originale –%d: DA SPECIFICARE ogni volta che vogliamo un multifile.

25 Text2IPS.script Creare una directory graphs/graph-name/ nella directory che contiene dis_library ; Mettere alinterno della cartella appena creata larchivio graph-testo-name Posizionarsi in dis_library Creare il grafo IPS: bin/text2ips.script 300 – savesource graphs/graph-name/ graph-testo- name graph-ips-name.%d

26 Uso di Page Rank INPUT: il grafo in formato IPS OUTPUT: ranking delle pagine secondo lalgoritmo pagerank Uso: pagerank columns > printFile

27 Uso Page Rank –InputFile: base-name del file in formato IPS –prob: probabilita di scegliere una pagina vicina (e non saltare a un' altra pagina) –residual: pagerank si ferma se il residuo e piu piccolo di residual –maxIter: numero massimo di iterazioni eseguite per pagerank;

28 Uso Page Rank –outputFile%d: nome del multifile di output in cui vengono memorizzati i risultati del calcolo di PageRank –columns: stampa vari tipi di informazione: N: colonna con lid del nodo; I: colonna con lindegree del nodo; O: colonna con loutdegree del nodo; P: colonna con il rank del nodo; –printFile: contiene l'output generato durante l'esecuzione della routine, ad es. Risultati parziali delle singole iterazioni

29 Eseguire Page Rank bin/pagerank 300 graphs/graph-name/ graph- ips-name.%d outputFile.%d NIOP > print-file.txt File generati: –outputFile.pr_distrib.txt: distribuizione dei risultati di pagerank –outputFile.report.txt: risultati di pagerank

30 Visualizzazione dei risultati Per entrare nell' ambiente: gnuplot gnuplot> set logscale gnuplot> plot outputFile.pr_distrib.txt using 1:2 w p

31 Uso di HITS INPUT: grafo in formato IPS OUTPUT: ranking delle pagine secondo lalgorithmo hits Uso: bin/hits Nota: questa routine e` fornita solo in versione interattiva. I parametri devono essere forniti da std input. –InputFile: GraphName.%d –maxResidual: hits si ferma se il residuo e piu piccolo di maxResidual –maxIter: numero massimo di iterazioni

32 Eseguire Hits bin/hits Insert graph name: graphs/graph- name/graphIPSName.%d Insert maxResidual: Insert maxIteration: 50


Scaricare ppt "Esercitazione 2 Ranking di pagine Web Ilaria Bordino Ilaria Bordino e Debora Donato Corso di Ricerca dell'informazione nel Web - A.A. 2006/2007."

Presentazioni simili


Annunci Google