Análisis de mi própio Twitter | Data Science

Publicado el 3 de julio de 2020

[ENGLISH] Read here the English version of this article, but beware, plots won't render dynamically.






Hola mis queridos amigos,

Aún estoy muy feliz por haber llegado a los 1,000 seguidores en Twitter 🤗
Como les prometí en mi primer video de YouTube, aquí les traigo el análisis de mi Twitter usando Ciencia de Datos.

🤔 ¿Dónde están mis datos?

Para comenzar este proyecto, el primer paso es tener nuestros datos. Por lo general, para obtener información histórica de Twitter, tenemos que crear un web scraper, ya que Twitter sólo permite extraer infomación de no más de hace una semana a través de su API.

Sin embargo, la buena noticia es que Twitter nos permite descargar nuestros própios tweets de una manera fácil y directa, sin importar que tan antiguos sean. Sólo debemos ingresar a twitter.com/settings/your_twitter_data, poner nuestra clave y esperar a que llegue un archivo zip con tola la información a nuestro email.

Este archivo contiene muchos datos sobre nuestra cuenta, e incluso trae una página HTML para navegar y digerir toda la información. Sin embargo, aquí vamos a hacer un análisis personalizado, para el cuál necesitaremos el archivo tweet.js.

🧼 Limpiar nuestros datos

La información sobre nuestros tweets viene en un archivo de JavaScript, pero fácilmente podemos convertirlos en JSON para después leerlos usando Pandas con el siguiente código:

import json
from pandas.io.json import json_normalize

with open('../data/tweet.js') as f:
    file = f.read()
    file = file[file.find("["):]
    
data = json.loads(file)
df = json_normalize(data)
Una vez en Pandas, seguí limpiando mis datos al:

😮 A grandes rasgos...

☆ Mi primer tweet con esta cuenta fue en Junio 4, 2011... ¡hace 9 años!
☆ 16.543 tweets en total, de los cuales:
☆ 5.957 re-tweets & 1.990 respuestas
☆ 3.945 fotos o videos

El día que más tuiteé

El 24 de enero de 2013 con 62 tweets, cuando me uní a la tendencia #EresColombianoSi

#EresColombianoSi almorzaste en las tardes viendo Padres e Hijos. Jajajaja

— Viviana Márquez (@vivmarquez) January 24, 2013
Vale la pena resaltar también el tercer lugar. el 14 de marzo de 2015, también conocido como EL DÍA PI DEL SIGLO #UnDíaIrracional, con 48 tuits.

jajajaja un poco de humor #UnDíaIrracional pic.twitter.com/5nvA2OiGxd

— Viviana Márquez (@vivmarquez) March 14, 2015

La racha más larga sin tuitear

Excluyendo recien cree mi cuenta de Twitter, cuando no la usaba mucho, la racha más larga sin tuitear fue de 48 días del 23 de junio del 2019 al 10 de agosto del 2019 (y sí, sí hay una historia interesante detrás de eso) 🤭

Twitter ya no tiene sentido

— Viviana Márquez (@vivmarquez) June 23, 2019
Este es el tweet con el mayor número de favoritos y re-tweets:

Qué bonitas son las matemáticas 🤩😍 pic.twitter.com/z7IdJEDIgE

— Viviana Márquez (@vivmarquez) July 31, 2018
Mención de honor al tweet que me hizo llegar a los 1.000 seguidores (y que es el segundo con más favoritos):

Si me dieran la oportunidad de vivir un amor de esta vida una vez más, escogería volver a estudiar matemáticas por primera vez ♥️

— Viviana Márquez (@vivmarquez) June 17, 2020

Meciones, respuestas y tweets

En el top 10 de las cuentas con las que más interactuo encuentro a YouTube (por los links de las canciones que publico), mi universidad, mis amigos de la universidad y cuentas de astronomía/matemáticas.

Hashtags más populares a través de los años


Idiomas 🇨🇴🇺🇸🇧🇷🇷🇺

Algo que me apasiona mucho son los idiomas y de vez en cuando intento practicarlos en mi Twitter. Para este análisis, usé la columna language que trae el archivo de Twitter. La clasificación no es perfecta (Twitter especialmente confunde con catalán o algún otra lengua romance los tweets en español que tienen algún error de ortografía). Aún así, usaré la clasificación de Twitter para ahorrar tiempo y porque de todas maneras nos dará una buena aproximación del volumen de tweets.

En el gráfico de arriba vemos que la mayoría de mis tweets son en español, seguidos por inglés, portugués, ruso y francés. En la categoría "otros" están los tweets bilingues, los clasificados erroneamente y los que muy rara vez me da por tuitear en algún idioma que no conozco. Lo interesante ahora es ver cómo ha cambiado mi uso de idiomas a través del tiempo.

Vemos que al principio tuiteaba mucho más en inglés que en español, hasta cuando en el 2013 regresé a Colombia y empecé a estudiar en la universidad. Después cuando volví nuevamente a los Estados Unidos en el 2018, la frecuencia de tweets en inglés aumentaron. La frecuencia de los tweets en portugués y ruso también están relacionadas a las epocas de mi vida cuando viví en Brasil y Rusia respectivamente.

🙂 Emojis

De los 3.798 emojis que he usado (289 diferentes), los más populares son: 😂😍❤️

Y tiene todo el sentido, porque por lo general uso Twitter para reirme de los momentos chistosos de la vida o para admirar/adorar algo que me guste mucho (ejemplo, las matemáticas). Aquí les dejo una animación divertida de cómo mi uso de emojis a cambiado a través del tiempo.

☆ Nótese que en abril del 2016 sonreí mucho... ¡eso fue cuando me enteré que me iba de intercambio a Rusia!
☆ Nótese que en el 2014 usaba mucho 💛💙❤️... ¡cuando Colombia tuvo un desempeño espectacular en la Copa del Mundo 2014!

📚 Palabras... y más palabras

En total he...

☆ Escrito 817.618 caracteres
☆ Apróximadamente 100.986 palabras, 20.028 distintas.
☆ Las palabras que más uso son matemáticas y Colombia❤️
☆ Los biagramas más populares son San Francisco, Carl Sagan y São Paulo en ese orden.

Y así es cómo se ve con el tiempo mis tweets:

🤓 La Asignación Latente de Dirichlet (LDA)

Quisé ir un paso más allá y hacer modelado de tópicos de mis tweets usando la Asignación Latente de Dirichlet (LDA). LDA es un modelo de machine learning no supervisado que usa la distribución de Dirichlet para encontrar temas, como su própio nombre lo dice, latentes en un conjunto de documentos.

Aunque ambos son modelos de agrupamiento, LDA es mejor que el clásico K-Medias para asignar temas a un conjunto de documentos ya que asume que un documento puede tener varios temas. La mala noticia es que LDA no funciona muy bien con tweets ya que son muy cortos. Sin embargo, después de mucha manipulación de los datos (sacar la raíz de las palabras, ignorar las de mucha/baja frecuencia, usar sólo verbos y adjetivos, etc.), logré obtener un resultado decente para mis tweets del 2016.

Los seis temas detectados por LDA fueron: Por ejemplo, podemos ver que los temas 1 y 6 (lugares y tiempo atrás) se parecen, ya que ambos hacen referencias a lugares; pero el primero hace referencia a la descripción de los lugares, mientrsas que el segundo es más nostalgico y recuerda el tiempo vivido.
Los temas dos y cinco también tienen algo en común: Rusia. Pero el primero se refiere más sobre el aprendizaje y el segundo a la comparación del idioma ruso con otros idiomas. El tercero y cuarto son sobre matemáticas y estudio, pero LDA es lo suficientemente inteligente para saber que son temas muy relacionados.

Bueno mis queridos amigos, eso es todo por ahora. Espero que sigan siendo muchos años más de momentos compartidos a través de estas redes sociales. Los quiero 💕🤗


Viviana Márquez
Científica de Datos en Miami, Fl.
MSc. Ciencia de Datos - Universidad de San Francisco, California
BSc. Matemáticas - Konrad Lorenz Fundación Universitaria