Download - Motori di Ricerca presente e futuro prossimo
![Page 1: Motori di Ricerca presente e futuro prossimo](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/2.jpg)
Paolo Ferragina, Università di Pisa
Un lavoro storico: Brin & Page [1998]
![Page 3: Motori di Ricerca presente e futuro prossimo](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/5.jpg)
Paolo Ferragina, Università di Pisa
Una immagine pittorica del Web
![Page 6: Motori di Ricerca presente e futuro prossimo](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/6.jpg)
Paolo Ferragina, Università di Pisa
Alcuni dati
![Page 7: Motori di Ricerca presente e futuro prossimo](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/8.jpg)
Paolo Ferragina, Università di Pisa
Motori di Ricercapresente e futuro prossimo
Cosa è un crawler ?
![Page 9: Motori di Ricerca presente e futuro prossimo](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/12.jpg)
Paolo Ferragina, Università di Pisa
Raggiungimento di pagine interessanti
![Page 13: Motori di Ricerca presente e futuro prossimo](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/13.jpg)
Paolo Ferragina, Università di Pisa
Alcuni risultati
![Page 14: Motori di Ricerca presente e futuro prossimo](https://reader036.vdocuments.site/reader036/viewer/2022062315/56815d90550346895dcba54b/html5/thumbnails/14.jpg)
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