El artículo describe la arquitectura e implementación de un sistema para la colección y análisis de datos en Twitter. Se integran módulos para recolección de datos, almacenamiento espacial de datos fuera de línea, recolección de datos espaciales, búsqueda completa de texto, expansión de jerga (slang), mapeo de datos y exportación.
La siguiente figura muestra el diagrama de casos con las interacciones que se espera tenga el sistema con el usuario:
El módulo de recolección de datos se encuentra separado de la interfaz web. Se emplea la librería Twitter4J para conectarse al Streaming API y guarda los mensajes recibidos en una base de datos de SQLite. La siguiente figura muestra la arquitectura de la recolección de datos:
Los datos se hayan en una base de datos de SQLite originalmente sin datos espaciales. La información sobre localización (latitud y longitud) embebida en los mensajes debe ser representada en un formato espacial antes de poder llevar a cabo consultas tomándolo como parámetro. Se utilizan un par de sitios que contienen información sobre coordenadas dentro del Reino Unido.
Para usar la extensión geográfica GeoDjango se requiere de una base de datos espacial, en este caso se usa PostgreSQL con la extensión espacial PostGIS. Se utiliza un script para transformar cada mensaje almacenado en la base de SQLite a su equivalente espacial en PostgreSQL. La arquitectura de este módulo se muestra en la siguiente figura:
Una vez convertidos los datos a su equivalente espacial, GeoDjango se encarga de proveer un framework de alto nivel para obtener modelos geográficos basados en la localización. La siguiente figura muestra la arquitectura de esta parte:
La búsqueda de texto completo (full text search) se incorpora para ayudar al análisis textual, mejorar el tiempo de respuesta de los queries en grandes conjuntos de datos y para obtener una mayor cantidad de resultados.
Se incorpora el motor Apache SOLR basado en Lucene para el indexado de los documentos y su recuperación. El motor de búsqueda se integra al sistema usando el módulo HayStack.
Se introduce el sistema “slang expansion” para lidiar con las palabras y abreviaciones propias de Twitter. El proceso se basa en la integración de una “slang table” que contiene 5,000 palabras de este tipo y su equivalente al inglés formal. La siguiente figura muestra la arquitectura de todo este módulo:
El último módulo del sistema se encarga de la visualización y exportación de los datos y su arquitectura se encuentra en la siguiente figura:
La visualización de los datos (y en general el sistema) se basa en la información sobre el lugar en el que se producen los mensajes. Por ejemplo las siguientes imágenes muestran el conjunto de datos totales, los mensajes correspondientes al uso de alcohol y a referencias hacia fumar.
Bhat, F., & Oussalah, M. (2011). A software system for data mining with twitter. Cybernetic Intelligent Systems (CIS), 2011 IEEE 10th International Conference on (pp. 139–144). doi:10.1109/ CIS.2011.6169149
No comments:
Post a Comment