{"id":9294,"date":"2016-08-02T09:56:52","date_gmt":"2016-08-02T07:56:52","guid":{"rendered":"https:\/\/informatica.uniurb.it\/triennale\/?p=9294"},"modified":"2016-08-02T09:57:24","modified_gmt":"2016-08-02T07:57:24","slug":"convcomp2016-3-implementare-un-bot-di-crowdsensing","status":"publish","type":"post","link":"https:\/\/informatica.uniurb.it\/triennale-informatica\/convcomp2016-3-implementare-un-bot-di-crowdsensing\/","title":{"rendered":"ConvComp2016: implementare un Bot di crowdsensing"},"content":{"rendered":"
Dopo aver discusso di Bot<\/em> come autentiche piattaforme, al pari di applicazioni mobili o siti web, ed aver argomentato che un Bot<\/em> non necessariamente debba fungere da fornitore di informazioni\u2014ma pu\u00f2 benissimo essere lo strumento per raccogliere dati e quindi essere parte di un meccanismo di intelligenza collettiva\u2014\u00e8 giunto il momento di metterci all’opera per realizzarne uno.<\/p>\n Come descritto precedentemente, per l’occasione dell’evento ConvComp2016 del 24 giugno<\/a>, abbiamo realizzato un semplice Bot<\/em> che permettesse di raccogliere pensieri, emozioni e stati d’animo geolocalizzati<\/strong>, in modo da dare un’idea del sentimento generale in un’area. Il Bot<\/em> \u00e8 online su Telegram come @wordcloud_bot<\/strong><\/a> ed \u00e8 possibile utilizzarlo da subito per vederlo in azione.<\/p>\n <\/p>\n La semplicit\u00e0 e la rapidit\u00e0 con cui si sono diffusi le svariate piattaforme di messaggistica ed i loro Bot<\/em> sono, in buona parte, il frutto di anni di software e livelli di astrazione che rendono, oggigiorno, la programmazione di un’applicazione o di un sistema di comunicazione sorprendentemente facile. Alla stessa maniera, l’esistenza di immani \u201cspalle di giganti\u201d su cui basarsi fa s\u00ec che\u2014almeno per quanto riguarda l’implementazione di un semplice Bot<\/em>\u2014ci siano gi\u00e0 tutti i pezzi LEGO di cui abbiamo bisogno<\/a> e che combinarli per raggiungere il nostro risultato spesso possa anche essere divertente.<\/p>\n In questo esempio faremo uso del software che viene utilizzato come supporto didattico nel corso di \u201cPiattaforme Digitali per la Gestione del Territorio\u201d del Corso di Laurea in Informatica Applicata<\/em> dell’Universit\u00e0 di Urbino, che viene offerto anche come MOOC online sulla piattaforma EMMA<\/a>. Il software in questione \u00e8 disponibile liberamente anche su Github<\/a>.<\/p>\n La piattaforma di base per il nostro Bot \u00e8 Telegram<\/strong>, che mette a disposizione un’interfaccia molto ricca per l’implementazione degli stessi<\/a>. Una volta collegato con Telegram, la logica interna del Bot<\/em> \u00e8 implementata con uno script PHP, che sfrutta un database MySQL per memorizzare le informazioni fornite dagli utenti, la loro posizione geografica ed altri dati accessori.<\/p>\n Se finora le tecnologie utilizzate non mostrano particolare creativit\u00e0\u2014del resto sono le medesime su cui si basa la maggior parte dei siti web o blog degli ultimi anni\u2014\u00e8 nel rendere la conversazione<\/strong> del nostro Bot<\/em> pi\u00f9 credibile che possiamo sfruttare un ulteriore blocco \u201cpronto all’uso\u201d: Program\u00a0O<\/a>, un interprete basato sulle specifiche di ALICE<\/a> e che permette di sviluppare velocemente dei Bot<\/em> che conversano in maniera (pi\u00f9 o meno) naturale sulla base di codice dichiarativo (una variante di XML).<\/p>\n La libreria d’esempio su Github<\/a> mette a disposizione diverse funzioni gi\u00e0 implementate per l’interazione con Telegram, MySQL e Program\u00a0O.<\/p>\n Non finisce di certo qui. Riprendiamo il motto di \u201cEverything is a Remix<\/a>\u201d per asserire che qualsiasi idea\u2014piccola o grande che sia\u2014e qualsiasi pezzo di software, che \u00e8 possibile realizzare anche senza conoscenze di programmazione, pu\u00f2 essere visto come il culmine di anni di astrazioni\u2014i blocchetti del LEGO\u2014a noi liberamente disponibili. Il prodotto dei tre fondamentali passi<\/strong> delineati qui sotto.<\/p>\nStrumenti semplici ed aperti per realizzare il proprio Bot.<\/h4>\n

\nFoto di The.Comedian, via Flickr<\/a>.<\/i><\/p>\nQuattro semplici pezzi LEGO per comporre un Bot.<\/h4>\n
Le potenzialit\u00e0 del remix: piattaforme, dati aperti, software libero\u2026<\/h4>\n
<\/p>\n