Programa escrito en Python para el análisis de conversaciones en Telegram. Utilizando esta herramienta podrás obtener diversos datos y gráficas sobre una conversación.
- Recuento de mensajes escritos en total y por persona.
- Recuento de archivos multimedia enviados en total y por persona.
- Recuento de mensajes enviados en cada día.
- Recuento de mensajes enviados en cada día del año.
- Recuento de mensajes enviados en cada día de la semana.
- Recuento de mensajes enviados en cada minuto del día.
- Frecuencia de uso de palabras.
- Palabras más utilizadas por una persona respecto a la otra.
- Tiempo total de notas de voz y notas de vídeo enviadas.
- Comparación entre el número de mensajes, fotos, vídeos, etc. enviados por cada persona.
- Visualización del número de mensajes enviados cada día, desde el inicio de la conversación.
- Visualización del número de mensajes enviados en cada día de la semana, cada día del año, cada hora del día y cada minuto del día.
- Visualización de las palabras más utilizadas por cada participante en la conversación respecto al otro.
- Descargar el repositorio:
git clone https://github.com/sergio-alv-per/telegram-message-analyzer.git
- Obtener un archivo JSON con los datos de la conversación que se quiere analizar (explicado más abajo).
- Ejecutar
main.py
, especificando el archivo dado por Telegram. Por ejemplo:python main.py result.json
Para obtener un archivo JSON procesable por el programa es necesario usar Telegram Desktop.
- Acceder a la conversación que se quiere analizar.
- Hacer click en los tres puntos, y seleccionar Exportar chat.
- En formato, seleccionar JSON. No es necesario incluir fotos u otras formas de contenido multimedia.
- Hacer click en Exportar.
- Análisis de sentimiento de los mensajes usando NLTK o Spacy.
- Mejora del procesado del texto, actualmente el análisis es bastante limitado.
- Unificar la fuente utilizada por matplotlib, solucionar problemas relacionados con emojis.
- Mejora de los métodos de visualización de los resultados (p. ej. emojis utilizados o nubes de palabras).
- Generar un
requirements.txt
para facilitar la instalación de las dependencias necesarias.