domingo, 23 de enero de 2022

Identificación de audio a través de TinyML con Edge Impulse

 INTRODUCCIÓN

Este es otro ejemplo sencillo de TinyML llevado a la práctica, considerando la utilización de sensores de audio para la identificación de objetos o tipos de sonidos con técnicas de machine learning.


CASO DE USO

Al igual que el caso anterior de detección de movimiento, este tipo de sensores puede ser utilizado también para mantenimientos preventivos, los cuales al juntarse podrían lograr un mejor resultado al identificar inconvenientes. 

Otro caso particular, es el reconocimiento de voz,  que es utilizado en equipos como Alexa o en smartphones iphone al utilizar Siri y de "Ok Google" en androids, con la diferencia que estos necesitan permanentemente una conexión a internet, es decir, la inteligencia para la identificación de los sonidos no está en el celular sino en un servidor a miles de kilómetros, mientras que para el caso del microcrontrolador (MCU) no requiere de la conexión de internet para la identificación (una de las características de las soluciones de TinyML que profundizaremos posteriormente). A continuación un link con varios casos de uso de reconocimiento de voz Top 10 Voice Recognition Applications for Business (aimultiple.com), algunos de los cuales podrían beneficiarse de la tecnología TinyML.


CONFIGURACIÓN DE LA PRUEBA

Para este tipo de caso, uno de los temas que considero podría tener un gran impacto es el ruido de fondo, que puede alterar los resultados, por lo que el desarrollo del modelo en el ambiente en donde se requiera la detección podría ser un tema crítico, considerando esto, he aprovechado un ambiente ruidoso que tengo a la mano, una peluquería de mascotas donde mi esposa es la propietaria.

En una peluquería de mascotas tenemos muchos sonidos, el agua de la bañera, la secadora de pelo, el sonido de las tijeras, ladridos de las mascotas, conversaciones del personal, una llamada telefónica, entre otros.

Para efectos de facilitar la prueba y entendiendo que puedo hacer uso de algunos conjuntos de datos públicos, como por ejemplo de ladridos de perros (encontré también uno de conversaciones de personas, pero desistí de utilizarlo cuando vi que el tamaño era de 3.9G, lo cual implicaría más tiempo empezando solo por la descarga de datos), he considerado la identificación del sonido de la secadora de cabello, ladrido de perros y el resto lo considero como ruido.

Aprovecharé los leds del MCU para mostrar el sonido que ha logrado identificar, con lo cual la identificación quedaría de la siguiente forma:






ELEMENTOS

Por temas de movilización y reducir la dependencia del computador para la identificación de los sonidos para la fase de identificación (es decir, posteriormente al modelado), voy a usar solo al MCU y conectándolo a una toma dentro de la peluquería, con lo que dejaré de lado la carcasa de Arduino.



Secador de Grooming

Arduino Nano 33 BLE Sense



El componente de desarrollo del modelo es la plataforma de programación ML de borde denominada Edge Impulse facilita el desarrollo al implementar un esquema de selección de opciones muy amigable eliminando con esto el uso de programación (como python por ejemplo) permitiendo que nos podamos enfocar en otros elementos como las características de las variables, el modelo y sus hiperparámetros, lo cual reduce el tiempo de realización de la prueba.


FUENTE TEÓRICA PARA LA ELABORACIÓN DEL EJERCICIO

Introduction to Embedded Machine Learning (Introduction to Embedded Machine Learning | Coursera)

The Future of ML is Tiny and Bright (Tiny Machine Learning (TinyML) Professional Certificate | edX)


PASOS

1. Creación de proyecto Edge Impulse y conexión MCU: Tomamos como guía el modelo desarrollado en el curso de introducción de machine learning embebida de Coursera / Edge Impulse.











2. Recolección de datos: Se recopiló un total de 21 minutos de sonidos para el entrenamiento, de los cuales 10 minutos de ruido y 3 de la secadora en funcionamiento se lo hizo con el MCU directamente, los otros 7 de ladridos de perros a través de la fuente previamente indicada.













3. Entrenamiento y generación de modelo: Siguiendo la guía de Coursera, se probaron 2 tipos de bloques de procesamiento a fin de ver cuál de ellos nos muestra un mejor desempeño del modelo.

El primero que se probó fue MFCC como se muestra a continuación:











Y el nivel de precisión luego de la fase de modelamiento fue del 87.4% como se muestra en la siguiente imagen:






El otro bloque de procesamiento fue Spectrogram, como se observa a continuación:













Y el nivel de precisión con este bloque de procesamiento fue del 99%, que se muestra a continuación:





















Como se observa hay una mejora del 11.6% al utilizar el bloque Spectrogram versus el MFCC que es muy significativa por lo que utilizamos el segundo bloque mencionado para la implementación del modelo.


4. Implementación

Para esta fase, agregamos al código elaborado por la herramienta Edge Impulse, la parte correspondiente que asocia según el porcentaje de identificación detectado por cada tipo de sentido un color y cargamos en el MCU el código correspondiente.

Conectamos el MCU a una toma eléctrica dentro de la peluquería y validamos el comportamiento, lo cual se muestra a continuación en un video que hemos recortado para efectos de muestra:




Ruido ambiente (verde)


Secadora (azul)



Ladrido (rojo)



CONCLUSIONES

Como se puede observar, este es otro sencillo ejemplo de cómo se puede utilizar la tecnología de TinyML para detección en este caso de sonidos, que podría ser utilidad para el mantenimiento preventivo de equipos, así como de reconocimiento de voz. Recordemos que esta identificación no depende de una conexión a internet (a diferencia de nuestros celulares) y el dispositivo puede utilizar una pila sencilla para operar lo cual hace que pueda ser ubicado en lugares de difícil acceso y que el resultado de la identificación de sonido genere una acción que podría ser como la generación de una señal (alarma por ejemplo), apertura de alguna puerta o cualquier otra acción. 

Debido al ruido de ambiente, puede que sea conveniente integrar otros sensores como el de movimiento a fin de lograr una mayor precisión para la identificación de equipos que requieren mantenimiento.

Pero a más de ello, las herramientas de desarrollo como la plataforma de Edge Impulse facilitan mucho el análisis e integración de las diferentes variables que podrían profundizarse a fin de lograr una mayor precisión.

Finalmente a continuación un link con un caso real de mantenimiento preventivo.









viernes, 21 de enero de 2022

10 TIP's de Analítica Avanzada: Introducción

 



Este es primero de un total de 11 artículos sobre TIP's o recomendaciones de analítica avanzada, que iré publicando periódicamente a fin de facilitar el conocimiento sobre estos temas.

Es claro que al momento es imprescindible el poder utilizar los datos para la generación de nuevos negocios, optimización de recursos o generación de nuevos productos y/o servicios, lo cual al momento inclusive debido al COVID-19 se ha impulsado aún más la necesidad de utilizar técnicas de analítica avanzada para la toma de decisiones. Sin embargo, la inquietud que surge es cómo puedo hacer que esto sea efectivo, cuáles podrían ser las mejores prácticas o TIPs que me permitan llevarlo a la práctica y así alcanzar los beneficios que tanto se comentan, por lo que vamos a desarrollar una serie de artículos en donde se abordarán cada uno de estos TIPs y que serán liberados periódicamente.

En esta primera entrega vamos a mostrar el camino que seguiremos al respecto y realizaremos una breve descripción de este, para lo cual vamos a empezar describiendo cuáles son las claves que ha impulsado el interés en el uso de la analítica de datos:

  • Captura de datos: Los avances tecnológicos como por ejemplo sensores basados en el Internet de las cosas (IoT - Internet of Things), comercio electrónico, redes sociales, dispositivos móviles han impulsado la captura de gran cantidad de datos a muy bajo costo.
  • Almacenamiento de datos: La explosión en las capacidades de almacenamiento de datos tanto en entornos privados o a través de computación en la nube ha facilitado el almacenamiento seguro de datos mucho más que antes.
  • Procesamiento de datos: Los avances en las redes de telecomunicaciones ha permitido tener un acceso más efectivo y al procesamiento masivo de datos de manera rápida y eficiente.

Estos elementos claves ha permitido la explotación del uso de datos y muchas empresas empezaron a tratar de sacar provecho de los mismos, para lo cual es necesario plantearse ciertas preguntas claves, que permitan sacar valor de los datos, como por ejemplo: ¿Qué sucedió con las ventas, los costos, gastos, etc.?, ¿Cuántas ventas se hicieron? ¿Cuán a menudo se cierra un negocio? ¿En dónde existen mayores gastos?, entre otras preguntas. En la medida que se hacen estas preguntas es necesario utilizar ciertas herramientas y dependiendo de esto nos encontraremos en cierto nivel de maduración cuyo resultado reflejará cierto tipo de hallazgo y también el nivel de valor que esto agregará a la organización, lo cual se puede resumir en la siguiente lámina.



Para llevar a cabo el trabajo de analítica es conveniente seguir un proceso que vaya desde el conocer las necesidades hasta la ejecución de las acciones pertinentes para alcanzar los beneficios esperados, lo cual está simplificado en la siguiente imagen.





Cada una de grandes actividades del proceso descrito anteriormente nos ayudan establecer los pasos para a seguir, sin embargo, a pesar de que estos pasos han sido definidos a través de diferentes recomendaciones a nivel de la industria (como por ejemplo CRISP-DM, KDD o SEMMA) esto no ha sido suficiente para obtener valor a través de los datos ya que es necesario también tener en cuenta algunos aspectos adicionales o TIPs en cada una de estas fases, los cuales se detallan a continuación:



Estos TIPs están relacionados con cada una de las fases del proceso de analítica de la siguiente forma:





Y es así como terminamos esta introducción con la ruta que seguiremos en los próximos artículos en donde se expliquen cada uno de los TIPs de analítica avanzada.


BIBLIOGRAFIA
  • Creating a Data-Driven Organization, Practical Advice from the Trenches, Carl Anderson, 2015
  • Analytics best practices, Prashanth H Southekal, 2020


jueves, 13 de enero de 2022

TinyML un caso práctico de detección de movimiento con Edge Impulse

INTRODUCCION

Decidí ingresar al mundo de TinyML como un mecanismo de poder llevar los conceptos de IA a la práctica de una forma sencilla, para lo cual inicié con unos cursos y herramientas que me están permitiendo dar mis primeros pasos en este mundo.

Dado que esto fue con el objetivo de ir a la práctica, qué mejor que dejar la teoría a un lado y mostramos desde un inicio un ejemplo concreto.


CASO DE USO

Este ejemplo puede desarrollarse para mantenimientos preventivos de equipos industriales, en donde sensores de movimiento tienen embebido un algoritmo que permite evaluar el movimiento de los equipos y detectar anomalías que puedan indicar una posible falla y así llevar adelante mantenimientos preventivos, evitando con estos altos costos de mantenimientos correctivos, así como una parada en la elaboración de productos y su consiguiente perdida de ingresos.


OBJETIVO DE LA PRUEBA

Implementar un proyecto de TinyML que permita detectar el estado en el que se encuentra una impresora mostrando  la probabilidad del estado y activando un led con un color específico que facilite visualizar el estado detectado.


FUENTE PARA LA ELABORACIÓN DEL EJERCICIO

* Introduction to Embedded Machine Learning (Introduction to Embedded Machine Learning | Coursera)

* The Future of ML is Tiny and Bright (Tiny Machine Learning (TinyML) Professional Certificate | edX)


ELEMENTOS AMBIENTE DE PRUEBA

Los elementos considerados para la prueba son solo para mostrar la funcionabilidad, como tal, el equipo microcontrolador o MCU utilizado cuenta con al menos 9 sensores de los cuales solo se utiliza el de movimiento para la prueba. Para efectos de implementación se debería seleccionar un equipo especializado (menos sensores más barato) el cual incluya también un mecanismo de comunicación como conectividad wifi para enviar las anomalías encontradas, que para este ejemplo se lo podría asociar como la visualización de un color en particular.



EPSON L375
Arduino Nano 33 BLE Sense



ESTADOS DE LA IMPRESORA A DETERMINAR

Los estados sobre los cuales se realizará el aprendizaje y luego la evaluación son: Apagado (azul), Prender (verde), Impresión (rojo). Los colores indicados son los que se utilizarán como diagnóstico al momento de la evaluación del estado.


PASOS

1. Creación de proyecto Edge Impulse y conexión de MCUProject - Motion Detection | Coursera




2. Recolección de datos

Se ubicó la unidad de MCU junto con su carcasa sobre la impresora y se lo conectó a la laptop a través del cable USB (omitido en la siguiente imagen).


Ubicación de MCU para recolección de datos

Datos de entrenamiento de modelo: se recolecto 6 minutos de pruebas repartiendo 2 minutos por cada estado (Apagado, Prender, Impresión), cada muestra tuvo una duración de 10 segundos.

Imagen de onda de sensor estado Apagado


Imagen de onda de sensor estado Prender


Imagen de onda de sensor estado Impresión


Datos para prueba de modelo: se capturaron 30 segundos por cada estado


3. Entrenamiento y generación de modelo: Se siguieron los pasos para el entrenamiento y desarrollo del modelo considerando los siguientes elementos



Al momento de evaluar la red neuronal, se observó un nivel de precisión bajo, por lo que se realizaron algunas pruebas, ajustando los hiperparámetros del algoritmo a fin de mejorar el nivel de precisión, analizando también para esto la matriz de confusión procurando un nivel mayor de casos positivos válidos para cada estado, sin embargo, considerando las posibles limitaciones de capacidad del MCU y con el fin de no exceder la misma, se optó por limitar la red a 4 capas, cada una de 80 neuronas, lo cual según las pruebas, daba un nivel de precisión del 78.3% del modelo, positivos válidos del 76.9% en el estado de Impresión y del 57.9% del estado Prender, como se muestra en la siguiente imagen.




4. Implementación: Para efectos de generar una fácil visualización del estado detectado, se agregó en el código de arduino la activación del led dependiendo de cada estado (Apagado=azul, Impresión=rojo, Prender=verde). Al inicio se puso un umbral del 85% para la activación de cada led, sin embargo se observó que el sensor no alcanzaba dicho umbral en el estado Prender por lo que se lo redujo a 60% con el fin de asegurar su activación (esto tiene relación con al matriz de confusión y la probabilidad positivos válidos mencionado anteriormente).




A continuación se muestra un video con el MCU configurado con el algoritmo de detección en donde el led permite ver como los sensores detectan cada uno de los movimientos previamente programados.


Como se puede observar en el video, al inicio se ve el led encedido de color azul, lo cual indica que el sensor detecta el estado de Apagado, cuando se prende la impresora se activa el color verde y en el momento de la impresión se visualiza el color rojo. Sin embargo, si se observa detenidamente, al momento de encender la impresora, unos segundos después del verde se activa el rojo, lo cual es una muestra que el algoritmo necesita de cierto afinamiento, lo cual es el resultado que se mostró en la matriz de confusión (falsos positivos) y que podría mejorarse ajustando más los hiperparámetros de la red neuronal.

Como parte de la ejecución se muestra a continuación una imagen del panel de monitoreo de arduino que revela el % de acertividad o precisión detectado para cada movimiento, enfaticé por colores según los leds 3 ejemplos para efectos de mejor visualización, la corrida de la prueba solo muestra una parte del monitoreo para efectos solo de muestra.


También se puede observar que el led queda encendido en color azul lo cual simboliza el estado de Apagado aún a pesar que la impresora sigue encendida, esto es debido a que en el proceso de aprendizaje no se relevaron datos que permita al sensor diferenciar el momento en que se enciende o apaga el equipo, sino que se asoció la falta de movimiento con el estado de Apagado.


CONCLUSIONES

Como se puede observar, este tipo de implementación se pueden llevar a cabo de manera sencilla y a costos muy bajos, logrando con esto llevar a la práctica los conceptos de IA que para este caso estaría asociado con la detección de anomalías en equipos con el fin de evitar la parada de los mismos y la reducción de costos de mantenimientos al tratarlos como preventivos en lugar de correctivos.

La parte de ingeniería y análisis recaería principalmente en la elaboración y definición del modelo, tomando en cuenta también que el nivel de precisión de los modelos deben ser revisados periódicamente a fin de realizar ajustes que pueden darse por cambio en condiciones en la toma de las muestras así como del ambiente en producción.







sábado, 27 de agosto de 2016

Análisis Básico de Sentimientos: Polaridad





El tema de Análisis de Sentimientos puede ser tan complejo como lo queramos ver y existen muchos artículos y herramientas que se han desarrollado al respecto, que de seguro pueden encontrar con facilidad en internet. Pero como hemos comentado anteriormente, lo que buscamos es poner en práctica ciertos temas, utilizando ejemplos locales, por lo que en ésta entrada lo que haremos es dar un ejemplo, considerando un análisis básico de polaridad (positivo, negativo y neutro) de un documento.

Para continuar con el hilo de la entrada anterior, vamos a tomar como documento (o más bien documentos), los posts con los cuales creamos las nubes de palabras de aquellos, que correspondían a posts con mas comentarios de las 5 páginas de facebook con mayor cantidad de fans en Ecuador.

El análisis lo hemos realizado con KNIME (www.knime.org) como herramienta y tomamos como referencia un ejercicio de ejemplo (https://www.knime.org/knime-applications/social-media-sentiment-analysis) publicado en su sitio web, pero con 3 grandes adaptaciones: 1) los datos, correspondientes a los comentarios de las páginas previamente indicadas, 2) el léxico, el cual toma como base un léxico público denominado MPQA  (http://www.cs.pitt.edu/mpqa/lexicons.html), el mismo que se encuentra en inglés y que lo hemos pasado a español para este ejemplo y le hemos agregado ciertas palabras locales como "bacan", "turro", "chiro", entre muchas otras y 3) un diccionario con otras expresiones, el cual sirve para corregir errores ortográficos o cambiar palabras como por ejemplo "chikos" por "chicos", "ekipo" por "equipo", "porfis" por "por favor", entre otras.

En el caso de los datos, se tomó una muestra de cada de los posts indicados en la tabla siguiente, en el caso del primer post fue casi todo el universo de comentarios (93%) mientras que del segundo post fue una muestra representativa (23%), meramente por temas de tiempo de recopilación. La tabla muestra también la cantidad de Fans que hicieron comentarios, de lo cual, hay que tomar en cuenta que algunos fans pusieron más de  un comentario, particularmente en el segundo post, partiendo del hecho que éste tenía una mayor interacción (chat en vivo). Finalmente a tabla refleja la cantidad de palabras de cada comentario que se analizaron.
Post
Top de …
Comentarios Totales
Comentarios Seleccionados
% Comentarios
Fans
Palabras

Like
                2.633
                  2.442

93%
       2.338
        16.760


Comentarios
              39.545
                  9.100

23%
       4.184
        33.145


En el caso del léxico, el archivo público MPQA, contiene un listado de palabras a las cuales se las ha dado una polaridad que puede ser "positiva", "negativa", "neutra" o "ambas" y en donde se agregó algunas palabras locales. No todas las palabras tienen necesariamente una calificación, como por ejemplo nombre de lugares, pronombres personales, números, entre otros. Del ejemplo con los dos post, solo el 26% de las palabras tuvieron una calificación (polaridad).

Esta información, más el "diccionario de otras expresiones", es evaluada para primero asignar una polaridad a cada palabra, luego de lo cual se agrupa por autor (fan) y el resultado se muestra en la siguiente tabla (omitiendo los datos del autor), en donde se pueden ver la cantidad de palabras negativas y positivas y luego una columna denominada Good.Bad.Rating (6ta columna después de Positive) la cual es la diferencia entre Positivo - Negativo, que sirve también para dar una calificación al autor y que se muestra en diferentes colores (verde-positivo, rojo-negativo y gris-neutro).



Con todos estos datos vamos a mostrar a continuación la gráfica de actitud, empezando con el segundo post, que mas comentarios tiene y nos puede dar una visión más amplia de resultados:


Los puntos (cuadros) en la gráfica representa a los Fans, que hicieron comentarios, el color de cada punto representa la calificación final del Fan. Hemos señalado a 3 fans, el #1 representa el que más palabras positivas tuvo (93 positivas y 1 negativa), el #2 es un fan con calificación positiva (verde), el cual, a pesar de ser el de mayor palabras negativas (10), es calificado así porque tuvo más palabras positivas (16). Finalmente vemos el fan #3, el cual tuvo 7 palabras negativas y 1 positiva, por lo que está calificado como negativo.


La gráfica de actitud del primer post se muestra a continuación:



A continuación una tabla con un resumen de la cantidad de palabras por cada post.

Post
Top de …
Negativas
Positivas
Total
% Neg
% Pos
Calificación

Like
              673
          4.383
            5.056

13%

87%
               3.710

Comentarios
              356
          9.258
            9.614

4%

96%
               8.902


           1.029
        13.641
          14.670

7%

93%


En conclusión podemos indicar que los dos posts generaron reacciones positivas (87% y 96% respectivamente), es probable que el del 96% tenga un resultado diferente al considerar una muestra mayor al 23% que se tomaron para éste ejemplo.

Este tipo de ejercicio, permite tener un punto de partida que facilita el análisis de información y nos da pistas de por dónde empezar a revisar los comentarios, frente a una lista larga cantidad de los mismos. No obstante esto, siempre es necesaria la revisión posterior para afinar y realizar posibles ajustes, por textos que no realmente no reflejen sentimientos de inconformidad. En la última gráfica por ejemplo, que muestra un fan de 14 palabras negativas y cuyo resultado es porque la persona pegó una carta que circula en las redes que dicen que si no copias dicho texto algo te va a pasar.

Este ejercicio puede aplicarse para generar una alerta sobre el uso de una palabra en particular, lo cual genere el envío de un mensaje a un directivo de la institución para que analice el mensaje y tome acciones al respecto. Permite tener una visión más clara del sentimiento que puede estar generando en este caso un post, lo cual se puede aplicar no solo en un entorno de una red social en particular, sino también por ejemplo en encuestas de opinión, comentarios de clientes en un call center o inclusive rastreo de palabras en un log de transacciones.

Este es un ejemplo de lo que se puede hacer a través de lo que denominamos Inteligencia de Negocios (Business Inteligence), utilizando técnicas de Minería de Datos (Data Mining) el cual espero haya sido de utilidad para todos.

Hasta pronto!

domingo, 21 de agosto de 2016

Facebook Ecuador - Top 5 Fans - ¿Qué dice la gente?



En la entrega anterior vimos los posts que tenían mayor cantidad de likes y comentarios como una muestra de lo que se puede hacer a nivel de Inteligencia de Negocios y Minería de Datos. Ahora vamos a profundizar un poco más, utilizando la misma técnica de webscraping que nos permite obtener información de una página en particular.

Para esto vamos a continuar con los datos obtenidos previamente de las 5 páginas de facebook con más fans en Ecuador y vamos a seleccionar el post con más likes y el que tiene mayor cantidad de comentarios.

De estos 2 posts hemos extraído la información de los comentarios realizados y hemos utilizado una herramienta de analítica avanzada denominada KNIME para tomar todos los comentarios y clasificarlos por cantidad de repetición, a continuación mostramos el flujo elaborado en KNIME para realizar dicho trabajo a modo de ejemplo de la herramienta.



En el caso del post con más likes, el cual corresponde a uno emitido por Chevrolet, luego de la victoria del Independiente del Valle frente a Boca Junior, vemos a continuación una tabla con las palabras mas frecuentemente comentadas. La lista es grande y solo se muestran un extracto de ellas con la cantidad de veces que se ha repetido cada una:


 Luego con esta información generamos una nube de palabras que mostramos a continuación:


Haciendo lo mismo con el post con más comentarios, el cuál corresponde a TC Televisión, en un chat en vivo realizado a Mayra y Vincent del programa Calle 7, la nube de palabras resultante es la siguiente:




Esto es un paso previo para la analítica de sentimientos que nos permitirá entender la aceptación de los posts, así como identificar por ejemplo los usuarios que realizan comentarios positivos o negativos, lo cual puede ser de gran utilidad para tener una idea de lo que realmente piensa el cliente y que expresa más abiertamente a través de las redes sociales y que nos ayudará a conocerlo y adaptar de mejor forma nuestros servicios o productos a sus necesidades.

Esto lo revisaremos en una próxima entrega.

Hasta pronto!


domingo, 14 de agosto de 2016

Facebook Ecuador - TOP 5 Fans - ¿POSTs más aceptados?




Continuamos revisando los datos que obtuvimos a través de técnicas de minería de datos (Data Mining) y que encontramos en el grupo de TOP 5 por cantidad de fans en facebook de la última entrada, recordando que está basada en la información de los posts emitidos entre junio y julio del 2016 de las páginas con más fans según socialbakers.

Ahora continuaremos viendo cuáles son los posts con más likes y comentarios de las páginas revisadas. A continuación tienen una tabla de 5 posts con más cantidad de likes junto con la fecha y la página que la emitió. El post que aparece en primer lugar es uno de Chevrolet que publicó luego de la victoria del Independiente del Valle frente a Boca Junior y como se  puede observar, los 4 restantes también pertenecen a Chevrolet y otro tema a rescatar es que 4 de los 5 están relacionados con fútbol y con el tema del momento, esto es la Copa Libertadores.

PAGINA
ns1:permalink
ns1:message
ns1:like_count
FECHA
Chevrolet
Soñar tiene sus grandes recompensas, por eso ahora Independiente Del Valle está un paso más cerca de ser campeón. Felicitaciones muchachos, gracias por darle una alegría más a nuestro país. #NuncaDejesDeSoñar
                                 130.833
15/7/2016
Chevrolet
Gracias Independiente por la garra demostrada en la copa y por toda la alegría que le dieron al país. El próximo año volveremos. #NuncaDejesDeSoñar
                                 115.737
28/7/2016
Chevrolet
Todo Ecuador está contigo, nunca te rindas para conseguir tus sueños. ¡Vamos Independiente!
                                    82.349
6/7/2016
Chevrolet
No importa el color que elijas, los 650 HP del Corvette Z06 harán que quieras salir a mostrarlo al mundo. ¿Te gustaría? http://s.chevy.com/iY8m
                                    69.794
23/6/2016
Chevrolet
¿Quieres acompañar al Independiente Del Valle en la final? Escribe en los comentarios tu predicción del marcador. Acierta y participa por un viaje para apoyar al Independiente en Medellín. #NuncaDejesDeSoñar Términos y condiciones: http://bit.ly/29Kqor0
                                    69.274
18/7/2016


En cambio, si ordenamos los mismos datos, por cantidad de comentarios, el resultado se muestra en la siguiente tabla, en donde se destaca en primer lugar en comentarios un post de TC Televisión, el cual corresponde a una entrevista a Mayra y Vincent del programa Calle 7, del día 8 de junio. En los 4 restantes, podemos ver 2 de Anthony Swag, que en el análisis pasado encontramos que lidera en la relación entre posts con comentarios versus cantidad de posts. La característica en común de estos 5 posts es que todos están relacionados con videos en vívo en donde se interactúa a través de chat,

PAGINA
ns1:permalink
ns1:message
ns1:comment_count
FECHA
TC Televisión
¡Mayra y Vincent juntos por ti!

Conéctate ya con los competidores de Calle7tc e interactúa con esta "pareja explosiva". ¡Comparte para que todos tus amigos se unan a la fiesta!
                              39.545
8/6/2016
Anthony Swag
Dale me gusta te envió saludos ahora ❤️
                              29.596
2/7/2016
TC Televisión
¡Lissette Cedeño conversa contigo!

Conéctate al #TCchat e interactúa con "La Revelación" de TC Mi Canal! 💋 No olvides de compartir.
                              27.381
23/6/2016
TC Televisión
#TCChat | "Rayo" Vizcarra conversa con sus seguidores.

Da Like , comparte y conéctate con el querido bailarín. ¡Escríbele!📱
                              25.436
3/6/2016
Anthony Swag
En vivo❤️
Miren el vídeo que les digo: https://youtu.be/PAihKe2N0zA
                              24.979
22/7/2016


Esta información nos da pistas sobre lo que más llama la atención de la audiencia de nuestro país y desde el punto de vista de inteligencia de negocios, la técnica de webscraping nos puede ser de utilidad para entender lo que la competencia y las empresas están haciendo para posicionarse mejor en el mercado, sin embargo es importante recordar que esta información es el resultado del análisis de las 5 páginas de facebook con más fans y debe ser tomada solo como una pequeña muestra de lo que está pasando con las principales páginas.

En la próxima entrada, veremos en cambio qué es lo que están diciendo y las técnicas que se pueden utilizar para esto.

Hasta pronto!


domingo, 7 de agosto de 2016

¿Cantidad de Fans, Likes o Comments, qué es más relevante?


En mi última entrega planteaba la necesidad de estar preparado para la analítica de datos y es lo que he estado haciendo desde entonces y me pareció relevante plantear el siguiente tema con algo mas práctico y menos teórico. En otra, comentaba sobre un estudio realizado a empresas que habían sorteado bien la recesión del 2009 y una de las acciones más relevantes era de evaluar cómo proveer más valor para sus clientes y para lo cual hay que tratar de entenderlo mejor y una de las herramientas que nos puede permitir tener una interacción con ellos es a través de la redes sociales, en donde las personas se expresan más abiertamente.

Entonces en lugar de hacer referencias a estudios internacionales, gracias a la analítica de datos y en particular a técnicas de minería de datos (Data Mining) y de manera en particular en este caso, utilizando técnicas de extracción de datos de sitios webs (web-scraping), he realizado un breve análisis de las principales páginas de Facebook del Ecuador. Para esto, he tomado como referencia el ranking por cantidad de fans de socialbakers y he extraído información de las 5 primeras páginas las cuales son las que se muestran a continuación.


La información extraída es de los posts entre junio y julio cuyo resultado vemos a continuación:


Básicamente es la cantidad de posts, likes y comentarios de cada una de las páginas, de donde vamos a indicar algunos hallazgos (insights). El primero de ellos, es que de las cinco páginas, los medios de comunicación destacan por su capacidad de entregar contenido (más de 100 post de promedio diario), por otro lado vemos en cambio que a pesar que la página de Barcelona tiene mas fans, es la que tiene menos likes y comentarios de las cinco, ya que estos dos últimos indicadores están más relacionados con los posts generados, esto último se lo puede ver un poco más claramente en el siguiente cuadro que muestra la relación entre cantidad de fans (tamaño de circulo), cantidad de likes (parte inferior) y cantidad de comentarios (parte izquierda).


Considerando la relación entre posts, likes y comentarios, es normal que los medios de comunicación sean los que tengan mayor cantidad de estos dos últimos indicadores.

Sin embargo, si sacamos una relación entre cantidad de Likes versus cantidad de Posts, vemos que la relación de estas cinco páginas cambia completamente y que la pagina de Chevrolet (4to en cantidad de fans) pasa a primer lugar con una razón de 12.080 likes por cada post y la página Anthony Swag (5to en cantidad de fans) pasa a segundo lugar con 11.663 likes por cada post.


Y si en cambio consideramos los comentarios por post, lo que encontramos es que Anthony Swag pasa a primer lugar con 1.843 comentarios por cada post.


Hay que tomar en cuenta, que para éste análisis solo tomé la información de los 5 primeras páginas por fans, por lo que a nivel de likes y comentarios, estoy omitiendo el resto de universo de páginas de facebook de Ecuador, lo cual no quiere decir que la página de Anthony Swag sea la primera en comentarios a nivel del Ecuador, ni tampoco la página de Chevrolet la primera en likes, solo estoy mostrando la variación de posición entre las cinco páginas.

Sin embargo, esto sirve de referencia a la pregunta inicial, ¿Cantidad de Fans, Likes o Comments, qué es más relevante? Esto dependerá seguramente de la estrategia de cada página, sin embargo, lo que me parece importante rescatar es la necesidad de tratar de entender lo que le interesa al público (cliente) y que nos ayudará a dar más valor.

En la próxima entrega, exploraremos un poco más la reacción que generan los post, cuáles tuvieron más impacto y entraremos en el campo de minería de texto (text mining) y de sentimientos (sentimental analytics).

Hasta pronto!