Abstract:
El objetivo principal de este proyecto es desarrollar un sistema Big Data de análisis y visualización de medios sociales. Para ello se emplearán diferentes servicios REST. Se desarrollará GSICrawler como servicio de ingesta de datos y se empleará Senpy como servicio de análisis. Además se empleará el framework Sefarad basado en Web Components para la visualización. Para poder integrar todos los servicios dentro del mismo sistema emplearemos Luigi como orquestador.
La motivación de este proyecto es doble. Por un lado, viene dada por la cantidad de datos que podemos encontrar en medios sociales sobre distintos temas. En estas fuentes de datos se generan opiniones constantemente por lo que los datos recogidos proporcionan información sobre las tendencias y opiniones de los usuarios. Por otro lado, existen diferentes herramientas para realizar análisis de Big Data. Sin embargo, su uso es bastante complejo, ya que cada herramienta funciona por separado.
Los principales metas de este proyecto son:
- Diseñar una arquitectura que englobe los diferentes servicios de análisis y recogida de datos en formato semántico.
- Adaptar los componentes ya existentes a la nueva arquitectura.
- Facilitar la orquestación de diferentes sistemas en flujos de trabajo complejos mediante tareas predefinidas.
- Desarrollar un caso de uso empleando todos los servicios del sistema.
Este proyecto se divide en cinco fases principales
- Realizar un diseño de la arquitectura en la que estén presentes todos los servicios involucrados en el sistema.
- Adaptar los servicios ya implementados a la nueva arquitectura.
- Desarrollo e implementación del servicio de ingesta de datos (GSICrawler). Se implementará como una API REST basada en Python que nos devolverá el resultado del análisis en formato JSON-LD.
- Desarrollo de las funciones del orquestador encargadas de realizar los distintos análisis: de sentimientos, de emociones, detectores de entidades?
- Implementación de un caso de uso que conste de las siguientes partes:
1. Obtener datos de distintas fuentes en formato semántico.
2. Procesar y enriquecer los datos. Obteniendo los temas y personas de los que se habla, así como los sentimientos y emociones.
3. Crear un dashboard interactivo para la visualización de los datos recogidos. Este dashboard estará implementando empleando el framework Sefarad, además se ampliará creando nuevos Web Components específicos para medios sociales