I Big Data e il Potere dei Sentimenti

di Dan Pejeroni [Infosphere]

Come realizzare nella pratica un ambiente di Sentiment Analysis. Dalla selezione delle possibili sorgenti dati, alla scelta dei componenti nell’ecosistema Hadoop. Come scegliere quale ambiente adottare per l’elaborazione (in-house o in-cloud) e infine qualche algoritmo di base per il calcolo dei risultati.

nuvi-facebook-channel

Marketing e Sentiment Analysis

Prima che l’affermazione dei big data fornisse una concreta capacità di osservazione analitica sul mercato, gli uffici marketing spesso improvvisavano, per poi porsi domande a cui era difficile dare risposte: dove hanno funzionato le campagne? Chi hanno raggiunto? Quale è stata la reazione dei nostri clienti?

Oggi i big data hanno cambiato il paradigma funzionale da: azioni stimate a scelte predittive guidate dai dati. Lo sviluppo della sentiment analysis come strumento di marketing, cioè la tecnologia per determinare il tono emozionale delle opinioni online sui brand, compie un ulteriore passo avanti. Questa scienza, conosciuta anche come opinion mining, utilizza nuove tecnologie e algoritmi per raccogliere e analizzare i dati che rappresentano la percezione di un prodotto, di un servizio o di un intero brand. Non si tratta solo di opinioni, ma attitudini ed emozioni espresse attraverso ogni menzione online. La sentiment analysis cerca di comprendere cosa la gente pensa, non solo cosa dice.

Mettiamo in pratica la Sentiment Analysis

L’analisi del sentiment si basa sull’elaborazione in tempo reale di stream di dati prelevati da una o più piattaforme social media, dove i singoli messaggi, che rappresentano informazioni di stato degli utenti (tweets, post), vengono valutati rispetto a parole chiave (hashtag, keyword) e dizionari, per associarli infine ad una di tre diverse polarità: “neutrale”, “positivo” o “negativo”. Si consideri che il solo public stream di Twitter, produce un volume di oltre 6000 messaggi al secondo.

L’insieme di queste informazioni viene comunemente definito Big Data e la sua analisi consente di ricavare efficaci previsioni di marketing, orientamento politico o trend sociale, poiché rappresenta direttamente il punto di vista delle masse.

Per realizzare un sistema di questo tipo è necessario disporre di:

  • Una o più sorgente dati dai social media;
  • Una tecnologia in grado di gestire in tempo reale un’enorme volume di dati, contenendo ragionevolmente i costi di implementazione e di gestione;
  • Un ambiente di elaborazione in-house o in-cloud;
  • Una o più strategie di analisi statistica, data mining e dizionari per il calcolo dei risultati.

Nei prossimi capitoli proveremo a dare una risposta concreta a queste tre esigenze.

1. Le sorgenti dei dati social media

1.1 Le API dei Social Network

Per effettuare la raccolta dei dati dai social network, è possibile oggi una scelta tra diverse strategie:

Accesso tramite API (Application Programming Interface).

Le API sono messe a diposizione dalle stesse piattaforme. Il vantaggio di questo approccio è senza dubbio la possibilità di costruire strumenti ad hoc, per procedere alla raccolta di informazioni secondo le proprie esigenze. D’altro canto lo svantaggio è costituito dal fatto di dipendere dalle decisioni delle piattaforme, per quanto riguarda i dati ai quali accedere e in quale modo.

Per esempio Twitter fornisce una serie di API (Streaming API e Search API) che permettono di raccogliere una grande quantità di informazioni, ma impone limiti a questi dati, con il meccanismo del rate limit.

Anche Facebook fornisce delle API, limitate e relative solo alle performance, pertanto le informazioni dei singoli profili non sono accessibili per vari motivi, uno fra tutti la privacy degli utenti.

Servizi sviluppati da terze parti.

E’ disponibile una grande varietà di applicazioni per il social media analytics, ovvero strumenti che consentono di raccogliere dati ed elaborare semplici metriche per poter effettuare analisi. Alcuni di questi servizi sono gratutiti o open source e hanno lo scopo di usare in maniera creativa le API delle piattaforme per testare un algoritmo, per sperimentare una visualizzazione, ecc. Ovviamente questi servizi, dato che incorporano nel loro codice le istruzioni delle API, hanno gli stessi limiti che queste impongono loro. Altre volte questi servizi sono a pagamento e sono pensati per finalità commerciali. In questo caso non hanno limiti attribuibili alle API, poiché hanno accordi commerciali con le singole piattaforme. Spesso questi servizi sono freemium, ovvero in parte gratutiti e in parte a pagamento. In questo modo è possibile usare la versione gratuita per sperimentare e passare alla versione a pagamento, quando si avrà bisogno di performances migliori.

Acquisto dei dataset direttamente dalle piattaforme di social media.

I vari social network mettono a disposizione direttamente o attraverso data reseller, i dataset ottenuti dai social media per poterli utilizzare per i propri scopi (di ricerca o di mercato). Esistono tre società che forniscono questo servizio, ognuna specializzata in uno specifico settore.

Gnip (http://gnip.com), recentemente acquisita dallo stesso Twitter, si tratta di una società specializzata nella vendita di dati relativi a Twitter e altre piattaforme (Tumblr, Foursquare, WordPress, Facebook, Google Plus, Youtube).

Datasift (http://datasift.com), che oltre a fornire dataset di tutti i principali servizi web fornisce anche dati relativi a social media cinesi (Sina Weibo, un SNS a metà tra Twitter e Facebook, Tencent Wibo, molto simile a Twitter).

Topsy (http://topsy.com) che fornisce accesso completo ai dati Twitter, consente anche di effettuare delle ricerche sui social media grazie alla sua applicazione che si presenta come un motore di ricerca per contenuti in tempo reale.

1.2 Twitter e il suo firehose

Il social media di maggior interesse per l’Analisi del Sentiment è senza dubbio Twitter, che offre un servizio completo che comprende API, servizi di terze parti, data reseller, partner certificati. Il flusso dati costante, relativo a tutti i tweet che vengono inviati nel web, è denominato: firehose.

L’utilizzo diretto del public stream di Twitter, direttamente dalle API, è attualmente gratuito, ma è limitato all’1% del volume totale di tweets generati (circa 60 messaggi al secondo). Per le modalità di accesso e acquisizione dei dati si consulti direttamente la documentazione ufficiale disponibile presso https://dev.twitter.com/streaming/overview.

In alternativa si può ottenere lo strem completo (oltre 6000 messaggi al secondo) attraverso l’offerta commerciale della piattaforma GNIP (http://gnip.com).

2. Tecnonologie di elaborazione dei dati

2.1 Elaborazione del sentiment con Apache Storm e Kafka

Sinonimo di gestione e analisi dei Big Data è oggi Apache Hadoop, la tecnologia studiata e messa a punto in più riprese da Google, Yahoo, Facebook, Twitter ed infine donata alla comunità open source.

L’originale orientamento di Hadoop all’elaborazione batch (modello Map/Reduce), negli ultimi anni è stato integrato ed affiancato da una serie di componenti (Yarn, Tez, Hive) che ne hanno aumentato la flessibilità e hanno reso disponibili funzionalità per l’elaborazione in-memory (Spark) e real-time (Storm, Kafka, Samza). In particolare il padadigma real time è la base per lo sviluppo delle infrastrutture IoT (Internet of Things) e per l’elaborazione dei flussi dei social network.

Nella progettazione di un’infrastruttura per la Sentiment Analysis la scelta privilegiata è rappresentata quindi dalla tecnologie Apache Storm e Kafka, che in seguito saranno brevemente descritte.

senza-titolo

2.2 Apache Storm

Apache Storm è un ambiente di elaborazione veloce, scalabile che può essere programmato utilizzando una varietà di linguaggi. La sua architettura consiste in tre set di nodi primari:

Nodi Nimbus

Rappresentano i nodi master che caricano i calcoli che dovranno essere eseguiti nel cluster, lanciano i nodi di lavoro ed eventualmente li riassegnano in caso di errori. In un cluster esiste un solo nodo master.

Nodi Zookeeper

Questi nodi sono assegnati ad ogni macchina slave. La funzione di base dei nodi Zookeeper è il controllo dei nodi di lavoro. Nimbus comunica con i nodi di lavoro attraverso Zookeeper.

Nodi Supervisor

Il supervisor, avvia e arresta i worker nelle macchine slave in base ai comandi del nimbus. Una singola macchina slave può ospitare più nodi worker.

Una astrazione chiave in Storm è la topologia rappresentata dal progrmma che mantiene attivo il cluster Storm. E’ rappresentato visualmente da una rete di spout e bolt che Storm utilizza per eseguire i calcoli. Uno spout è uno stream di input che genera elementi denominati tuple. Per ricevere dati in real time, uno spout può essere configurato mediante un’API oppure un framework di code, come Kafka. Lo spout invia dati ai bolt dove vengono eseguiti i processi. Un cluster può essere costituito da diversi blot assegnati ai vari passi di processo per ottenere i risultati desiderati. I bolt possono trasferire dati ad altri bolt o ad un nodo di storage.

L’architettura elaborativa che utilizzeremo per il sentiment analysis è costituita dai seguenti componenti:

  • Twitter Kafka producer: l’elemento che si occupa della lettura dei tweets dalla Twitter Streaming API, per la loro memorizzazione in Kafka;
  • Twitter Storm Topology: una topologia Storm che legge i tweets da Kafka e, dopo aver applicato le regole di filtraggio e sanitarizzazione, processa i messagi in parallelo per la gestione della:
  • Sentiment Analysis: utilizzando specifici algoritmi di sentiment analysis classifica i tweets in feeling positivi, negativi o neutri.

2.3 Apache Kafka

Apache Kafka è un sistema di messaggistica distribuito, che consente di creare applicazioni in tempo reale tramite flussi di dati. I flussi vengono inviati al cluster Kafka, che li memorizza nel buffer e li inoltra ad Apache Storm.

senza-titolo

3. Opzioni per l’ambiente di elaborazione

Per la realizzazione dell’ambiente di elaborazione descritto nel precedente capitolo, abbiamo oggi alcune valide alternative, caratterizzate da differenti:

  • livelli di investimento economico per la realizzazione dell’infrastruttura tecnologica;
  • competenze tecniche necessarie per il suo avviamento e successiva gestione;
  • oneri per la gestione e la manutenzione dell’impianto a regime.

Possiamo dividere queste soluzioni in due categorie principali:

  • realizzazione di un’infrastruttura Hadoop in-house
  • sottoscrizione di servizi Hadoop cloud

3.1 Realizzazione di un’infrastruttura Hadoop in-house

La migliore offerta di distribuzioni commerciali del framework Hadoop è oggi concentrata sui tre leader di mercato: Cloudera, Hortonworks e MapR.

L’analisi comparativa delle rispettive offerte esula dagli obiettivi di questo post e sarà approfondita in seguito. Ci limiteremo qui a fornire qualche considerazione generale per distinguere le diverse suite.

Tutti e tre i grandi player utilizzano il core framework Hadoop per fornirlo ad uso enterprise, includendo affidabili servizi di supporto.

Cloudera Distribution for Hadoop (CDH)

Cloudera è leader di mercato nel segmento Hadoop e sono stati i primi a rilasciare una distribuzione commerciale. Con oltre 350 clienti e con una attiva contribuzione di codice per l’ecosistema Hadoop, sono i primi quando si tratta di sviluppare tool innovativi. La loro console di management – Cloudera Manager – è facile da implementare e da utilizzare con una ricca interfccia utente che mostra tutte le informazioni in modo organizzato e chiaro. La suite Cludera Management automatizza anche i processi di installazione e fornisce molti servizi avanzati all’utente. Cloudera offre servizi di consulenza per colmare il gap tra ciò che la comunità fornisce e ciò di cui necessita l’organizzazione per integrare la tecnologia Hadoop nella sua strategia di data management. Per contro CDH è più lenta della distribuzione MapR.

MapR Hadoop Distribution

La distribuzione MapR Hadoop è basata sul concetto che un fornitore market driven deve supportare i bisogni del mercato velocemente. Aziende leader come Cisco, Ancestry.com, Boeing, Google Cloud Platform e Amazon EMR utilizzano MapR Hadoop Distribution per i loro servizi Hadoop. Diversamente da Cloudera e Hortonworks, MapR ha un approccio più distribuito per la memorizzazione dei metadata sui nodi di processo, poiché dipendono dal file system proprietario MapRFS, che non ha un’architettura NameNode.

Anche se attualmente la distribuzione MapR è posizionata in terza posizione in termini di numero di installazioni, è certamente, rispetto alle concorrenti, una delle più facili e performanti.

Hortonworks Data Platform (HDP)

Hortonworks, fondata da ex tecnici di Yahoo, fornisce un modello per Hadoop service only. Hortonworks è diversa dalle altre distribuzioni, essendo una open enterprise data platform disponibile in uso gratuito. La distribuzione Hortonworks HDP può essere facilmente scaricata e integrata per essere quindi utilizzata in varie applicazioni enterprise. Ebay, Samsung Electronics, Bloomberg and Spotify utilizzano HDP. Hortonworks è stato il primo vendor a fornire una distribuzione Hadoop 2.0 production ready. HDP è la sola distribuzione che supporta la piattaforma Windows. L’utente può quindi eseguire il deploy di un cluster Windows sul cloud Microsoft Azure, utilizzando il servizio HDInsight.

Sebbene i tre grandi vendor del mercato Hadoop siano caratterizzati da specifiche strategie e forniscano diverse funzionalità, non emerge un chiaro vincitore. Dovrà essere quindi fatta una scelta in relazione agli specifici requisiti di dettaglio. In termini generali possiamo concludere che MapR potrebbe rappresentare la strada giusta se l’impostazione open source è must aziendale, altrimenti la scelta dovrebbe orientarsi sulla suite di Hortonworks. In casi intermedi, le ottime caratteristiche della distribuzione Cloudera, potrebbe rappresentare il mix di funzionalità e facilità di gestione vincente.

Le alternative nella modalità di implementazione in house

Tutte e tre le distibuzioni descritte nei paragrafi precedenti sono disponibili nel formato macchina virtuale VmWare già configurate e praticamente pronte all’uso. Per la realizzazione di un prototipo per la Sentiment Analysis, è consigliabile avviare una fase di sperimentazione attraverso l’utilizzo di uno di questi ambienti:

MapR Sandbox                     https://www.mapr.com/products/mapr-sandbox-hadoop

Cloudera QuickStart           http://www.cloudera.com/downloads/quickstart_vms/5-8.html

Hortonworks Sandbox      http://it.hortonworks.com/products/sandbox/

L’avviamento delle macchine virtuali (che sono disponibili anche per VirtualBox e Docker) non richiede ambienti server particolarmente dotato di risorse. Sui siti non mancoano validi tutorial, che accompagnano le fasi di installazione, configurazione e primo utilizzo. 

3.2 Utilizzo di Servizi di Cloud Computing

A causa della rapidissima evoluzione tecnologica, la maturità degli ambienti su cui costruire un’infrastruttura Big Data, rappresenta oggi un criterio incerto. Costruire e amministrare cluster Hadoop in produzione in modo affidabile ed efficiente, si può rivelare un compito complesso con numerosi fattori di rischio. Per questo l’offerta Cloud Computing è diventata nell’ultima decade uno standard de facto per la gestione dei flussi di lavoro dei Big Data.

Gli indiscussi leader di mercato del cloud computing, caratterizzati da una completa offerta Apache Hadoop, a cui rivolgersi per l’infrastruttura tecnologica sono:

  • Google Cloud Platform (Cloud Dataproc)
  • Amazon Web Services (Elastic MapReduce)
  • Microsoft Azure (HDInsight)

Tutte e tre queste offerte consentono un rapidissimo deployment, una profonda integrazione con i sistemi di Cloud Storage e modelli di prezzo pay-only-for-what-you-use.

I tre sistemi forniscono una distribuzione dello stesso software open-source Hadoop. Le offerte EMR e Dataproc iniziano dalla distribuzione del repository Apache, per poi adattare una configurazione personalizzata della piattaforma cloud. HDInsight utilizza di base la piattaforma Hortonworks (HDP). Le differenze programmatiche e di esecuzione fra i tre sistemi derivano dalle differenze di versione dei pacchetti sorgenti.

HDInsight supporta la distribuzione di 17 diversi tipi di istanza di calcolo, che variano per prezzo e proprietà sistema quali core, RAM e la tecnologia disco. EMR, allo stesso modo, supporta 37 diversi tipi di istanza sottostanti. Dataproc supporta 19 tipi di istanza predefiniti e, in aggiunta, fornisce agli utenti infinite configurazioni personalizzate, per ottimizzare prestazioni e costi.

4. Strategie di Sentiment Analysis

4.1 Descrizione dei dati

I messaggi di Twitter sono limitati a 140 caratteri. A causa di questo limite gli utenti utilizzano frequentemente acronimi ed emoticons che esprimono le loro opinioni. Di seguito sono descritti gli elementi fondamentali di un tweet:

Hashtags

Il simbolo hashtag (#) è utilizzato per categorizzare il tweet in un dominio. E’ possibile utilizzare più hashtag in un singolo tweet.

es. #Independenceday : questo tag si riferisce al dominio

Independence Day, tutti i tweet che contengono questo hashtag saranno categorizzati in questo dominio.

Acronimi

I tweet che vengono postati non sempre sono costituiti da parole intere. Spesso vengono utilizzati abbreviazioni e acronimi per risparmiare caratteri. Nel corso dell’analisi questi acronimi devono essere espansi e analizzati, in quanto possono contenere una considerevole quantità di informazioni. Per questo scopo è necessario mantenere un dizionario separato degli acronimi:

es1. LOL : Risata. Categoria: Positiva

es2. Fab : Favoloso. Categoria: Positiva

es3. Plz : Per favore. Category: Neutra

Emoticon

Questi simboli vengono utilizzati per esprimere emozioni, in modo da mantenere conciso il tweet. Poiché gli emoticon rappresentano una significativa quantità di informazioni relative alla polarità del tweet, è necessario mantenere un dizionario dedicato.

es1. J Sorriso. Categoria: Positivo

es2. L Triste. Categoria: Negativo

es3. 😥 Piangere. Categoria: Negativo

URL

Le URL nei tweet vengono abbrevviate con degli URL shortners (es. Bit.ly

and tinyurl.com) allo scopo di contenerne la lunghezza. Questi URL

che puntano a citazioni esterne (gli URL vengono identificati dalla stringa “http://”, “https://” e www.)

es1. http://goo.gl/l6MS

Twitter Handles

Il simbolo @ viene utilizzato per citare un nome utente in un tweets: “Ciao

@DanPejeroni!” riferito anche come handle. Gli utenti utilizzano

@username per menzionare un altro utente in un tweet, inviare un

messaggio con un link ad un profilo.

Ripetizione di caratteri

Comunemente gli utenti enfatizzano i loro sentimenti nei tweet ripetendo alcuni caratteri. “@DanPejeroni oggi è stata una lungaaaaa giornata” Il termine “lungaaaa” è caratterizzato da una ripetizione di caratteri.

Parole intensificate:

Una parola in caratteri maiuscoli intensifica il proprio significato. “@DanPejeroni I

LOVE today’s weather.” Il termine LOVE è intensificato, quindi aiuta a comprendere la polarità del tweet.

4.2 Classificazione dei sentiment

I tweets sono scompost in token e assegnati ad una polarità (un numero a virgola mobile) compresa tra -1 e 1, dove -1 rappresenta un sentiment negativo, 0 neutro e 1 positivo. Il sentiment medio è quindi calcolato aggiungendo le polarità di ogni token. La somma viene quindi arrotondata all’intero più vicino, assegnando infine la polarità risultante al tweet.

Tweets positivi

  • Tweets che indicano un successo o un festeggiamento
  • Tweets di auguri o congratulazioni a qualcuno
  • Tweets che utilizzano emoticons come 🙂 , 😀 , =) , =D, ^_^ , ❤

es.: Chasing 275 to win, India comfortably reached the target with 28 balls to spare due to some excellent batting from the top order. #IndvsSL

Tweets Negativi

  • Tweet che indicano noia (es. se un film non è stato divertente)
  • Tweet che indicano sconforto (es. a causa di una tragedia nella vita)
  • Tweet che indicano ira (es. a causa di disordini in una zona)
  • Tweet che utilizzano emoticon come 😦 , 😥 , :/ , -_-

Tweets neutri

  • Tweet che includono commenti sia negativi che positivi
  • Tweet che non includono sentimenti nè positivi, né negativi
  • Tweet che presentano fatti o teorie (es.: Ho studiato tutto il giorno, ho bisogno di aiuto!!!!)

4.3 Risorse

Per l’analisi dei tweet, utilizzeremo vari dizionari, dai quali può essere derivata la polarità. Normalmente vengono utilizzati quattro tipi di dizionari dedicati:

Dizionario lessicale

Faremo uso di un dizionario lessicale, dove sono riportati la maggior parte dei termini italiani. Questo dizionario ci aiuterà ad analizzare i tweet senza errori, facendo corrispondere le parole nel tweet con quelle del dizionario. Se un termine non viene trovato, controlleremo se se la parola contiene ripetizioni e sarà quindi categorizzata di conseguenza. Nel nostro sistema utilizzeremo il database Dante, che contiene lemmi, parole multiple, idiomi e frasi.

Dizionari di acronimi

Questo dizionario è utilizzato per espandere tutte le abbreviazioni e gli acronimi. Il processo di espansione degli acronimi genererà parole che richiedono ulteriori analisi utilizzando il dizionario lessicale per classificarle nelle polarità.

Dizionario degli emoticon

I tweet possono contenere emoticon utili a comprendere i sentimenti. Il dizionario degli emoticon svolge questo compito.

Dizionario delle Stop Word

In un tweet non tutte le parole hanno una polarità e non necessitano quindi di essere analizzate. Saranno quindi contrassegnate come stop word ed eliminate.

4.4 Processing dei dati

Suddivisione in token

Tutte le parole in un tweet devono essere suddivise in token. Per esempio ‘@DanPejeroni oggi ho passato una bellissima giornata!’ viene spezzata nei token ‘@DanPejeroni‘, ‘oggi’, ‘ho passato’, ‘una’, bellissima, ‘giornata’.

Emoticon, abbreviazioni, hashtag e URL vengono riconosciute come singoli token. Inoltre, ogni parola in un tweet è separata da uno spazio, quindi ad ogni spazio viene identificato, un nuovo token.

Normalizzazione

Inizialmente il processo di normalizzazione verifica ogni token e esegue alcuni calcoli specifici sulla sua tipologia:

  • Se il token è un emoticon, gli viene attribuita una corrispondente polarità, in base al dizionario degli emoticon;
  • Se il token è un acronimo, gli viene attribuita una corrispondente polarità, in base al dizionario degli acronimi
  • Termini intensificati, come ‘SPENDIDO’ vengono convertite in lettere minuscole e il token è memorizzato come ‘I_spendido’. L’idea di base è quella di preservare l’enfasi dell’emozione dell’utente, codificandola con la codifica ‘I_’;
  • Le sequenze di ripetizione di caratteri come ‘belloooo’ vengono corretti in ‘bello’ quindi memorizzati come ‘R_bello’. La codifica ‘R_’ è utilizzata con lo stesso scopo di quella ‘I_’;
  • Il processo di normalizzazione elimina inoltre tutti i token che non contribuiscono al sentiment del tweet. Le Stop Word, come ‘questo’, ‘mentre’, ‘qundo, poichè non indicano alcun sentiment.quindi vengono eliminate. Similarmente le URL specified nel weet nei Twitter Handle possono essere sicuramente eliminate.

Analisi grammaticale

I token validi vengono passati al processo di analisi grammaticale che associa un tag (etichetta) ad ognuno di essi, specificando se si tratta di un sostantivo, verbo, avverbio, aggettivo, ecc. Il tagging relativo all’analisi grammaticale aiuta a determinare il sentiment complessivo del tweet in quanto i termini hanno un significato differente quando sono rappresentate come diverso elemento grammaticale. Per esempio, la parola ‘buono’ quando utilizzata come aggettivo, es. ‘vino buono’, esprime un sentiment positivo, dove lo stesso termine è usato come sostantivo in un contesto postale non indica tono né negativo, né positivo.

Implementazione

I Bolt sono componenti della topologia di Storm, che possono ricevere un input, processare i dati e inviare un output. Questo output può essere a sua volta inviato ad un altro Bolt o a una locazione di memorizzazione. In questa implementazione proponiamo di utilizzare sei Bolt, su ogni nodo worker. Lo stream di tweet ottenuto dallo Spout viene inviato al primo Bolt. Questo esegue la scomposizione in token che quindi invia al secondo Bolt, dove viene eseguito il processo di normalizzazione e solo i token validi vengono mantenuti. Gli elementi risultanti sono inviati al terzo Bolt, che realizza l’analisi grammaticale e il relativo processo di tagging. Sul quarto Bolt, a ogni token, viene assegnata la sua polarità, eseguendo la ricerca nei dizionari ed estraendo la sua corrispondente polarità a virgola mobile. La polarità complessiva di un tweet è quindi calcolata e inviata al quinto Bolt. Questo elemento di processo riceve le polarità di ogni tweet e calcola la sua media. Il valore medio è quindi passato al sesto Bolt, dove viene arrotondato al valore più vicino all’intero e rappresentato in forma di grafico o diagramma a torta.

4.5 Presentazione dei dati

Il risultato dell’elaborazione dei tweet su Apache Storm può essere prodotto in varie tipologie di output, per aiutare l’utente nell’analisi e nell’interpretazione del sentiment sui social media.

Grafici a torta

I grafici a torta o Graph Chart sono grafici circolari che rappresentano le statistiche in forma di settori percentili. Per esempio, il numero dei tweet che hanno una certa polarità saranno classificati in un settore della torta.

Timeline

Le timeline sono rappresentazioni della popolarità di un tweet o di una categoria di appartenenza. La durata del tempo può variare da un numero di ore in un dato giorno, a un numero di giorni di un dato mese.

Mappe

Le mappe mostrano un’area dove i tweet sono stati prodotti, eventualmente indicandone la polarità. Questo tipo di rappresentazione può risultare particolarmente utile per sondaggi locali, in quanto possono rappresentare la polarità in un’area in termini geografici. E’ possibile utilizzare la libreria Google Maps Javascript per la renderizzazione sulla mappa.

San Jacinto

san-jacinto
San Jacinto

In quest’epoca pochi si fermano ad ascoltare i testi delle canzoni, ancor meno se non sono nella loro lingua e magari non hanno un significato immediato. Oggi mi sono preso il lusso di tentare una traduzione e una possibile interpretazione di uno dei testi più affascinanti e oscuri di Peter Gabriel: San Jacinto, tratto dall’album IV (o Security) del 1982.

Ne consiglio anche l’ascolto e la visione nella splendida versione live registrata durante i concerti tenuti all’Hammersmith Apollo di Londra, tra il 23 e il 24 marzo 2011, con la New Blood Orchestra e le coriste Ane Brun, la figlia Melanie Gabriel, Sevara Nazarkhan e Tom Cawley.

Il brano parla del rito di iniziazione dei guerrieri Apache che avveniva all’età di 14 anni.

Lo stregone conduce il ragazzo sulla cima della montagna, dove dovrà subire il morsotumblr_nb2vo1htyg1qai3hno4_500 di un serpente a sonagli che il vecchio ha portato in un sacco. Il ragazzo verrà poi lasciato solo e in preda alle allucinazioni. Se, come in molti casi, il ragazzo sarà in grado di fare ritorno da solo al villaggio, sarà considerato un Guerriero, oppure sarà morto.

E’ comune a molte culture che i giovani vengano costretti a guardare in faccia la morte. Come risultato, questo permette loro di vivere la loro vita in maniera più completa. In Arizona tutto ciò è in contrasto con l’irrispettosa trasformazione dei territori dei Nativi Americani in una interminabile serie di discoteche e ristoranti.

Quando ho iniziato a salire verso San Jacinto ho visto dei misteriosi nastri sugli alberi, che ho capito essere parte di quel processo di iniziazione.

San Jacinto è una montagna con un cappello nevoso circondato dal deserto e fu un tempo territorio Apache.

San Jacinto

Peter Gabriel (Peter Gabriel IV, 1982)


Nuvole fitte, vapore che sale, pietra sibilante su un fuoco da campo
Intorno a me pelli di bufalo, fasci di salvia da strofinare sulla pelle
Fuori l’aria fredda, aspetto il sorgere del sole
Segni di vernice rossa, piume d’aquila, ululato di coyote, ha inizio!
Qualcosa sta succedendo, lo sento in bocca e nel cuore
Mi sento morire, lentamente, sento la vita che mi lascia

Hey now Wakan Tonka! (Alzati grande aquila!)

Lo stregone mi condurrà attraverso il paese, in terra indiana, così distante
Attraversando il territorio ogni casa una piscina, bambini con i braccioli che bevono bibite ghiacciate
Seguendo il letto asciutto del fiume osservo gli scout e le guide mentre tracciano segni pow-wow
Oltrepassate la discoteca Geronimo e la rosticceria Toro Seduto, sogno dei bianchi
Un rantolo nel sacco del vecchio, un’occhiata alla cima della montagna
Continua a salire, sopra di noi la neve del deserto, bianco sbuffo di vento
Resisto alla forza che mi trascina attraverso tutte le paure
San Jacinto, Io resisto (hold the line)
San Jacinto, il morso di veleno e il buio che mi toglie la vista
Io resisto (hold the line)
E le lacrime mi corrono giù per le guance, penso di essere sul punto di cedere, più debole
Resisto, resisto (hold the line)
San Jacinto, una gialla aquila vola giù dal sole, dal sole

Cammineremo sulla terra
Respireremo nell’aria
Berremo dalla sorgente
Vivremo, resisto, resisto, resisto (hold the line)

[Traduzione di Dan Pejeroni]

traditional-pow-wow-dancer-1-tim-mccarthy
Pow-wow dancer, Tim McCarty 2011

Domus – Internet of Things per la domotica (parte 1)

Un (altro) progetto IoT basato su Arduino che implementa funzioni di telecontrollo, automazione, data logging e allarmi.


Per la realizzazione di un sistema di automazione e telecontrollo per la casa, si può contare oggi sui molti componenti disponibili nel mercato home automation che, nonostante la mancanza di standard definitivi, si avvia alla maturità. Dall’altra parte abbiamo tecnologie open source che, anche in questo campo, rappresentano una valida alternativa al buy.

Per comprendere meglio il fenomeno ho deciso di rispolverare le mie competenze di elettronica e realizzare un prototipo funzionante per il telecontrollo di una ambiente domestico basato su Arduino Uno: Domus.

Diapositiva1

Domus prevede una sezione attuatori per il comando dei sistemi di riscaldamento, irrigazione e illuminazione giardino e una sezione sensori che raccoglie e gestisce le varie sonde sul campo (tensione, corrente, flusso acqua, temperatura, umidità terreno, luce, pioggia) e allarmi (blocco caldaia, intrusione, incendio, allagamento, gas).

Screenshot_2015-02-19-12-07-16

Il telecontrollo del sistema è basato su un’applicazione Android (per il comando remoto degli attuatori), sviluppata con Tasker e su un PLC controller (basato su un Asus EEE-Box con Windows 7) che svolge funzioni di data logger, reporting e automazione di processo.

Negli articoli seguenti illustrerò le componenti del sistema hardware, software e le configurazioni di rete.

Domus parte2: Arduino

Domus Parte3: Networking

Domus parte4: App Android

Domus parte5: PLC Controller

Domus – Internet of Things per la domotica (parte 2)

La seconda parte dell’articolo illustra la scheda Arduino, lo sketch principale e le librerie utilizzate, gli shield Ethernet, Relè, i sensori e la board di adattamento.


Hardware

Il prototipo Domus si basa sui seguenti componenti:

  • Scheda Arduino Uno
  • Ethernet Shield W5100
  • Board a 4 Relay 250v – 10A
  • Scheda di adattamento realizzata con basetta millefori

Lo schema seguente rappresenta la scheda di adattamento. Nella parte superiore sono elencati i collegamenti agli ingressi analogici e digitali della scheda Arduino, mentre nella parte inferiore i collegamenti ai vari sensori. La basetta è stata dotata di due morsettiere saldate. Gli ingressi digitali 10-13 sono impegnati dall’Ethernet Shield W5100, mentre i 4-7 dalla scheda relè.

Diapositiva2

I sensori utilizzati sono facilmente reperibili a prezzi contenuti su eBay e Amazon:

  • Sonda di corrente (non invasiva) SCT-013-030
  • Alimentatore 220/9v AC/AC (corrente alternata in uscita)
  • Sonda liquidi FS-200°
  • Due sonde digitali di temperatura DS18820 (collegate in bus)
  • Una sonda Soil (umidità terreno)
  • Una sonda pioggia
  • Una fotoresistenza VT90N3
  • Il contatto digitale costituito da un relè presente nella caldaia a condensazione e programmabile per chiudersi quando è in blocco

Software

Lo sketch caricato su Arduino è il seguente:

Arduino Sketch

Il loop principale dello sketch Domus risponde a comandi REST sulla porta 85 del web server creato dalla libreria Ethernet. I comandi HTTP Get vanno lanciati da un browser o, come nel nostro caso, dall’app Android e restituiscono tipicamente il valore di risposta (esempio: 192.168.2.177:85/Lux).

I comandi supportati sono i seguenti:

Comando            Risposta

  • /Emon                  : tensione (V); corrente (A); potenza (W)
  • /Water                 : flusso acqua (L/Hour)
  • /Temp0               : Temperatura Zona Giorno (°C)
  • /Temp1               : Temperatura Zona Notte (°C)
  • /Soil                      : Umidità terreno (val)
  • /Rain                     : Pioggia (0=pioggia, 1=asciutto)
  • /Lux                      : Luminosità (Lux) aprox
  • /Alarm                 : Allarme blocco caldaia (0=blocco, 1=ok)
  • /01_on                 : Attiva relè01 e restiruisce stato di tutti (1000)
  • /01_off                : Disattiva relè01 e restiruisce stato di tutti (0000)

(vale per i relè 01-04)

Dopo l’inclusione delle librerie è necessario configurare i parametri: indirizzo ip, default gateway (il vostro router o, come vedremo più avanti l’indirizzo del gateway OpenVPN) e porta. Seguono le definizioni relative al BUS OneWire (per le sonde di temperatura DS18D20) e agli altri sensori e relè.

Le librerie utilizzate (che quindi devono essere installate nel vostro IDE Arduino) sono le seguenti:

  • Dallas Temperature Control
  • Emon Lib Master
  • OneWire
  • Webserver.h

Per informazioni su come installare le librerie consultate : http://arduino.cc/en/Guide/Libraries

Vai a Domus parte 3: Networking

Domus – Internet of Things per la domotica (parte 3)

La terza parte dell’articolo illustra le soluzioni di rete adottate per superare le limitazioni degli operatori di telefonia mobile italiani, che da qualche tempo forniscono solo IP privati.


Dopo aver realizzato e testato positivamente il prototipo Arduino sulla mia LAN, è venuto il momento di provare l’accesso via WAN, che rappresenta le normali condizioni di utilizzo. Con ADSL Alice, l’accesso remoto non costituisce un problema, in quanto registrando un account gratuito ad un servizio DNS dinamico (NO-IP, Dyndns, ecc.) si ottiene facilmente l’equivalente di un indirizzo statico.

I problemi sono iniziati quando ho provato l’accesso tramite un router connesso ad una chiavetta Vodafone. Questo scenario di utilizzo è tutt’altro che remoto: spesso la casa da controllare non dispone di connettività ADSL e l’unica soluzione è questa.

Ho eseguito la prova con un router TP-Link TL-MR3420 (Morgana) dopo aver inserito una vecchia chiavetta Huawei nella sua porta USB 3G/4G con sim dati Vodafone ed aver associato l’end point ad un account dyndns.  Niente. Nessuna risposta. Un trace con WireShark mi ha confermato quello che già la classe di indirizzi avrebbe dovuto suggerirmi: 10.128.224.10, indirizzo IP privato. NAT. Niente da fare.

Sembrava che TIM fornisse ancora IP “alti”, ma qualcuno lo smentiva. Sono andato allora a comprare una sim TIM per provare.  Risultato: 10.239.31.157. Anche da TIM un indirizzo privato.

E se stabilissi una VPN tra la LAN di casa (servita da ADSL) e la LAN di Arduino (servita da chiavetta TIM)?  Sarebbe come fossero sulla stessa LAN.

Camelot Net

Non essendo i miei router in grado di attivare autonomamente le VPN, ho ripiegato su una soluzione basata su OpenVPN, riciclando ancora una volta i miei due vecchi e fidati Asus EEE-Box, Excalibur e Dragonet. Saranno loro a sostenere la VPN, il primo come server, il secondo come client. Dopo qualche tentativo (occhio al famigerato firewall di windows), con questa configurazione sui due end point ho ottenuto i primi risultati.

Generare una chiave simmetrica key.txt, tramite l’apposita utility e copiarla nelle cartelle “config” di OpenVPN di entrambi gli host. Quindi scegliere una subnet diversa da entrambe quelle degli host coinvolti (es. 10.3.0), aggiungere sul default gateway della rete del server (il router) una rotta statica che inoltri tutto il traffico destinato alla rete 10.3.0 verso l’IP privato del server (10.3.0.2).

Registrare su DynDNS e creareun hostname per il server (es: mioserver.dyndns.net). Installare sul server il client DynDNS e configurarlo per usare l’hostname appena creato.  Accertarsi che il relativo servizio parta automaticamente.

Installare OpenVPN su entrambi gli host, e inserire nelle cartelle “config” di OpenVPN i ripettivi file di configurazione, con estensione “ovpn”:

Dragonet Client.ovpn

Excalibur Server.ovpn

Sul server avviare il servizio “OpenVPN Server” e impostarne l’avvio automatico. Sul client, collegato ad internet con la connessione 3G,  eseguire “OpenVPN GUI” in modalità amministratore, cliccare col tasto destro sull’icona nella systray e scegliere “connect”.

Effettuare dei test di connettività. In caso di problemi, i log di OpenVPN sono molto esplicativi già a verb 3.

Il keep-alive ping garantisce la pronta connessione automatica della VPN ogni qualvolta le due macchine sono attive.

Rimane ancora da risolvere un problemino:  la creazione di una rotta statica verso la subnet  192.168.2.0 e l’inibizione del naturale percorso di ritorno di Morgana tramite Internet.

Per risolverlo, installare su Excalibur la comoda utility Passport per Windows, che permette il  forwarding di tutte le porte IP di Excalibur 192.168.0.200 su Dragonet  102.168.2.200 e configurare sul router  Taliesyn la rotta statica verso 192.168.2.0 tramite Excalibur 192.168.0.200.

Il risultato finale è la piena raggiungibilità di Arduino (mioserver.dyndns.net:85/cmd) da Internet (via Taliesyn, Excalibur, Dragonet ed infine Arduino 192.168.2.177:85).

Vai a Domus parte4: App Android 

Domus – Internet of Things per la domotica (parte 4)

La quarta parte dell’articolo illustra l’app Android per il telecontrollo di Domus.


Tasker è un’applicazione Android che permette la completa automazione dello smartphone. Per conoscere cosa fa, vi rimando direttamente a Google Play Store – Tasker.

Per lo sviluppo dell’app Android per Domus, mi sono basato sulla funzionalità “Editor di Scene”.

Screenshot_2015-02-19-12-07-16Una scena è una interfaccia grafica costituita da un insieme di elementi a cui possono essere collegati dei task in modo da essere eseguiti quando l’utente interagisce con essi, ad esempio toccandoli.

Tasker utilizza le scene per  le finestre di dialogo, i menu e per ottenere un input da parte dell’utente. Più in generale le scene possono essere visualizzate per  la creazione di semplici applicazioni o mostrando controlli aggiuntivi nella parte superiore delle applicazioni esistenti.

Le scene sono completamente personalizzabili dall’utente tramite un editor grafico drag-and-drop.

La funzione di export delle applicazioni, pur permettendone il salvataggio in formato XML, non fornisce un listato comprensibile, quindi non mi è possibile fornire, in questo articolo, il codice dell’app Domus. Tenete presente che, pur non essendo un programmatore, ho sviluppato senza difficoltà questa applicazione in poche ore di lavoro.

Il risultato si presenta a tutti gli effetti come una normale app Android che, utilizzando i servizi REST predisposti su Arduino, permette di effettuare il completo telecontrollo dei relè e l’elaborazione degli stati di ritorno, in modo da accendere i bottoni e rappresentare la condizione di ogni contatto. Inoltre il display superiore permette la visualizzazione dei valori dei sensori (temperatura, umidità, luce, corrente, flusso, condizioni di allarme, ecc.).

Vai a: Domus parte5: PLC Controller

Domus – Internet of Things per la domotica (parte 5)

La quinta e ultima parte dell’articolo, illustra le funzioni del PLC Controller, a supporto di Arduino, realizzato con l’EEE-Box.


Sebbene Arduino permetta la realizzazione di web servers e l’esecuzione di task complessi, per la mia sperimentazione ho deciso di limitarne l’uso a quello di attuatore relè e data-logger. Ho invece delegato le funzioni di raccolta, campionamento, storicizzazione e reporting dei dati, provenienti della rete di sensori, ad un piccolo server basato su EEE-Box con sistema operativo Windows 7.

Le componenti software utilizzate sono le seguenti:

Python 3.4.3 for Windows

EasyPHP for Windows

La libreria PHP pChart per I grafici

La piccola utility Tail

Le funzioni di raccolta, campionamento e storicizzazione sono affidate ad uno script Python che viene attivato ogni 15’ dallo scheduler di windows (l’intervallo di tempo può essere adattato alle effettive esigenze di controllo). Lo script invoca le chiamate REST, relative ai vari sensori, su Arduino e memorizza i dati raccolti in un set di file in formato csv nella directory c:\Domus.

Questo è lo script: Domus.py

Per farlo girare è necessario installare le librerie: smtplib, httplib2, datetime e os. La prima parte dello script interroga le sonde di temperatura, corrente, tensione, potenza, luminosità e condizione di allarme caldaia (sostituite gli indirizzi: mioserver.miodominio.net:85 con quelli a cui avete associato Arduino).

Alla fine, lanciando i file di comandi: Tail-Temp.batTail-Temp1.batTail-Emon.bat vengono regolate (a max 100 elementi nel mio caso) le lunghezze dei file dati csv, in modo da favorirne una comoda rappresentazione in forma di grafico.

La condizione di blocco caldaia è rilevato da Arduino mediante lettura di un ingresso digitale a cui è collegato un contatto della caldaia a condensazione, che viene chiuso in questo caso. Nell’ultima parte dello script Domus.py viene inviata una mail con soggetto ‘Caldaia in blocco!’, grazie alla libreria smtplib.

Il PLC è controllabile mediante il web server Apache messo a disposizione dal WAMP EasyPHP. Con l’aggiunta della comoda libreria PHP pChart sono riuscito a produrre facilmente grafici a partire dai file dati csv (opportunamente accorciati).

Temperature

Dopo aver installato e configurato pChart, provate ad eseguire da un browser lo script PHP: Temperature.php

Conclusioni

Tre mesi di test hanno dimostrato una discreta stabilità ed affidabilità del prototipo Domus. In particolare la soluzione scelta per ovviare all’indisponibilità di indirizzi ip privati, da parte dei provider di connettività mobile HSPA, si è rivelata solida e implicitamente sicura, grazie all’uso di VPN. Spero possa essere d’aiuto in generale a chiunque necessiti di un accesso remoto a siti non serviti da connettività ADSL.

La scheda Arduino Uno si è rivelata straordinariamente solida, perdonando le saldature fredde che non ho potuto evitare, nella realizzazione della Board di Adattamento con la basetta millefori. Anche i sensori, economici e facilmente reperibili, si sono risultati molto stabili e precisi.

Per lo sviluppo dello sketch, ho utilizzato alcune librerie, integrando porzioni di codice reperiti in rete da progetti open-source diversi, come Emon (Open Energy Monitor). Talvolta, considerato il carattere prototipale della realizzazione, mi sono concesso qualche approssimazione, come nel caso della trasformazione in Lux dei valori di output (assolutamente non lineari e difficilmente linearizzabili) della fotoresistenza VT90N3. Per la finalità di rilevare se c’è poca o tanta luce, mi è stato sufficiente così.

La scelta di relegare Arduino al ruolo di data-logger e di attuatore, è stata inizialmente dovuta alla mia scarsa conoscenza dell’ambiente di sviluppo della scheda, ma alla fine si è rivelata razionale e coerente con le limitate caratteristiche hardware di Arduino Uno. Ho considerato una possibile evoluzione del prototipo con l’adozione della scheda Arduino  Yún (che, grazie al sistema operativo Linux, permetterebbe di evitare il PLC).

Naturalmente qualunque suggerimento sarà ben accetto.

Dan

Beatles – Abbey Road

…e alla fine l’amore che prendi è uguale all’amore che dai


E’ l’ultima frase, dell’ultimo brano, dell’ultimo disco dei Beatles. Il testamento spirituale dei Fab Four e sono passati quasi cinquant’anni. L’album è Abbey Road, il brano in questione The End e così sarebbe dovuto essere. Il disco, che mette le basi per quasi tutti i generi della musica a venire, varrebbe l’acquisto anche solo per il brano Because scritto da John Lennon, basandosi sulla sonata per piano in Do# minore, Opera 27 nº 2 (universalmente nota come Al chiaro di luna) di Beethoven.

Se lo trovate ancora, in edicola c’è il vinile a € 9,99 (quasi un oltraggio).

SAS Analytics Experience 2017

Gli Analytics conquistano l’Edge Computing

moven

Si conclude oggi SAS Analytics Experience 2017, la più importante convention europea del colosso degli analytics. Molti gli speakers che si sono succeduti sul palco del centro congressi del Mövenpick di Amsterdam, in un clima estivo che non ha fatto rimpiangere le ottobrate romane. La kermesse è stata moderata da Jon Briggs (il noto giornalista della BBCe ITN) che, con la sua consueta simpatia, ha portato quel briciolo di humor anglosassone, a cui siamo ormai abituati.

A parte le figure istituzionali della corporation (Jim Goodnight, Fritz Lehman, Randy Guard e Oliver Shabenberger), la prima giornata è stata quasi monopolizzata dal tema: come le nuove tecnologie possono supportare le iniziative umanitarie. In primo piano il principe Pieter-Christiaan Michiel della Dutch Royal Family, ieri in veste di Vice Chairman del board della Croce Rossa olandese.

1426461406823

La scena di oggi è stata invece indubbiamente dominata dalla spontaneità di Hannah Fry (relatrice presso Mathematics of Cities al Centre for Advanced Spatial Analysis dell’UCL), che ha presentato una selezione di curiose analisi statistiche, dimostrando le spettacolari prospettive della (big) data analysis applicata.

Jim Goodnight Utilizzare gli analytics per essere “disruptors” e non “disrupted”

“Così come la nascita di Internet ha cambiato il mondo modificando praticamente ogni aspetto della nostra società, gli Analytics hanno oggi il potenziare di fare lo stesso”. Jim Goodnight, fondatore e CEO di SAS, apre così l’Analytics Experience 2017 di Amsterdam.

Goodnight

Ci parla dell’impatto della nascente Economia Analitica attraverso i vari settori di mercato. Le più importanti tendenze convergono, come l’automazione interconnessa e l’intelligenza artificiale. “È alimentata da una apparentemente infinito flusso di dati ed è nutrita dalla nuova democrazia degli Analytics”, sostiene.

Il valore real-time degli Analytics risiede nei milioni di micro-momenti che offrono “opportunità per le organizzazioni di prendere decisioni e stabilire nuove connessioni per andare avanti o restare indietro”. L’economia analitica ci porta in una nuova era di cambiamenti, alcuni positivi, altri che possono risultare veramente distruttivi.

 

Randy Guard: Gli Analytics guidano il valore dell’Internet of Things

L’intervento più atteso di oggi è stato quello di Randy Guard (VP e CMO di SAS), che ci ha offerto uno sguardo sullo stato dell’arte della fortunata convergenza tra IoT (Internet of Things) e Analytics.

Randy

Randy inizia la sua presentazione con due esempi, molto suggestivi: gli Smart Pills (i medicinali intelligenti), che supportano i pazienti nelle loro terapie. Questi sensori inghiottibili sono in grado di monitorare i pazienti nell’assunzione di farmaci e controllare successivamente la loro efficacia nel corso del regime terapeutico.

Il secondo case riguarda minuscoli dispositivi che possono essere posizionati sul corpo delle api per tentare di risolvere il mistero che sta dietro al declino della loro popolazione. Questi dispositivi possono memorizzare il tempo e la distanza percorsa dall’insetto quando si allontana dal proprio alveare, monitorare la loro dieta, le condizioni ambientali a cui sono sottoposte e la loro esposizione a pesticidi e inquinamento.

I settori di mercato come energy e manufacturing impiegano sensori da molto tempo. La novità è rappresentata oggi dalla pervesività dei dispositivi connessi, il loro numero è incredibilmente aumentato, al punto che ora abbiamo più dispositivi connessi che esseri umani. Pensate a tutti gli apparecchi della vostra casa e moltiplicateli per tutti i consumatori del mondo, aggiungete i dispositivi industriali e beni a valore aggiunto come aerei e camion e avrete un’idea dell’impressionante esplosione dei dati disponibili.

Un’altra novità è la nostra abilità di fare analisi e prendere decisioni a livello di “edge” (sui dispositivi periferici, n.d.r.). Sensori, dispositivi di rete, sistemi di storage stanno rapidamente aumentando la loro potenza e la loro velocità rendendo possibile la comprensione dei dati nel momento stesso in cui vengono generati.

Le ecomonie sono guidate dal valore e nella analytics economy il valore dell’IoT deriva dalla scala. Come possiamo capitalizzare su questa opportunità? Non limitandoci a considerare la condizione di un singolo paziente o di una sola ape, ma focalizzando le nostre energie sull’effetto nella rete.

Utilizzando l’esempio della Smart Pill che migliora il trattamento di un paziente per volta, immaginate l’impatto sui costi sanitari di una nazione, quando tutti i pazienti contemporaneamente avranno una cura più efficace ed efficiente.

Possiamo capitalizzare questo tipo di valore se mettiamo gli analytics nel punto dove il dato viene prodotto. Connesso non significa necessariamente intelligente e connettività da sola non aggiunge valore. Sono gli analytics a guidare il valore dell’Internet of Things.

 

I risultati della survey sull’Artificial Intelligence

In occasione dell’Analytics Experience 2017 di Amsterdam è stato inoltre reso pubblico il risultato del recente studio realizzato da SAS, sullo stato dell’adozione delle tecnologie AI (Artificial Intelligence) da parte delle aziende europee.

La buona notizia è che molte tra le organizzazioni intervistate, hanno iniziato a parlare di AI, anche se poche hanno iniziato a implementare progetti reali. C’è molto ottimismo sul potenziale dell’AI, ma pochi sono confidenti che le loro organizzazioni siano pronte a sfruttare questo potenziale.

La lenta adozione dell’AI da parte delle aziende, non pare sia imputabile alla carenza di tecnologie disponibili, quanto ad una diffusa difficoltà a reperire competenze di data science da impiegare nei progetti, nonché a profondi ostacoli organizzativi.

Il 55% degli intervistati ritiene che la sfida più grande collegata all’AI sia rappresentata dal cambiamento che deve essere introdotto nell’organizzazione del lavoro
. L’adozione dell’AI implica una perdita di posti di lavoro, ma ha anche il potenziale di crearne di nuovi.

In seconda posizione compare la questione etica, con il 41% degli intervistati che si chiedono se robot e Intelligenze Artificiali dovrebbero lavorare per “il bene dell’umanità”, piuttosto che semplicemente per una singola azienda e la gestione dei posti di lavoro persi a causa della tecnologia.

Solo il 20% degli intervistati ritiene di avere pronti team di data scientist in grado di affrontare le sfide dell’AI, mentre il 19% non dispone per niente di queste competenze.

Il 28% ha in programma di assumere data scientist, mentre il 32% pensa di sviluppare queste competenze, attraverso corsi, conferenze e workshop, negli attuali team di analisti.

Quasi la metà degli intervistati ha fatto riferimento a sfide culturali, dovute alla mancanza di fiducia nei risultati prodotti dalle tecnologie AI e, più in generale, nelle soluzioni “scatola nera”.

Lo studio si è anche interrogato sulla maturità delle infrastrutture richieste per l’implementazione delle soluzioni AI. Il 24% degli intervistati ritene di disporre già di un’infrastruttura ottimale, un altro 24% pensa che sarà necessario aggiornare e adattare le attuali piattaforme, mentre il 29% non dispone per nulla di ambienti su cui far girare soluzioni AI.

“Abbiamo avuto dei progressi incredibili nel rendere le operazioni degli algoritmi accurate quanto solo un essere umano avrebbe potuto fare”, sostiene Oliver Schabenberger, Executive Vice President and Chief Technology Officer di SAS.

“È notevole che un algoritmo possa battere il miglior giocatore del mondo di Go. Pensavamo che questo gioco non potesse essere computerizzato dall’uomo, ma ora una macchina l’ha fatto per noi. Una volta che il sistema ha conosciuto le regole, ha imparato a giocare e ora lo fa meglio del migliore della nostra specie. Possiamo usare questa conoscenza per costruire sistemi che risolvono problemi di business, meglio di quanto possano fare i sistemi statici che utilizziamo oggi. Possiamo costruire sistemi che apprendono le regole del business e poi le usano per agire e migliorarsi. Questo è ciò su cui SAS sta lavorando”.

L’IoT non funzionerà senza Intelligenza Artificiale

Analytics Experience 2017: SAS esplora i trend delle imprese che innovano

Technology

Internet of Things (IoT) è un argomento sempre più di diffuso, al punto che l’interesse si è esteso al grande pubblico. In ambito aziendale nessuno mette più in discussione i benefici e le opportunità che derivano dall’utilizzo di queste tecnologie. La preoccupazione è piuttosto: come farle effettivamente funzionare.

L’IoT produrrà un tesoro di dati. Dati che potranno aiutare le città a evitare incidenti e crimini, consentire ai medici di ottenere in tempo reale le informazioni dei pacemaker e dei biochip dei pazienti, ottimizzare la produttività industriale attraverso la manutenzione preventiva di attrezzature e macchinari, creare case veramente intelligenti con apparecchi collegati e fornire comunicazioni critiche tra autovetture. Le opportunità offerte da IoT sono praticamente infinite.

La conseguenza della rapida affermazione di dispositivi e sensori collegati all’Internet delle Cose è un incredibile incremento del volume di dati che vengono da loro generati. Questi dati forniranno un prezioso punto di vista su cosa funziona bene e cosa no, fornendo una visione di alto valore su rischi e opportunità per aziende.

Tuttavia, il problema è trovare il modo per analizzare il diluvio di informazioni che tutti questi dispositivi creano. Cercare informazioni in terabyte di dati macchina è molto difficile. Con tecnologie tradizionali è impossibile riesaminare e comprendere questa massa di dati, in quanto richiederebbe troppo tempo.

Affinché l’IoT rispetti la sua promessa, è indispensabile migliorare la velocità e l’accuratezza dell’analisi dei dati. In caso contrario le conseguenze potrebbero essere disastrose. La tecnologia in grado di tenere il passo dei dati generati dall’IoT per ricavarne informazione e significato si chiama Machine Learning e si occupa della costruzione e dello studio di sistemi che apprendono dai dati stessi, piuttosto che seguire istruzioni esplicitamente programmate.

Sarà questo uno dei temi di Analytics Experience 2017, l’evento organizzato da SAS in programma ad Amsterdam dal 17 al 18 ottobre.

Durante l’evento internazionale, centinaia di esperti, thought leader, professionisti e manager si confronteranno sull’importante ruolo degli analytics nel costruire relazioni più forti con i clienti, combattere le frodi, gestire il rischio e migliorare i processi. Ed esploreranno i trend emergenti, come Machine Learning, Internet of Things, Intelligenza Artificiale e la nuova normativa in tema protezione dei dati (GDPR).

Ad Analytics Experience 2017, SAS presenterà i risultati della survey internazionale che vuol far luce sulla maturità delle imprese in ambito Intelligenza Artificiale.