• Lavorare con Google: prima parte

    Google è un motore di ricerca molto potente, ma nonostante dei suoi impressionanti risultati è basato su tecnologie molto semplici e talvolta incompleti. Conoscere l'esatto funzionamento di Google è essenziale per promuovere efficientemente il proprio sito.


    Come già detto altrove, non è possibile posizionarsi in primo posto per tutte le categorie e parole cercate, ma si può raggiungere un buon livello di visibilità sulle pagine di ricerca per qualche centinaio di parole, senza esagerare nella spesa. Già. Perché posizionarsi su Google in modo ottimale si devono spendere soldi.

    Come si investano questi soldi dipende dalla conoscenza dei meccanismi, che vogliamo qui illustrare.

    Google utilizza per la ricerca di termini uno specifico algoritmo a intelligenza artificale, denominato Loose Bidirectional Associative Memory (LBAM), che è in grado di riconoscere ad altissima velocità l'approssimativa sorgente delle informazioni immagazzinate. Quando viene programmato, essenzialmente si passa un termine e il Neural Network (NN) decide in quale direzione procedere. Una volta che ha imparato a dare il peso giusto al termine, un termine simile o uguale a quello ricercato crea sempre la stessa associazione e sceglie sempre la stessa direzione.

    Normalmente, le memorie artificiali sono ristrette e di piccole dimensioni, e devono contenere le associazioni di moltissimi termini. Di conseguenza l'insegnamento è lento e costoso. Il termine "Loose" indica che ci si accontenta con l'approssimazione e quindi il ciclo di insegnamento è brevissimo. Infatti, il motore di ricerca, quando scansiona le pagine e le salva nel suo database, utilizza la LBAM, altrimenti non potrebbe mai classificare milioni di termini in poche ore. E' risaputo che Google rigenera la memoria circa ogni 30 giorni, meglio conosciuto come Google Dance.

    Praticamente, la programmazione della rete LBAM si basa sull'associazione al volo (in una sola direzione) di un termine, la quale destinazione è inizialmente casuale. Si conferma al NN la scelta casuale come se fosse vera, e si passa il termine al prossimo network, che lo rivaluta allo stesso modo. Dal momento che si utilizzano tante macchine dedicate allo scopo, si raggiunge dopo circa 35 strati la precisione desiderata: il termine cercato successivamente va a finire sempre sullo stesso ramo dell'ultimo strato.

    Se assumiamo che lo strato di ingresso è uno solo, allora gli strati successivi sono sempre N+1, un po' come indica questa immagine a 4 strati:



    Ogni nodo di uno strato è un insieme di valori che possono decidere quale uscita prendere in base al peso matematico del termine. E' un sistema molto semplice, ma complesso. La complessità dei calcoli giunti all'ultimo livello assicura che la scelta dei nodi coinvolti sia pressoché esatta. Il termine con il link viene depositato nella macchina del nodo terminale.

    Google elabora tutti i termini allo stesso modo, e alla fine avrà 35 macchine che contengono le informazioni definitive. Tuttavia, Google salva anche gli stati intermedi, e di conseguenza ha circa 600 computer (630 secondo i nostri calcoli) per il salvataggio dei termini abbinati ai collegamenti.

    Quando facciamo una ricerca su Google di un qualsiasi termine, ci informa uno dei primi strati dell'esito (solitamente uno dei primi 4) a una velocità incredibile. Quello che non sappiamo, è che questo dato è approssimativo. Non è affatto garantito che troviamo il termine in una delle pagine che ci indica. Ma Google è furbo. Tramite la sessione di ricerca, sa se stiamo ancora cercando o meno. Se cerchiamo, anche lui continua ad andare più a fondo, ma nonostante tutto, non ci mostrerà mai tutti i risultati ... perché non li ha!

    La prova del nove è la ricerca di un termine che ha discreto risontro, ad esempio: Wiki.



    Sebbene ci illude con un miliardo e mezzo di risultati, non ce li può mostrare. Provate a andare sempre a fondo, all'ultimo link per trovare la fine assoluta delle ricerche. Dato che in media sono 10 risultati per pagina, dovremmo trovare 152 milioni di pagine. Invece, si fermerà molto, molto prima. Provate per credere!

    E come mai? Google ha un dizionario dei termini che contiene le parole, e quindi limita il numero di link che possono essere salvati. Solitamente, ogni macchina può contenere circa 1000 collegamenti a un singolo termine, che nell'insieme della ricerca garantisce qualche migliaio di link. Nonostante questo limite, Google registra quante volte è stato trovato il termine, e ci mostra questo risultato.

    Inoltre, il numero di collegamenti mostrati varia ogni volta. Questo è dovuto dal fatto che Google dispone di un numero di macchine dinamiche, che sono disponibili solo in determinati momenti.

    Conoscendo queste dinamiche, possiamo lavorare in modo molto più mirato per raggiungere una visibilità maggiore per i nostri articoli e le pagine. Come? E' semplice: con l'utilizzo di parole determinate all'interno del testo, possiamo programmare il NN di Google a nostro piacere. Ovviamente non è una cosa immediata. Passano almeno sei mesi prima di vedere i risultati, ma quando si fanno notare, saranno pressoché indelebili. Con graduale crescita dei termini importanti si raggiunge il Cielo di Google: un ottimo ranking e la visibilità dei termini ricercati in culo a tutte le altre regole.

    Infatti, questo articolo sconvolgerà un po' tutte le teorie. Ma abbiamo collaborato alla creazione dell'algoritmo che oggi è "Google" e contribuito in modo determinante, perché abbiamo definito le caratteristiche pratiche della Loose Bidirectional Associative Memory e siamo fieri che qualcuno ci abbia ascoltato. Almeno questo