Desde hace mucho tiempo múltiples compañías conocen la necesidad que tienen de capitalizar la información que se encuentra en redes sociales. Un hecho muy simple de comprender es que si somos capaces de entender la tendencia, gustos y diversos factores fundamentales, sobre un determinado sector de población o clientes, podremos tomar decisiones más certeras.

Sin embargo, son muy pocas las compañías que logran llegar a realizar dicho análisis. Muchas veces por falta de madurez en los datos de clientes y en caso de distintos organismos, por no tener conocimiento de los grupos en donde se deben analizar las diversas opiniones.

También existe un cierto grupo de empresas, que aún teniendo la información de sus clientes, no son capaces de abarcar un proyecto que pueda obtener la información relevante. Y en los pocos casos donde logran llevar a cabo esta tarea, no saben que análisis realizar sobre los datos para poder obtener información útil en la toma de decisiones.

Dentro de App Logic de Azure, hay distintas funciones que nos permiten acceder a diversas Apis de diferentes proveedores, como twitter, facebook, etc. Primero y principal, debemos comprender que App Logic en un componente para procesos recurrentes, y no es la alternativa ideal para ejecutar un proceso del tipo Long Runing. Este aspecto es importante a la hora de determinar si App Logic será o no útil para resolver nuestro problema.

Problema a resolver:

A modo de ejemplo, voy a proponer en análisis de un tema bastante polémico dentro del país en el cual radico (México). Dicho tema se trata de la Reforma Energética, les dejo unos links para que puedan conocer un poco acerca del tema:

http://www.presidencia.gob.mx/reformaenergetica/#!landing

https://es.wikipedia.org/wiki/Reforma_energ%C3%A9tica_(M%C3%A9xico)

Incluso dentro de la página oficial de gobierno podrán encontrar una opción para opinar a favor o en contra de la reforma.

image

Claramente este tema es de interés para distintos actores y el poder analizar la información y las tendencias es fundamental para la correcta toma de decisiones.

Por tal motivo, primero vamos a buscar que información podemos encontrar al respecto en twitter.

image

Inicialmente debemos separar el problema en dos partes:

  1. Analizar los posts que ya se han realizado anteriormente.
  2. Poder captar los futuros posts a medida que se realizan.

Para resolver la parte (1) del problema debemos realizar un proceso el cual se ejecutará una única vez y obtendrá el histórico de las publicaciones. Este problema podemos resolverlo de múltiples formas, incluso hay muchos códigos de ejemplo que podemos utilizar de ejemplo.

La segunda parte del problema, sin embargo, implica un proceso que constantemente esté verificando las publicaciones realizadas. Dentro de App Logic tenemos las siguientes opciones para utilizar la API de Twitter:

imageimage

Sin embargo, no todas estas funciones pueden ser utilizadas como inicio de un flujo, sobre todo porque no todos pueden ser considerados como un disparador periódico o eventual de una acción.

Creación del componente de recolección de Tweets con App Logic:

El primer paso que debemos realizar es crear un componente de App Logic en Azure.

image

En nuestro caso de estudio iniciaremos nuestro flujo con la acción “Cuando se publica un tweet nuevo

image  

Posteriormente agregamos acción que nos permita guardar el resultado de la acción anterior para poder realizar un posterior análisis.

image

Para realizar este paso debemos seguir las acciones indicadas y establecer una conexión a una base de datos. Por supuesto, si la misma no existe debemos crear una.

Como resultado de la consulta a la API de twitter tenemos una serie de propiedades que podemos utilizar sobre el tweet:

image

image image

Para nuestro ejemplo utilizaremos los siguientes

  • Creado: indica la fecha del tweet.
  • Texto del Tweet: devuelve el texto de la publicación. Claramente el contenido pudiera ser un link a otro tipo de contenidos, imágenes, etc. No es objetivo de este artículo hacer un análisis más profundo, pero se podría obtener el contenido de estos posts e incluso utilizar los servicios de Media Services para obtener el texto de un video o analizar la imagen con cortana analytics.
  • Nombre del usuario: devuelve el nombre del usuario que realizó el post. Este dato también podría ser utilizado para diferenciar si la fuente del comentario es gobierno, privado o una persona sin relación política / empresarial.
  • Id del tweet: este dato es útil para identificar si existe algún contenido duplicado en la tabla.

El análisis podría ser más profundo y también incluir un análisis sentimental, el cual estaré mostrando en un siguiente post.

El formato de la tabla donde insertaremos la información queda definida de la siguiente forma (no es el formato ideal pero en cuestiones prácticas para el ejemplo es lo mismo):

image

Una vez finalizada la creación del flujo guardamos los cambios.

image

Visualizando el proceso de ejecución:

Cuando el flujo comienza a ejecutarse podremos visualizar la actividad dentro del panel de información general:

image

Al seleccionar una ejecución en particular podremos ver el estado de cada uno de los pasos y el resultado devuelto:

image

Al seleccionar cada uno de los pasos obtendremos el detalle del mismo:

image

image

Si visualizamos la base de datos veremos los registros procesados:

image

El siguiente paso es realizar un análisis de la información.   

Para comenzar a construir nuestro proyecto de BI para el análisis de datos utilizaremos Power BI Desktop.

image

En mi caso seleccionaré la opción de Recent Sources para acceder a mi base de datos.

image 

seleccionamos la tabla que utilizaremos para el reporte

image

image

En mi caso he utilizado el componente de visualización WordCloud, el cual lo pueden descargar del siguiente link: 

https://app.powerbi.com/visuals/?WT.mc_id=Blog_Visuals

image

Dentro del cuadro de “Visualizations” podemos importar un nuevo componente de visualización. Una vez que realicemos este paso aparecerá el componente descargado.

image

Seleccionando el campo de descripción agregamos dos componentes de visualización, uno que nos muestra los comentarios y otro que nos muestra la ocurrencia de cada palabra dentro de todos los tweets: 

image

image

Al seleccionar una palabra en particular podremos filtrar los comentarios que contienen dicha palabra:

image

image

Posteriormente solo nos resta publicar el reporte y compartirlo con el equipo de trabajo.