Análisis de sentimientos de tweets.



Documentos relacionados
CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK.

NewPoint IT Consulting BIG DATA WHITE PAPER. NewPoint Information Technology Consulting

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Hadoop. Cómo vender un cluster Hadoop?

1. Proyecto de intervención

FaceFinder MÓDULO DE BÚSQUEDA DE PERSONAS DENTRO DE UNA BASE DE DATOS DE ROSTROS

Yersinio Jiménez Campos Analista de datos Banco Nacional de Costa Rica

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Capítulo 1. INTRODUCCIÓN

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Administración por Procesos contra Funciones

UNIVERSIDAD DE SALAMANCA

Servicio de administración de pautas publicitarias en Internet

CAPÍTULO CONCLUSIONES Y RECOMENDACIONES

2. Estructuras organizativas típicas en relación a Gestión de Clientes

BIG DATA. Jorge Mercado. Software Quality Engineer

Conectores Pentaho Big Data Community VS Enterprise

Sistemas de Información Geográficos (SIG o GIS)

Roadmap para la adopción de nuevas arquitecturas de información

Documento de trabajo Fundació Antoni Tapies

Soluciones Integrales en Inteligencia de Negocios

Capítulo I. Marco Teórico

Gestión de la Configuración

4. Programación Paralela

understanding documents Digitalización y Captura Inteligente de Documentos

DE VIDA PARA EL DESARROLLO DE SISTEMAS

Escuela de Organización Industrial

Trabajo final de Ingeniería

Elementos requeridos para crearlos (ejemplo: el compilador)

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

APACHE HADOOP. Daniel Portela Paz Javier Villarreal García Luis Barroso Vázquez Álvaro Guzmán López

Mineria de Grafos en Redes Sociales usando MapReduce


Capítulo 5. Cliente-Servidor.

ADT CONSULTING S.L. PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS

CAPITULO 4. ANALISIS COMPARATIVO Y SELECCION DE LA PLATAFORMA EDUCATIVA.

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

INVESTIGACIÓN DE MERCADOS

Alessandro Chacón Ernesto Level Ricardo Santana

e-commerce vs. e-business

EL MODELO DE DATOS RASTER

BIG DATA & SEGURIDAD UN MATRIMONIO DE FUTURO

Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos

CURSO: DESARROLLADOR PARA APACHE HADOOP

Motores de Búsqueda Web Tarea Tema 2

PINOT. La ingestión near real time desde Kafka complementado por la ingestión batch desde herramientas como Hadoop.

RESULTADOS CONSULTA CIUDADANA VIRTUAL. Consulta Laboral en Línea

Día :00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida

El Éxito del ICFES frente al reto de la Flexibilidad. Ingrid Picón Directora de Tecnología e Información ICFES

Gestión de Oportunidades

ESTUDIO DE SEGURIDAD DEL SECTOR COMERCIAL

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

Capítulo 9. Archivos de sintaxis

WHITE PAPER. Encuesta: Los Periodistas de México y las Redes Sociales

WINDOWS : SERVIDOR DHCP

Seguridad en tiempos de Big Data

El ABC de Big Data: Analytics, Bandwidth and Content

Unidad 1. Fundamentos en Gestión de Riesgos

PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES

RIESGO Y RENTABILIDAD DE LA EMPRESA (Riesgo y Rendimiento) Qué es lo que determina el rendimiento requerido de una inversión?

CAPITULO V. Conclusiones y recomendaciones. Este capítulo tiene como objetivo mostrar las conclusiones más significativas que se

PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA T E M A S

Tutorial para la creación de un blog institucional


CAPÍTULO 3 3 DISEÑO DE UN MECANISMO DE DETECCIÓN DE TRÁFICO MALICIOSO PARA REDUNAM

Especificación de mensajes SWIFT. que desempeñen, provean en cualquier forma actividades ilegales al narcotráfico.

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.

Diseño de una estrategia tecnológica de Customer Relationship Management (CRM) para la empresa BPM de México. CAPITULO 6

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

A estas alturas de nuestros conocimientos vamos a establecer dos reglas muy prácticas de cómo sumar dos números reales:

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

Autenticación Centralizada

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Manual del Usuario. Sistema de Help Desk

PROPUESTA DE DESARROLLO DE SITIO WEB AVANZADO

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

hay alguien ahi? por Marcelino Alvarez

Matemáticas Básicas para Computación

CURSO COORDINADOR INNOVADOR

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO SCRUM SPRINT #1. Ingenieria de Software I MAESTRO: BERNARDO PRADO DIAZ INTEGRANTES. Jorge Valdano.

ENFOQUE ISO 9000:2000

Figure 7-1: Phase A: Architecture Vision

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN


UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Capitulo 3. Desarrollo del Software

Arquitectura de seguridad OSI (ISO )

Enterprise Resource Planning (ERP) SISTEMA DE PLANEACIÓN DE RECURSOS MASTER: ALFREDO CASTRO JIMENEZ

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniera en Electricidad y Computación

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Construcción de una Base de Datos

Novedades en Q-flow 3.02

PROCESO DE VENTA CONSULTIVA MÓDULO DE GESTIÓN DE OPORTUNIDADES DE NEGOCIO

Transcripción:

Análisis de sentimientos de tweets. JIT-CITA 2013 Resumen Un sensor de sentimientos de tweets para identificar los mensajes positivos, negativos y neutros sobre cualquier trend que se tome sobre esta red social. Key words: Big data, Hadoop, MapReduce, tweets, análisis de sentimientos 1. Introducción Las herramientas de Big Data[1] (de forma particular para este trabajo se utiliza Hadoop[2], Cloudera CDH[3], MapReduce[4]) son hoy en día herramientas en constante crecimiento a nivel mundial para procesamiento de grandes volúmenes de datos. Por ello en el siguiente trabajo de investigación desarrollamos de forma inextensa todo lo concerniente al tratamiento de grandes cantidades de datos, en este caso, realizamos el análisis sentimental de los tweets. 2. Motivaciones Big Data hoy en día acarrea una enorme cantidad de problemas, relacionados con el volumen, velocidad y la variedad de los datos (comúnmente denominados las tres V s de Big Data), la cantidad de información que se genera hoy en día es mayor a la capacidad de procesamiento, como ejemplo tenemos, de acuerdo con la propia investigación de Twitter a principios de 2012, se ven más o menos 175 millones tweets de todos los días, y tiene más de 465 millones de cuentas [5], así también tenemos a Youtube, según estudios los usuarios de YouTube sube 48 horas de video nuevo cada minuto del día [6], y por último tenemos a otro de los colosos de internet, Facebook, quien revela que se suben 100 terabytes de datos por día al mismo, se comparten 30 mil millones de posts cada mes [6]. Estas estadísticas nos dan una pauta sobre el nivel de información extremadamente alto con el que se lidia, y todo esto viene de forma diversa, los datos no se encuentran completamente estructurados, se debe tratar con archivos de texto, imágenes, videos entre otros, todo esto es lo que Big Data intenta abordar y tratar. Esto conlleva al motivo de este proyecto, el tratamiento de datos tanto estructurados como no estructurados con un gran volumen de datos utilizando metodologías y arquitecturas tales como Hadoop y MPP[7], con lo cual esperamos obtener de forma eficiente y efectiva resultados sobre los sentimientos en las expresiones de los tweets. Otro motivo fue tener una idea sobre la complejidad real de implementar este tipo de arquitecturas en la vida real, así como la medición de la perfomance del mismo.

2 3. Descripción del problema El tratamiento de datos es el problema principal. Tres pilares caracterizan este problema: Volumen: Los datos ocupan Gigabytes a Terabytes de espacio en disco. Es común que incluso ocupen más espacio del que se puede almacenar en un disco físico. Se necesitan mecanismos para almacenar los datos de forma eficiente y tolerante a fallos. Velocidad: La latencia en el procesado de los datos, contra la demanda por interactividad requerida. Variedad: Diversidad de fuentes, formatos, calidad y estructura de los datos. Específicamente, nos enfrentaremos a estos problemas al analizar los tweets que contengan cierta información que particularmente nos resulte interesante, como son los trending topics de Twitter. Necesitamos encontrar mecanismos que nos ayuden a tratar esta masiva cantidad de datos. Una vez obtenidos estos datos, realizar el analisis de sentimientos (ya sea negativo, positivo o neutro) sobre el tema obtenido, de esta manera, obtener una tendencia general negativa o positiva sobre el tópico estudiado. 4. Descripción esquemática de la solución planteada Hipótesis. El análisis de sentimientos de los tweets (masiva cantidad de información) en conjunto con el framework Hadoop, para obtener una tendencia sentimental de si el hashtag obtenido está siendo debatido de forma positiva o negativa. Utilizacion de herramientas de Big Data para efectuar las pruebas. La estructura de la solución planteada se basa principalmente en la recolección de datos de tweets referentes a un tema especificado por un hashtag, como primera fase del experimento, el cual fue realizado mediante la utilización de la API de twitter, llamada Streaming API. Este proceso de recolección tuvo una duración aproximada de 4 horas ininterrumpidas, durante el cual se llegó a recolectar más 500.000 tweets para el experimento. La siguiente fase, el análisis de los datos recolectados guardados dentro de el sistema de ficheros HDFS de Hadoop[8], el cual posibilitó la obtención de los resultados haciendo uso del motor de procesamiento Map Reduce [4]. 5. Resolución Fase 1 - Recoleccion de datos - Streaming API La forma en que los investigadores y otras personas pueden obtener grandes cantidades de datos públicos disponibles en Twitter es mediante su API 1. La API de Twitter tiene dos enfoques o formas de trabajo : RESTful y Streaming. REST API ofrece a los desarrolladores el acceso al core de los 1 API, Interfaz de Programación de Aplicación (Application Programming Interface)

Análisis de sentimientos de tweets. 3 datos de Twitter. Todas las operaciones que se pueden hacer vía web son posibles realizarlas desde el API. Streaming API proporciona un subconjunto del flujo total de tweets en tiempo real. Para el experimento usamos Streaming API, lo que nos permitió recolectar los datos en tiempo real. Optamos por esta API porque a diferencia del RESTful, no existe una limitación de 150 peticiones/hora por usuario o por IP si la conexión no está autenticada. Luego de 4 horas de recolección, obtuvimos aproximadamente 500.000 tweets sobre el tópico twitter. Fase 2 - Tratamiento de los datos Los datos recolectados están codificados en JSON 2, el cual es una forma elegante de codificar complejas estructuras de datos. En el caso de un tweets, la estructura de datos o la información disponible en ella, es muy completa. Para fines del experimento, el cual es analizar el sentimiento de un tweet, solo nos interesa el campo que posee el mensaje en sí. Para ello, la información recolectada pasa por un filtro, el cual permite obtener solo aquellos campos que nos interesa del tweet (mensaje y tiempo de generación del tweet), desechando la información restante. Fase 3 - Función de Evaluación Para analizar el sentimiento de un tweets, se analiza el mensaje en sí del tweet contra una lista de palabras calificadas según el sentimiento, los cuales poseen un peso según expresen sentimientos negativos o positivos, del -5 (más negativo) al +5 (más positivo). A cada tweet se le asigna un puntaje basado en la suma del puntaje del sentimiento asociado a cada palabra que compone el tweet. Fase 4 - Analisis - Map Reduce La función map toma como entrada un tweet y devuelve como salida una tupla compuesta por la clave ([sentimiento], [timestamp]) y valor [score] Map(tweet) (([sentimiento], [timestamp]), [score]) donde sentimiento es negativo si es puntaje es menor a 0, neutral si el puntaje es 0 y positivo si el puntaje es mayor a 0. La función reduce acepta como entrada la tupla producida por map y devuelve una tupla Reduce(([sentimiento], [timestamp]), [score]) (([sentimiento], [timestamp]), [total]) Reduce utiliza como clave de agrupamiento ([sentimiento], [timestamp]), sumando los puntajes cuyas claves sean iguales para obtener el resultado total. Fase5 - Obtención de resultados Los resultados presentan una clasificación del total de tweets recolectados según el sentimiento (o tendencia) que tuvieron hacia lo positivo, negativo o neutral. 2 JavaScript Object Notation

4 6. Conclusiones Hemos podido observar como con herramientas de procesamiento podemos mejorar de forma substancial el procesamiento de los datos. Una de las ventajas que obtenemos tratando los problemas a través de Hadoop es que los datos no deben ser estructurados de forma tradicional (no es un requisito tenerlos en forma de entradas en una base de datos) ya que justamente esta versatilidad de Hadoop nos permite trabajar con fuentes heterogéneas de datos (archivos de texto, listas, entradas de una base de datos). Por otro lado, concerniente al trabajo realizado, hemos podido lleguar a las siguientes conclusiones, primeramente el costo de desarrollo fue relativamente bajo, ya que las herramientas se encuentran documentadas de forma extensa, son de uso simple y la configuración no involucra mayores complicaciones, lo cual es sumamente importante para la incorporación de este tipo de soluciones a problemas similares. En cuanto a los resultados obtenidos podemos ver, si bien el tema es bastante genérico, al utilizar como hashtag twitter, que constantemente tenemos resultados mayormente positivos o neutrales por sobre los negativos, esto puede ser observado a lo largo de periodo de recolección, con esto podemos pensar de forma razonable que los usuarios que escriben esto están hablando positivamente sobre el Twitter, es decir están contentos con el sistema o lo encuentran interesante. Podemos ver la importancia de este tipo de análisis, ya que a través de los sentimientos de estos tweets podemos concluir acerca del nivel de aceptación que está teniendo la herramienta Twitter sobre sus usuarios, por lo tanto es una forma indirecta de hacer censo a los usuarios para obtener datos relevantes sobre la aceptación del servicio. Referencias 1. http://en.wikipedia.org/wiki/big_data: (Big data) 2. http://hadoop.apache.org/: (Apache hadoop) 3. http://www.cloudera.com/content/cloudera/en/products/cdh.html: (Cloudera cdh) 4. http://research.google.com/archive/mapreduce.html: (Mapreduce: Simplified data processing on large clusters) 5. Dawson, K., Ziv, D.D.: (A conversation on the role of big data in marketing and customer service) 6. http://wikibon.org/blog/big-data-statistics/: (A comprehensive list of big data statistics) 7. http://en.wikipedia.org/wiki/massively_parallel_(computing): (Massive parallel computing) 8. http://hadoop.apache.org/docs/stable/hdfs_design.html: (Apache hadoop)

Análisis de sentimientos de tweets. Integrantes Jorge José Jara Ruiz charijara@gmail.com +595 981 514767 JIT-CITA 2013 Manuel Antonio Nuñez Gonzalez 03.manu@gmail.com +595 981 484860 Stefano Leonardo Pezzino Castro spezzino.13@gmail.com +595 981 477155 Profesor: Iván Prieto Materia: Sistemas Paralelos y Distribuidos Departamento: Departamento de Electrónica e Informática Universidad: Universidad Católica Nuestra Señora de la Asunción Resumen El trabajo consiste en la investigación de tecnologías de Big Data (Hadoop, utilizado en conjunto con Cloudera, MapReduce e implementado en Python) implementando un análisis de sentimientos sobre tweets obtenidos en tiempo real desde internet, utilizando la API de Twitter para obtener los tweets en tiempo real, los cuales son distribuidos en ciertos nodos (que realizan el trabajo de evaluación de cada uno de los tweets), para, de forma final, sacar un resultado sobre el conceso de todos los tweets analizados de forma independiente. Se utiliza Hadoop que es el framework que permite trabajar con los nodos creados y es utilizado para realizar aplicaciones distribuidas. Se muestra el proceso de análisis, de segmentación y distribución de las tareas mediante estas herramientas mencionadas previamente). Key words: Big data, Hadoop, MapReduce, tweets, análisis de sentimientos Áreas de trabajo 5. redes, sistemas y/o arquitectura, y 8. algoritmos, lenguajes y programación.