3 Paths to Build a Conversational App

Cb3c988ada1925dbb88a2b1f11c60f3f?s=47 elainedb
December 07, 2017

3 Paths to Build a Conversational App

Talk given at Sfeir on December 07th 2017

Cb3c988ada1925dbb88a2b1f11c60f3f?s=128

elainedb

December 07, 2017
Tweet

Transcript

  1. 3 Paths to Build a Conversational App And some building

    blocks too…! Elaine Dias Batista 07-dec-2017
  2. Classic ways Noob ways (no code required) Non Google Assistant

    ways (but intelligent nonetheless!)
  3. Classic ways

  4. None
  5. Source: https://dialogflow.com/docs/agents

  6. User Input + Device Output + Device(s) NLP / NLU

    Fulfillment
  7. "Order a cheese pizza" "Pizza ordered" Intent: order Entity: cheese

    pizza Pizzeria backend Webhook
  8. User Input + Device Output + Device(s) NLP / NLU

    Fulfillment
  9. User Input + Device

  10. NLP / NLU ➔ Intent detection ➔ Entity extraction "Order

    a cheese pizza" Intent: order Entity: cheese pizza →
  11. NLP? / NLU? Actions SDK ➔ Intent detection ➔ Entity

    extraction One shot, done by the Google Assistant itself ➔ Custom NLP / NLU algorithm ➔ Library Just before your app is launched Inside your app
  12. Fulfillment? ActionsSdkApp Conversation Request Conversation Response DialogflowApp Conversation Request Dialogflow

    Request Dialogflow Response Conversation Response
  13. Noob ways (no code required)

  14. if this then that (IFTTT)

  15. https://ifttt.com/create/if-google_assistant?sid=3

  16. IFTTT

  17. None
  18. None
  19. Template

  20. None
  21. None
  22. None
  23. None
  24. None
  25. IFTTT / Template User Input + Device Output + Device(s)

  26. Non Google Assistant ways (but intelligent nonetheless!)

  27. https://www.tensorflow.org/mobile/tflite/ https://research.googleblog.com/2017/11/on-device-conversational-modeling-with.html

  28. None
  29. TensorFlow Lite / Dialogflow SDK User Input + Mobile Device

    Output + Mobile Device
  30. Classic ways: . Actions SDK without TensorFlow . Actions SDK

    with TensorFlow . Dialogflow without webhook + Google Assistant integration . Dialogflow with webhook + Google Assistant integration Noob ways (no code required) . IFTTT . Templates Non Google Assistant ways (but intelligent nonetheless!) . Dialogflow SDK + mobile device, Slack, FB messenger... . TensorFlow Lite + mobile device Assistant SDK + Raspberry Pi
  31. None
  32. Which path to choose? - Do you need an app

    for yourself, for others? (IFTTT or not) - Do you want it to work on every possible device? (design for voice only or screen too) - Google Home (voice only) / Phone, wear, chromecast (voice + text, images) - Does your app require a natural conversation? - Automation, one shot stuff: no (IFTTT, Actions SDK) - Games, news and others: yes (Dialogflow, Actions SDK + TensorFlow) - Do you need information from your DB or an API? (Webhook) - Do you want to integrate the Assistant on your own device? (Assistant SDK) - Do you want to integrate a conversational experience on a Android or iOS app? On Slack? On Facebook messenger? (Dialogflow SDK)
  33. Merci !

  34. None
  35. None
  36. None
  37. None
  38. Building Blocks 1) Device that is going to detect the

    input a) Spoken voice (natural or not) b) Text (natural or not) c) Multiple choice Examples: Smart Speaker, Smartphone (screen), Computer (keyboard) 2) Input. If voice → Speech to Text ("voice recognition") provided by: Google, Siri, Cortana, Web stuff. (otherwise → text, button input). 3) If natural language → NLP / NLU - On device or Hosted 4) Webhook 5) Output. If voice → Text to Speech ("voice synthesis") Otherwise: text, image, cards...
  39. Raspberry Pi 3 Android, iOS devices (app integration) Google Assistant

    devices (actions on google) Dialogflow + Google Assistant integration Actions SDK Assistant SDK IFTTT Dialogflow SDK TensorFlow Lite Templat e
  40. Dialogflow + Google Assistant integration Actions SDK Assistant SDK IFTTT

    Dialogflow SDK TensorFlow Lite Templat e
  41. Android, iOS devices (app integration) Google Assistant devices (actions on

    google) Dialogflow + Google Assistant integration Actions SDK Dialogflow SDK TensorFlow Lite Templat e
  42. Why do you want an Assistant / Assistive app? Do

    you just want to surf on the Assistant wave? Does it have intelligence (NLP/NLU) or not? Do we care? Is a conversational experience important for your app? Is your public ready for it? Can we work in an "hybrid" experience? Does simple voice recognition suffice? (if you already have an app)
  43. Intelligent apps can have an Assistant behaviour, but not necessarily

    all intelligent apps are assistant apps and vice versa.
  44. Il est beau ce cube

  45. Building blocks of an Assistant App And how to build

    apps with them Elaine Dias Batista 07-dec-2017
  46. 9 ways to build an Assistant App (not necessarily a

    Google Assistant app) Elaine Dias Batista 07-dec-2017
  47. Tips to Build an Assistant App Elaine Dias Batista 07-dec-2017

  48. X ways to build an Intelligent App Elaine Dias Batista

    07-dec-2017
  49. Assistant Apps vs. Intelligent Apps Elaine Dias Batista 07-dec-2017