SlideShare uma empresa Scribd logo
1 de 33
APACHE STORM
Minando redes sociales y medios en tiempo real
ACERCA DE…
Ingeniero de sistemas con énfasis en
inteligencia de negocio.
Consultor líder de Big Data y analítica
para PwC - PricewaterhouseCoopers.
Co-fundador de Meridean, start-up para
investigación de mercados y análisis de
información no estructurada. (5 años).
Creador de PeopleVector, plataforma
para análisis de reputación corporativa en
tiempo real.
1. Apache Storm
2. Los indicadores mandan
3. Arquitectura cloud
4. Procesamiento de lenguaje natural
CONTENIDO
CONTEXTO
¿QUÉ TAN RÁPIDO ES “TIEMPO
REAL”?
Definición blanda:
“El sistema generalmente
no es tiempo real, pero si
debe ser bastante rápido
la mayoría del tiempo”
Real
time
segundos
ml s.
Near real-time
minutos - horas
Offline
horas - dias
ej: filtros
ej: correlaciones
ej: análisis
comportamiento
Batch
In motion
I. APACHE STORM
Es un framework para
computación en tiempo real
distribuida y tolerante a
fallas.
Originado en
BackType/Twitter, bajo
código abierto desde 2011.
Procesamiento individual a
medida que cada mensaje
llega (at-least-one)
CASOS DE USO
Twitter (220 nodos, 50B mensajes/día. 2013)
Detectar trending topics, personalización de ads,
búsquedas ad-hoc, optimización de ingresos.
Yahoo (320 nodos, 130k mensajes/s. 2013)
Eventos de usuarios, analizar feeds de contenidos y logs
de aplicaciones
Spotify (22 nodos, 200k mensajes/s. 2014)
Motor de recomendaciones, Generación de Ads y
monitoreo
Netflix, Alibaba, Cisco, WeatherChannel…
LENGUAJES
Hecho en: Clojure y algo de
Java
Para programar en: Java,
Python,Scala, Ruby, cualquier
otro.
FILOSOFÍA DE STORM
• Topologías: unen datos con funciones a
través de un DAG (grafo acíclico dirigido).
TOPOLOGÍA: SPOUT Y BOLTS
“1234 Tres
tristres tigres,
tragaban trigo
en un trigal, en
tres tristes
trasto, tragaban
trigo tres tristes
tigres”
Spout
Bolt
Dividir en
palabras
(1234,
tres,
tristes,
tigres…)
Bolt
Filtrar
símbolos
,
números
y
stopword
s
Bolt
Contar
palabras
Bolt
Contar
palabras
(tres,
tristes,
tigres…)
(tragab
an,trig
o
trigal…
)
( “tres”: 4,
“tristes”: 3,
“tigres”: 2,)
( “tragaban”:
2, “trigo”: 2,
“trigal”: 1)
Bolt
Imprimir
ARQUITECTURA
STORM UI
EJEMPLO EN LOCAL
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("palabras", new FiltrarSimbolos(), 1);
builder.setBolt(“conteo_palabras", new ContarPalabras(),
3)
.shuffleGrouping("palabras");
builder.setBolt(“listado_palabras", new ImprimirConteo(),
2)
.shuffleGrouping(“conteo_palabras");
Map conf = new HashMap();
conf.put(Config.TOPOLOGY_WORKERS, 4);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("mi_topologia", conf,
builder.createTopology());
EJEMPLO EN REMOTO
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("palabras", new FiltrarSimbolos(), 1);
builder.setBolt(“conteo_palabras", new ContarPalabras(),
3)
.shuffleGrouping("palabras");
builder.setBolt(“listado_palabras", new ImprimirConteo(),
2)
.shuffleGrouping(“conteo_palabras");
Map conf = new HashMap();
conf.put(Config.TOPOLOGY_WORKERS, 4);
StormSubmitter.submitTopology(“mi_topologia”,
conf, builder.createTopology());
COMPARACIÓN
COMPARACIÓN
II. LOS INDICADORES MANDAN
¿POR QUÉ USAMOS
STORM?
¿POR QUÉ ALGO EN
TIEMPO REAL?
¿QUÉ VALOR SE LES VA
A DAR A LOS CLIENTES?
¿SOLO SE NECESITA
TIEMPO REAL?
TOMA DE DECISIONES
Teoría de la información de Shannon:
La información y la incertidumbre están
inversamente relacionadas. Entre más
información tenga una sentencia,
menor incertidumbre hay.
Decisiones
TOMA DE DECISIONES
Hay 2.300 tuits
sobre la marca
85% negativos
15% positivos
Los mensajes negativos (85%)
contienen lo términos ladrones,
factura
El autor @MaoGomez ( de influencia alta,
ubicado en Cali) está publicando múltiples
mensajes negativos sobre la marca con las
palabras ladrones, factura y esta siendo difundido
(53 Rts y 14 conversaciones )
Tomar decisión
VALOR DE INDICADORES
0
El autor @MaoGomez ( de influencia
alta, en Cali) está publicando
múltiples mensajes negativos sobre
la marca con las palabras ladrones,
factura y esta siendo difundido (53
Rts y 14 conversaciones )
5 min 15 min 1 hora 1 día 1 mes
Aporta a la operación
No aporta a la estrategia
Tiempo necesario
VALOR DE INDICADORES
0
En el último mes el 55%
de las menciones
negativas pertenecieron a
la categoría facturación.
Con 33 autores de
influencia alta
5 min 15 min 1 hora 1 día 1 mes
Aporta a la estrategia
Tiempo necesario
GENERAR INDICADORES EN TIEMPO REAL
ARQUITECTURA PARA:
GENERAR INDICADORES HISTÓRICOS
III. ARQUITECTURA
Ingesta Persistencia Procesamiento Visualización
IV. PROCESAMIENTO DE
LENGUAJE
PIPELINE
PROCESAMIENTO
MISIÓN
Pre-procesar y limpiar el texto
Detectar categoría de reputación
Calidad de producto, Atención al
cliente, Finanzas, Innovación, Ética+
Sociedad y Liderazgo
Detectar sentimiento
Positivo, Negativo, Neutro (NC)
Pre-proces
Filtrar stop
words
enriquecer
links
Stemmer
Limpieza
Tokenizar
Eliminar y filtrar
Reemplazar
onomatopeyas
y abreviaturas
Categorización
Supervisado
OpenNLP
No supervisado
Google
Word2vec
+
Sentimiento
Supervisado
OpenNLP
+
Inducir de reglas
diccionario
Visualización
CATEGORIZACIÓN
seed: ~20000 tuits
y posts
(Clasificador SVM)
Aprender reglas para decidir
si un determinado elemento
pertenece o no a un conjunto
Supervisado
Y
No Supervisado
Representación de palabras
en vectores característicos
Dump de Wikipedia
en español
Representar las palabras como vectores de muchas
dimensiones. Con ello, encuentran que palabras similares
se acomodan unas al lado de las otras en un espacio
vectorial altamente dimensional.
Ira ——> odio ——> enojo ——> iracundo
Pantalla ——> display ——> LCD ——>Oled
Bonito ——> atractivo ——> lindo ——> chévere
Apple ——> Samsung ——> LG ——> Motorola
Con solo
tuits y posts
Con
información
externa
(blogs,
Word2vec,
Wikipedia)
SENTIMIENTO
seed: ~75000 tuits
y posts
Supervisado Inducción de Reglas
Ó
+
Diccionario
palabras (-5,0,5)
(Clasificador SVM)
aprenden reglas para decidir
si un determinado elemento
pertenece o no a un conjunto

Mais conteúdo relacionado

Destaque

Drilling into Data with Apache Drill
Drilling into Data with Apache DrillDrilling into Data with Apache Drill
Drilling into Data with Apache Drill
MapR Technologies
 

Destaque (18)

PSCO
PSCOPSCO
PSCO
 
Apache Drill Workshop
Apache Drill WorkshopApache Drill Workshop
Apache Drill Workshop
 
RAKORNIS 2010
RAKORNIS 2010RAKORNIS 2010
RAKORNIS 2010
 
Pristine Advisers Presentation
Pristine Advisers PresentationPristine Advisers Presentation
Pristine Advisers Presentation
 
Killing ETL with Apache Drill
Killing ETL with Apache DrillKilling ETL with Apache Drill
Killing ETL with Apache Drill
 
Drilling into Data with Apache Drill
Drilling into Data with Apache DrillDrilling into Data with Apache Drill
Drilling into Data with Apache Drill
 
Data Exploration with Apache Drill: Day 2
Data Exploration with Apache Drill: Day 2Data Exploration with Apache Drill: Day 2
Data Exploration with Apache Drill: Day 2
 
Apache Drill - Why, What, How
Apache Drill - Why, What, HowApache Drill - Why, What, How
Apache Drill - Why, What, How
 
Spark SQL versus Apache Drill: Different Tools with Different Rules
Spark SQL versus Apache Drill: Different Tools with Different RulesSpark SQL versus Apache Drill: Different Tools with Different Rules
Spark SQL versus Apache Drill: Different Tools with Different Rules
 
ISPS Code
ISPS CodeISPS Code
ISPS Code
 
Apache Drill and Zeppelin: Two Promising Tools You've Never Heard Of
Apache Drill and Zeppelin: Two Promising Tools You've Never Heard OfApache Drill and Zeppelin: Two Promising Tools You've Never Heard Of
Apache Drill and Zeppelin: Two Promising Tools You've Never Heard Of
 
Apache Drill: Building Highly Flexible, High Performance Query Engines by M.C...
Apache Drill: Building Highly Flexible, High Performance Query Engines by M.C...Apache Drill: Building Highly Flexible, High Performance Query Engines by M.C...
Apache Drill: Building Highly Flexible, High Performance Query Engines by M.C...
 
KELAIKLAUTAN KAPAL DAN DOKUMENTASI KAPAL
KELAIKLAUTAN KAPAL DAN DOKUMENTASI KAPALKELAIKLAUTAN KAPAL DAN DOKUMENTASI KAPAL
KELAIKLAUTAN KAPAL DAN DOKUMENTASI KAPAL
 
Data Exploration with Apache Drill: Day 1
Data Exploration with Apache Drill:  Day 1Data Exploration with Apache Drill:  Day 1
Data Exploration with Apache Drill: Day 1
 
Large scale, interactive ad-hoc queries over different datastores with Apache...
Large scale, interactive ad-hoc queries over different datastores with Apache...Large scale, interactive ad-hoc queries over different datastores with Apache...
Large scale, interactive ad-hoc queries over different datastores with Apache...
 
The Marketer's Guide To Customer Interviews
The Marketer's Guide To Customer InterviewsThe Marketer's Guide To Customer Interviews
The Marketer's Guide To Customer Interviews
 
Resumen saturday storm
Resumen saturday stormResumen saturday storm
Resumen saturday storm
 
Apache Storm: Instalación
Apache Storm: InstalaciónApache Storm: Instalación
Apache Storm: Instalación
 

Semelhante a Apache Storm - Minando redes sociales y medios en tiempo real

Curso modelamiento base de datos
Curso modelamiento base de datosCurso modelamiento base de datos
Curso modelamiento base de datos
Amigo Fiel
 

Semelhante a Apache Storm - Minando redes sociales y medios en tiempo real (20)

Cuándo usar las diferentes herramientas de analítica de texto - Meaningcloud
Cuándo usar las diferentes herramientas de analítica de texto - MeaningcloudCuándo usar las diferentes herramientas de analítica de texto - Meaningcloud
Cuándo usar las diferentes herramientas de analítica de texto - Meaningcloud
 
Taller de Text Mining en Twitter con R
Taller de Text Mining en Twitter con RTaller de Text Mining en Twitter con R
Taller de Text Mining en Twitter con R
 
Why what who when
Why what who whenWhy what who when
Why what who when
 
Ai experience
Ai experienceAi experience
Ai experience
 
Azure Cognitive Services
Azure Cognitive Services Azure Cognitive Services
Azure Cognitive Services
 
Machine Learning Aplicado al Marketing: Mejorando tu Negocio.
Machine Learning Aplicado al Marketing: Mejorando tu Negocio.Machine Learning Aplicado al Marketing: Mejorando tu Negocio.
Machine Learning Aplicado al Marketing: Mejorando tu Negocio.
 
Incorpora la analitica de texto mas avanzada a tus modelos predictivos - Mean...
Incorpora la analitica de texto mas avanzada a tus modelos predictivos - Mean...Incorpora la analitica de texto mas avanzada a tus modelos predictivos - Mean...
Incorpora la analitica de texto mas avanzada a tus modelos predictivos - Mean...
 
Curso modelamiento base de datos
Curso modelamiento base de datosCurso modelamiento base de datos
Curso modelamiento base de datos
 
Desayuno sma 06 09-2011
Desayuno sma 06 09-2011Desayuno sma 06 09-2011
Desayuno sma 06 09-2011
 
Taxonomia diplomado ai duoc - clase 02
Taxonomia   diplomado ai duoc - clase 02Taxonomia   diplomado ai duoc - clase 02
Taxonomia diplomado ai duoc - clase 02
 
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
 
Clase 07 - taxonomia aplicada - Diseno Interaccion
Clase 07 - taxonomia aplicada - Diseno InteraccionClase 07 - taxonomia aplicada - Diseno Interaccion
Clase 07 - taxonomia aplicada - Diseno Interaccion
 
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016Machine Learning a lo berserker  - Software Craftsmanship Barcelona 2016
Machine Learning a lo berserker - Software Craftsmanship Barcelona 2016
 
Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft Servicios Cognitivos de de Microsoft
Servicios Cognitivos de de Microsoft
 
Empleos con futuro. Perfil de un ingeniero de datos
Empleos con futuro. Perfil de un ingeniero de datosEmpleos con futuro. Perfil de un ingeniero de datos
Empleos con futuro. Perfil de un ingeniero de datos
 
La Experiencia de Usuario en la era de la Inteligencia Artificial
La Experiencia de Usuario en la era de la Inteligencia ArtificialLa Experiencia de Usuario en la era de la Inteligencia Artificial
La Experiencia de Usuario en la era de la Inteligencia Artificial
 
Analisis
AnalisisAnalisis
Analisis
 
gestion de operaciones TI.pptx
gestion de operaciones TI.pptxgestion de operaciones TI.pptx
gestion de operaciones TI.pptx
 
Pasando modelos de Machine Learning a producción usando AWS
Pasando modelos de Machine Learning a producción usando AWSPasando modelos de Machine Learning a producción usando AWS
Pasando modelos de Machine Learning a producción usando AWS
 
Charla 2005 09 16
Charla 2005 09 16Charla 2005 09 16
Charla 2005 09 16
 

Último

metodo SOAP utilizado para evaluar el estado de un paciente
metodo SOAP utilizado para evaluar el estado de un pacientemetodo SOAP utilizado para evaluar el estado de un paciente
metodo SOAP utilizado para evaluar el estado de un paciente
MedicinaInternaresid1
 
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIALINFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
MANUELVILELA7
 

Último (20)

Los primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfLos primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdf
 
PRESENTACIÓN DR. ÓSCAR CABRERA - Visión Económica de El Salvador.pptx
PRESENTACIÓN DR. ÓSCAR CABRERA - Visión Económica de El Salvador.pptxPRESENTACIÓN DR. ÓSCAR CABRERA - Visión Económica de El Salvador.pptx
PRESENTACIÓN DR. ÓSCAR CABRERA - Visión Económica de El Salvador.pptx
 
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
ROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANASROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANAS
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
 
variables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointvariables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpoint
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
 
EPIDEMIO CANCER PULMON resumen nnn.pptx
EPIDEMIO CANCER PULMON  resumen nnn.pptxEPIDEMIO CANCER PULMON  resumen nnn.pptx
EPIDEMIO CANCER PULMON resumen nnn.pptx
 
decreto 2090 de 2003.pdf actividades de alto riesgo en Colombia
decreto 2090 de 2003.pdf actividades de alto riesgo en Colombiadecreto 2090 de 2003.pdf actividades de alto riesgo en Colombia
decreto 2090 de 2003.pdf actividades de alto riesgo en Colombia
 
La Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdfLa Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdf
 
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptxP.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
P.P ANÁLISIS DE UN TEXTO BÍBLICO. TEMA 10.pptx
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
 
Las familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdfLas familias más ricas de África en el año (2024).pdf
Las familias más ricas de África en el año (2024).pdf
 
Adultos Mayores más de 60 años como de la población total (2024).pdf
Adultos Mayores más de 60 años como  de la población total (2024).pdfAdultos Mayores más de 60 años como  de la población total (2024).pdf
Adultos Mayores más de 60 años como de la población total (2024).pdf
 
metodo SOAP utilizado para evaluar el estado de un paciente
metodo SOAP utilizado para evaluar el estado de un pacientemetodo SOAP utilizado para evaluar el estado de un paciente
metodo SOAP utilizado para evaluar el estado de un paciente
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
Análisis del Modo y Efecto de Fallas AMEF.ppt
Análisis del Modo y Efecto de Fallas AMEF.pptAnálisis del Modo y Efecto de Fallas AMEF.ppt
Análisis del Modo y Efecto de Fallas AMEF.ppt
 
diseño de una linea de produccion de jabon liquido.pptx
diseño de una linea de produccion de jabon liquido.pptxdiseño de una linea de produccion de jabon liquido.pptx
diseño de una linea de produccion de jabon liquido.pptx
 
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIALINFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
INFORME FINAL ESTADISTICA DESCRIPTIVA E INFERENCIAL
 

Apache Storm - Minando redes sociales y medios en tiempo real

  • 1. APACHE STORM Minando redes sociales y medios en tiempo real
  • 2. ACERCA DE… Ingeniero de sistemas con énfasis en inteligencia de negocio. Consultor líder de Big Data y analítica para PwC - PricewaterhouseCoopers. Co-fundador de Meridean, start-up para investigación de mercados y análisis de información no estructurada. (5 años). Creador de PeopleVector, plataforma para análisis de reputación corporativa en tiempo real.
  • 3. 1. Apache Storm 2. Los indicadores mandan 3. Arquitectura cloud 4. Procesamiento de lenguaje natural CONTENIDO
  • 5. ¿QUÉ TAN RÁPIDO ES “TIEMPO REAL”? Definición blanda: “El sistema generalmente no es tiempo real, pero si debe ser bastante rápido la mayoría del tiempo” Real time segundos ml s. Near real-time minutos - horas Offline horas - dias ej: filtros ej: correlaciones ej: análisis comportamiento Batch In motion
  • 6. I. APACHE STORM Es un framework para computación en tiempo real distribuida y tolerante a fallas. Originado en BackType/Twitter, bajo código abierto desde 2011. Procesamiento individual a medida que cada mensaje llega (at-least-one)
  • 7. CASOS DE USO Twitter (220 nodos, 50B mensajes/día. 2013) Detectar trending topics, personalización de ads, búsquedas ad-hoc, optimización de ingresos. Yahoo (320 nodos, 130k mensajes/s. 2013) Eventos de usuarios, analizar feeds de contenidos y logs de aplicaciones Spotify (22 nodos, 200k mensajes/s. 2014) Motor de recomendaciones, Generación de Ads y monitoreo Netflix, Alibaba, Cisco, WeatherChannel…
  • 8. LENGUAJES Hecho en: Clojure y algo de Java Para programar en: Java, Python,Scala, Ruby, cualquier otro.
  • 9. FILOSOFÍA DE STORM • Topologías: unen datos con funciones a través de un DAG (grafo acíclico dirigido).
  • 10. TOPOLOGÍA: SPOUT Y BOLTS “1234 Tres tristres tigres, tragaban trigo en un trigal, en tres tristes trasto, tragaban trigo tres tristes tigres” Spout Bolt Dividir en palabras (1234, tres, tristes, tigres…) Bolt Filtrar símbolos , números y stopword s Bolt Contar palabras Bolt Contar palabras (tres, tristes, tigres…) (tragab an,trig o trigal… ) ( “tres”: 4, “tristes”: 3, “tigres”: 2,) ( “tragaban”: 2, “trigo”: 2, “trigal”: 1) Bolt Imprimir
  • 13. EJEMPLO EN LOCAL TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("palabras", new FiltrarSimbolos(), 1); builder.setBolt(“conteo_palabras", new ContarPalabras(), 3) .shuffleGrouping("palabras"); builder.setBolt(“listado_palabras", new ImprimirConteo(), 2) .shuffleGrouping(“conteo_palabras"); Map conf = new HashMap(); conf.put(Config.TOPOLOGY_WORKERS, 4); LocalCluster cluster = new LocalCluster(); cluster.submitTopology("mi_topologia", conf, builder.createTopology());
  • 14. EJEMPLO EN REMOTO TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("palabras", new FiltrarSimbolos(), 1); builder.setBolt(“conteo_palabras", new ContarPalabras(), 3) .shuffleGrouping("palabras"); builder.setBolt(“listado_palabras", new ImprimirConteo(), 2) .shuffleGrouping(“conteo_palabras"); Map conf = new HashMap(); conf.put(Config.TOPOLOGY_WORKERS, 4); StormSubmitter.submitTopology(“mi_topologia”, conf, builder.createTopology());
  • 18. ¿POR QUÉ USAMOS STORM? ¿POR QUÉ ALGO EN TIEMPO REAL? ¿QUÉ VALOR SE LES VA A DAR A LOS CLIENTES? ¿SOLO SE NECESITA TIEMPO REAL?
  • 19. TOMA DE DECISIONES Teoría de la información de Shannon: La información y la incertidumbre están inversamente relacionadas. Entre más información tenga una sentencia, menor incertidumbre hay. Decisiones
  • 20. TOMA DE DECISIONES Hay 2.300 tuits sobre la marca 85% negativos 15% positivos Los mensajes negativos (85%) contienen lo términos ladrones, factura El autor @MaoGomez ( de influencia alta, ubicado en Cali) está publicando múltiples mensajes negativos sobre la marca con las palabras ladrones, factura y esta siendo difundido (53 Rts y 14 conversaciones ) Tomar decisión
  • 21. VALOR DE INDICADORES 0 El autor @MaoGomez ( de influencia alta, en Cali) está publicando múltiples mensajes negativos sobre la marca con las palabras ladrones, factura y esta siendo difundido (53 Rts y 14 conversaciones ) 5 min 15 min 1 hora 1 día 1 mes Aporta a la operación No aporta a la estrategia Tiempo necesario
  • 22. VALOR DE INDICADORES 0 En el último mes el 55% de las menciones negativas pertenecieron a la categoría facturación. Con 33 autores de influencia alta 5 min 15 min 1 hora 1 día 1 mes Aporta a la estrategia Tiempo necesario
  • 23. GENERAR INDICADORES EN TIEMPO REAL ARQUITECTURA PARA: GENERAR INDICADORES HISTÓRICOS
  • 26.
  • 28. PIPELINE PROCESAMIENTO MISIÓN Pre-procesar y limpiar el texto Detectar categoría de reputación Calidad de producto, Atención al cliente, Finanzas, Innovación, Ética+ Sociedad y Liderazgo Detectar sentimiento Positivo, Negativo, Neutro (NC)
  • 29. Pre-proces Filtrar stop words enriquecer links Stemmer Limpieza Tokenizar Eliminar y filtrar Reemplazar onomatopeyas y abreviaturas Categorización Supervisado OpenNLP No supervisado Google Word2vec + Sentimiento Supervisado OpenNLP + Inducir de reglas diccionario Visualización
  • 30. CATEGORIZACIÓN seed: ~20000 tuits y posts (Clasificador SVM) Aprender reglas para decidir si un determinado elemento pertenece o no a un conjunto Supervisado Y No Supervisado Representación de palabras en vectores característicos Dump de Wikipedia en español
  • 31. Representar las palabras como vectores de muchas dimensiones. Con ello, encuentran que palabras similares se acomodan unas al lado de las otras en un espacio vectorial altamente dimensional. Ira ——> odio ——> enojo ——> iracundo Pantalla ——> display ——> LCD ——>Oled Bonito ——> atractivo ——> lindo ——> chévere Apple ——> Samsung ——> LG ——> Motorola
  • 32. Con solo tuits y posts Con información externa (blogs, Word2vec, Wikipedia)
  • 33. SENTIMIENTO seed: ~75000 tuits y posts Supervisado Inducción de Reglas Ó + Diccionario palabras (-5,0,5) (Clasificador SVM) aprenden reglas para decidir si un determinado elemento pertenece o no a un conjunto