Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Construye tus propios bots (Codemotion 2016)

235 views

Published on

Los bots invadirán el mundo antes de que nos demos cuenta.

Han estado conviviendo entre nosotros desde hace mucho tiempo, pero este 2016 será recordado como el año de los bots. Siri, Cortana, Tay... son buena prueba de ello.

¿Nuestros propios bots?

En esta charla abordaremos el estado del arte de los bots, qué ventajas podemos sacar de ellos y qué necesitamos para crear nuestros bots desde cero (arquitectura, lenguajes, integraciones, ...)

Todo esto acompañado por nuestro propio bot, por supuesto ;)

Published in: Technology
  • Be the first to comment

Construye tus propios bots (Codemotion 2016)

  1. 1. ... Construye tus propios bots o cómo construír un bot para que de una charla contigo @rafbermudez
  2. 2. Hoja de personaje Rafael Bermúdez Míguez Gallego Caótico soñador infinitemonkeys @inf_monkeys I coding ● @rafbermudez ● rafa@rafbermudez.com
  3. 3. Esta historia comienza...
  4. 4. ¿Cuándo hacer un bot?
  5. 5. ¿Qué es un bot? ¿Qué rol juega? ¿Mejora el proceso? Riesgos y oportunidades ¿Cuándo hacer un bot?
  6. 6. ¿Qué es un bot? ¿Qué rol juega? ¿Mejora el proceso? Riesgos y oportunidades ¿Cuándo hacer un bot?
  7. 7. Bots ¿Qué es un bot?
  8. 8. Software Bots ¿Qué es un bot? Aplicación que realiza tareas automatizadas, repetitivas y predefinidas que interacciona con el entorno
  9. 9. Dimensiones de un bot Qué hace... Con qué autonomía... Cuanta inteligencia tiene… Cuán interactivo es... Dónde habita... Cómo se crea ¿Qué es un bot?
  10. 10. Qué hace ¿Qué es un bot? web crawler chat bot videogame bot spammer bot hacker bot monitoring bot ...
  11. 11. Con qué autonomía Bot inicia la interacción (push) Usuario inicia la interacción (pull) Combinación de ambos ¿Qué es un bot?
  12. 12. Cuánta inteligencia tiene ¿Qué es un bot? IA Neural Networks NLP Sistemas Expertos Lógica Difusa
  13. 13. Cuán interactivo es Alertas UI Conversacional Input/Output ¿Qué es un bot?
  14. 14. Dónde habita ¿Qué es un bot?
  15. 15. Cómo se crea Cualquier lenguaje de programación es válido Integración a través de APIS ¿Qué es un bot?
  16. 16. Cómo se crea A través de un bot de terceros // This sends messages as slackbot to slack using groovy def address = "https://slack.com/api/" def method = "chat.postMessage" def token = "Your API Token goes here" def username = "slackbot" def channel = "#general" //"@specific.teammember" def text = "I am sentient slackbot." def url = “${address}${method}?token=${token}&text=${text}&channel=${channel}&username=${username}” println new URL(url).text ¿Qué es un bot?
  17. 17. Cómo se crea Arquitectura más seria ¿Qué es un bot?
  18. 18. ¿Qué es un bot? ¿Qué rol juega? ¿Mejora el proceso? Riesgos y oportunidades ¿Cuándo hacer un bot?
  19. 19. Roles de un bot Bots de entretenimiento Bots de soporte Bots de devops Bots de test ... ¿Qué rol juega un bot?
  20. 20. Cómo desempeña su rol Ejemplo: Test bot Ayuda a detectar bugs o incidencias en la calidad del código ● Ejecuta test unitarios/integración ● Ejecuta test de análisis estático ● Monitoriza la deuda técnica a lo largo del tiempo ● Abre incidencias en JIRA ¿Qué rol juega un bot?
  21. 21. Cómo desempeña su rol Ejemplo: Support bot Interactúa con los usuarios para ofrecerles soporte: ● Responde preguntas frecuentes (consulta y construye una base de conocimiento) ● Analiza el feedback del usuario, identifica y sugiere los bugs más prioritarios a corregir ¿Qué rol juega un bot?
  22. 22. ¿Qué es un bot? ¿Qué rol juega? ¿Mejora el proceso? Riesgos y oportunidades ¿Cuándo hacer un bot?
  23. 23. Dinero Productivo ¿Mejora el proceso? Eficiente = hace las cosas más rápido Efectivo = cumple su meta
  24. 24. Eficiente ¿Mejora el proceso? Automatiza tareas Repetitivas Tediosas Peligrosas Ayuda a mantener el flujo Reduce distracciones Elimina cambios de contexto
  25. 25. ¿Mejora el proceso? Efectivo Mejora la toma de decisiones Aporta conocimiento Regula metas y tareas Reduce errores
  26. 26. ¿Qué es un bot? ¿Qué rol juega? ¿Mejora el proceso? Riesgos y oportunidades ¿Cuándo hacer un bot?
  27. 27. Cambia las relaciones entre las personas Riesgos y oportunidades ● Más escalable ● Menos personal
  28. 28. Ofusca el proceso Riesgos y oportunidades ● Independencia de contexto ● Se pierde el conocimiento
  29. 29. Reduce la diferenciación Riesgos y oportunidades ● Gana en foco ● Obvia aprendizaje ● Menos felicidad
  30. 30. Cuidado con lo que deseas Riesgos y oportunidades
  31. 31. ¿Cuándo hacer un bot? MEJORA EL PROCESO Eficiencia Eficacia Qué tarea hace... Con qué autonomía... Cuanta inteligencia tiene… Cuán interactivo es... Dónde habita... Cómo se crea DESEMPEÑO DE ROL RIESGOS y OPORTUNIDADES Ventaja competitiva
  32. 32. El bot de mi charla
  33. 33. El bot de mi charla Dada una temática crea charlas buenas para codemotion
  34. 34. El bot de mi charla /myBot create “bots” /myBot status “bots” estado de la charla“bots” /myBot list lista de charlas creadas /myBot start “bots” seguimiento “bots” AplicaciónBD micro servicio micro servicio micro servicio... ...
  35. 35. El bot de mi charla 1. Extracción de datos ● Scraping de las charlas mejor valoradas 2015 ● Transcripción de slides 2. Transformación de datos ● Generar metadatos ○ Nota, Nº de slides, Nº fotos, Nº gifs, contador de palabras, ….
  36. 36. El bot de mi charla 3. Explotación de datos ● Filtrar ● Clasificar ● Generar modelo 4. Integración con Slackbot ● Programar lógica de la integración
  37. 37. Solución Y el resultado es ...
  38. 38. Solución Estudio previo: ¿Cuándo hacer un bot? Identificar Warnings
  39. 39. Warnings MEJORA EL PROCESO Eficiencia: Sin demostrar Eficacia: Sin demostrar Objetivo: Dada una temática crea charlas buenas para codemotion Autonomía: Iniciado por el usuario Inteligencia: Sistema experto + IA Interactividad: Inicio manual de creación Comunica ritmos de presentación Habita: Slack Creación: Groovy + R + Slack API DESEMPEÑO DE ROL Guía-supervisor RIESGOS y OPORTUNIDADES Incertidumbre técnica Aceptación del resultado
  40. 40. ¡Gracias! ¿Preguntas? Construye tus propios bots o cómo construír un bot para que de una charla contigo @rafbermudez

×