#RenuncióVillanueva: análisis de Twitter usando herramientas para Periodismo de Datos

  • Posted on: 24 February 2014
  • By: antoniocuga

A raíz de la renuncia de César Villanueva a la Presidencia del Consejo de Ministros, se creó una nueva tendencia en Twitter: #RenuncióVillanueva. Decidí hacer un análisis usando herramientas para Periodismo de Datos. A continuación te cuento cómo me fue.

Comencé con ScrapperWiki, herramienta que permite obtener datos de sitios web, PDF's, búsquedas en Twitter, etc. Es necesario crearse una cuenta para poder usar la herramienta e iniciar.

Crear un nuevo dataset: seleccionaremos el tipo de dataset "Search for tweets".

Aparecerá la siguiente pantalla que nos pedirá ingresar el hashtag, o lo que quieras buscar. Luego de darle a "Search", pedirá la autorización con Twitter.

Una vez que buscamos y dimos la autorización respectiva, nos cargará la siguiente pantalla. Lo que hizo la herramienta fue traernos todos los tweets y menciones que existen con el hashtag #renuncióVillanueva. Si queremos que la herramienta siga monitoreando el hashtag, marcamos el check que aparece. Si queremos buscar otro hashtag o palabra, solo tenemos que darle click a "Search for something else*", que eliminará la data obtenida y la reemplazará con la que busquemos.

Ya obtenida la data, tenemos distintas formas para visualizarla. Damos click a "More tools" y veremos todas las herramientas disponibles para visualizar la data. En mi caso la descargaré en formato CSV para poder refinarla.

Luego de descargar la data, usamos Open Refine, herramienta para limpiar y refinar datos. Acá les dejo un post donde explican cómo usarlo. Iniciamos con el refine para cargar la data obtenida. Ya cargada la data, nos dará el siguiente preview. Clickeamos en "Create Project".

Removemos algunas columnas que no usaré. Para eso vamos a darle click a la primera columna "All" 

Eliminaré casi todas las columnas. Solo dejaré las siguientes.

Una vez eliminadas, comenzaré el proceso de refinamiento. Para eso usaremos Clojure, lenguaje de programación soportado por Open Refine. Más sobre Clojure acá http://clojure.org/. Iniciamos con la columna "screen_name". Agregamos una nueva columna.

Seleccionaremos a "Clojure" como lenguaje y nombraremos a nuestra columna "from". Añadiremos la siguiente expresión (str "@" value), le estamos indicando que se conecte el "@" al usuario de Twitter. Haremos lo mismo para la columna "user_mention".

Terminado el refinado de nuestras columnas de usuario, haremos lo mismo con la columna "text". Añadimos otra columna.

Nuevamente seleccionaremos "Clojure" como lenguaje y añadimos la siguiente expresión. (.split value " ") Lo que hará es dividir el texto por palabras y le da la forma de un Array de palabras.

Luego agregaremos la siguiente expresión a la que ya teníamos. Añadiremos un filtro para extraer los hashtag y usuarios en el texto. Y además agregaron lo que en programación se le conoce como Expresión Regular. Finalmente, quedará de la siguiente manera: (filter #(contains? #{\# \@} (first %)) (.split value " ")) (reemplazamos la que habiamos agregado).

¡Genial! Un poco más y terminamos. Agregamos unas expresiones más. Añadimos la siguiente expresión que eliminará el Array de palabras y las dividirá por comas. (apply str (interpose "," (filter #(contains? #{\# \@} (first %)) (.split value " "))))

Listo. Ya tenemos nuestra lista filtrada, pero aún no acabamos. Dividiremos la nueva columna para que cada palabra este en un campo independiente. Hacemos lo siguiente y luego ok. Dividirá el texto por comas y agregará un nuevo campo para cada palabra.

Y ya tenemos nuestra tabla refinada \o/

¿Y ahora? Eliminaremos unos campos antes de seguir. Repetimos el mismo proceso que hicimos para eliminar las columnas. Nos quedaremos con 2 columnas "from" y "format".

Perfecto. Ya está lista para ser exportada. Hacemos lo siguiente.

Ya con nuestra tabla en formato CSV descargada, usaremos Gephi que es una herramienta de visualización y ana´lisis de métricas de social networking. Pronto tutorial de Gephi. Iniciamos Gephi y nos aparecerá la siguiente ventana.

Seleccionaremos Nuevo proyecto, luego en  Archivo (Esquina superior izquierda) y Abrir. Seleccionaremos nuestro archivo CSV.

Nos indicará la cantidad de nodos encontrados dentro de CSV. Damos a ok para continuar. Nos mostrará el siguiente gráfico.

Lo único que nos faltaría es afinarlo un poco más. Mostramos los labels y jugamos con el tamaño del texto.

Lo siguiente será mostrar los labels relativos a la cantidad de menciones. Vamos al tab Ranking y clickeamos en Label Size.

Puedes seguir probando algunas otras opciones que existen en Gephi. Finalmente obtendremos el siguiente grafo.

A simple vista nos damos cuenta que @elcomercio y @RPPNoticias han sido los usuarios con más conexiones. Podemos clickear encima de ellos para verlas.

 

Este es un ejemplo de cómo usando ScrapperWiki, Open Refine y Gephi podemos analizar las tendencias en redes sociales. Espero que les sirva.

HackThePlanet!