Anatomía de un Bot para Resultados Electorales

34
BOT DE RESULTADOS ELECTORALES EN NODE.JS JAVIER ABADÍA, DIC 2016

Transcript of Anatomía de un Bot para Resultados Electorales

Page 1: Anatomía de un Bot para Resultados Electorales

BOTDE RESULTADOS ELECTORALES

EN NODE.JSJ AV I E R A B A D Í A , D I C 2 0 1 6

Page 2: Anatomía de un Bot para Resultados Electorales

¿POR QUE?

Page 3: Anatomía de un Bot para Resultados Electorales
Page 4: Anatomía de un Bot para Resultados Electorales

DEMOD I R E C TA M E N T E A L A P I S C I N A

Page 5: Anatomía de un Bot para Resultados Electorales

backendservice

ANATOMÍA DE UN BOT

plataforma

entender

procesar

responder

Page 6: Anatomía de un Bot para Resultados Electorales
Page 7: Anatomía de un Bot para Resultados Electorales

ENTENDERN L - U N D E R S TA N D I N G

Page 8: Anatomía de un Bot para Resultados Electorales

INTENTparameterparameter

‘ganador’‘Durango’ 48027

‘2016’

Page 9: Anatomía de un Bot para Resultados Electorales

ALTERNATIVAS• NLTK (python)• Freeling (C++)• https://stanfy.com/blog/advanced-natural-language-

processing-tools-for-bot-makers/– wit.ai (Facebook)– LUIS (Microsoft)– api.ai ($)– Alexa (AWS)– Watson (IBM)

Page 10: Anatomía de un Bot para Resultados Electorales

ML-’PREDECIR’ LA INTENCIÓN

extraer features

predecir

INTENT

contexto

Page 11: Anatomía de un Bot para Resultados Electorales

PRE-PROCESO

Page 12: Anatomía de un Bot para Resultados Electorales

FEATURES - REGEX

Page 13: Anatomía de un Bot para Resultados Electorales

ML – PREDECIR – DECISION TREES

modificado para añadir classifier.fromJSON()

Page 14: Anatomía de un Bot para Resultados Electorales

TRAINING THE MODEL

Page 15: Anatomía de un Bot para Resultados Electorales

MANUAL REWIRING = PARCHEAR

Page 16: Anatomía de un Bot para Resultados Electorales

DISPATCH

Page 17: Anatomía de un Bot para Resultados Electorales

PROCESARP I E C E O F C A K E

Page 18: Anatomía de un Bot para Resultados Electorales

TAN FÁCIL COMO LLAMAR A LA API REST

Page 19: Anatomía de un Bot para Resultados Electorales

RESPONDERN L - G E N E R AT I O N

Page 20: Anatomía de un Bot para Resultados Electorales

VARIEDAD

Page 21: Anatomía de un Bot para Resultados Electorales

RESPONDER A LO DESCONOCIDO = NO PROVOCAR

Page 22: Anatomía de un Bot para Resultados Electorales
Page 23: Anatomía de un Bot para Resultados Electorales

PLATAFORMA

Page 24: Anatomía de un Bot para Resultados Electorales

OPCIONES

twitter FB messenger telegram UI Web/Móvilwhatsapp

✓✗

fácil de desarrollar

penetración

chat-friendly

✓ ✓✓ ✗ ✗ ✗✓✓ ✓✓✓✓ ✓✓ ✓✗ ✓✓ ✓✓

Page 25: Anatomía de un Bot para Resultados Electorales

TWITTER• API de twitter

–stream o poll• escuchar mensajes (filtrados)• publicar mensajes o enviar dm• quotas

–automation rules and best practices https://support.twitter.com/articles/76915

–the twitter rules https://support.twitter.com/articles/18311

–pri queue

Page 26: Anatomía de un Bot para Resultados Electorales

RECIBIEND

O TWEET

S

Page 27: Anatomía de un Bot para Resultados Electorales

ASYNC - COORDINAR TAREAS ASÍNCRONAS

Page 28: Anatomía de un Bot para Resultados Electorales

POST-MORTEMI N G E N I E R Í A S O C I A L

Page 29: Anatomía de un Bot para Resultados Electorales

PRUEBAS PREVIAS - ENTRENAMIENTO•usando la interfaz web•3 generaciones

–yo solo–yo y algunos amigos–yo, algunos amigos y toda la lista de nodejs-madrid

• información muy valiosa•patrón de uso distinto que a través de twitter

Page 30: Anatomía de un Bot para Resultados Electorales

TWITTER != INTERACTIVO•en twitter la gente no chatea• responder a @menciones no funciona•quotas

–2500 mensajes por hora

Page 31: Anatomía de un Bot para Resultados Electorales

USUARIOS IMPACIENTES• hay que promocionar el bot con antelación• hay que generar contenido “interesante” antes de que empiece el “sarao”• la gente prueba y no vuelve

Page 32: Anatomía de un Bot para Resultados Electorales

RECURSOS

Page 33: Anatomía de un Bot para Resultados Electorales

RECURSOS• NLP

– NLTK– Freeling– https://stanfy.com/blog/advanced

-natural-language-processing-tools-for-bot-makers/

• Bots– https://botmakers.org/ + canal

de Slack– https://botwiki.org/tutorials/twitt

erbots/

– https://ursooperduper.github.io/2014/10/27/twitter-bot-with-node-js-part-1.html

• twitter– automation rules and best practices

– https://support.twitter.com/articles/76915)

– the twitter rules– https://

support.twitter.com/articles/18311)

• módulos npm– Decision Tree– Twit

Page 34: Anatomía de un Bot para Resultados Electorales

¡GRACIAS!E S T O E S T O D O A M I G O S