Análisis de Grupo de WhatsApp

Alan Figueroa
MCD-UNISON
Published in
5 min readNov 10, 2020

--

Análisis basado en Whatsapp Group Chat Analysis using Python and Plotly de Saiteja Kura

En el presente trabajo se realizó el análisis de un grupo de Whatsapp utilizando Python y Plotly, con base en el artículo “Whatsapp Group Chat Analysis using Python and Plotly” de Saiteja Kura. La idea principal del presente trabajo era aplicar herramientas de ingeniería de características de la Ciencia de Datos. Para el presente análisis se utilizó el chat de un grupo de amig@s, lleno de positivismo, apoyo, cariño y fraternidad.

Siendo mi primera publicación relacionada con Ciencia de Datos quisiera hacer una dedicación especial al profesor Julio por apoyarme, compartir conocimiento, paciencia y estar ahí en esta etapa de crecimiento.

Obtención de Información y los datos

Los datos de se obtuvieron de un archivo de texto de una conversación de Whatsapp. En esta parte se descubrió que los móviles IOS ocultan caracteres en el archivo y el formato es un poco distinto al archivo de texto de Android. Sin embargo, se realizaron modificaciones al código que permitieron la lectura correcta del archivo. El archivo no contiene contenido multimedia, por lo que se omiten imágenes, vídeos, stickers, audios y gifs.

Formatos archivos .txt IOS y Android

Ejemplo formato Archivo .txt Whatsapp IOS
Ejemplo formato Archivo .txt Whatsapp Android

Para realizar el trabajo fue necesario establecer el parseo, tokenizado, limpieza y formateo de información, con el fin de poder establecer el análisis del texto. Lo cual se logró con el siguiente código:

Establecer el formato de lectura el archivo .txt
Encontramos los autores del mensaje y obtenemos los tokens por línea
Se establece el dataframe por columnas de fecha, hora, autor y mensaje

Para el análisis se omitieron los mensajes multimedia. Sin embargo, a diferencia de Android, donde en el archivo aparece como “ mensaje multimedia omitido”, en IOS se separan e identifican como stickers, imagenes, videos, audios y gif. Además, el archivo .txt de IOS cuenta con caracteres especiales ocultos previos a los mensajes multimedia omitidos, por lo que el código tenía que ser un match del string para poder leerlo.

Lectura de imágenes, audios, vídeos, stickers y gifs omitidos.

Estadísticas del Chat

Se identificaron a los autores como colores: Rojo, Rosa, Azul, Verde, Violeta Amarillo y Verde. Todo con el fin de mantener el anonimato de los mismos y fines académicos de realizar el trabajo. Estas fueron las siguientes estadísticas.

Estadísticas por autor

Emojis

Para lograr identificar los emojis y separarlos del chat se utilizó la paquetería de emojis y regex en Python. Esto nos permite identificarlos en dataframe y poder realizar estadísticas por autor y del grupo en general. Se obtuvo lo siguiente conforme al código.

Emojis más utilizados

Distribución de emojis del grupo

Porcentaje Emojis del Grupo

Distribución de Emojis de Rojo

Distribución de Emojis de Rosa

Distribución de Emojis de Azul

Distribución de Emojis de Verde

Distribución de Emojis de Violeta

Estadísticas

Se realizó la estadística por día, promedio diario, autor y día a través del tiempo. Se encontró que los días que más interacción hay en la semana son Sábado y Domingo. También se logró ver que la pandemia COVID-19 tuvo un influencia notoria durante 2020, donde los mensajes y promedios aumentaron a partir de marzo. Se logra ver que el autor con mayor interacción es el Rojo con 5,057 mensajes en el periodo de más de año y medio. Finalmente, los horarios con mayor interacción están entre 9 y 10 de la mañana del día.

Mensajes en el tiempo

Mensajes por autor

Estadística Semanal

Estadística por día y hora

Nube de palabras

Grupo

Rojo

Rosa

Azul

Verde

Violeta

Comentarios

El análisis muestra que el grupo tiene bastante positivismo, apoyo, interacción llena de amistad y fraternidad. Este trabajo fue realizado para la materia de Ingeniería de Características de la Maestría en Ciencia de Datos de la Universidad de Sonora, con apoyo del artículo de Saiteja Kura.

--

--

Alan Figueroa
MCD-UNISON

BI Engineering & Developer, Data Financial Scientist. Msc. in Finance. Msc. in Data Science. Mentor for Growth and Development.