Motori di ricerca

Un motore di ricerca è un sistema automatico che analizza un insieme di dati spesso da lui stesso raccolti e restituisce un indice dei contenuti disponibili classificandoli in base a formule matematiche che ne indichino il grado di rilevanza data una determinata chiave di ricerca.

Uno dei campi in cui i motori di ricerca trovano maggiore utilizzo è quello dell’Information Retrieval e nel web.

Esistono numerosi motori di ricerca attivi sul Web. Il più utilizzato, su scala mondiale (con un indice che supera gli 8 miliardi di pagine), è Google; molto usati anche Live e Bing (motori di ricerca della Microsoft), Yahoo! , Ask. Da segnalare il tentativo di creare il primo motore europeo, Quaero concorrente di Google con una iniziativa franco-germanica. Il progetto, stimato attorno ai 400 milioni di dollari, è stato abbandonato dopo pochi mesi per la rinuncia da parte della compagnia tedesca.

La maggior parte dei motori che opera sul web è gestito da compagnie private che utilizzano algoritmi proprietari e database tenuti segreti. Esistono comunque diversi tentativi di dar vita a motori di ricerca fondati sul software libero

Il lavoro dei motori di ricerca si divide principalmente in tre fasi:

  • analisi del campo d’azione (tramite l’uso di crawler appositi);
  • catalogazione del materiale ottenuto;
  • risposta alle richieste dell’utente;

Per analizzare il web i motori utilizzano dei programmi detti crawler (o spider o robot), che si occupano di visitare automaticamente gli URI contenuti nel database e seguire i successivi URI che trovano all’interno dei documenti analizzati, inserendo di volta in volta nel database tutte le informazioni “sensibili” della pagina (il contenuto testuale, varie informazioni su di essa come la data di ultimo aggiornamento, e altro).

Le più recenti innovazioni nella produzione di algoritmi e di sistemi di Information Retrieval si basano sull’analisi semantica dei termini e sulla conseguente creazione di reti semantiche. Lo stesso Google ha adottato sistemi per la prevenzione dell’errore e la contestualizzazione dei risultati.