Análisis de datos no estructurados en tiempo real

Publicado en

Un elemento crítico del Big Data es cómo hacer sentido del análisis de datos no estructurados, principalmente de redes sociales, aunque también de logs (que usualmente es dato semi-estructurado), chats privados, blogs, etc.

 Al día de hoy, es posible hacer sentido del análisis de datos no estructurados y visualizarlos en tiempo real con un desarrollo simple, y flexible. El reto está en resolver de manera eficiente la cadena de actividades a desarrollar: la extracción, transformación, modelaje y presentación de los datos. Adicionalmente, se agregan las problemáticas de cómo hacer sentido del dato no estructurado, como generar personalización del análisis sobre la misma solución y cómo consumir, procesar y presentar en tiempo real.

 Enfoquémonos para este ejemplo en Twitter, herramienta que, a nuestro parecer, más que ninguna otra ha cambiado profundamente las reglas de compartir información. Una de las características importantes de Twitter, es la vertiginosa inmediatez con la cual se generan opiniones o trend topics, por tanto, el elemento del análisis en tiempo real es crítico.

 Nos dimos a la tarea de conectarnos el Web Service que Twitter proporciona para tener acceso al “feed” completo y en tiempo real. La ventaja es que se tiene acceso inmediato a todos los tuits sin costo, la desventaja es que se pierde riqueza de información en comparación si la conexión se hace al API de Twitter.

 Cuando las empresas generan tuits o retuits con un volumen bajo es muy fácil manualmente analizar comentarios y conversaciones, el problema es cuando la información empieza a llegar en miles de tuits.

 Por eso buscamos un evento coyuntural para ejemplificar correctamente lo fácil que puede ser llevar a cabo aplicaciones sencillas para hacer sentido del dato no estructurado y visualizarlo en tiempo real. El estreno en México de Iron Man nos pareció excelente ejemplo y la pregunta de negocio a contestar fue “gustó o no gustó la película”.

 En pocas horas, con la Suite Pentaho Business Analytics se diseñó una solución que se dividió en 4 partes:

  • Extracción: Con una pequeña clase de java consumimos el feed de Twitter disponible en https://twitter.com/search/realtime. Traemos los campos disponibles con una entrada JSON.
  • Transformación: Filtramos todos aquellos tuits que contengan ironman ó iron man.
    Creamos y damos formato a los campos.
    Filtramos aquellos tuits que contengan palabras "positivas" (p.e. excelente, buenísima) y asignamos calificación positiva.
    Hacemos lo mismo pero con una lista de palabras "negativas" (p.e. decepción, mala, malísima) asignando calificación negativa.
  • Carga – Destino: Insertamos en una tabla el registro del tuit con la calificación identificada.
  • Reportes: Graficamos tomando como fuente la tabla que se esta actualizando en tiempo real y creamos un pequeño cubo que nos permita hacer el análisis por tiempo / calificación.
  •  Algo importante a resaltar durante la ejecución de esta transformación es la facilidad que tuvimos de “personalizar” nuestra calificación, analizando los datos que nos arrojaba en tiempo real nuestras gráficas pudimos agregar más palabras que nos dieran un sentido más atinado a lo se estaba escribiendo en el momento.

    Figura 1 – Transformación

     La película se estrenó para todo público el viernes 26 de abril y la solución se dejó corriendo de las 7 pm a las 10 am del sábado 27 de abril. Los resultados fueron los siguientes:

    - 3,056 tuits con la palabra Iron Man1
    - 14% con las palabras seleccionadas (positivas y negativas) – equivalente a 419 tuits, de los cuales aproximadamente 80% contenían las palabras positivas y aproximadamente 20% las palabras negativas.

     Con estos números, si yo fuera el exhibidor, tengo claro que la película gustó y mucho. Si bien muchos tuits se quedan fuera – sin calificación positiva o negativa – así es generalmente una conversación, se busca un aspecto específico y no toda la conversación es útil. Esa es la regla de negocio que se busca simular en la transformación.

     Esta aplicación, si bien se basa en conteos e interpretación simple del diálogo en Twitter, al hacerlo en tiempo real le puede ayudar a muchas empresas a visualizar que está pasando con una interpretación certera y una inmediatez total. Se puede aplicar en ejemplos de educación en línea para interpretar correctamente los diálogos que se dan en el chat entre profesor-alumno, se puede aplicar en entender con que palabras se relaciona tu marca, etc.

    Bio

    Landy Reyes
    VinkOS
    Landy.reyes@vinkos.com