big data y análisis de sentimiento - files.meetup.comfiles.meetup.com/19109162/big data y analisis...

42
Big Data y Análisis de Sentimiento Daniel Robins, Director de Tecnología de KUNAN SA Profesor de Bases de Datos II Universidad Nacional de Chilecito [email protected]

Upload: hoangque

Post on 12-Oct-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Big Data y Análisis de SentimientoDaniel Robins, Director de Tecnología de KUNAN SAProfesor de Bases de Datos II Universidad Nacional de [email protected]

Agenda

● Introducción a Big Data● Vertica, La Base de Datos Analítica para Big Data● Caso de Uso: Balotage Argentina 2015 - Análisis de Sentimiento utilizando

la red social Twitter

Que es Big Data?

El objetivo fundamental del big data es dotar de una infraestructura tecnológica a las empresas y organizaciones con la finalidad de poder almacenar, tratar y analizar de manera económica, rápida y flexible los grandes Volumenes de datos, provenientes de diversas fuentes como Social Media, IoT, Sensores, Aplicaciones, los cuales se generan en gran Velocidad y suelen ser tipos Variados, tanto estructurados, semi-estructurados, como no estructurados.

El científico de datos, una novedosa y necesaria profesión, el puesto más buscado en Silicon Valley

Big Data vs Data Science

Coleccionar datos no es lo mismo que descubrirlos

Estamos en una revolución digital

Pionero de Big Data

Google creó su propia arquitectura y publicó sus papers en 2003

Hadoop es el open source de la arquitectura de Google

Michael Stonebraker, “La base de datos Oracle está obsoleta y Facebook tiene el mayor problema de datos del mundo”

Evolución de las Bases de Datos

Introducción a Vertica - Analítica siempre disponible

Capacidades Core, Construída para alta velocidad de carga y respuesta

Secretos de Vertica para lograr Alto Rendimiento

Desde la Analítica Descriptiva hacia la Predictiva y de Preferencia

Pulse, Análisis de Sentimiento

Place, Analítica Georeferencial

El desafío de analizar los datos y entender la geometría y geografía de donde los datos pertenecen

R, Analítica Predictiva

Hacer Anlitica Predictiva de milliones de registros

Hacer Analitica Predictiva de billones de registros y distintas observaciones en bloques de datos( Procesamiento en paralelo)

Open R framework for distributed computing permite extraer informacion de grandes volumnes de datos algoritmos paralelos que pueden escalar y trabajar en miles de millones de observacionesExtensiones Vertica permiten soporte para análisis predictivo completo.

VSQLH, Integración de Vertica con Hadoop

Consulte los datos, no importa donde se encuentren•Instale Vertica directamente sobre el cluster de infraestructura Hadoop•Soporta ORC, Parquet, Avro, Vertica ROS y JSON•100% funcional con ANSI SQL•100% of TPC-DS queries•No hay nodos primarios o punto de falla único•La mejor relación costo beneficiot•Utiliza Vertica MPP Arquitectura Columnar•Hadoop Agnostic

Nuevas funcionalidades de Vertica 8 Frontloader

● Instalación On-Premise, Cloud Privado, Cloud Público y Hadoop Data Lake

● Soporte sobre Azzure Cloud, además de AWS y HP Clouds● In-Database Machine Learning● Analysis-in-Place Analytics on Hadoop● Expanded Multi-cloud capabilities and support● Optimized Apache Spark Adapter

Vertica, Un ecosistema integrado para Big Data

Casos de Uso KUNAN SA

● Balotage Argentina 2015 (Pulse) ● #Niunamenos, detectar patrones de comportamiento machista en los

comentarios vertidos en redes sociales (Pulse, R, Analytics)● Modernización de Datawarehouse, Migración desde Oracle a Vertica ● Proyección de Ventas en base a ventas actuales contrastadas con el nivel

socioeconómico y densidad de población de los barrios (Place + Analytics + Dataset Público Censo)

● Análisis de Accidentes viales en autopistas de Buenos Aires, comparando el estado de la pista, con la densidad, hora y clima (Dataset público data.buenosaires.gob.ar + Place + Analytics)

Balotage Argentina 2015, Desafío

Construir una herramienta que permita la predicción de comportamientos sociales, remplazando a las encuestas de opinión tradicionales, utilizando los comentarios voluntarios de usuarios de redes sociales y aplicando técnicas de análisis de sentimiento.

Encontrar una relación entre los tweets generados durante el periodo previo al Balotaje 2015, analizando el sentimiento de los mismos a favor y en contra de los candidatos, con el resultado electoral de la elección.

Balotage 2015, Metodología

Análisis de Sentimiento, Qué es?

Análisis de Sentimiento, Ejemplo

Arquitectura de la solución

Estructura de Datos

Configuración Agente Apache Flume

Configuración Agente Apache Flume

TwitterAgent.sinks.Vertica.VerticaHost = 192.168.2.251

TwitterAgent.sinks.Vertica.port = 5433

TwitterAgent.sinks.Vertica.databaseName = verticadb

TwitterAgent.sinks.Vertica.username = dbadmin

TwitterAgent.sinks.Vertica.password = password

TwitterAgent.sinks.Vertica.tableName = elec.tweets

Diccionarios Pulse

Diccionarios Pulse

Cálculo de Sentimiento

insert into elec.tweet_sentiment(select id,"user.screen_name",SentimentAnalysis(text using parameters filterlinks=true,filterusermentions=false, filterhashtags=false)over (partition by id, "user.screen_name", text)from elec.tweets where lang='es'and created_at between to_timestamp ('2015-11-20 00:00:00','YYYY-MM-DD HH:MI:SS') and to_timestamp ('2015-11-20 23:59:59','YYYY-MM-DDHH:MI:SS'));commit;

Datos analizados

Resultados

Resultado Sentimiento Positivo

Resultados por provincia

Conclusión

Mediante el presente estudio, hemos detectado relación entre los tweets y el resultado general a nivel global con un error del 0,16%, sin embargo a nivel de agregación provincial la diferencia se amplía probablemente por la incapacidad de obtener la localidad en forma correcta desde la api de Twitter.

Las herramientas utilizadas en este trabajo, se encuentran en evolución permanente, por lo que continuar esta línea de investigación sería de gran trascendencia e importancia para diferentes campos laborales y ciencias, que pueden verse favorecidos por su utilización. Son necesarias futuras investigaciones para optimizar, actualizar y sistematizar los mecanismos utilizados en la presente investigación.