WhistlerLib: Biblioteca para el Análisis Distribuido de Grandes Conjuntos de Tuits

Desarrolladores

Dr. Alberto García Robledo, CONACYT-CentroGeo

Dra. Angelina Espejel Trujillo, CONACYT-CentroGeo

Introducción

Twitter es una red social conversacional considerada como un tipo de micro blog debido a que los mensajes que se publican en ella tienen una longitud máxima de 280 caracteres. Esta característica es muy conveniente para el estudio de las redes sociales, ya que los mensajes contienen datos muy bien estructurados que facilitan el análisis del texto y evitan el procesamiento innecesario, las redundancias o el ruido. Además de funcionar como mensajería instantánea, permite la difusión de noticias, la promoción de eventos, el marketing, los negocios e incluso el seguimiento y la coordinación de desastres naturales.

El hecho de que esta red social permita la identificación y seguimiento de eventos de diversa índole a atraído la atención de muchos investigadores. A través de la API de Twitter, es posible descargar y extraer datos importantes desde texto publicado por los usuarios de la red social. Sin embargo, la obtención de datos a partir de estas inmensas cantidades de texto representa un reto por el poder de cómputo necesario para poder procesar conjuntos de datos con decenas de miles o hasta millones de tuits.

WhistlerLib: procesamiento distribuido de grandes conjuntos de tuits

WhistlerLib es una nueva biblioteca de Python desarrollada en el Observatorio Metropolitano CentroGeo que aprovecha la computación distribuida para realizar análisis de redes sociales en grandes conjuntos de datos de Tweeter. WhistlerLib proporciona diversas técnicas de análisis de redes sociales (SNA) y de procesamiento de lenguaje natural (NLP) para el análisis de texto, sentimiento y enlaces que explotan la memoria y la potencia de cómputo encontrado en clústers multi-núcleo.

Concretamente, WhistlerLib provee funciones para realizar los siguientes tipos de análisis:

  • Histogramas de hashtags
  • Histogramas de menciones (handles)
  • Histogramas de n-gramas
  • Polaridad de sentimientos
  • Emociones (e.g. temor, enojo, júbilo, etc.)
  • Redes ponderadas de co-aparición de hashtags
  • Redes ponderadas de co-aparición de menciones

Arquitectura

Los tipos de análisis arriba listados están construidos sobre algoritmos distribuidos que hacen uso del framework Dask para repartir la carga de trabajo entre diferentes núcleos en un sistema multi-núcleo o bien entre diferentes nodos en clústers de cómputo multi-núcleo.

Arquitectura de software de WhistlerLib.

Asimismo, WhistlerLib explota otras bibliotecas de análisis de redes sociales como advertools para la extración de menciones y syuzhet para la generación de puntajes de emociones y polaridad para tuits.