Archive

Archive for April, 2013

visualitzant Sant Jordi 2013

bé, feia temps que no escribiem res en aquest blog; aprofitarem la setmana de la Big Data Week 2013 per penjar un dels experiments que hem fet per visualitzar l’activitat relacionada amb Sant Jordi a Twitter, a partir d’una idea de la gent de Lletra

la idea era visualitzar tuits amb l’estructura següent

#perSantJordiRegalo "llibre" d'autor ...

és a dir, un hashtag i el títol d’un llibre entre cometes, per saber una mica quins són els llibres que la comunitat de tuiteros al voltant de Lletra creu que són més “regalables”.

El projecte té dues parts:

  1. Captura i preprocessat dels tuits: això ho vàrem fer en Python utilitzant la llibreria tweetstream, una delícia per fer cosetes senzilletes; aquest script generava un  fitxer CSV amb l’autor del tuit, el tuit pròpiament dit i el llibre entre cometes que apareixia al tuit, eliminant els tuits on no es podés identificar un llibre.
  2. Visualitzar els tuits amb D3.js, un repte personal perquè és una llibreria d’una potència brutal però que costa una mica d’aprendre a usar, cal canviar el xip respecte a la programació estructurada clàssica.

El script, molt senzillet, el podeu trobar aquí. El principal problema és que els tuits dels usuaris poden tenir comes (,) i clar, els CSV van separats per comes. Aleshores cal tancar els tuits entre cometes (“), però clar, resulta que el llibre també havia d’anar entre cometes, així que cal substituir primer les cometes del llibre per " i després afegir les altres cometes, una mica liante. La millor solució hagués estat crear un fitxer JSON, tot i que això no resol tampoc el problema de les cometes.

La visualitació (molt naif, no en sé més) la teniu aquí. A partir del fitxer CSV es visualitzen els 25 darrers tuits i els 9 llibres més votats.

Problemes:

  • Els usuaris no respectaven lo de les cometes o utilitzaven la cometa simple (‘), caldria millorar el script per acceptar-ho.
  • Els usuaris posaven dos o més llibres en un mateix tuit, caldria generar una línia per cada llibre en el CSV, tot i que això “traeix” l’esperit del joc.
  • La visualització està agafada amb fils, si mireu el codi D3.js ho entendreu, de vegades uso els selectAll(“…”) de D3 i d’altres faig bucles javascript convencionals.

Però bé, com a primer intent em dono per satisfet!