1 / 37

Making First Contact: Building Chatbots with Oracle Digital Assistant Technical Primer

Making First Contact: Building Chatbots with Oracle Digital Assistant Technical Primer. Grant Ronald Director of Product Management Oracle Digital Assistant Development April, 2019 @gwronald. Why Digital Assistant?. Digital Assistant. Until now, chatbots solved simple business problems

Download Presentation

Making First Contact: Building Chatbots with Oracle Digital Assistant Technical Primer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Making First Contact: Building Chatbots with Oracle Digital Assistant Technical Primer Grant Ronald Director of Product Management Oracle Digital Assistant Development April, 2019 @gwronald Confidential – Oracle Internal/Restricted/Highly Restricted

  2. Why Digital Assistant? Confidential – Oracle Internal/Restricted/Highly Restricted

  3. Digital Assistant • Until now, chatbots solved simple business problems • Customer service automation • Automation of structured processes • Self-service • Digital assistants are user oriented • Assist users with various related or unrelated tasks • Conversations are context aware • Assistants learn about the user • Digital assistant is the future of chatbots

  4. A digital assistant is a computer program that uses artificial intelligence and machine learning to combine independent chatbots into a single conversational interface that assists real users throughout their day Image courtesy of pixabay.com

  5. Oracle Digital Assistant Popular Conversational Channels Digital Assistant Any Application ERP Approvals Manager HCM Talent Management Global HR HCM Skills Absence Manager Submit Expenses Expense Approval ERP Skills Pipeline Opps CX Selected Skills Accounts Sales Brief CX Skills Location Services 3rd Party 3rd Party Skills

  6. Oracle Digital Assistant is Oracle's 2nd generation intelligent bot platform for customers to build composite chatbot solutions from independent skills Image courtesy of pixabay.com

  7. Oracle Digital Assistant core modules • Individual chatbots • Reusable • Conversational AI and ML • Work with any messenger • "Master bot" • Invokes skills • Performs smart routing • Disambiguates bot request if needed • Messenger connectivity • Webhook • Native Channels • iOS, Android • Web • SMS • Facebook • WeChat • etc. • Bot store • Like App Store • Contains bots from • Oracle SaaS

  8. Oracle Digital Assistant Oracle Digital Assistant ERP Web Channels Digital Assistant Intelligent Routing HCM Skill Mobile Intent CX Q&A Messengers Intent Q&A Voice (e.g. Alexa) 3rd Party

  9. How do you build skills? Confidential – Oracle Internal/Restricted/Highly Restricted

  10. Skills Intent resolution and entity extraction • Each skill usually relates to a business domain • Pizza, Finance, HR, room booking • Intents implement uses cases within skill • Order pizza, cancel pizza, track order, show menu • User input interpreted by a trained model • Intents are resolved and mapped to a dialog • Entities are variable elements of an intent • Pizza size, topping, delivery address

  11. DEMO: How do you build skills? Confidential – Oracle Internal/Restricted/Highly Restricted

  12. In the real world, people don’t stick to the happy path Image courtesy of pixabay.com

  13. The challenge of “real world” entities • Many values required for an intent • Out of order information • Validation • Allow multiple values or not? • Error handling for each entity value • Different prompts should the user error • Slot entity if specifically said, otherwise, default it

  14. How do you deal with real world entity slotting? Confidential – Oracle Internal/Restricted/Highly Restricted

  15. Ordering a pizza with composite bag entity Composite Bag: PizzaOrder variables: order: "PizzaOrder" iResult: "nlpresult" states: intent: component: "System.Intent" properties: variable: "iResult" orderState: component: "System.ResolveEntities" properties: variable: "order" nlpResultVariable: "iResult" […] Configure Entity: PizzaType "A cheesepizza please." Entity: PizzaSize Entity: PizzaCrust Check for Resolved Entities PizzaType PizzaSize What size of pizza do You want? PizzaCrust And what kind of crust?

  16. DEMO: How do you deal with real world entity slotting? Confidential – Oracle Internal/Restricted/Highly Restricted

  17. Successful chatbots need to do more than just having a conversation Image courtesy of pixabay.com

  18. Skills Q&A module • Sometimes a question is what it is; a question • FAQ is a top use case for digital assistant • Natural conversation is a mix of statements and questions • Oracle skills allow you to integrate Q&A in a bot conversation • More engaging than a pure Q&A bot • Q&A imported from CSV file

  19. Skills Structured data input • Conversation design is a challenge • Heavy data entry • Users change their mind • Users get stuck • Structured data input forms • Execute in a web view • Shorten conversations • Provide sophisticated UI controls • Instant Apps or Webview component

  20. Skills Human agent integration Wants to speak to An agent • Understanding natural language is difficult for a machine • Humans are unpredictable • Change their mind in mid of a conversation • Don't follow instructions • Chatbots often used in first level support • Answer frequently asked questions • Assist with low-tech engagements • Users may get stuck 1 User and agent interact on the bot channel 3 Bot connects user to agent 2

  21. Skills Multi language support • One bot that supports multiple languages • Detect user language • Understand user language • Display messages in user language • Support in skills • Build bot in English • Uses Translation service for other languages • Resource bundles allow you to control language and the bot's voice

  22. Skills Backend integration • Remote services integration through custom components • Component based approach • Integrates with data and business services • "Write Once Use Anywhere" • Custom components • Write direct response messages • Save data in variables • Influences conversation flow

  23. Insights: keeping our chatbot journey on the right path Completed v/s abandoned conversations Top channels Top intents completed abandoned Bot performance

  24. So how do we brings skills to a digital assistant? Confidential – Oracle Internal/Restricted/Highly Restricted

  25. Digital Assistant Adding skills • Published skills are displayed in skill catalog • Configured skills indicate when a new version is available • Update to new version keeps digital assistant level configurations

  26. Skill routing example Digital Assistant • Digital Assistant routes requests to the correct skill bots • Disambiguates if need be • Implicit invocation • Uses intents and utterances of skills • Explicit invocation • Named reference for skills is used • 'Ask AMCE bank, what is my balance?' • Configurable “I want A Pizza” “What’s My Balance?” What’s your return policy What’s your return policy What’s your return policy What’s your return policy Clothing Pizza Banking 30-days to return. Click here to learn more. 30-days to return. Click here to learn more. 30-days to return. Click here to learn more. 30-days to return. Click here to learn more. Nearest location? Nearest location? Nearest location? Nearest location? “Do I have enough money”

  27. Digital Assistant Smart dialog • System dialogs • Helps to disambiguate user requests • Displays the name of skill candidates • User selects skill to go with • Handles non-sequitur requests • If a user message does not match an intent in the current skill • If user provided value is invalid for a state • Suspends and resumes current flow

  28. DEMO: So how do we brings skills to a digital assistant? Confidential – Oracle Internal/Restricted/Highly Restricted

  29. Hooking up channels? Confidential – Oracle Internal/Restricted/Highly Restricted

  30. About channels • Declaratively created in Oracle Digital Assistant • "Native" channel support provides configuration for specific messengers • Ensures message payloads are defined as needed by channel • Provides and handles message server interactions • Webhook channel • Allows messengers with no native channel support to interact with ODA or skill • Message payload is MessageModel format • Custom message server needed to dispatch between messenger and bot

  31. DEMO: Hooking up channels? Confidential – Oracle Internal/Restricted/Highly Restricted

  32. Where to find out more • cloud.oracle.com/digital-assistant • blogs.oracle.com/mobile * Tech Exchange

  33. Hands-on Lab:From Zero to Chatbot to Digital Assistant in Under Two Hours - BYOL A Hands-on Lab to help you get started with Oracle Digital Assistant Tuesday, April 9th, 4:30 PM - 6:30 PMFunkhaus Berlin Hands-on Lab Room

  34. oracle.com/code19ROM

  35. Confidential – Oracle Internal/Restricted/Highly Restricted

More Related