O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

TDC2017 | POA Trilha ChatBots - Desenvolvendo um chatbot: da visao a producao

147 visualizações

Publicada em

Trilha ChatBots - Desenvolvendo um chatbot: da visão à produção

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

TDC2017 | POA Trilha ChatBots - Desenvolvendo um chatbot: da visao a producao

  1. 1. Desenvolvendo um chatbot: da visão à produção case Superplayer
  2. 2. The perfect soundtrack for every moment of your life Thousands of playlists for every moment and music taste. Made with by the best music curators, with a touch of technology.
  3. 3. Douglas Collioni @dcollioni Desenvolvedor 9+ anos Professor de programação 3+ anos Bacharel em Sistemas de Informação
  4. 4. Agenda - Visão - Primeiros testes - Chatbot para Android, Slack, Messenger - Desafios - Tecnologia - Resultados - Experiências
  5. 5. - The Post-App Era (Gartner, out/2015) - “People will trust software that thinks and acts for them.” Visão
  6. 6. - Em outubro/2015, Whatsapp - Teste “manual” - De dentro do Superplayer - Objetivo: entender o interesse dos usuários Primeiros testes
  7. 7. - Em dezembro/2015 nasce o Alfred (mais tarde Zak) - Interface de chat dentro do app do Superplayer - Entrega de playlists e artistas - Respostas para algumas perguntas pré-definidas Chatbot para Android
  8. 8. - 64k usuários nos primeiros 15 dias - 1.5M usuários até hoje - 126k usuários ativos em abril/2016 - 2.1M playlists e artistas entregues Resultados no Android
  9. 9. - Janeiro/2016 - Administradores dos grupos podem adicionar o Zak - Mesma tecnologia utilizada no chatbot Android Chatbot para Slack
  10. 10. - 280 grupos inscritos - 1.4k usuários - 4.8k playlists e artistas entregues Resultados no Slack
  11. 11. - Maio/2016 - Primeiro bot de música do mundo - Inicialmente numa página separada - Depois na página oficial do Superplayer Chatbot para Messenger
  12. 12. - 287k usuários - 85k usuários ativos em outubro/2016 - 2.8M playlists e artistas entregues Resultados no Messenger
  13. 13. - Buscar e entregar playlists e artistas - Entender as intenções dos usuários - Infraestrutura com alta disponibilidade Desafios
  14. 14. Necessidades - Busca e entrega muita rápida - Rankeamento de resultados por relevância - Tratamento para escrita errada: - Reagge, Justin Biber, Sertanjeo - Busca por outros termos: - dançar, comer, dormir, festa Buscar e entregar playlists e artistas
  15. 15. Cenário - MongoDB - 1k playlists (nome, descrição, gênero) - 100k artistas (nome) Buscar e entregar playlists e artistas
  16. 16. Sistema de Tags - Inserção de tags importantes para a busca Buscar e entregar playlists e artistas
  17. 17. Acorda, vagabundo! acordar despertar de manhã preguiça segunda-feira Buscar e entregar playlists e artistas
  18. 18. Buscar e entregar playlists e artistas Almoço em Família cozinhar domingo churrasco alegria primos tio do pavê
  19. 19. Buscar e entregar playlists e artistas Jantar à Luz de Velas romântico encontro date amorzinho crush vinho
  20. 20. Elasticsearch - Disponibilidade, escalabilidade, desempenho - Analyzers: brazilian, fuziness, synonyms - Score nas queries dependendo do campo buscado Buscar e entregar playlists e artistas
  21. 21. { type: 'playlist', name: 'Acorda, Vagabundo!', description: 'Muito pop para começar o dia!', tags: ['acordar','despertar','de manhã','preguiça','segunda-feira'] }, { type: 'playlist', name: 'Jantar à Luz de Velas', description: 'Faz o jantar, acende as velas e relaxa...', tags: ['romântico', 'encontro', 'date', 'amorzinho', 'crush', 'vinho'] } Buscar e entregar playlists e artistas
  22. 22. rock Buscar e entregar playlists e artistas
  23. 23. justin Buscar e entregar playlists e artistas
  24. 24. Necessidades - Tentar entender o que o usuário está querendo dizer - Mapear um número infinito de frases - Promover um processo de aprendizado contínuo Entender as intenções do usuário
  25. 25. Cenário - Mapeamento de perguntas → respostas - Elasticsearch para encontrar perguntas cadastradas Entender as intenções do usuário
  26. 26. Wit.AI - Mapeamento de intenções - Graus de confiabilidade - Aprimoramento contínuo da base Entender as intenções do usuário
  27. 27. Entender as intenções do usuário
  28. 28. Entender as intenções do usuário
  29. 29. Entender as intenções do usuário
  30. 30. Necessidades - Alta disponibilidade - Escalabilidade - Confiabilidade Infraestrutura com alta disponibilidade
  31. 31. API NodeJS na Google Cloud - Natureza assíncrona - Escalabilidade automática baseada em uso - Sistema de monitoramento de CPU, memória, network Infraestrutura com alta disponibilidade
  32. 32. MongoDB - Escalabilidade - Alto desempenho em leitura e escrita de dados - Banco de dados distribuído Infraestrutura com alta disponibilidade
  33. 33. Elasticsearch - Alto desempenho - Resiliência (100% uptime) - Escalabilidade (sharding, clusters) Infraestrutura com alta disponibilidade
  34. 34. Amazon SQS (Simple Queue Service) - Sistema de fila - Garantia de confiabilidade - Zero mensagens perdidas Infraestrutura com alta disponibilidade
  35. 35. Google BigQuery - Grande quantidade de dados (eventos) - BigData Query - usuários, mensagens, deliveries Infraestrutura com alta disponibilidade
  36. 36. - API NodeJS - MongoDB - Elasticsearch - Endpoints NodeJS (Slack, Messenger) - Wit.ai - Google BigQuery - Amazon SQS Stack de tecnologia
  37. 37. Clients (Messenger, Android, Slack) Endpoints - NodeJS API (NodeJS) SQS Messages queue Consumer (NodeJS) Elasticsearch BigQuery MongoDB
  38. 38. Resultados
  39. 39. Resultados
  40. 40. Resultados
  41. 41. Resultados
  42. 42. - 2M usuários - 5M playlists e artistas entregues - 30M mensagens trocadas Resultados
  43. 43. Mídia
  44. 44. Mídia
  45. 45. Mídia
  46. 46. Mídia
  47. 47. - Cerca de um ano e meio desde os primeiros testes - Grande stack de tecnologias (que já mudaram) - Descobertas importantes ao longo do caminho - Elasticsearch - Fila de mensagens - Inteligência Artificial - UX de chat != UX de app Experiências
  48. 48. - Boa experiência para desenvolver bot para terceiros - Android, Slack, Messenger + 9 artistas Experiências
  49. 49. Douglas Collioni @dcollioni github.com/dcollioni/tdc

×