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

Adrian Catalan - Party_like_it_s_1970 - Conversational_interfaces_are_back__into_your_Android_app

Adrian Catalan - Party_like_it_s_1970 - Conversational_interfaces_are_back__into_your_Android_app

droidcon Berlin

July 17, 2018
Tweet

More Decks by droidcon Berlin

Other Decks in Programming

Transcript

  1. PARTY LIKE IT'S 1970: CONVERSATIONAL INTERFACES ARE BACK (INTO YOUR

    APP) Adrián Catalán @ykro https://goo.gl/yYoRAs
  2. • 1952 - Audrey(Bell Labs), recognized strings of digits •

    1970 – Hidden Markov Model (HMM), which helped speech recognition move away from literal matching to prediction • 70's - DARPA Projects
  3. • 80's - Template based brute-force & HMM become popular

    • 1984 – Speechworks, Automated Speech Recognition over IVR • 90's - Industry starts
  4. • 1997 - Dragon NaturallySpeaking, recognition of continuous speech •

    2007 - Siri • 2014 - Amazon Echo • 2016 - Google Home
  5. USER GOOGLE ASSISTANT NUMBER GENIE USER NUMBER GENIE USER NUMBER

    GENIE Canonical “Happy path” First time experience Tapered experience (Return user) Repair SAMPLE DIALOGS
  6. SAMPLE DIALOGS USER GOOGLE ASSISTANT NUMBER GENIE USER NUMBER GENIE

    USER NUMBER GENIE Canonical “Happy path” First time experience Tapered experience (Return user) Repair
  7. • Avoid data points unrelated to user query • Follow

    natural turn taking in the conversation
  8. Integrating with AIService class MainActivity : AppCompatActivity(), AIListener { val

    config = AIConfiguration( "ACCESS_TOKEN", ai.api.AIConfiguration.SupportedLanguages.English, AIConfiguration.RecognitionEngine.System ) aiService = AIService.getService(this, config) aiService.setListener(this) btnListen.setOnClickListener { aiService.startListening() } }
  9. override fun onResult(response: AIResponse?) { var strParameters = "" val

    result = response?.result result?.parameters?.let { params -> params.forEach { key, value -> strParameters += "($key,$value)" } txtResult.text = "Query: ${result.resolvedQuery}" + "\nAction: ${result.action}" + "\nParameters: $strParameters" } } Integrating with AIService
  10. PARTY LIKE IT'S 1970: CONVERSATIONAL INTERFACES ARE BACK (INTO YOUR

    APP) Adrián Catalán @ykro https://goo.gl/yYoRAs