Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore...

14
Paolo Ferragina, Università di P isa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Transcript of Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore...

Page 1: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Motori di Ricercapresente e futuro prossimo

Cosa è un motore di ricerca ?

Page 2: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Un lavoro storico: Brin & Page [1998]

Page 3: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Motore di Ricerca: struttura W

eb

Crawler

Archivio Pagine

Analizzatorepagine

Controllo

Query

Risolutore

?

AnalizzatoreRilevanza

TestoStruttura

Utilità

Indicizzatore

Page 4: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Il Web

“Surface Web”: 25 ÷ 75 Terabytes (1Tb = 1000 Gb)

6 miliardi di pagine (cambiano circa 10 milioni al giorno)

Pagina in media 5 ÷ 40Kb, #links ~ 10

Circa il 23% delle pagine è duplicato

“Hidden Web”: circa 500 volte più grande Siti intranet, database, pagine dinamiche,…

Circa 4,200 Tb di dati testuali interessanti

Page 5: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Una immagine pittorica del Web

Page 6: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Alcuni dati

Page 7: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Velocità di cambiamento [snapshot settimanale nel 2004: 154 web sites, 35 mil pg, 65Gb]

Normalizzatarispetto prima

settimana

Page 8: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Motori di Ricercapresente e futuro prossimo

Cosa è un crawler ?

Page 9: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Fase di Crawling Numerosi problemi di progettazione:

Copertura: Quali pagine occorre visitare ?

Aggiornamento: Quanto spesso occorre visitarle ?

Invadenza: Come minimizzare il carico dei siti visitati ?

Efficienza: Come parallelizzare il processo di “crawling” ?

Scalabilità: Come gestire il “flusso” di pagine ?

Page 10: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Link Extractor

while(<ci sono pagine da esaminare nel repository>){

<prendi una pagina p>

<estrai i link contenuti in essa>

<inserisci i link estratti in una coda, ciascuno

con una priorità dipendente dalla politica scelta> <marca p come pagina da cui abbiamo estratto i link>}

Downloader

while(<ci sono link assegnati dal Manager>){

<estrai i link>

<scarica le pagine pi dalla rete>

<invia le pi al page repository>}

Crawler Manager<estrai un gruppo di link dalla coda in ordine di priorità>

while(<ci sono link nel gruppo>){ foreach link u { if ( (u “pagine già viste” )

|| ( u “pagine già viste” && <sul Web server la pagina è più recente> ) && ( <u è un link accettato dal robot.txt del sito>) ) {

<risolvi u rispetto al DNS> <invia u alla coda dei downloaders>

} }

“Ciclo di vita” di un Crawler

Page 11: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Politica di selezione delle pagine Data una pagina P, definire quanto sia “buona”.

Esistono molte metriche:

Guidate dal topic coperto dal motore Guidate dalla popolarità BFS, DFS, Random Strategie combinate

1

2

3

4

5

6

7

1

2

3

4

56

7

BFSDFS

Page 12: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Raggiungimento di pagine interessanti

Page 13: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Alcuni risultati

Page 14: Paolo Ferragina, Università di Pisa Motori di Ricerca presente e futuro prossimo Cosa è un motore di ricerca ?

Paolo Ferragina, Università di Pisa

Focused Crawling

Si scelgono selettivamente le pagine sulle quali continuare la visita,

in accordo a un insieme di topic rilevanti definiti apriori.

I topic sono specificati mediante documenti campione

I topic sono specificati mediante indirizzi

Risparmio di risorse di rete e di hardware.

Esempi di crawler open-source

Nutch, also used by Yahoo Hentrix, used by Archive.org