Análisis de Grupo de WhatsApp
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
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:
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.
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.
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.
Distribución de 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.