motori di ricerca presente e futuro prossimo

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

Upload: marge

Post on 11-Feb-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Motori di Ricerca presente e futuro prossimo. Cosa è un motore di ricerca ?. Un lavoro storico: Brin & Page [1998]. ?. Archivio Pagine. Crawler. Web. Analizzatore pagine. Indicizzatore. Risolutore. Analizzatore Rilevanza. Controllo. Testo. Utilità. Struttura. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Motori di Ricercapresente e futuro prossimo

Cosa è un motore di ricerca ?

Page 2: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Un lavoro storico: Brin & Page [1998]

Page 3: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Motore di Ricerca: struttura W

eb

Crawler

Archivio Pagine

Analizzatorepagine

Controllo

Query

Risolutore

?

AnalizzatoreRilevanza

TestoStruttura

Utilità

Indicizzatore

Page 4: Motori di Ricerca presente e futuro prossimo

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: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Una immagine pittorica del Web

Page 6: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Alcuni dati

Page 7: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

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

Normalizzatarispetto prima

settimana

Page 8: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Motori di Ricercapresente e futuro prossimo

Cosa è un crawler ?

Page 9: Motori di Ricerca presente e futuro prossimo

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: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Link Extractorwhile(<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>}

Downloaderwhile(<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: Motori di Ricerca presente e futuro prossimo

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

71

23

45

67

BFSDFS

Page 12: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Raggiungimento di pagine interessanti

Page 13: Motori di Ricerca presente e futuro prossimo

Paolo Ferragina, Università di Pisa

Alcuni risultati

Page 14: Motori di Ricerca presente e futuro prossimo

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