Internet
publicado el 23 de julio, 2009
cuantos chilenos hay en twitter?

Una pregunta que se ha leído muchas veces en el último tiempo, sobre todo después de la explosión de usuarios de marzo/abril de este año, en Chile. Hace un par de meses atrás me propuse responder a esta pregunta. Para ello desarrollé un sistema cuya misión sería identificar a todos los usuarios chilenos en twitter. Este sistema basa su funcionamiento en algunas conjeturas básicas:
  • todo usuario que dice "chile" en su location, es chileno.
  • cada chileno en twiter sigue o es seguido por algún otro chileno.
  • cada chileno debiera seguir o ser seguido mayoritariamente por chilenos.
De esta forma, se construyó un sistema que permitiría recuperar, recorrer y analizar el grafo de chilenos y sus contactos, decidiendo qué nodos de esta red pertenecen a nuestro país. Luego de varias semanas de trabajo, y hartos fines de semana también, finalmente llegué al resultado buscado, incluyendo el empadronamiento de casi la totalidad de los usuarios del país.


El procedimiento:

El sistema consiste en un aplicación desarrollada en java/groovy, la cual se ejecuta en forma iterativa, realizando dos labores principales: una primera etapa de carga de datos, y una segunda, de análisis de los datos descargados. Este procedimiento se repite una y otra vez, actualizando el conjunto de chilenos de manera incremental.

Para comenzar con el experimento, se construyó un conjunto inicial, C0, obtenido a través de un buscador de usuarios de twitter. Esto permitió contar con un conjunto de cerca de 4mil usuarios, identificados como chilenos. Este sería el conjunto de partida para la primera iteración.

La primera fase de cada iteración (iteración-k) es la fase de descarga. Esta se realiza ejecutando llamadas a la API de twitter, obteniendo todos los following y followers del conjunto Ck-1 Después de procesar todo el conjunto, lo que se obtiene es la red completa de F/F de los chilenos, el conjunto FF(Ck-1).

La segunda es la fase de análisis. Esta consiste en aplicar un criterio de selección sobre cada usuario existente en la base de datos, utilizando toda la información disponible del usuario (location, bio, url, etc.). El criterio comienza revisando el dato de location: si indica "chile", se asume que es chileno. En caso contrario, se revisa si la locación corresponde a alguna localidad del país, utilizando un diccionario de topónimos con lugares de Chile. Luego se revisan los demás datos disponibles. Finalmente, se realiza el cálculo más importante: el ''porcentaje de chilenidad'' de sus followings/followers, considerando la proporción de chilenos reconocidos, dentro de su conjunto de F/F. Esto último es particularmente importante cuando no se tiene información del usuario (location vacío, bio vacío, etc.).

Una vez revisados la totalidad de los usuarios, lo que se obtiene es una nueva versión del conjunto de chilenos, Ck, que será la base para la siguiente iteración. De esta manera, se repite el proceso hasta que el sistema haya alcanzado un cierto nivel de estabilidad en los resultados. Esto ocurrirá cuando la cantidad de nuevos usuarios seleccionados sea menor a un cierto umbral.


Los resultados:

Para el experimento se realizó un total de 6 iteraciones. El conjunto inicial (C0) fue de 4045 usuarios. Al ejecutar el sistema, se obtuvieron los siguientes resultados:

total de chilenoschilenos al 01/06/09crecimiento al 01/06/09
conjunto C040454045...
conjunto C1156701560211557
conjunto C2283672770012098
conjunto C338402337446044
conjunto C449839383744630
conjunto C554275405822208
conjunto C65563641237655


Recién a partir de la tercera iteración se observa un comportamiento convergente. Esto se debe a que en las primeras iteraciones se realizaron algunos ajustes sobre los parámetros del algoritmo de selección. Además, se fueron corrigiendo algunas características sobre la marcha. Cabe mencionar que cada iteración es un proceso que toma varios días, lo que implica un período largo de tiempo (más de un mes) entre la primera y la última iteración. Debido a esto, lo que se hace es comparar el total de usuarios al 1 de junio, en particular, revisando el crecimiento de cada iteración.

Si entendemos el proceso como un sistema de recuperación de información, podríamos afirmar que se favoreció la precisión (la calidad del resultado) por sobre el recall (la cobertura), al restringir el criterio de selección en el caso de usuarios con muy pocos F/F (el caso de nuevos usuarios). Esto implicaría perder algunos usuarios en la recuperación, pero a cambio se consigue disminuir el número de falsos positivos.

Las pruebas realizadas sobre los datos muestran que la precisión del sistema es especialmente alta. Se tomó un grupo de usuarios seleccionados, considerando aquellos con menor probabilidad de ser chilenos, y se hizo una revisión manual que permitió comprobar que el número de falsos positivos es muy reducido: del orden de 0.1% 0.5% (aunque esta cifra debiera ser comprobada de forma más estricta).

En estos momentos, la cifra total de usuarios chilenos encontrados asciende a 55.636, al 21 de Julio del 2009. Haciendo una sencilla proyección de los datos, se podría afirmar que la cantidad de chilenos no debiera superar los 60.000 usuarios, considerando la totalidad de usuarios inscritos.


Conclusiones:

La realización de este proyecto permitió la identificación de prácticamente todos los chilenos en la red de twitter (si bien no se trata de la cifra exacta, es una muestra muy cercana al real total de usuarios). Habiendo identificado este conjunto, es posible obtener una gran cantidad de resultados y conclusiones. Desde el punto de vista estadístico, se pueden realizar una serie de análisis, realizar segmentaciones de usuarios, así como obtener rankings en base a diversas características. También, es posible la detección de grupos de usuarios, que de otra manera pasarían inadvertidos, por ejemplo, detectando chilenos en el extranjero.

En la implementación realizada quizás faltó un mayor rigor científico, por ejemplo, al momento de definir los parámetros. Para esa tarea se utilizó una mezcla de experiencia y experimentación, definiendo valores que fueron ajustados a medida que se obtuvieron los primeros resultados. El proyecto podría haberse planteado como un sistema de inteligencia artificial, permitiendo el entrenamiento automático del algoritmo de selección, sin embargo, los resultados obtenidos mostraron ser más que satisfactorios con la metodología utilizada.

Todos estos resultados darán lugar a un completo estudio sobre los usuarios de twiter en Chile, que será publicado próximamente, incluyendo una nueva actualización de las cifras.


Comuníquese, regístrese, publíquese, y archívese:
...en twitter somos casi 60.000 chilenos.


12 comentarios

01:02:12 / 24-julio-2009 - chaz
felicitaciones, muy buen trabajo
03:45:43 / 24-julio-2009 - José Luis Contreras
una novedad para mi la forma en que llegas a obtener esa información.Notable
13:15:50 / 12-agosto-2009 - Walala
tu analisis de locación considera variaciones \"graciosas\" de localidades? por ejemplo, santaldo, shile, u otra variación?
las comunas también entran en el diccionario?
interesante el estudio, felicitaciones.

13:37:55 / 12-agosto-2009 - Kemeny_x
Buenísima la ecuación. buena formula para calcular la cantidad de cuentas de los chilenos en Twitter. Pero creo que esta búsqueda compuesta de Google puede ayudar a complementar el estudio: http://bit.ly/XCwbx (40,300 from twitter.com for chile -mobile -statuses -explorer -status.)
13:50:11 / 12-agosto-2009 - Fran Varela
Excelente trabajo!
14:23:11 / 12-agosto-2009 - Zeta
Excelente Daniel. Interesante trabajo.
14:28:38 / 12-agosto-2009 - Richard Johnson
Interesante estudio! Cada vez se necesitan más datos acerca de quienes \"conversamos\" dia a día en esta plataforma. Las marcas sin duda serán las más agradecidas quienes podrán tener más datos en la mesa a la hora de invertir en estos medios. Lógicamente, mientras más sabemos más dudas tenemos. Por ejemplo, cuántos chilenos tienen sus cuentas activas, cuántas cuentas se encuentran replicadas, etc.
Se agradece el aporte.
14:49:28 / 12-agosto-2009 - Zeta
Una consulta. En tu estudio salgo clasificado como chileno =P?. Por curiosidad. mi usuario de twitter es: rzilleruelo

Saludos
Z.
15:28:52 / 12-agosto-2009 - elmaje
Muy bueno el estudio. Nosotros estamos actualizando desde la API de Twitter nuestro estudio. Lo único que no me queda claro es cómo eliminaron los duplicados porque el principio chilenos siguen chilenos si bien es cierto promueve que tengás duplicados.
15:48:47 / 12-agosto-2009 - dgomez
@walala: si, en la lista de lugares considero varios apodos: chilito, santiasco, valpo, etc. Y si, el archivo utiliza como base la lista de todas las comunas de Chile, más algunos nombres/apodos agregados a mano.

@kemeny_x: lo de google es interesante, pero si te fijas en los resultados, no es posible recuperar mas allá del resultado 3xx. Voy a darle una vuelta a eso, porque si la búsqueda es realmente exhaustiva en los datos de usuario, estaría bastante alineado con mis resultados (tengo entre 30 y 40 mil usuarios con info relacionada con Chile).

@zeta: claramente sales como chileno... tienes \"location: chile\". De hecho, eres parte del conjunto inicial de usuarios.

@elmaje: como dije por ahi, la cifra que aqui aparece muestra el total de cuentas encontradas. Lo de los duplicados, no entiendo bien a que te refieres... obviamente los usuarios están identificados con su id de twitter (no el username), por lo que no podrían haber cuentas duplicadas.
12:46:09 / 26-septiembre-2009 - pvergaram
Estimado:
Muy buen trabajo, te felicito por todo lo hecho y me imagino que ardua tarea.
Me asalta una duda... qué sucede con aquellos usuarios que tienen una cuenta twitter pero no la utilizan, sino que quizá se la crearon para conocer qué era Twitter?
Saludines!!!
13:03:47 / 26-septiembre-2009 - dgomez
@pvergaram: la cifra presentada aca, representa al total de cuentas twitter encontradas. Eso incluye cuentas activas e inactivas (y en particular, el caso que mencionas). Si uno considera solo las cuentas realmente \"activas\", el total de usuarios se reduce bastante.

nombre *

e-mail *

web

2 x 4 = *




En los últimos 15 años hemos visto el gran cambio que ha significado el crecimiento de Internet. En la actualidad los grandes temas que aparecen son la Web 2.0, las redes sociales y los contenidos generados por los usuarios. Mi relación con internet data de 1998, primero desarrollando páginas web personales, y posteriormente, trabajando en el desarrollo de aplicaciones web. Hoy, mi trabajo consiste en descubrir nuevas formas de extraer información desde la red, aplicando técnicas de la inteligencia artificial.