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:

Il Ruolo delle Emozioni nei Contenuti Virali, tra Scienza e Mistero

IlRuoloDelleEmozioniNeiContenutiViraliI contenuti virali hanno uno straordinario potere nel mondo dei social media.
Articoli o immagini praticamente a costo zero riescono ad avere una visibilità enorme raggiungendo milioni di persone.

Chiunque si occupi di marketing nel mondo oramai li considera il santo Graal, e molti studiosi cercano di capire quali sono le caratteristiche che rendono virali i contenuti e perché alcuni diventano più popolari di altri.

 

Gli studi

Nell’articolo “cosa rende virali i contenuti online” pubblicato sul Journal of Marketing Research, Berger e Milkman hanno studiato il legame da un punto di vista emozionale tra utenti e contenuti e hanno scoperto che la popolarità di un contenuto è fortemente influenzata dal livello di eccitazione emotiva che riesce a generare.

Più alto è il livello della spinta emotiva generata, sia essa positiva o negativa, maggiore è la possibilità che il contenuto divenga virale.

Berger e Milkman hanno riscontrato che le emozioni positive come la gioia o il desideriosessuale sono quelle che riescono ad avere un effetto migliore rispetto a quelle negative come rabbia o ansia.

Uno studio condotto da Fractl invece suggerisce che le emozioni positive non garantiscono un ottimo risultato o almeno non sono il solo ingrediente determinante.

Secondo Fractl la combinazione di emozioni positive e negative nello stesso contenuto rende più efficace il messaggio che il solo uso dell’una o dell’altra.

Lo stupore, la sorpresa, sia positive che negative, sono inoltre risultate al secondo posto in classifica per i contenuti virali.
L’efficacia di questo tipo di emozione sembra tuttavia variare in base all’età, ad esempio i Millennials cioè i ragazzi con età compresa tra i 18 e i 24 anni avvertono meno questo tipo di emozione.

Le ricerche di Fractl hanno evidenziato che le emozioni positive, in particolare gioia, interesse, fiducia, possono essere utili per ottenere un risultato immediato, ma l’effettolongtail è altrettanto rilevante quanto un picco di traffico istantaneo.
E per avere un effetto duraturo nel corso del tempo è importante la qualità del materiale che si offre al pubblico.

Toccare le giuste corde

Sollecitare una risposta emotiva è chiaramente la chiave per generare contenuti virali, ma non è sempre una cosa facile da realizzare.
Ci sono emozioni come la rabbia che sono più semplici da provocare, basta una foto o un articolo che va contro opinioni ormai consolidate e il gioco è fatto.

Per quanto funzionante non si tratta certo del metodo migliore e ovviamente ce ne sono altri.

Mark Hughes, nel suo libro Buzz Marketing, descrive l’utilizzo di sei tipologie di contenuti utili per ottenere l’interesse del pubblico grazie ad una risposta emotiva: tabù, originale, scandaloso, divertente, interessante, e misterioso.
I Contenuti tabù sono in genere etichettati come inaccettabili, impropri, profani o proibiti. Toccare questo tipo di corda è particolarmente efficace per innescare emozioni negative e un sentimento di sorpresa nell’utente.
A volte questo tipo di contenuto può provocare anche emozioni positive e ammirazione per l’implicito disprezzo delle regole e convenzioni sociali.
Altro fattore chiave per aumentare le possibilità che un contenuto resti virale è l’utilità pratica.

La creazione di materiale che ha un’evidente applicazione pratica per l’utente aumenta le probabilità che le persone prestino attenzione al messaggio e siano più invogliate a condividere il contenuto con altri utenti.

L’aspetto

Dunque un contenuto interessante che susciti le giuste emozioni è il primo fattore chiave per generare contenuti virali, ma non è l’unico.

Altri aspetti apparentemente secondari non vanno trascurati se non si vuole che i propri messaggi restino inefficaci.

Ad esempio non bisogna sottovalutare l’aspetto complessivo del contenuto pubblicato.

Il giusto posizionamento all’interno della pagina, la leggibilità del testo, il modo nel quale viene presentato sono elementi che hanno un’importanza enorme visto che gli utenti leggono realmente solo il 20% di una pagina web e di quella percentuale quello che rimane impresso è veramente poco.
Questo significa che i contenuti devono essere di facile scrematura e i messaggi che hanno il compito di suscitare interesse ben in evidenza, siano essi testuali o visivi.
Una volta conquistata l’attenzione dell’utente il contenuto deve anche fornire un invito a diffonderlo via internet, quella che in gergo viene definita la chiamata all’azione ( Call To Action ) che avviene attraverso pulsanti di condivisione social media.
Un recente studio di BrightEdge infatti dimostra che i contenuti con i tasti di condivisione hanno una probabilità sette volte maggiore di essere diffusi dagli utenti.

La Pazienza

Non c’è una formula magica che garantisca la diffusione di un contenuto in maniera virale, eNeetzan Zimmerman, considerato uno dei re dei contenuti virali lo sa fin troppo bene.

Durante il suo lavoro per Gawker, Zimmerman ha scritto più di 10 articoli al giorno, la maggior parte dei quali non è subito divenuto virale, cosa che però non ha impedito ai sui articoli di avere successo raggiungendo oltre 30 milioni di visite al mese.

In conclusione

Abbiamo visto quindi quanto l’emozione sia da considerarsi una componente chiave unita a elementi come età e sesso, ma anche che altri aspetti come la qualità e la forma in cui i nostri contenuti vengono presentati siano ingredienti determinanti per la viralità di un contenuto.

La popolarità degli articoli di Zimmerman inoltre ci dice che dobbiamo avere pazienza, il traffico immediato non è l’unico modo in cui un contenuto può divenire celebre.

Per saperne di più:

9 lezioni per i web developer

9-lezioni-per-i web-developerTerminato il corso di laurea all’università la maggior parte degli aspiranti web developer è impreparata ad affrontare il mondo del lavoro e le aziende lamentano di non riuscire a trovare persone con le competenze adeguate, come emerge da un recente studio eseguito da CompTIA.

Gli studi universitari forniscono un ottimo bagaglio culturale e tecnico, ma è facile che queste conoscenze si rivelino insufficienti per il business, dal momento che non è solo la competenza tecnica ad avere un peso nel mondo del lavoro.

Essere un web developer vuol dire saper risolvere problemi, avere una certa pratica di comunicazione, saper creare applicazioni che si adattino alle circostanze, in altre parole significa possedere delle capacità che possono essere acquisite soltanto con l’esperienza.

Quindi, dopo tante lezioni universitarie, ecco alcuni insegnamenti utili derivati direttamente dal mondo del lavoro.

9 indispensabili lezioni che l’esperienza insegna

  1. Non si finisce mai di imparare
    Sembra scontato ma non lo è mai abbastanza. Un professionista deve essere sempre aggiornato sulle nuove tendenze nel suo campo. Per un web developer è una sfida continua, vista la velocità con cui corre il mondo digitale. Nuove tecnologie, nuovi dispositivi e con essi nuovi standard, framework, linguaggi fanno la loro comparsa a ritmo incessante.
    Tenersi al corrente delle novità è indispensabile per la crescita professionale e consente di essere aggiornati anche sulle abilità richieste dal mercato del lavoro.

    Lo studio è un aspetto essenziale, una costante di tutta la vita lavorativa.

  2. Ciò che conta è risolvere problemi
    Chi si occupa di fare codice è ansioso di sperimentare sempre nuovi metodi per sviluppare applicazioni, e ovviamente è un bene essere al passo con le nuove tendenze.
    Per i clienti però tutto questo non ha alcuna rilevanza perché la tecnologia è un mezzo non un fine.
    Nel mondo degli affari contano i soldi degli investitori e non importa come abbiamo costruito la nostra applicazione, l’unica cosa che conta è che risolva problemi.

    Il web developer per i clienti è solo chi gli risolve problemi.

  3. Il cliente non sa quello che vuole
    Il punto di vista del cliente è limitato dalle necessità, dalle circostanze e da quella che crede sia la soluzione più adatta alle sue esigenze solo perché non conosce la varietà delle opzioni che possono risolvere il suo problema.
    Compito di un web developer è ascoltare e guidare il cliente verso la soluzione che è davvero la più adatta alle sue esigenze.

    Risolvere problemi non vuol dire dare esattamente al cliente quello che chiede ma fargli comprendere e dargli ciò che per lui è meglio.

  4. Il cliente ha sempre l’ultima parola
    Un web developer che è nel mondo del lavoro da qualche tempo, molto probabilmente si è trovato nella situazione in cui dopo aver progettato e realizzato la migliore soluzione, semplicemente questa non piace al cliente o vengono richieste delle modifiche che cambiano totalmente lo scenario.
    Una situazione del tutto normale e molto frequente specialmente per chi si occupa di sviluppare la parte grafica di una applicazione web.
    È sempre il cliente ad esprimere il giudizio finale sul nostro lavoro.

    Bisogna saper ascoltare ed imparare dagli altri, dal momento che spesso si lavora su codici condivisi con altri programmatori che hanno visioni diverse dalla nostra e non è detto che la nostra sia la migliore.

  5. L’unica costante è il cambiamento
    In un mondo come quello del web dove l’innovazione è continua, la flessibilità è un fattore determinante.
    Capita di frequente che al momento della progettazione di un’applicazione i clienti non ritengano necessarie certe funzionalità che puntualmente diventano essenziali dopo qualche tempo.

    Un buon web developer anticipa i cambiamenti e progetta un’architettura flessibile per implementare velocemente le nuove funzionalità.

  6. L’importanza della comunicazione
    La comunicazione è un aspetto indispensabile alla buona riuscita di un progetto.
    Per un developer scrivere codice è solo una parte del lavoro.

    Documentare, condividere scelte e il continuo confronto con i clienti sono l’altro lato della medaglia che riveste un’importanza anche maggiore rispetto alla semplice scrittura del codice.

  7. La perfezione non è un bene
    Creare una buona soluzione in un breve tempo è sempre meglio di una perfetta ma realizzata in tempi molto lunghi.
    Potremmo non essere i soli ad aver avuto quell’idea e mentre cerchiamo di costruire l’applicazione ideale qualcun altro potrebbe anticiparci e lanciare sul mercato una soluzione simile alla nostra.
    Questo non significa lavorare male o lasciare le cose a metà ma evitare di cercare la perfezione ossessiva su aspetti secondari.

    Il meglio è nemico del bene.

  8. Manutenibilità dell’applicazione
    Il ciclo di vita di un’applicazione non è limitato alla sua creazione, probabilmente durerà anni nei quali saranno necessari correttivi o evoluzioni, e potremmo non essere noi ad occuparcene.

    Durante la progettazione e lo sviluppo, un buon web developer rende l’applicazione facilmente manutenibile tramite documentazione adeguata e flessibilità architetturale.

  9. I Framework sono alleati
    In un mondo in cui contano velocità e qualità, non è mai conveniente reinventare la ruota e costruire tutto da zero quando ci sono migliaia di tool e framework che ci offrono soluzioni di qualità pronte per essere integrate nel nostro prodotto, come ad esempio Bootstrap di Twitter che ci aiuta nella creazione di siti responsivi.

    Nel mondo del business non importa praticamente a nessuno come abbiamo costruito la nostra applicazione, per i clienti è importante che funzioni, che sia realizzata in breve tempo e che garantisca un ritorno economico.

Per saperne di più: 9 critical lessons web developers won’t learn in school

Perché condividiamo e come scegliamo i contenuti da condividere nell’era dei social network

bluecatL’essere umano è una macchina complessa, ognuno di noi ha una sua unicità, ma tutti noi condividiamo lo stesso desiderio di piacere, essere amati e socialmente accettati.

I social network rappresentano lo strumento perfetto per disegnare un’immagine ideale di noi stessi e mostrare agli altri chi siamo in realtà o quanto meno chi vorremo essere, comunicando agli altri quali sono le nostre aspettative, come viviamo o come vorremmo farlo e quali sono le nostre reali aspirazioni.

Non ha importanza se questa rappresentazione sia reale o meno, già nel 1986 gli psicologi Hazel Markus e Paula Nurius parlavano della disparità tra chi siamo realmente e chi siamo idealmente, dimostrando che abbiamo un doppio concetto di noi stessi, quello attuale e quello possibile.

L’illusione di chi potremmo essere e il tentativo di costruire questa nuova identità sono tra i principali motivi che ci spingono a condividere contenuti tramite i social network.
Siamo maggiormente disposti a condividere informazioni che in qualche modo gratificano il narcisismo del nostro “se ideale”.

Il New York Times dopo un approfondito studio sulla psicologia della condivisione ha tracciato un profilo delle 6 categorie principali di persone che condividono online:

  1. Altruist
    Disponibile e affidabile, condivide tramite Facebook e email.
  2. Careerist
    Professionista, focalizzato sull’avanzamento di carriera, molto probabilmente usa LinkedIn per condividere in rete.
  3. Hipster
    Creativo, giovane, popolare, attento alla sua identità on-line, predilige l’uso di Twitter, Facebook e Skype.
  4. Boomerang
    Condivide spesso e attraverso tutti i social possibili, in cerca dell’approvazione degli altri, pubblica contenuti pensati per suscitare reazioni.
  5. Connector
    Rilassato e pianificatore, usa i social media e in particolare Facebook per organizzare la sua vita offline.
  6. Selective
    Premuroso e attento alle informazioni che condivide predilige inviare una mail piuttosto che usare Facebook.

Sempre dalla ricerca del NYT sono emersi 4 principali incentivi che ci spingono a condividere:

  1. Contenuti di qualità o intrattenimento
    Il 94% delle persone sceglie con cura come quello che condivide può essere utile al destinatario delle informazioni.
  2. Aumento delle relazioni
    Il 78% condivide per rimanere in contatto con le persone con le quali non riuscirebbe altrimenti.
  3. Autorealizzazione
    Il 69% condivide per sentirsi più partecipe.
  4. Identità
    Il 68% condivide per comunicare agli altri chi è e di cosa si interessa.

Un altro fattore preponderante che entra in gioco quando decidiamo di condividere informazioni in rete è l’emozione.

Secondo uno studio dell’American Marketing Association, i contenuti che hanno maggiore possibilità di divenire virali sono quelli che provocano una reazione forte, sia essa positiva o negativa. Upworthy illustra questo concetto in un ottima slideshare sulla creazione di contenuti virali, nella quale è facile evidenziare come l’emozione rivesta un ruolo fondamentale da sfruttare affinché le informazioni abbiano maggiore fascino per la condivisione.

I ricercatori americani della UCLA, in una ricerca volta a individuare il motivo per il quale condividiamo determinate informazioni rispetto ad altre, hanno scoperto e pubblicato in uno studio che nella scelta di un contenuto il nostro cervello valuta l’utilità che questa informazione può avere per gli altri.
Se pensiamo che quel contenuto può interessare, divertire o risultare utile anche agli altri allora saremo molto più propensi a condividerlo.

Molti sono quindi gli elementi che interagiscono sulla nostra scelta di quello che decidiamo di condividere o del perché, e Jonah Berger nel suo ricercatissimo libro Contagious ce li espone sintetizzandoli in 6 caratteristiche che possiedono i contenuti virali:

  1. Social Currency
    Il narcisismo, in che modo migliorerà la nostra immagine?
  2. Trigger
    L’importanza, qual è il pensiero degli altri a riguardo?
  3. Emotion
    L’emozione, perché dovrebbe importaci?
  4. Public
    La conformità, lo fanno anche gli altri?
  5. Pratical Value
    L’utilità, sarà utile per gli altri?
  6. Stories
    La storia, ha una storia interessante?

Per saperne di più: