[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:02.02,Default,,0000,0000,0000,,[Sebastian Thrun] Qual è la tua opinione su come si realizza un motore di ricerca, Dialogue: 0,0:00:02.02,0:00:03.08,Default,,0000,0000,0000,,tu ne hai già realizzato uno, vero ? Dialogue: 0,0:00:03.08,0:00:06.01,Default,,0000,0000,0000,,[Sergey Brin, Co-fondatore di Google] Si. Io credo che la cosa più importante, Dialogue: 0,0:00:06.01,0:00:08.01,Default,,0000,0000,0000,,se stai pensando di realizzare un motore di ricerca, Dialogue: 0,0:00:08.01,0:00:12.05,Default,,0000,0000,0000,,è avere una buona base di informazioni da cui partire. Dialogue: 0,0:00:12.05,0:00:19.02,Default,,0000,0000,0000,,Nel nostro caso abbiamo usato il world wide web, che al momento era certamente più piccolo di quanto lo sia oggi. Dialogue: 0,0:00:19.02,0:00:21.04,Default,,0000,0000,0000,,Era una cosa nuova e molto stimolante, Dialogue: 0,0:00:21.04,0:00:23.08,Default,,0000,0000,0000,,con molte parti ancora inesplorate. Dialogue: 0,0:00:23.08,0:00:26.10,Default,,0000,0000,0000,,[David Evans] L'obiettivo delle prime tre unità del corso è di costruire la base di informazioni Dialogue: 0,0:00:27.00,0:00:30.01,Default,,0000,0000,0000,,In particolare, vogliamo costruire una base di informazioni per il nostro motore di ricerca Dialogue: 0,0:00:30.01,0:00:32.09,Default,,0000,0000,0000,,analizzando il web, che è esattamente quello che fa un web crawler. Dialogue: 0,0:00:32.09,0:00:36.04,Default,,0000,0000,0000,,Un web crawler è un programma che colleziona i contenuti estratti dal web. Dialogue: 0,0:00:36.04,0:00:40.05,Default,,0000,0000,0000,,Prova a pensare ad una pagina web nel tuo browser, sarà una pagina tipo questa. Dialogue: 0,0:00:40.05,0:00:43.10,Default,,0000,0000,0000,,Usiamo il sito web di Udacity come esempio di pagina web. Dialogue: 0,0:00:43.10,0:00:47.10,Default,,0000,0000,0000,,E' una pagina piena di contenuti, con molte immagini e del testo. Dialogue: 0,0:00:47.10,0:00:51.04,Default,,0000,0000,0000,,Tutto questo appare nel tuo browser quando richiedi di visualizzare la pagina. Dialogue: 0,0:00:51.04,0:00:53.07,Default,,0000,0000,0000,,La cosa importante di una pagina sono i collegamenti ipertestuali. Dialogue: 0,0:00:53.07,0:00:57.09,Default,,0000,0000,0000,,Un collegamento ipertestuale è qualcosa che ci indirizza verso un'altra pagina. Dialogue: 0,0:00:57.09,0:01:00.05,Default,,0000,0000,0000,,Abbiamo, quindi, un collegamento alle domande più frequenti, Dialogue: 0,0:01:00.05,0:01:02.05,Default,,0000,0000,0000,,un collegamento alla pagina di CS 101, Dialogue: 0,0:01:02.05,0:01:04.04,Default,,0000,0000,0000,,più altri collegamenti verso altre pagine web. Dialogue: 0,0:01:04.04,0:01:07.05,Default,,0000,0000,0000,,Un collegamento può comparire, nel browser, come testo sottolineato Dialogue: 0,0:01:07.05,0:01:09.09,Default,,0000,0000,0000,,ma potrebbe anche comparire in altri modi, dipende dalle impostazioni del tuo browser. Dialogue: 0,0:01:09.09,0:01:11.10,Default,,0000,0000,0000,,Ma la cosa importante che un collegamento permette di fare Dialogue: 0,0:01:11.10,0:01:13.09,Default,,0000,0000,0000,,è di puntare verso altre pagine web Dialogue: 0,0:01:13.09,0:01:16.04,Default,,0000,0000,0000,,che, a loro volta, possono contenere altri collegamenti Dialogue: 0,0:01:16.04,0:01:19.07,Default,,0000,0000,0000,,e quindi abbiamo un altro collegamento verso questa pagina Dialogue: 0,0:01:19.07,0:01:23.05,Default,,0000,0000,0000,,Potrebbe essere il mio nome che ci indirizza alla mia home page, Dialogue: 0,0:01:23.05,0:01:26.09,Default,,0000,0000,0000,,Tutte le pagine che noi riusciamo a trovare con il nostro web crawler Dialogue: 0,0:01:26.09,0:01:29.01,Default,,0000,0000,0000,,sono ottenute seguendo i collegamenti Dialogue: 0,0:01:29.01,0:01:31.07,Default,,0000,0000,0000,,così non sarà necessario esplorare ogni pagina sul web. Dialogue: 0,0:01:31.07,0:01:33.06,Default,,0000,0000,0000,,Se si inizia da una buona pagina di partenza Dialogue: 0,0:01:33.06,0:01:35.00,Default,,0000,0000,0000,,troveremo molte pagine. Dialogue: 0,0:01:35.00,0:01:37.05,Default,,0000,0000,0000,,Ciò che un web crawler dovrà fare è partire da una pagina, Dialogue: 0,0:01:37.05,0:01:41.06,Default,,0000,0000,0000,,recuperare tutti i collegamenti all'interno di questa pagina, seguire i collegamenti per trovare altre pagine Dialogue: 0,0:01:41.06,0:01:45.01,Default,,0000,0000,0000,,e, su queste altre pagine, seguire i collegamenti presenti su queste pagine Dialogue: 0,0:01:45.01,0:01:48.03,Default,,0000,0000,0000,,per trovare ancora altre pagine, ci saranno molti altri collegamenti su queste pagine. Dialogue: 0,0:01:48.03,0:01:51.04,Default,,0000,0000,0000,,Ed infine, avremo una collezione di molte pagine presenti nel web. Dialogue: 0,0:01:51.04,0:01:54.01,Default,,0000,0000,0000,,Questo è quello che dovremmo fare per realizzare un web crawler. Dialogue: 0,0:01:54.01,0:01:56.10,Default,,0000,0000,0000,,In qualche modo noi dovremmo iniziare da una pagina di partenza, Dialogue: 0,0:01:56.10,0:01:59.06,Default,,0000,0000,0000,,estrarre i collegamenti dalla pagina, Dialogue: 0,0:01:59.06,0:02:01.08,Default,,0000,0000,0000,,seguire tutti i collegamenti individuati verso altre pagine, Dialogue: 0,0:02:01.08,0:02:03.07,Default,,0000,0000,0000,,collezionare i collegamenti di queste nuove pagine, Dialogue: 0,0:02:03.07,0:02:05.02,Default,,0000,0000,0000,,seguirli e collezionare tutti i collegamenti di tutte le pagine esplorate. Dialogue: 0,0:02:05.02,0:02:07.04,Default,,0000,0000,0000,,Sembra che ci sia molto da fare. Dialogue: 0,0:02:07.04,0:02:09.01,Default,,0000,0000,0000,,Non faremo tutta la procedura nella prima unità, Dialogue: 0,0:02:09.01,0:02:12.07,Default,,0000,0000,0000,,ma ciò su cui ci concentreremo nella prima unità sarà l'estrazione di un collegamento Dialogue: 0,0:02:12.07,0:02:14.06,Default,,0000,0000,0000,,Quindi, iniziamo con del testo Dialogue: 0,0:02:14.06,0:02:17.03,Default,,0000,0000,0000,,che ha un collegamento al suo interno specificato tramite un URL Dialogue: 0,0:02:17.03,0:02:19.06,Default,,0000,0000,0000,,Vogliamo cercare l'URL all'interno del testo Dialogue: 0,0:02:19.06,0:02:21.09,Default,,0000,0000,0000,,in modo da poter fare una richiesta per la pagina successiva Dialogue: 0,0:02:21.09,0:02:23.08,Default,,0000,0000,0000,,L'obiettivo per la seconda unità Dialogue: 0,0:02:23.08,0:02:25.02,Default,,0000,0000,0000,,è di essere in grado di continuare la ricerca, Dialogue: 0,0:02:25.02,0:02:28.05,Default,,0000,0000,0000,,se ci sono molti collegamenti in una pagina, dovremmo estrarli tutti. Dialogue: 0,0:02:28.05,0:02:30.01,Default,,0000,0000,0000,,Questo è ciò che faremo nella seconda unità, Dialogue: 0,0:02:30.01,0:02:32.07,Default,,0000,0000,0000,,cercare di capire come proseguire con la procedura per estrarre tutti i collegamenti Dialogue: 0,0:02:32.07,0:02:36.06,Default,,0000,0000,0000,,Nella terza unità, andremo oltre l'analisi della singola pagina. Dialogue: 0,0:02:36.06,0:02:40.03,Default,,0000,0000,0000,,Quindi, al termine della seconda unità, riusciremo a visualizzare tutti i collegamenti presenti in una pagina e Dialogue: 0,0:02:40.03,0:02:44.00,Default,,0000,0000,0000,,nella terza unità, collezioneremo tutti i collegamenti in modo da reiterare la procedura Dialogue: 0,0:02:44.00,0:02:47.02,Default,,0000,0000,0000,,e garantire che il nostro web crawler riesca a raccogliere molte pagine. Dialogue: 0,0:02:47.02,0:02:50.01,Default,,0000,0000,0000,,Quindi, al termine della terza unità, avremo costruito il web crawler. Dialogue: 0,0:02:50.01,0:02:52.03,Default,,0000,0000,0000,,Ci saranno molti modi per costruire la nostra base di informazioni Dialogue: 0,0:02:52.03,0:02:57.08,Default,,0000,0000,0000,,e quindi, per le restanti tre unità, analizzeremo come rispondere alle interrogazioni sulla base di informazioni Dialogue: 0,0:02:57.08,0:03:01.03,Default,,0000,0000,0000,,Nella quarta unità, capiremo come ottenere una buona risposta Dialogue: 0,0:03:01.03,0:03:08.02,Default,,0000,0000,0000,,in modo che se cerchi una parola chiave, tu possa ricevere in risposta la lista completa di tutte le pagine Dialogue: 0,0:03:08.02,0:03:10.06,Default,,0000,0000,0000,,in cui quella parola chiave compare. Dialogue: 0,0:03:10.06,0:03:15.09,Default,,0000,0000,0000,,E nella quinta unità vedremo un modo per poterlo fare, che sia estendibile nel caso di base di informazioni di grandi dimensioni. Dialogue: 0,0:03:15.09,0:03:19.08,Default,,0000,0000,0000,,E successivamente, nella sesta unità , quello che faremo sarà non solo trovare un elenco delle pagine, Dialogue: 0,0:03:19.08,0:03:21.07,Default,,0000,0000,0000,,ma ottenere come risultato la pagina migliore. Dialogue: 0,0:03:21.07,0:03:24.08,Default,,0000,0000,0000,,Quindi, cercheremo di capire come pesare le pagine in cui compare la parola chiave. Dialogue: 0,0:03:24.08,0:03:27.07,Default,,0000,0000,0000,,Bene, stiamo andando un pò oltre adesso, Dialogue: 0,0:03:27.07,0:03:30.04,Default,,0000,0000,0000,,perché tutto ciò che dobbiamo fare per la prima unità Dialogue: 0,0:03:30.04,0:03:32.06,Default,,0000,0000,0000,,è cercare di capire come estrarre un collegamento dalla pagina. Dialogue: 0,0:03:32.06,0:03:35.07,Default,,0000,0000,0000,,E il motore di ricerca che costruiremo alla fine del corso Dialogue: 0,0:03:35.07,0:03:37.03,Default,,0000,0000,0000,,sarà un motore di ricerca di tipo funzionale. Dialogue: 0,0:03:37.03,0:03:40.06,Default,,0000,0000,0000,,Avrà le componenti principali di cui dispone un motore di ricerca come Google. Dialogue: 0,0:03:40.06,0:03:43.01,Default,,0000,0000,0000,,Certamente non sarà potente come Google Dialogue: 0,0:03:43.01,0:03:44.03,Default,,0000,0000,0000,,dato che vogliamo mantenere le cose semplici e Dialogue: 0,0:03:44.03,0:03:46.06,Default,,0000,0000,0000,,avere una piccola quantità di codice da scrivere. Dialogue: 0,0:03:46.06,0:03:48.01,Default,,0000,0000,0000,,Non dobbiamo dimenticarci che il nostro vero scopo Dialogue: 0,0:03:48.01,0:03:50.02,Default,,0000,0000,0000,,non è tanto quello di costruire un motore di ricerca Dialogue: 0,0:03:50.02,0:03:52.08,Default,,0000,0000,0000,,ma di usare l'obiettivo di costruire un motore di ricerca come veicolo Dialogue: 0,0:03:52.08,0:03:55.02,Default,,0000,0000,0000,,per conoscere l'informatica Dialogue: 0,0:03:55.02,0:03:56.08,Default,,0000,0000,0000,,e approfondire il tema della programmazione. Dialogue: 0,0:03:56.08,0:03:58.02,Default,,0000,0000,0000,,E quindi, le cose che impareremo facendo tutto questo Dialogue: 0,0:03:58.02,9:59:59.99,Default,,0000,0000,0000,,ci torneranno utili per risolvere molti altri tipi di problemi.