Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Projetando interfaces inteligentes v2

Projetando interfaces inteligentes v2

Apresentada na Webbr 2017

Isabella Silveira

October 24, 2017
Tweet

More Decks by Isabella Silveira

Other Decks in Technology

Transcript

  1. Projetando
    interfaces inteligentes
    Machine learning como ferramenta de personalização
    #Webbr2017

    View Slide

  2. 1.
    Era da informação
    2.
    Por que machine learning?
    3.
    Botando em prática
    4.
    Próximos passos

    View Slide

  3. Isa Silveira
    Desenvolvedora @Work&Co
    Beer lover, mãe de cachorro, maths freak, senso de
    humor peculiar @vida

    View Slide

  4. Era da informação

    View Slide

  5. Desde os tempos mais primórdios
    até 2005, os humanos produziram
    130 EB (10^18) de informação.

    View Slide

  6. 1B = 1 caracter

    View Slide

  7. 1MB ~= 873 páginas
    de texto

    View Slide

  8. 1GB ~= todas as
    informações no
    nosso DNA

    View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. X

    View Slide

  14. X

    View Slide

  15. Em 2010, esse número pulou para
    1200 EB.

    View Slide

  16. X

    View Slide

  17. Em 2015, já eram 7900 EB.

    View Slide

  18. A estimativa é que por volta de 2020,
    serão mais de 40900 EB de dados.

    View Slide

  19. 2005 - 130 EB
    2010 - 1.200 EB
    2015 - 7.900 EB
    2020 - ~40.900 EB

    View Slide

  20. X

    View Slide

  21. Meanwhile, in
    2017…

    View Slide

  22. Produtos e experiências digitais
    estão cada vez mais sofisticadas e
    personalizadas.

    View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. A personalização faz com que o
    usuário se conecte com o produto
    na sua própria maneira.

    View Slide

  27. Mas como criar essas experiências
    singulares em grande escala?

    View Slide

  28. Como consumir essa quantidade
    de dados de forma eficiente?

    View Slide

  29. Por que
    machine learning?

    View Slide

  30. “Machine learning provides computers
    the ability to learn without being
    explicitly programmed.”
    Arthur Mitchell, 1959

    View Slide

  31. Permite que a
    máquina aprenda.
    Com algoritmos de ML é possível parsear dados, aprender com eles e fazer
    classificações ou predições em massa. Ao invés de criarmos algoritmos cheios de
    regras específicas para executar uma tarefa, treinamos a máquina com datasets
    enormes para que ela aprenda como executar a tarefa por si só.

    View Slide

  32. Não necessariamente
    aprender como destruir a raça
    humana.

    View Slide

  33. Com machine learning, podemos
    usar dados para tirar conclusões
    sobre uma grande quantidade
    dados de forma automatizada.

    View Slide

  34. Tipos de
    algoritmos.

    View Slide

  35. Uma grande quantidade de dados
    é alimentada ao algoritmo que
    então trabalha para descobrir
    padrões e agrupar tipos similares
    de dados ou entidades.
    Uma grande quantidade de
    dados é alimentada ao algoritmo
    que então trabalha para
    descobrir padrões e agrupar
    tipos similares de dados ou
    entidades.
    O algoritmo interage com um
    ambiente dinâmico onde deve
    executar determinada tarefa. A
    partir disso são oferecidos
    feedbacks positivos ou negativos
    quanto ao desempenho frente à
    tarefa.
    Unsupervised learning Reinforcement learning
    Supervised learning
    Tipos de algoritmos

    View Slide

  36. Uma grande quantidade de dados
    é alimentada ao algoritmo que
    então trabalha para descobrir
    padrões e agrupar tipos similares
    de dados ou entidades.
    Uma grande quantidade de
    dados é alimentada ao algoritmo
    que então trabalha para
    descobrir padrões e agrupar
    tipos similares de dados ou
    entidades.
    O algoritmo interage com um
    ambiente dinâmico onde deve
    executar determinada tarefa. A
    partir disso são oferecidos
    feedbacks positivos ou negativos
    quanto ao desempenho frente à
    tarefa.
    Unsupervised learning Reinforcement learning
    Supervised learning
    Tipos de algoritmos

    View Slide

  37. Etapas de
    desenvolvimento.

    View Slide

  38. 1. Escolha do algoritmo adequado.
    2. Treinamento do algoritmo.
    3. Validação do treinamento.
    4. Uso em produção.

    View Slide

  39. Aplicações.

    View Slide

  40. 1. Recomendação.
    2. Classificação.
    3. Predição.
    4. Reconhecimento de imagem.
    5. NLP.

    View Slide

  41. 01
    Algoritmos usados para descobrir produtos ou itens dentro do padrão de compra
    ou preferência do usuário.
    Recomendação

    View Slide

  42. 01
    APPROACHES

    View Slide

  43. 1. Collaborative filtering.
    2. Content-based filtering.

    View Slide

  44. 01
    Agrupar usuários em grupos de comportamentos e preferencias similares e realizar
    recomendações a partir do padrão do grupo.
    Collaborative filtering

    View Slide

  45. View Slide

  46. Um desafio é o famoso “cold
    start”, ou seja, quando você não
    tem nenhuma informação sobre o
    usuário ainda pra poder bota-lo
    em algum grupo e assim fazer
    recomendações.

    View Slide

  47. Outro problema é a escalabilidade,
    já que quando você tem milhões
    de usuários cadastrados, agrupa-
    los e monitorar suas ações requer
    um poder computacional
    muito brabo.

    View Slide

  48. Pedir recomendação de música a
    um amigo com gosto musical
    parecido com o seu.

    View Slide

  49. Usado pelo Facebook e LinkedIn
    para recomendação de novos
    amigos/conexões.

    View Slide

  50. 02
    Cruzam informações sobre os itens com preferências do usuário, fazendo
    recomendação de itens parecidos com os que usuário comprou ou visualizou
    no passado.
    Content-based filtering

    View Slide

  51. O maior desafio é a falta de
    novidades porque você fica
    recomendando sempre coisas
    parecidas e precisa de pessoas
    muito entendidas de cada item pra
    classificar cada um direito, já que
    isso afeta a sua recomendação..

    View Slide

  52. Approach usado nas
    recomendações de filmes da
    Netflix.

    View Slide

  53. View Slide

  54. 1. Recomendação.
    2. Classificação.
    3. Predição.
    4. Reconhecimento de imagem.
    5. NLP.

    View Slide

  55. 02
    Situações onde temos um grande volume de dados e queremos categorizá-los de
    forma automatizada.
    Classificação

    View Slide

  56. Descobrir se a review de um
    produto é negativa ou positiva.

    View Slide

  57. Usado no Gmail para filtrar
    mensagens de spam da
    caixa de entrada.

    View Slide

  58. 1. Recomendação.
    2. Classificação.
    3. Predição.
    4. Reconhecimento de imagem.
    5. NLP.

    View Slide

  59. 03
    Técnica também conhecida como regressão, consegue prever resultados mais
    prováveis a partir de dados anteriores.
    Predição

    View Slide

  60. Analisar o comportamento do
    mercado de ações e prever suas
    oscilações.

    View Slide

  61. 1. Recomendação.
    2. Classificação.
    3. Predição.
    4. Reconhecimento de imagem.
    5. NLP.

    View Slide

  62. 04
    A partir de uma imagem, é possível identificar elementos ou descobrir o que
    ela representa.
    Reconhecimento de imagem

    View Slide

  63. Reconhecimento facial do
    Facebook, veículos autônomos,
    busca do Pinterest.

    View Slide

  64. X

    View Slide

  65. https://github.com/bella-silveira/image-
    recognition
    U M E X P E R I M E N TO
    X

    View Slide

  66. 1. Recomendação.
    2. Classificação.
    3. Predição.
    4. Reconhecimento de imagem.
    5. NLP.

    View Slide

  67. 05
    Processamento de linguagem natural, nos permite entender o contexto e comandos
    de texto livre.
    NLP

    View Slide

  68. View Slide

  69. View Slide

  70. View Slide

  71. Botando em prática

    View Slide

  72. Construir um sistema EAD com
    ensino adaptativo.

    View Slide

  73. 2 tipos de perfis de alunos foram
    mapeados: o principiante e o expert.

    View Slide

  74. Perfis de comportamento de cada
    aluno moldam o conteúdo e a
    forma como ele é exibido na
    plataforma.

    View Slide

  75. Fatores de
    personalização.

    View Slide

  76. 1. Profundidade de conteúdo.
    2. Forma de consumo.
    3. Plano de estudos.

    View Slide

  77. Receita do bolo.

    View Slide

  78. 01
    Adicione um algoritmo de classificação
    à sua escolha.

    View Slide

  79. Nesse caso, escolhi KNN.

    View Slide

  80. View Slide

  81. K = 3

    View Slide

  82. Valor de K
    10 20 30 40
    0,1
    0,2
    0,3
    0,4
    0,5
    0,6
    0,7
    0,8
    0,9
    1
    1,1
    Erro de
    treinamento
    Erro de
    classificação

    View Slide

  83. Valor de K
    10 20 30 40
    0,1
    0,2
    0,3
    0,4
    0,5
    0,6
    0,7
    0,8
    0,9
    1
    1,1
    Erro de
    validação
    Erro de
    classificação

    View Slide

  84. Fácil interpretação e pouco
    tempo de cálculo dos resultados.

    View Slide

  85. 02
    Colha bastante dados de analytics
    (ou simule-os para efeito de teste)

    View Slide

  86. Dados que qualifiquem o
    comportamento do usuário.

    View Slide

  87. Ex: Tempo gasto no sistema,
    especificidade do conteúdo ou
    continuidade no mesmo tema.

    View Slide

  88. 03
    Uma boa biblioteca

    View Slide

  89. ML.js <3

    View Slide

  90. https://github.com/mljs/ml

    View Slide

  91. 5 baldes de paciência.

    View Slide

  92. O resultado.

    View Slide

  93. • Programei o algoritmo;
    • Prepararei o dataset;
    • Realizei o treinamento;
    • Achei k;
    • Colhi os resultados;
    • Usei em produção.
    Em 7 dias:

    View Slide

  94. $ node knnStudentClassify.js
    Tamanho dataset treinamento = 53
    Erros de classificação = 4
    ————————RESULTADO————————-
    Principiantes = 32
    Experts = 21

    View Slide

  95. Com ML, a experiência de cada usuário
    pode se aproximar cada vez mais das suas
    necessidades.

    View Slide

  96. Seamlessly.

    View Slide

  97. Quanto menos etapas, mais
    natural é a utilização da
    plataforma.

    View Slide

  98. Tudo isso em pouquíssimos dias :)

    View Slide

  99. View Slide

  100. Machine learning não é rocket
    science e está ao nosso alcance
    para aprendizado e contribuição.

    View Slide

  101. https://github.com/josephmisiti/awesome-
    machine-learning

    View Slide

  102. Próximos passos

    View Slide

  103. Atualmente, a personalização de
    experiências digitais é uma
    grande tendência.

    View Slide

  104. O aprendizado de máquina
    chega como um enorme aliado
    nessa empreitada.

    View Slide

  105. Tendências 2018+

    View Slide

  106. View Slide

  107. Com o aumento do poder
    computacional, algoritmos de
    ML se tornarão cada vez mais
    acessíveis.

    View Slide

  108. Guerra de plataformas entre Google,
    IBM, Microsoft e Facebook.

    View Slide

  109. Maior procura por profissionais
    de data science.

    View Slide

  110. Machine learning
    revolucionará a
    tecnologia como a
    conhecemos.

    View Slide

  111. Perguntas?

    View Slide

  112. Obrigada!

    View Slide

  113. Get in touch.
    /in/isabellasilveira
    [email protected]
    @silveira_bells
    /bella-silveira

    View Slide