-
[Sebastian Thrun] Qual è la tua opinione su come si realizza un motore di ricerca,
-
tu ne hai già realizzato uno, vero ?
-
[Sergey Brin, Co-fondatore di Google] Si. Io credo che la cosa più importante,
-
se stai pensando di realizzare un motore di ricerca,
-
è avere una buona base di informazioni da cui partire.
-
Nel nostro caso abbiamo usato il world wide web, che al momento era certamente più piccolo di quanto lo sia oggi.
-
Era una cosa nuova e molto stimolante,
-
con molte parti ancora inesplorate.
-
[David Evans] L'obiettivo delle prime tre unità del corso è di costruire la base di informazioni
-
In particolare, vogliamo costruire una base di informazioni per il nostro motore di ricerca
-
analizzando il web, che è esattamente quello che fa un web crawler.
-
Un web crawler è un programma che colleziona i contenuti estratti dal web.
-
Prova a pensare ad una pagina web nel tuo browser, sarà una pagina tipo questa.
-
Usiamo il sito web di Udacity come esempio di pagina web.
-
E' una pagina piena di contenuti, con molte immagini e del testo.
-
Tutto questo appare nel tuo browser quando richiedi di visualizzare la pagina.
-
La cosa importante di una pagina sono i collegamenti ipertestuali.
-
Un collegamento ipertestuale è qualcosa che ci indirizza verso un'altra pagina.
-
Abbiamo, quindi, un collegamento alle domande più frequenti,
-
un collegamento alla pagina di CS 101,
-
più altri collegamenti verso altre pagine web.
-
Un collegamento può comparire, nel browser, come testo sottolineato
-
ma potrebbe anche comparire in altri modi, dipende dalle impostazioni del tuo browser.
-
Ma la cosa importante che un collegamento permette di fare
-
è di puntare verso altre pagine web
-
che, a loro volta, possono contenere altri collegamenti
-
e quindi abbiamo un altro collegamento verso questa pagina
-
Potrebbe essere il mio nome che ci indirizza alla mia home page,
-
Tutte le pagine che noi riusciamo a trovare con il nostro web crawler
-
sono ottenute seguendo i collegamenti
-
così non sarà necessario esplorare ogni pagina sul web.
-
Se si inizia da una buona pagina di partenza
-
troveremo molte pagine.
-
Ciò che un web crawler dovrà fare è partire da una pagina,
-
recuperare tutti i collegamenti all'interno di questa pagina, seguire i collegamenti per trovare altre pagine
-
e, su queste altre pagine, seguire i collegamenti presenti su queste pagine
-
per trovare ancora altre pagine, ci saranno molti altri collegamenti su queste pagine.
-
Ed infine, avremo una collezione di molte pagine presenti nel web.
-
Questo è quello che dovremmo fare per realizzare un web crawler.
-
In qualche modo noi dovremmo iniziare da una pagina di partenza,
-
estrarre i collegamenti dalla pagina,
-
seguire tutti i collegamenti individuati verso altre pagine,
-
collezionare i collegamenti di queste nuove pagine,
-
seguirli e collezionare tutti i collegamenti di tutte le pagine esplorate.
-
Sembra che ci sia molto da fare.
-
Non faremo tutta la procedura nella prima unità,
-
ma ciò su cui ci concentreremo nella prima unità sarà l'estrazione di un collegamento
-
Quindi, iniziamo con del testo
-
che ha un collegamento al suo interno specificato tramite un URL
-
Vogliamo cercare l'URL all'interno del testo
-
in modo da poter fare una richiesta per la pagina successiva
-
L'obiettivo per la seconda unità
-
è di essere in grado di continuare la ricerca,
-
se ci sono molti collegamenti in una pagina, dovremmo estrarli tutti.
-
Questo è ciò che faremo nella seconda unità,
-
cercare di capire come proseguire con la procedura per estrarre tutti i collegamenti
-
Nella terza unità, andremo oltre l'analisi della singola pagina.
-
Quindi, al termine della seconda unità, riusciremo a visualizzare tutti i collegamenti presenti in una pagina e
-
nella terza unità, collezioneremo tutti i collegamenti in modo da reiterare la procedura
-
e garantire che il nostro web crawler riesca a raccogliere molte pagine.
-
Quindi, al termine della terza unità, avremo costruito il web crawler.
-
Ci saranno molti modi per costruire la nostra base di informazioni
-
e quindi, per le restanti tre unità, analizzeremo come rispondere alle interrogazioni sulla base di informazioni
-
Nella quarta unità, capiremo come ottenere una buona risposta
-
in modo che se cerchi una parola chiave, tu possa ricevere in risposta la lista completa di tutte le pagine
-
in cui quella parola chiave compare.
-
E nella quinta unità vedremo un modo per poterlo fare, che sia estendibile nel caso di base di informazioni di grandi dimensioni.
-
E successivamente, nella sesta unità , quello che faremo sarà non solo trovare un elenco delle pagine,
-
ma ottenere come risultato la pagina migliore.
-
Quindi, cercheremo di capire come pesare le pagine in cui compare la parola chiave.
-
Bene, stiamo andando un pò oltre adesso,
-
perché tutto ciò che dobbiamo fare per la prima unità
-
è cercare di capire come estrarre un collegamento dalla pagina.
-
E il motore di ricerca che costruiremo alla fine del corso
-
sarà un motore di ricerca di tipo funzionale.
-
Avrà le componenti principali di cui dispone un motore di ricerca come Google.
-
Certamente non sarà potente come Google
-
dato che vogliamo mantenere le cose semplici e
-
avere una piccola quantità di codice da scrivere.
-
Non dobbiamo dimenticarci che il nostro vero scopo
-
non è tanto quello di costruire un motore di ricerca
-
ma di usare l'obiettivo di costruire un motore di ricerca come veicolo
-
per conoscere l'informatica
-
e approfondire il tema della programmazione.
-
E quindi, le cose che impareremo facendo tutto questo
-
ci torneranno utili per risolvere molti altri tipi di problemi.