Gli Algoritmi e l’Intelligenza Artificiale, Come le Macchine Apprendono

IntelligenzaArtificilae-ComeLeMacchineApprendono

Creare macchine intelligenti in grado di emulare e superare il cervello umano, consapevoli della propria esistenza e in grado di acquisire conoscenza in maniera autonoma, sia attraverso l’istruzione che attraverso l’esperienza, è il concetto alla base di quella che comunemente viene definita intelligenza artificiale.

Mentre da un punto di vista commerciale assistiamo a consistenti investimenti nel campo da parte di tutte le più grandi compagnie a partire da Facebook e Microsoft fino ad arrivare a Google, da un punto di vista etico l’intelligenza artificiale anima molte discussioni e divide i pensatori ed innovatori più influenti al mondo.

Secondo Ray Kurzweil futurista, scrittore e inventore, che Google ha messo a capo della propria divisione Engineering, la singolarità è vicina e avverrà nella decade del 2040/2050.
Il momento in cui la mente umana potrà fondersi con i computer non è quindi poi così lontano e sarà questa la tecnologia che ci consentirà di fare il successivo salto in avanti per raggiungere un più alto livello evolutivo.

Elon Musk, uno dei maggiori innovatori di questo secolo, ha invece una visione diversa da Kurzweil e considera l’intelligenza artificiale un male peggiore della bomba atomica, e sulla stessa lunghezza d’onda di Musk, ritroviamo Stephen Hawking, il celebre astrofisico, secondo il quale l’intelligenza artificiale potrebbe rappresentare allo stesso tempo il più grande risultato ma anche l’ultimo della specie umana.

Ma cerchiamo di capire meglio praticamente a cosa ci riferiamo quando parliamo di intelligenza artificiale e di macchine che acquisiscono conoscenza.

Machine Learning ovvero l’apprendimento automatico

Una delle capacità che deve avere un’intelligenza artificiale è quella dell’apprendimento automatico.

Il primo a dare una definizione di apprendimento automatico (Machine Learning) fu Arthur Samuel, che ha indicato l’apprendimento automatico come il campo di studi che si occupa di fornire ai computer l’abilità di imparare in maniera autonoma (o automatica) senza che siano stati opportunamente programmati per farlo.

Questa definizione è stata in seguito integrata da Tom Mitchell che aggiunge: “Un programma si può dire che abbia imparato da un esperienza (E) in seguito ad una azione (T) misurata attraverso le prestazioni (P), se le sue prestazioni ad eseguire il task (T) sono migliorate grazie all’esperienza”.

Gli Algoritmi dell’apprendimento

Esistono differenti tipologie di algoritmi dell’apprendimento, quelli che però sono con molta probabilità maggiormente utilizzati rientrano nelle categorie dell’apprendimento supervisionato e di quello non supervisionato.
Semplificando quanto più possibile, si può dire che la differenza più grande sta nel fatto che nell’apprendimento supervisionato siamo noi ad insegnare al computer come fare qualcosa, mentre in quello non supervisionato il computer imparerà tutto da solo.

L’apprendimento supervisionato

Nell’apprendimento supervisionato, al sistema viene dato in pasto un insieme di dati, detto set di training, contenente sia i dati in ingresso sia quelli in uscita.
Da questo insieme di dati, l’algoritmo di apprendimento supervisionato cerca di costruire un modello in grado di prevedere i valori di risposta per un nuovo insieme di dati di ingresso.

L’Apprendimento supervisionato comprende due categorie di algoritmi, quelli di regressione e quelli di classificazione.

Un classico esempio sull’uso dell’apprendimento supervisionato con l’algoritmo di regressione è quello della previsione dei prezzi delle abitazioni in base alle loro dimensioni.
Partendo da un insieme di dati esistenti, l’algoritmo traccia un grafico e rileva la tendenza dei dati per fare una previsione sul prezzo.

ApprendimentoSupervisionato

L’apprendimento non supervisionato

Nell’apprendimento non supervisionato alla macchina non viene fornito un set di dati già strutturato da dove potere trarre esperienze.

Il compito dell’algoritmo sarà invece proprio quello di scovare strutture e modelli nascosti all’interno dei dati forniti.

Un esempio applicato del concetto di apprendimento non supervisionato e degli algoritmi di clustering ce lo fornisce Google News.

Quello che fa quotidianamente Google News è osservare centinaia di migliaia di nuovi contenuti pubblicati e selezionare quelli che sono coerenti fra loro raggruppandoli in un’unica nuova storia.

Come è possibile vedere dall’immagine, Google News ha così raggruppato tutte le notizie riguardanti i possibili candidati alla vincita del pallone d’oro 2014 in un’unica notizia.

ApprendimentoNonSupervisionato

Se hai voglia di approfondire il funzionamento degli algoritmi dell’apprendimento automatico, capire come usarli e quali sono gli strumenti adatti, su Coursera è disponibile il corso sul Marchine Laerning tenuto da Andrew NG, professore associato alla Stanford University.

Altre letture interessanti sono:

L’informatica moderna: DevOps e PaaS

linformatica-moderna-devops-paasIl punto forte del Cloud è quello di essere una piattaforma agile, ma il Cloud di per sé non è sufficiente a rendere agili le aziende.

Adottare queste piattaforme senza però modificare i processi usati tradizionalmente ne annulla i benefici apportati.

Per usufruire al meglio delle possibilità che il Cloud ci offre, le aziende devono avviare un cambiamento adottando una cultura che renda prioritaria la comunicazione tra tutte le parti interessate.

Potrebbe sembrare una cosa scontata, ma non sempre è cosi e vediamo perché.

Il Problema

Nelle aziende che adottano tradizionali metodologie di sviluppo del software esiste di solito un ampio gap tra gli sviluppatori e gli addetti alle operations.
Gli sviluppatori vogliono rapidamente passare dall’idea al codice e alla produzione, gli operations invece richiedono prevedibilità e stabilità.
Le due squadre hanno priorità e obiettivi diversi e se tra i due reparti si innalzerà un muro, ne risulterà solo un aumento della confusione ed un classico rallentamento della produzione.
Ad aggravare ulteriormente le cose, gli ambienti di sviluppo e di test sono spesso diversi dalla produzione, e mancano attrezzature standard per sviluppo, test e produzione.

La somma di tutti questi fattori spesso rende le aziende incapaci di progredire, paralizzandole in una fase di stallo continua.

L’unica soluzione in grado di evitare la paralisi è la comprensione delle conseguenze che l’utilizzo delle vecchie metodologie comporta, per poi abbracciare metodi e strumenti nuovi.

Le conseguenze

Oltre a rovinare il morale della squadra, bloccare progetti importanti e causare problemi finanziari, le conseguenze della paralisi sono molteplici e includono:

  • Imprevedibilità nei processi
  • Distribuzioni inaffidabili
  • Troppo tempo speso per l’identificazione e la risoluzione dei problemi, piuttosto che per rilasciare nuove caratteristiche
  • Aumento dei tempi di rilascio
  • Perdita di clienti

Spostarsi sul Cloud non evita automaticamente queste conseguenze.
Bisogna cambiare innanzitutto la cultura e i processi esistenti.

DevOps and PaaS

Per ottenere il massimo dallo spostamento su Cloud è importante che le aziende adottino la metodologia di sviluppo DevOps.

Si tratta di una metodologia di sviluppo software che punta alla comunicazione, collaborazione e integrazione tra sviluppatori e addetti alle operations, in cui entrambi condividono rischi e benefici di un processo di innovazione rapido.

Le metodologie di sviluppo agili hanno avvicinato gli sviluppatori ai manager e gli analisti aziendali, accontentando le loro richieste attraverso cicli di rilascio rapido.
DevOps avvicina sviluppatori e operations attraverso la collaborazione e la condivisione.

DevOps e le metodologie agili quindi aiutano tutta l’azienda nell’organizzazione del lavoro per soddisfare le esigenze dei clienti.

DevOps represent a change in IT culture that accepts additional risk as a trade-off for rapid IT service delivery through the adoption of agile and lean practices in the context of a systems-oriented approach
Gartner

Secondo Gartner, l’obiettivo generale di DevOps è quello di migliorare il valore del lavoro svolto dall’IT. Questo avviene attraverso il cambiamento culturale che allinea gli obiettivi di tutti i soggetti interessati in un’organizzazione.

Molte organizzazioni però si avvicinano a DevOps solo da un punto di vista culturale ignorando gli strumenti. Anche questo tipo di approccio ha benefici limitati. DevOps non è solo cultura o solo strumenti ma entrambe le cose.

DevOps è il modo in cui le aziende cambiano la propria strategia di sviluppo e adottano gli strumenti giusti per essa, così da centrare gli obiettivi in maniera continuativa.
Non c’è alcun beneficio nel cambiare metodologia se poi gli strumenti in possesso sono antiquati, e nel contempo usare strumenti moderni non cambia automaticamente la cultura aziendale.

In genere, gli strumenti giusti per DevOps sul Cloud sono IaaS e PaaS.
PaaS è una scelta migliore di IaaS per massimizzare i benefici della metodologia di sviluppo DevOps, dal momento che fornisce ambienti di sviluppo, produzione e test uniformi.
L’uniformità della piattaforma riduce i rischi e l’impatto delle configurazioni differenti, ottimizzando i benefici di DevOps.

Il Cloud computing consente inoltre agli sviluppatori di creare applicazioni moderne che utilizzano un modello distribuito o un Framework di Microservices, cioè un modello secondo il quale si dividono le grandi applicazioni in una serie di servizi minori, eliminando del tutto la problematica delle applicazioni monolitiche.

Principali Vantaggi di PaaS e DevOps:

  • Ottimizzazione dei processi dallo sviluppo alla produzione. Non si tratta più di aspettare settimane, mesi o anni per passare dall’idea alla produzione, ma tutto avviene in poco tempo.
  • Le aziende consegnano più velocemente il software, superando le aspettative dei clienti e aumentando così la fidelizzazione degli stessi.
  • Implementazione di codice più veloce. Gli errori sono notevolmente ridotti e rilevati rapidamente.
  • Combinazione di PaaS (strumenti) e DevOps (cultura) riduce i costi operativi, liberando risorse per i nuovi progetti.

In sintesi:

Il Cloud computing offre agilità e vantaggi competitivi alle imprese.
Per ottimizzare i benefici del Cloud, le aziende devono abbracciare DevOps e strumenti moderni come PaaS.
Qualsiasi azienda che vuole modernizzare la propria infrastruttura IT deve includere DevOps e PaaS come elementi base nella sua strategia.

Per saperne di più:

Quando tutto è connesso: i sistemi distribuiti

SistemiDisitribuiti«Come gestiamo sistemi troppo grandi e complessi per essere compresi e controllati, e che falliscono in modo inatteso?» Tweet this

Una notizia di non molti giorni fa è che il tribunale di Oklahoma City ha condannato la Toyota a risarcire un cliente perché secondo quanto è emerso dalle indagini l’incidente in cui si è trovato coinvolto è stato provocato da un bug del software dell’auto.
Ciò che colpisce è che una giuria per la prima volta abbia sottolineato come un bug possa causare non soltanto dei piccoli problemi o dei gravi danni finanziari, ma addirittura essere responsabile di una vita umana.
Come dovremmo valutare l’accaduto se da un semplice bug di un auto cominciassimo a riflettere sulla complessità di un mondo che si avvia ad un estrema automatizzazione, all’internet delle cose?

Consideriamo ad esempio il progetto di Google, ormai già in fase avanzata di prototipo, delle auto che si guidano da sole.
Queste auto si suppone siano intrinsecamente più sicure rispetto a quelle attuali, dal momento che viene eliminata la variabile dell’errore umano.

Ma cosa succede se il sistema che governa l’auto va completamente in blocco, se all’improvviso si smette di ricevere i dati sui semafori o se il navigatore dice all’auto di gettarsi giù da un ponte?

Lo sviluppo dei software ha raggiunto uno stadio di complessità in cui non è possibile controllarne tutti gli aspetti, quindi come facciamo a gestire sistemi troppo grandi per essere compresi completamente, troppo complessi da controllare e che spesso falliscono in modo imprevedibile?

Comprendere il fallimento

Come ci spiega la teoria sul calcolo distribuito, i sistemi distribuiti falliscono spesso e quando lo fanno questo non avviene mai per il fallimento di tutto il sistema, ma solo di alcuni dei suoi molteplici componenti.
Questi errori oltre a essere difficilmente diagnosticabili e prevedibili non sono facilmente riproducibili per eseguire dei test.
La soluzione al problema non può essere unica, è possibile aumentare i test di rilascio o l’integrazione continua, ma non basta.

Occorre ammettere che malfunzionamenti del software come accaduto alla Toyota si possono verificare facilmente, che i nostri sistemi possono fallire in molte maniere inaspettate. Ciò che va cambiato è il nostro modo di pensare ai sistemi che costruiamo e a quelli che già adoperiamo.

Pensare globalmente

Siamo passati dallo sviluppare codice destinato ad essere eseguito su singoli pc a software distribuiti in cloud, che è come un sistema vivente in continua evoluzione.
Dobbiamo partire dal presupposto che il sistema su cui gira il nostro codice sicuramente fallirà in qualche punto e dobbiamo adattare il nostro modo di scrivere codice cercando di immaginare come e dove potrà fallire.
In un ambiente in cui non è possibile prevedere i bug e testare ogni singolo aspetto dei sistemi che creiamo, il continuo monitoraggio dell’applicazione rappresenta l’unico modo per cercare di evitare e se possibile prevedere malfunzionamenti.

I Dati come lingua

Analizzare i dati post problema per cercarne la causa non è un buon modo di procedere in un ambiente distribuito, nel quale i bug spesso non sono riproducibili ma sono dovuti ad una serie di micro cause. Non è così che possiamo raggiungere l’obiettivo.
Chi fa codice deve monitorare continuamente attraverso i dati l’andamento dell’applicazione con lo scopo di creare un sistema che si allerti e ci informi immediatamente al presentarsi del problema.

Il fattore umano

Siamo parti integranti dei sistemi che costruiamo e adoperiamo, e ne influenziamo profondamente il funzionamento.
Condizionati da una cultura poco incline al rischio, nel tentativo di evitare malfunzionamenti cerchiamo di creare sistemi dei quali abbiamo il massimo controllo, inserendo righe su righe di codice che però li appesantiscono, li rendono poco robusti e invece di proteggerli fanno aumentare le possibilità di ulteriori errori.

Quando questo accade si parte all’affannosa ricerca del colpevole, della causa scatenante e di un modo per evitare che si ripeta di nuovo il problema.
Di solito però questo si traduce in altri controlli che rendono il sistema via via sempre più fragile.
La verità è sempre la stessa: che non c’è una ragione sola perché i sistemi falliscono, ma una serie di micro cause ne producono il crollo.
Gli strumenti e le metodologie che abbiamo adoperato fino a poco tempo fa si sono sgretolate e vanno quindi ricercati nuovi modelli per la creazione, la distribuzione e la manutenzione del software.

Per saperne di più: Everything is distributed

L’Economia degli Algoritmi, le formule Facebook e Amazon

L'economia degli algoritmi

Uno dei più grandi cambiamenti che la diffusione di internet ha apportato alla nostra società è il modo in cui cerchiamo notizie e prodotti.
Abbiamo abbandonato quella dimensione limitata nella quale tutto avveniva intorno a noi, dall’edicola sotto casa dove acquistavamo il giornale locale ai negozianti di fiducia che conoscevano persino i nostri gusti, per passare ad una dimensione globale dove portali come Facebook, Twitter e Google News ci consegnano notizie da ogni angolo del pianeta e Amazon, il negozio dove trovi tutto, fa impallidire anche un grande centro commerciale che al confronto si è ridotto ad una piccola bottega.

Siamo insomma passati da una quantità estremamente limitata di notizie e prodotti ad una tale sovrabbondanza che è diventato un problema riuscire a fare una scelta.

Ecco perché i grandi portali come Facebook e Amazon per fornire le giuste informazioni o prodotti ad un utente che ha accesso a questa enorme quantità di dati devono affidarsi agli algoritmi.

I monopoli digitali

Gli algoritmi, quei semplici pezzi di codice deputati a risolvere un problema, sono destinati ormai ad esercitare sempre più un peso e a plasmare la nostra cultura e la nostra società.

Facebook e Amazon rivestono un ruolo di monopolio digitale su informazioni e acquisti, e l’economia, la cultura e il nostro stile di vita sono quindi profondamente condizionati dal funzionamento dei loro algoritmi che ci suggeriscono cosa è importante sapere o cosa è meglio comprare.

Il problema di abbondanza di dati che devono risolvere i rispettivi algoritmi è però ben diverso: Facebook deve selezionare tra circa 1500 contenuti al giorno, quelli che ci potrebbero maggiormente interessare; Amazon invece deve cercare di fornire un’esperienza di shopping senza fine abbinando al prodotto che stiamo comprando o abbiamo comprato un altro tra i milioni contenuti nel suo deposito.

Lo scopo dell’algoritmo News Feed di Facebook è di fornire il giusto contenuto alle persone giuste al momento giusto. Non ci è dato sapere il suo funzionamento in maniera precisa, ma con un po’ di reverse engineering è facile intuire che il motore di intelligenza artificiale di Facebook si basa principalmente sulle nostre azioni, i ‘mi piace’, le condivisioni o i click sui contenuti.

Tutto quello che facciamo viene registrato ed elaborato per essere poi usato nelle successive visualizzazioni delle notizie. Ai dati generati dal nostro comportamento all’interno della piattaforma l’algoritmo aggiunge i contenuti provenienti dalle inserzioni a pagamento di aziende o privati.

L’algoritmo di raccomandazione di Amazon invece cambia completamente in base al profilo del cliente ed ha un compito più arduo rispetto a quello di Facebook, ovvero riuscire a fornire suggerimenti personalizzati ad ogni potenziale cliente su milioni di prodotti presenti nel proprio magazzino in circa mezzo secondo.

Il motore che si occupa di fornire i suggerimenti per gli acquisti utilizza l’item-to-item collaborative filtering, un algoritmo che invece di sfruttare la similitudine dei clienti e quindi proporci articoli che altri utenti dal profilo simile al nostro hanno acquistato, costruisce l’elenco dei prodotti da suggerire in base a quelli che gli altri clienti tendono ad acquistare insieme a quello da noi scelto.

Questi algoritmi usano formule opposte ma risolvono il problema comune a Facebook e Amazon di operare una selezione tra l’abbondanza di dati.

I loro punti di forza sono chiari ma sono chiari anche i loro punti di debolezza.

Facebook conosce meglio le persone ma non conosce realmente cosa piace ad esse, i like possono dare l’idea di funzionare come le recensioni ma non sono affidabili allo stesso modo.

Come Tony Haile CEO di Chartbeat ci racconta sul Time, click, condivisioni e attenzione non sono esattamente la stessa cosa e molte persone potrebbero non avere neanche letto il contenuto sul quale hanno messo il like.

Amazon d’altro canto conosce meglio e in modo più affidabile i prodotti che piacciono alle persone grazie alle recensioni, ma vorrebbe saperne di più sugli utenti.

I due sistemi dovrebbero essere integrati per aiutarsi reciprocamente a superare i propri limiti.

Il funzionamento degli algoritmi di Facebook può scatenarci una certa inquietudine per l’eccessiva invadenza nella nostra vita privata, mentre nel caso di Amazon può non produrre i risultati sperati visto che molti utenti lamentano suggerimenti troppo robotici.

Nella nostra che è l’era degli algoritmi, non dobbiamo sorprenderci o sentirci violati nella nostra privacy da queste considerazioni, e lo scenario non dovrebbe sembrarci più così inquietante.

Come racconta Bruce Sterling a Giuseppe Granieri si tratta solo di nuove tecnologie: “Probabilmente non useremo più il termine “privacy”. Inventeremo politicamente una parola nuova che sarà coerente con la situazione attuale della tecnologia”.

Per poter funzionare al meglio e soddisfare al meglio le nostre esigenze di utenti, gli algoritmi hanno bisogno di conoscere i nostri gusti, come viviamo, quello che compriamo, e instaurare con noi un rapporto più confidenziale, e tutto dovrebbe accadere in maniera naturale come è sempre accaduto con il nostro negoziante di fiducia che conosce i nostri gusti e il nostro nome.

Per saperne di più: The Algorithm Economy: Inside the Formulas of Facebook and Amazon

6 consigli per velocizzare il tuo sito

speedIl tempo di caricamento di un sito è un fattore molto importante per l’esperienza di navigazione dell’utente e non solo.
Ad oggi, dato che può sembrare incredibile, circa il 55% dei siti web risultano pesanti o lenti e questo significa che più della metà dei siti esistenti non si sono mai posti il problema di quanto sia performante il loro sito e di conseguenza non si sono mai preoccupati dell’esperienza di navigazione offerta agli utenti.

Secondo una ricerca effettuata da Kissmetric un solo secondo di ritardo nel caricamento di una pagina produce una serie di effetti negativi tra i quali la riduzione delle visite del 10% e un’opinione negativa di circa il 40% dei visitatori, senza contare che queste statistiche non si occupano della lettura sui dispositivi mobili per i quali risulta che solo il 28% ha un sito pienamente responsivo.
Se i secondi di attesa passano a 3 il 57% dei visitatori potrebbe abbandonare il sito, si tratta quindi di un fattore cruciale per un sito web.

Controlliamo lo stato del nostro sito

Per controllare lo stato del nostro sito possiamo usare Google PageSpeed Insights, un tool che oltre ad analizzare il nostro sito ci dà anche una serie di consigli utili su come risolvere i problemi riscontrati nell’analisi.

6 Consigli per velocizzare il caricamento della pagina

Ottimizzare la cache
Tutti i siti hanno una serie di risorse statiche che non cambiano mai, CSS, JavaScript, immagini, tutti elementi che possono impiegare del tempo a caricarsi.
Ottimizzare tramite il web server la cache per gli elementi statici migliora di sicuro le performance del sito, e ancora una volta Google ci viene in aiuto con una serie di best practice su come usare la cache.

Ridurre il numero di round-trip verso il server
Il round trip è il tempo che impiega un pacchetto a viaggiare tra client e server ed è un fattore rilevante nel tempo di risposta, quindi quanto più è alto il numero dei pacchetti necessari per visualizzare la pagina che si muoveranno avanti e indietro tra il browser e il web server maggiore sarà il tempo di caricamento della pagina.
Ci sono una serie di accorgimenti che possiamo adoperare per ridurre al minimo indispensabile il numero dei round-trip, evitando ad esempio i redirect di pagina non necessari come quelli per tracciare la pagine visitate o i comportamenti degli utenti, oppure riducendo il peso e il numero dei file CSS e JavaScript tramite gli strumenti di minimizzazione o ancora caricando le risorse in maniera asincrona e parallelizzando i download dove possibile.
Anche il numero di immagini presenti nella pagina ha un impatto notevole nella performance del nostro sito. Tecniche come CSS Sprites ci permettono di raggruppare all’interno di un unico file le diverse immagini che dobbiamo mostrare nelle pagine ed estrarle in seguito tramite CSS.
Dobbiamo evitare inoltre quando possibile di usare funzioni per caricare contenuti esterni che aumentano il tempo di caricamento di una pagina come document.write(), mentre possiamo invece elencare le risorse esterne all’interno dell’Header HTML o usare un semplice iframe.

Controllo del peso
Nell’ottica di ridurre gli sprechi per velocizzare il tempo di risposta va tenuta sotto controllo la dimensione della richiesta che inviamo al server cercando di non eccedere i 1500 byte. Dobbiamo quindi evitare di usare i cookie come fossero tabelle di un database eliminando i campi non usati o non necessari.
Si può inoltre velocizzare il caricamento di file e risorse statiche attraverso un dominio o una CDN che non necessita di cookie, evitando in questo modo di inviare il cookie per accedere ad una risorsa che non necessita di tale informazione.

Pubblicità
Non bisogna eccedere col numero di annunci pubblicitari sul sito poiché ognuno di essi costa tempo e velocità.

Pulsanti Social
Indispensabili al giorno d’oggi per avere un sito che sia media friendly, i Pulsanti Social rappresentano comunque un tempo aggiuntivo di caricamento per la pagina. Troppi pulsanti di condivisione posso inoltre rendere il sito poco sociale come spiega questo post, quindi meglio pochi ma buoni.

Rich Media
Immagini e video di alta qualità possono essere un’ottima scelta per un sito ma anche rivelarsi una trappola rendendo la pagina pesante e lenta.
Dobbiamo fare attenzione, oltre ovviamente alla quantità, anche al formato che utilizziamo, è inutile ad esempio utilizzare un formato in alta definizione per immagini di piccole dimensioni.

Questi consigli sono solo una piccola parte di quello che possiamo fare per rendere il nostro sito più performante, ma vale la pena cominciare.

Per approfondire: What Makes Your Website Slow? 6 Ways To Optimize Page Load Speed

Author Rank, il dibattito continua

author-rankL’Author Rank, il processo tramite il quale Google assegna un punteggio ad un autore e lo usa per posizionare i suoi contenuti nei risultati di ricerca, continua da un paio d’anni ad animare le discussioni nelle community SEO.

In una recente videoconferenza su Hangouts due esperti del settore Mark Traphagen e Eric Enge hanno spiegato perché dal loro punto di vista l’Author Rank o qualsiasi altra sua variante non sono al momento attivi o quantomeno non influenzano i risultati delle ricerche, ma sono ancora molte le domande a cui rispondere e numerosi gli spunti di riflessione della videoconferenza.

Rand Fishkin e l’Author Rank

Durante la videoconferenza Mark Traphagen ha citato un recente articolo di Rand Fishkin che illustra la possibilità che l’Authorship o l’Author Rank influenzino i risultati di ricerca.
Craig Addyman ha pubblicato sul suo blog un’intervista a Rand Fishkin senza assegnarne la paternità tramite il tag di Authoriship, che si è classificata nei risultati di ricerca di Google tra la nona e dodicesima posizione per diversi mesi. Quando invece Craig Addyman ha aggiunto il markup di Authorship di Rand Fishkin all’articolo del blog, eccolo balzare in prima posizione nei risultati di ricerca.
Cos’è successo? Non si era detto che l’Authorship non influenza i risultati di ricerca? Ha commentato Rand Fishkin.

L’inserimento dell’autore del contenuto nell’intervista ha avuto un forte impatto sui risultati di ricerca. Ma non è tanto la mera esistenza del tag di paternità ad aver influenzato i risultati di ricerca altrimenti il discorso potrebbe valere per chiunque, ma l’autore che è rappresentato da quel tag è stato determinante, e questo ci spinge a pensare all’Author Rank piuttosto che all’Authorship.
Rand Fishkin è sicuramente un esperto del campo con una quantità enorme di contenuti pubblicati che ricevono frequenti condivisioni e apprezzamenti, e questi sono tutti elementi utili per la creazione dell’Author Rank.

Mark Traphagen però respinge questa teoria indicando altre soluzioni, sostenendo ad esempio che per Google l’intervista a Rand Fishkin meritasse di per sé un punteggio molto alto. Ma anche da questa spiegazione a ben vedere ne consegue che Google assegna un punteggio a Rand Fishkin come autore.

Pertinenza e affidabilità

Matt Cutt a capo del team antispam di Google ci dice che sono essenzialmente due i principali fattori che influenzano il posizionamento nei risultati di ricerca.
Il primo è la pertinenza. Il contenuto deve essere rilevante per la query di ricerca.
Il secondo è la reputazione o affidabilità. In passato questo fattore era spesso determinato essenzialmente dal Page Rank. Se il contenuto è su di una pagina web che ha un Page Rank alto, e sembra essere il più rilevante per la query di ricerca, Google può avere una certa sicurezza che il contenuto sia di qualità e posizionarlo tra i primi risultati di ricerca.

Tornando quindi all’esempio di Rand Fishkin, il contenuto non è cambiato, quello che è cambiato con l’aggiunta del markup di Authorship è stato il fattore affidabilità, qualcosa che ha dato a Google la fiducia necessaria per posizionare al primo posto nei risultati di ricerca l’intervista. Quel qualcosa potrebbe facilmente essere l’Author Rank.

Semplicità vs Complessità

Sempre durante la videoconferenza, Eric Enge diffidando dell’esistenza dell’Author Rank afferma che non sarebbe plausibile un uso di questo tipo di metrica dal momento che pochi autori esperti hanno inserito il tag di Authorship nei propri contenuti e che non sarebbe giusto per un autore esperto essere scavalcato da un altro non esperto solo per aver abilitato l’Authorship nel proprio blog.

Forse si pensa all’Author Rank come ad un qualcosa di più complicato di quanto alla fine potrebbe essere. Se guardiamo ai due fattori base dell’algoritmo di ranking ovviamente l’Author Rank ricade sempre in quello dell’affidabilità.
L’Author Rank non va interpretato come una classifica fra gli autori, va invece letto come una sorta di punteggio di affidabilità per il contenuto specifico che a sua volta deve essere rilevante per la query di ricerca.

Google deve fidarsi di un contenuto per poterlo portare in cima ai risultati di ricerca. Questa fiducia può derivare dal Page Rank o in alternativa l’Author Rank potrebbe essere l’unico strumento per garantire un punteggio di affidabilità al contenuto.
L’Author Rank non sconvolge i risultati di ricerca perché viene applicato ai contenuti risultanti dalla query di ricerca. Solo un contenuto limitato sarà la risposta esatta alla query. Con dieci risultati di ricerca per pagina c’è spazio sia per l’esperto senza paternità sui contenuti che per quelli con alto valore di Author Rank.

Author Rank, perché?

Il principale obiettivo di Google è sempre quello di mostrare i migliori contenuti, quelli più rilevanti e affidabili, e delegare questo compito solo al Page Rank può non sempre essere sufficiente a centrare l’obiettivo prefissato, visti i problemi con i link acquistati, ad esempio, che permettono ad un sito meno autorevole di comparire più in alto di uno autorevole.

Individuare e dare un punteggio agli autori può offrire un vantaggio e contribuire alla risoluzione del problema.

Per saperne di più: Author Rank – The Debate Continues

Connected Living: il futuro dopo Facebook

connected_livingSarwant Singh, futurista ed esperto nel settore dei trasporti, ci descrive la sua visione del mondo che verrà: il Connected Living.

La nostra casa, il luogo di lavoro e la città saranno tutti connessi fra loro attraverso una moltitudine di dispositivi intelligenti che ci permetteranno di accedere ai nostri dati dovunque ci troviamo e in qualunque momento. Questa enorme rete intelligente sarà l‘estensione digitale della nostra esistenza, porterà una serie di cambiamenti nello stile di vita del singolo individuo e nel modello collaborativo del lavoro.
Concetti come lavoro flessibile, zero vacanze (nel senso che si va in ferie quando si vuole) diventeranno la normalità. Cambierà il nostro modo di lavorare, si passerà dal lavoro in ufficio con sede in un luogo ben preciso ed orari prestabiliti, ad un lavoro senza luogo e senza tempo al quale accederemo tramite i servizi cloud.
I primi passi verso questo concetto cominciano già a vedersi. È notizia di questi giorni ad esempio l’intenzione di BMW di rivoluzionare il concetto delle ore di lavoro inserendo nel conteggio anche il tempo speso dai dipendenti fuori dall’azienda per rispondere a mail o sms.

Per capire meglio lo scenario che delinea Sarwant Singh proviamo ad immaginare ad esempio un classico lunedì mattina nel 2025.
Leyla, la nostra assistente personale digitale, dopo essersi sincronizzata con il mondo esterno tramite Google Connect che la allerta di code lungo il nostro tragitto abituale, ci informa che è ora di alzarci. Nel momento in cui ci muoviamo in casa tutto funziona in maniera sincronizzata e intelligente, il frigo ci avverte di comperare il latte, il caffè è pronto in cucina, il bucato fatto e la nostra auto elettrica si è auto aggiornata tramite il cloud. Entriamo in bagno, ci avviamo verso la doccia e lo specchio ci ricorda il programma della giornata, quello che dobbiamo mangiare e di non dimenticare la pillola della pressione come ha comunicato il sensore innestato nella cintura di sicurezza. Mentre ci avviamo verso l’auto, la casa si chiude, il riscaldamento si spegne e la playlist che poco fa ascoltavamo in casa riprende in auto dallo stesso brano.
Ed è solo uno dei possibili scenari che ci aspettano, quando tutto quello che è intorno a noi sarà collegato in rete.

Internet of things produrrà enormi possibilità di crescita. Secondo uno studio di Frost & Sullivan il valore di mercato della connessione delle città, case e uffici si aggira attorno ai 730 miliardi di dollari, portando nuova concorrenza sul mercato e diversi tipi di soluzioni. Google e il suo termometro intelligente Nest ad esempio è una soluzione con singola funzionalità, può essere collegato a dei sensori per controllare la temperatura di una stanza.
Altre società stanno entrando nel mercato attraverso partnership, Fitbit ad esempio produce dispositivi indossabili per monitorare l’attività fisica, oltre a questa funzionalità il dispositivo ideato da Fitbit invia notifiche su come integrare la nostra dieta a Ocado, un supermercato online, facendo in pratica la spesa al posto nostro.
Deutsche Telekom, eQ-3, Miele e Samsung hanno invece deciso di unire le loro esperienze e creare una piattaforma comune per realizzare una rete tra i vari dispositivi in casa, dal televisore alla lavatrice.
Il Connecting Living sarà possibile solo quando le amministrazioni centrali e locali saranno dotate di servizi elettronici, le città connesse così come i servizi di trasporto, integrando tutti i diversi aspetti della nostra vita in un’esperienza piacevole e completa di esistenza connessa.

Per saperne di più: Connected Living: The Next Big Thing After Facebook

Il potere degli algoritmi: come il software plasma la cultura

algorithmDa quando internet ha varcato il confine dei PC insinuandosi in ogni aspetto della nostra vita quotidiana tutto quello che facciamo è sempre più condizionato dagli strumenti della rete.
I meccanismi di interazione sono stati modificati così come è stato influenzato il nostro modo di prendere decisioni e di ricercare informazioni.
La grossa mole di informazioni prodotta dalla costante interazione con la rete è gestita dagli algoritmi. Per comprendere in che modo la nostra cultura ne è plasmata occorre osservare l’algoritmo da un punto di vista meno tecnico e più umanistico.

L’algoritmo

La parola algoritmo nasce in Persia e in un primo momento indica le regole da osservare per eseguire operazioni algebriche con i numeri arabi. Solo in seguito acquisisce il significato attuale designando una serie di istruzioni applicate ad un dato in ingresso e che tramite un numero definito di passaggi produce un dato in uscita. In pratica, uno strumento che ci permette di eseguire calcoli e elaborare dati in maniera automatica.

È Charles Babbage il primo a teorizzare l’uso degli algoritmi per l’automazione, ipotizzando che tutti i processi possano essere suddivisi in semplici operazioni, indipendentemente dal problema oggetto di studio. Anche se Babbage riesce a mettere in pratica le sue idee progettando il motore differenziale e Ada Lovelace crea il primo algoritmo per la sua macchina analitica, è con Alan Turing e la sua macchina nel 1937 che è formalizzato il concetto di algoritmo così come lo conosciamo.

Tuttavia è a cavallo degli anni ‘90 che l’algoritmo inizia ad entrare in maniera pervasiva nella nostra cultura. La nascita del web e la sua diffusione rende possibile l’interazione degli algoritmi, dando vita infine a quello che Pierre Lévy chiama il mezzo algoritmico, lo strumento attraverso il quale l’intelligenza collettiva tramite la rete modifica il nostro contesto culturale.

Il software e la cultura

Gli algoritmi sono ovunque e sono indispensabili, li incontriamo a Wall Street dove vengono utilizzati per prevedere l’andamento del mercato, l’algoritmo di Treding ad esempio gestisce in automatico il 65% delle operazioni.
Ma gli algoritmi che influenzano maggiormente il contesto culturale sono quelli delle piattaforme di social networking o social media in genere.
Tutte le azioni che facciamo attraverso queste piattaforme generano un flusso di informazioni volto a modificare l’enorme mole di dati connessi fra loro, e in maniera più sottile il ricordo collettivo di un’informazione. Questo significa che le nostre azioni alterano il mezzo nel momento stesso in cui lo usiamo (Stigmergia).

Qualsiasi informazione che generiamo sui social media, scrivendo un post, condividendo un link, un like ad una foto o un tweet vengono registrate all’interno di strutture dati, elaborate e usate per informare altri utenti.
Un esempio può essere l’algoritmo di EdgeRank di Facebook che elabora i nostri interessi, i nostri like, le nostre relazioni, gli amici in comune di chi pubblica una notizia, in modo da privilegiare quei contenuti che secondo l’elaborazione dell’algoritmo ci potrebbero interessare.
Gli algoritmi ci aiutano a navigare attraverso l’enorme quantità di informazioni presenti in rete, acquisiscono informazioni generate individualmente e le elaborano perché siano fruite in maniera collettiva.
Ma quando questi algoritmi che elaborano informazioni, ricostruiscono relazioni e connessioni ci suggeriscono le cose che ci piacciono e generano altre relazioni, finiscono per plasmare il nostro contesto culturale e la nostra identità.

L’uso della tecnologia di Intelligenza Artificiale sta inoltre aumentando capacità e ambiti dell’algoritmo. Hummingbird, l’algoritmo semantico di Google che si basa sull’elaborazione del linguaggio naturale, può esserne un esempio, così come l’obiettivo che si è posto Mark Zukenberg di comprendere il mondo analizzando il linguaggio dei post condivisi su Facebook.

Considerando quindi il peso che hanno e continueranno ad avere gli algoritmi nella nostra vita quotidiana, dal momento che non sono utilizzati solo per analizzare dati ma anche per prendere decisioni, ci si può domandare se sia lecito accettare decisioni prese in maniera automatica da algoritmi di cui non è possibile verificare la trasparenza né discutere la neutralità dei processi che vengono applicati ai dati.

Proprio perché influenzano pesantemente il flusso di informazioni, i processi devono essere resi comprensibili al di fuori della sfera strettamente informatica, in modo che tutti possano partecipare alle discussioni su come affrontare i problemi e come risolverli in maniera algoritmica.

Per saperne di più: The Power Of Algorithms: How Software Formats The Culture

Innovazione: una lezione di Jazz per le aziende

jazz

In un mondo in cui l’innovazione è continua, la pianificazione strategica è diventata una tattica poco agile e sostenibile. Le aziende dovrebbero servirsi di un approccio più adattivo e il jazz può essere d’esempio da molti punti di vista.

Il jazz incentiva caratteristiche come creatività, fantasia e improvvisazione, qualità che nelle aziende di solito sono scoraggiate a favore di un piano di azione prestabilito. Le jazz band inoltre hanno una struttura fluida e poco gerarchica comparata al classico modello organizzativo aziendale dove le istruzioni sul da farsi arrivano dall’alto. Nella band i musicisti si aiutano e motivano a vicenda, improvvisando, ma con sempre chiaro in mente l’obiettivo da perseguire.

Gli insegnamenti che le aziende possono trarre dal jazz

Preparazione non Pianificazione
I musicisti jazz nel corso degli anni continuano ad esercitarsi molto, sia per acquisire nuove tecniche che per migliorare quelle esistenti. Questo continuo esercizio per raggiungere la perfezione dà loro la possibilità di non dovere pianificare e grazie alla loro preparazione sono in grado di prendere decisioni estemporanee che meglio si adattino alla situazione.

Il ruoli e gli errori
Anche i gruppi Jazz hanno i loro leader, ma il concetto di ruolo e di autorità ha un valore relativo rispetto alla capacità di ascoltare e alla sensibilità dell’artista. Anche il concetto di errore viene gestito diversamente dai musicisti e se uno di loro manca una nota gli altri sfruttano l’occasione per creare qualcosa di nuovo.

Il Focus sugli obiettivi
Anche se la caratteristica principale del jazz è l’improvvisazione ed ogni artista della band crea le proprie melodie e i propri fraseggi, l’esecuzione non è anarchica, ogni artista è consapevole dell’obiettivo collettivo da raggiungere. Per poter lavorare con passione, impegno, adattarsi e improvvisare, il team deve sempre avere ben chiara la meta da conseguire.

Altri interessanti spunti di riflessione offerti dal jazz riguardano la gestione del team.

La valorizzazione di ogni membro della squadra
Durante il concerto a turno ogni artista esegue un assolo in modo che il pubblico possa apprezzare la sua bravura, inoltre il leader presenta più volte gli artisti della band nel corso dell’esibizione. Questi criteri andrebbero applicati nel mondo del lavoro perché sono ottimi metodi per motivare la squadra mettendo in risalto il lavoro fatto da ogni membro del team.

La pausa durante il lavoro
Non tutti gli artisti eseguono ogni brano durante il concerto, non tutti i brani sono uguali e necessitano degli stessi strumenti. Questo permette agli artisti di ricaricarsi per l’esibizione successiva e lasciare che siano messi in luce i compagni rimasti a suonare. Allo stesso modo le aziende dovrebbero incentivare il riposo durante la giornata di lavoro per aumentare resistenza, benessere e creatività del team.

Impegno e Divertimento
La combinazione fra impegno e divertimento rende le prestazioni dei musicisti impeccabili. Un esempio che ognuno di noi dovrebbe seguire è impegnarsi con convinzione e passione nell’obiettivo che ci prefissiamo cercando anche di trarne divertimento.

Il suggerimento principale che ci dà il jazz sull’innovazione è chiaro: il ruolo di un manager non è più pianificare e supervisionare le azioni, ma sviluppare e infondere valori. Se gli obiettivi sono chiari e il team è preparato e consapevole, l’improvvisazione e l’adattamento diventano sicuramente possibili.

Creating a ‘hit’ out of the odd-meter experiments of Time Out was the farthest thing from our minds.
Dave Brubeck

Per saperne di più:

3 Requisiti Essenziali Di Un Sito Web Nel 2014

webdesign_2014L’innovazione nel mondo del web design così come in quello del marketing digitale è strettamente correlata alla diffusione delle nuove tecnologie e di nuovi dispositivi.

Le aziende che vogliono avere una presenza in rete per raggiungere un’audience quanto più vasta è possibile, devono quindi adattarsi in maniera celere ai continui cambiamenti che l’innovazione tecnologica produce.

Al giorno d’oggi, ad esempio, sempre più persone scelgono di accedere ad internet attraverso i dispositivi mobili e questo trend si presuppone continuerà negli anni a venire.

3 requisiti essenziali di web design che un sito deve avere nel 2014:
  1. Design mobile-friendly
    Come ci mostrano le statistiche, gli accessi da dispositivi mobili sono in continuo aumento quindi è d’obbligo avere un sito progettato per essere mobile-friendly.
    Una delle tecniche più utilizzate di recente per disegnare un sito con queste caratteristiche è il Responsive Web Design che tramite Framework come Bootstrap ci permette di creare siti web che si adattino a tutti i tipi di dispositivi.
    Oltre questo aspetto tecnico ce ne sono altri ugualmente importanti che vanno considerati:
    1. Il testo
      La visibilità di un testo su un piccolo schermo non è ottimale, la dimensione del carattere deve essere quindi abbastanza grande da permettere un’agevole lettura.
    2. Design
      I dispositivi mobili quando non sono connessi ad una rete Wi-Fi spesso non hanno una velocità di accesso alla rete elevata. Creare un design leggero senza inutili accessori e immagini superflue sicuramente farà in modo che il nostro sito sia caricato più velocemente.
    3. Video
      Secondo il report di ByteMobile i video visti dai dispositivi mobili oscillano dal 50% fino ad arrivare al 69% su alcune reti.
      Il problema di avere video visibili su tutti i dispositivi lo risolve HTLM5 che soppianta il vecchio flash.
  2. Design orientato al SEO
    Il tempo di caricamento del nostro sito è un elemento importante da considerare per il SEO ed è fortemente condizionato dalle scelte fatte in fase di design.
    Dobbiamo quindi selezionare con attenzione quanti e quali elementi vogliamo inserire nelle nostre pagine. Aggiungere troppi componenti o animazioni può peggiorare le prestazioni del nostro sito e di riflesso la nostra indicizzazione nei motori di ricerca.
    Anche la qualità del codice e la scrittura dei nostri meta tag rivestono un aspetto importante sia per l’indicizzazione che per usufruire a pieno delle potenzialità di condivisione dei social network.
    Su The Moz Blog troviamo The Web Developer’s SEO Cheat Sheet 2.0, una guida che illustra gli aspetti fondamentali del SEO e della quale è disponibile anche una versione in pdf.
  3. Lo Storytelling aziendale
    Raccontare la nostra storia, quali sono le cose che proponiamo e il perché, sono fattori di primaria importanza. Chi cerca informazioni o prodotti  tende ad abbandonare il sito se non comprende bene chi siamo e cosa facciamo.
    Vediamo le 4 sezioni che dovrebbero essere presenti nel nostro sito per raccontare di noi e delle nostre competenze.
    1. Blog
      Il content marketing è un ottimo sistema per aumentare contatti e relazioni attraverso la realizzazione di contenuti di qualità.
      Fornendo agli utenti sempre più pagine da consultare si stabilisce nel tempo un rapporto di fiducia facilitando il salto da utente a cliente.
    2. Servizi
      Per essere affidabili e attendibili agli occhi di un potenziale cliente è utile fornire una sezione che spieghi in modo semplice qual è la nostra competenza e quali servizi vengono offerti.
    3. Chi siamo
      Le persone fanno affari con le persone non con i siti, chi è interessato ai nostri servizi vuole sapere chi siamo per potersi fidare, difatti molto spesso la pagina più visitata di un sito è proprio l’About.
      E’ utile dare un volto all’azienda e per farlo ad esempio si possono elencare tutti i componenti della squadra con le loro foto e i link ai loro profili sui social network.
    4. Contatti
      Questa pagina deve essere semplice senza troppe distrazioni, il suo solo scopo è fornire i nostri recapiti a chi vuole entrare in contatto con noi.

Per saperne di più: 3 Must-Have Qualities of an Effective Website in 2014