MapReduce – Episodio 2: Twitter connection

Nello scorso episodio abbiamo parlato del framework MapReduce e di come possa essere usato per scegliere una pizza in caso di indecisione. Abbiamo anche detto che ci sono casi reali in cui è effettivamente utile: manca però un esempio concreto. Andiamo a vederne uno.

Riassumendo l’episodio precedente, l’approccio MapReduce può essere schematizzato nel modo seguente:

mapreduce.png
Una rappresentazione grafica del MapReduce

Abbiamo parlato di un caso chiaramente irreale, quello in cui il nostro nuovo amico Smarturo decida di applicare uno strumento così potente per un compito come scegliere una pizza in Lapponia. Ma a che serve questa roba nella vita reale? Ci sono un sacco di applicazioni per la Data Science e per il MapReduce in particolare, che può ad esempio essere usato per fare sentiment analysis e scoprire cosa gli utenti di un social network pensino di un determinato prodotto, personaggio o brand, cosa molto utile nel marketing ma non solo.

Volendo continuare a parlare almeno marginalmente di pizza, poniamo che il nostro amico Smarturo sia incaricato di studiare il lancio di un nuovo prodotto dell’azienda alimentare Foodturo, e che debba decidere se agli utenti Twitter piaccia di più la pizza hawaiiana o la pizza margherita. Una semplice applicazione del MapReduce per la sentiment analysis potrebbe funzionare così:

  1. Creo due distinti elenchi di parole, che contengono termini negativi da una parte (odio, rabbia, Sgarbi) e positivi dall’altra (buono, amore, fantastico);
  2. Raccolgo un milione di tweet (vengono prodotti nel mondo circa 6000 tweet al secondo, ci metterò poco);
  3. Divido il milione di tweet in 100 gruppi da 1000 tweet e li assegno a 100 Mapper;
  4. Ciascun Mapper prende il singolo tweet, verifica se contiene la parola “pizza margherita” o la parola “pizza hawaiiana”;
  5. Ciascun tweet contenente uno e solo uno dei due termini che cerco viene analizzato dal Mapper che conta quante parole dell’elenco dei termini negativi e quante dell’elenco dei termini positivi vi compaiono: viene attribuito un punteggio di “positività” al tweet come differenza tra i termini positivi e quelli negativi (es. diciamo che il tweet sia “Odio la pizza hawaiiana ma amo odiare”: il Mapper conterà due parole negative e una positiva e il punteggio finale sarà 1-2=-1);
  6. Per fare le cose per bene, il Mapper scopre anche in che area del mondo sia stato postato il tweet (magari ai lapponi la pizza hawaiiana piace ma agli scozzesi no);
  7. Per ciascun tweet analizzato il Mapper passa a uno dei Reducer dei “pacchetti” di dati che contengono:
    1. Area geografica;
    2. Tipo di pizza menzionato;
    3. Punteggio di positività attribuito.
  8. Il Reducer aggrega i dati raccolti dai vari Mapper che gli hanno inviato dei dati, e assieme agli altri Reducer prepara un report finale che fornisce una risposta all’annosa domanda “Alla gente che usa Twitter nei vari Paesi, piace di più la pizza margherita o la pizza hawaiiana?”
  9. Smarturo analizza i dati e scopre in quali paesi potrebbe essere meglio proporre la pizza margherita Foodturo e in quali la hawaiiana. Da qui in poi può iniziare ad affinare le informazioni in suo possesso per compiere una decisione oculata.

Mi rendo conto sia ancora un caso poco ancorato alla realtà per molti di noi, quindi ecco il link a un articolo che parla di un’applicazione recente, molto legata all’attualità e che spiega molto bene il principio del “votare tappandosi il naso”: sentiment analysis via Twitter su Donald Trump e Hillary Clinton alla vigilia delle elezioni USA 2016. Molte, molte possibilità ci vengono fornite dalla conoscenza della Data Science: sta a noi impiegarle nel modo corretto. La Rete è fantastica in questo perché oltre a pullulare di risorse didattiche (e di dati su cui sperimentare, che sono davvero una marea) è anche ricca di strumenti gratuiti per quelli che pur non volendo imparare a programmare abbiano voglia di giocare un po’ con la sentiment analysis: questa pagina della NCSU, ad esempio, propone uno strumento semplice ma simpatico. Date un’occhiata, non si sa mai scopriate qualcosa di interessante.

Ora per favore fate partire questa canzone, e allontanatevi confusi dall’inattesa comparsa su questa pagina delle armoniose melodie dell’estremo oriente.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...