
Wednesday August 12, 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 nos propusimos responder a esta pregunta.
Para ello desarrollamos 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, C
0,
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 C
k-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(C
k-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, C
k,
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 (C
0) fue de 4045 usuarios. Al ejecutar el sistema, se obtuvieron los siguientes resultados:
| total de chilenos | chilenos al 01/06/09 | crecimiento al 01/06/09 |
| conjunto C0 | 4045 | 4045 | ... |
| conjunto C1 | 15670 | 15602 | 11557 |
| conjunto C2 | 28367 | 27700 | 12098 |
| conjunto C3 | 38402 | 33744 | 6044 |
| conjunto C4 | 49839 | 38374 | 4630 |
| conjunto C5 | 54275 | 40582 | 2208 |
| conjunto C6 | 55636 | 41237 | 655 |
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%
(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. 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.
...en twitter somos casi 60.000 chilenos.
Estudio desarrollado por Daniel Gómez de
www.orbitando.comhttp://www.dcc.uchile.cl/~dgomez/item.php?id=chilenos_en_twitter
Enviado por carlos
( Aug 12 2009, 11:27:34 AM GMT-04:00 )
Permalink
Los comentarios han sido deshabilitados.