I motori di ricerca

UN'INTRODUZIONE

CLASSIFICHE GOOGLE 2017

  • "Come fare..."​
    1. Le olive in salamoia
    2. Il back up
    3. La marmellata di albicocche
    4. La carbonara
    5. Lo screenshot
    6. Il pesto
    7. La crema pasticcera
    8. Le bolle di sapone
    9. Il passaporto
    10. Il cubo di Rubik

ALCUNE DOMANDE SU GOOGLE

Perché è il motore di ricerca più popolare?

Perché è così veloce a reperire le informazioni nel mare del web?

Come fa a dirci quello che cerchiamo?

INTERNET

  • Rete fisica che connette i computer attraverso connessioni realizzate con cavi o fibra ottica oppure wireless
  • Rappresentata schematicamente come un grafo
    • Nodi = computer
    • Archi = connessioni
  • Operazioni: protocolli

World wide web

  • Rete di pagine web collegate con internet ma indipendente
    • Rete non fisica, ma virtuale
    • Pagine individuate da indirizzo come www.google.it
    • Pagine posseggono link al loro interno che formano le connessioni tra pagina e pagina

DUE RETI SEPARATE

  • Un computer può contenere varie pagine web anche non collegate tra loro
  • Una pagina web può stare su più computer diversi

Accesso al web prima di Google

  • Navigazione tramite browser
  • Primi motori di ricerca

    • Altavista

    • Interfaccia testuale

  • L’informazione era praticamente inutilizzabile, il navigante veniva sommerso dal mare del web

POI ARRIVÒ Google

  • La ricerca è facile
  • La risposta è immediata e quasi sempre soddisfacente
  • L'interfaccia è semplice e pulita, senza pubblicità

Sergey Brin & Larry Page

  • Parte da un garage e da due studenti di dottorato dell’università di Stanford 
  • A ogni pagina  è associato un voto
    • Pagerank

IDEA VINCENTE

  • Il voto è assegnato automaticamente alla pagina non in base alla qualità dei suoi contenuti, ma in base alla popolarità della pagina sul web
  • Se una pagina è popolare è probabile che interessi tanti altri utenti oltre a quello che ha posto la domanda al motore 

PAGERANK

  • È espresso dal dinamismo della rete, non deciso a priori
  • La risposta del motore è un elenco di pagine ordinate in ordine decrescente di page rank
  • Non giudica sulla reale qualità delle pagine
  • In moltissimi casi funziona bene!

Gli ingredienti del successo

  • È un sistema molto complesso di hardware e software che si basa su un numero enorme di computer dislocati in tutto il mondo
    • Web crawling
    • Dizionari e indici
    • Calcolo parallelo e distribuito

    • Pagerank

WEB crawling

  • Google preventivamente e continuamente
    • Ricerca l’informazione nel web seguendo i link da pagina a pagina
    • Raccoglie le parole di ogni pagina in un enorme dizionario di tutte le parole del Web
      • Si parte dalle pagine più importanti per avere più probabilità di raggiungerne molte (alcune non sono mai raggiunte)

        • Crawler

        • Spyder

    • Lavorano incessantemente  e contemporaneamente

WEB crawling

Gli enormi dizionari

  • A ogni pagina visitata il crawler assegna un numero distintivo
  • A ogni parola  assegna l’elenco delle pagine in cui è stata trovata e la sua posizione all’interno della pagina
  • Si costruisce cioè il cosiddetto indice
    • Una sorta di indice analitico

Un web di 5 pagine

  • Ogni pagina il titolo di una canzone dei Beatles
    1. All You Need Is Love
    2. Love Me Do
    3. Can’t Buy Me Love
    4. Step Inside Love
    5. Sure to Fall (In Love With You)

L'indice

  1. All You Need Is Love
  2. Love Me Do
  3. Can’t Buy Me Love
  4. Step Inside Love
  5. Sure to Fall (In Love With You)
  • Contiene per ogni parola il numero di pagina in cui compare e la sua posizione all’interno della pagina
  • Le parole sono ordinate in ordine alfabetico per le ricerche veloci
  • "Love" appare in tutte le pagine: quindi l’elenco è 1-5, 2-1, 3-4, 4-3, 5-5

RICERCA PER PAROLE CHiaVE

  • All You Need Is Love
  • Love Me Do
  • Can’t Buy Me Love
  • Step Inside Love
  • Sure to Fall (In Love With You)
  • 2 parole chiave
    • love e  me
  • ¨love": 1-5, 2-1, 3-4, 4-3, 5-5
  • "me": 2-2, 3-3
  • Le pagine in comune sono la 2 e la 3

  • Algoritmo di intersezione
    • Tra la lista di "love" e la lista di "me"
    • Primi elementi di ogni coppia (numero di pagina)
      • Se coincidono vuol dire che due le parole stanno  nella stessa pagina

RICERCA di ""love me""

  • All You Need Is Love
  • Love Me Do
  • Can’t Buy Me Love
  • Step Inside Love
  • Sure to Fall (In Love With You)
  • Analizziamo le posizioni
    • Secondo numero di ogni coppia, delle liste di "love" e di me"
      • "love" in posizione 1 nella pagina 2 e "me" in posizione 2 nella 2
      • Significa che abbiamo trovato una pagina che contiene la frase esatta
        • Distanza tra le due parole = 1:  hit!
  • Pagina 3:  prima "me" poi "love"
    • Distanza è maggiore (massima possibile)

PRINCIPALE VANTAGGIO

  • Si cerca solo nell’indice
    • Non si devono ricaricare o analizzare le pagine
    • Tutto è complicato dal fatto che le grandezze in gioco sono enormi

      • Gli hit possono essere moltissimi!

  • Tecniche note prima di Google

Milioni di richieste al minuto

  • Gestite dai suoi famosi data center dislocati geograficamente in tutto il mondo
    • Composti da cluster
      • Un cluster è composto da migliaia di computer e contiene varie repliche di tutto il web

  • Una query a Google in media

    • Legge centinaia di Megabyte di dati

    • Consuma  decine di miliardi di cicli di CPU

    • Deve fornire risposta in pochi millisecondi

  • Google gestisce milioni di query/sec

    • La nostra query viene smistata al cluster più vicino o, se è molto occupato, a quello più sgombro

Pagerank

  • "come fare olive in salamoia"
    • 2 pagine web danno la ricetta
      • giallozafferano
      • sale&pepe

  • Strategia immediata per dare il voto

    • Contare il numero di riferimenti da altre pagine alla pagina in questione

  • Se contiamo il numero di riferimenti le due pagine coincidono

    • Ma una cosa è la menzione di un tizio qualsiasi altra cosa la menzione di un personaggio famoso

    • Deve contare la popolarità (rank) della pagina che contiene la citazione e quante citazioni fa

Pagerank

  • R(Sale&pepe) = R(Mario)/# link(Mario) = 1/2

  • R(giallozafferano) = R(chef)/#link(chef) = 100/100 = 1

popolarità non autorevolezza

  • Nel nostro esempio il personaggio famoso è anche uno chef, quindi  

      autorevole

    • Ma poteva essere anche un calciatore famoso

      • Il risultato sarebbe stato uguale

PAGERANK NON UNICO PARAMETRO

  • Altri tenuti rigorosamente segreti

  • Probabilmente
    • Le home page hanno rank più alto

    • Il fatto che una pagina sia fresca

    • ...molti altri