Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[DEV5106] chatbots best practices and design patterns


Published on

Code One session 2018

Published in: Technology
  • Be the first to comment

  • Be the first to like this

[DEV5106] chatbots best practices and design patterns

  1. 1. Chatbots Best Practices & Design Patterns… @iamsoham@rsantrod
  2. 2. Intent Separation Entity Definition Multi-language Error Handling Bot training Instant apps Channel agnostic design Personas Flow-chart approach Multi-bot approach Custom component approach Best Practices Design Patterns
  3. 3. • Cloud & Mobile Solution Specialist • Oracle ACE • Blogger ( & • Cloud and Mobile Consultant • UI Designer & Architect • Oracle ACE Associate • Tech Enthusiastic • Blogger & Writter (
  4. 4. • The architecture and functionality of the Oracle Mobile Cloud enterprise • Build RESTful APIs using Oracle ADF BC as REST, and with Node.js • Deploy web services on Java Cloud Service and Application Container Cloud Service • Integrate different systems and building Mobile ready APIs using Mobile Cloud • An overview of Oracle JavaScript Extension Toolkit • Build hybrid applications using Oracle JavaScript Extension Toolkit • Create mobile-first Uis using zero- code platforms: Oracle VBCS and Oracle MAX • Build a Chatbot for your enterprise using Oracle Intelligent Bots Cloud Service
  5. 5. Chatbot terms I want to request an appointment for tomorrow at 12 Utterance Intent Entity
  6. 6. Best Practices
  7. 7. Best Practices: Intent separation Intent 2 Intent 1 Intent 3 Intent 4
  8. 8. Best Practices: Intent separation
  9. 9. Best Practices: Intent separation Intent 2 Intent 1 Intent 3 Intent 4
  10. 10. Best Practices: Intent separation
  11. 11. Best Practices: Entity definition
  12. 12. Best Practices: Entity definition
  13. 13. Best Practices: Entity definition I want a medium thin pepperoni pizza Size Crust Type Pizza
  14. 14. Best Practices: Bot training
  15. 15. Best Practices: Bot training
  16. 16. Best Practices: Bot training
  17. 17. Best Practices: Multi-language Detect user’s language: translation services
  18. 18. Best Practices: Multi-language Answer in user’s language
  19. 19. Best practices: Error handling
  20. 20. When you don’t need a chatbot • Mid/High Volume Search Activities • Form-filling • Login • Command Driven Activities
  21. 21. Best Practices: Instant Apps
  22. 22. Best Practices: Instant Apps
  23. 23. Best Practices: Channel agnostic design
  24. 24. Design Patterns
  25. 25. Bot – What & Who WHAT • Pizza • Home Automation • Retail • Leave/Timesheet • HR - Queries • IT Service Desk WHO • Age group • Employee • Public • Channel • Automation • Bot
  26. 26. Bot – Personas – Know your User Slightly older 3 kids Not so tech-savy Not a mulit-tasker ~Hardworker
  27. 27. Bot – Personas – Know your User Slightly older 3 kids Not so tech-savy Not a mulit-tasker ~Hardworker Middle aged ~1 kid Average tech-savy Finds his way around Hardworking
  28. 28. Bot – Personas – Know your User Slightly older 3 kids Not so tech-savy Not a mulit-tasker ~Hardworker Middle aged ~1 kid Average tech-savy Finds his way around Hardworking Young Extreme tech-savy Well informed Easily distracted Excited about new stuffs
  29. 29. Channel - Selection Chat Channel Properties FB Messenger > 1.2 Billion active users. WeChat > 1.1 Billion active users. In Web Most accessible In App custom mobile app Slack Enterprise messaing, Collaboration tool. Used extensively in DevOPs Skype 4 Business Enterprise messaging Alexa, Google Home Audio device Telegram Dominant chat in some markets. Text Most used and most accessible. Limited interaction UI. Texts costed.Txt
  30. 30. Design Patterns: Flow-chart approach I have been scammed in marktplaats When/How File a report Someone broke into my house When/Where File a report My car is stolen When/Where File a report Intents Entities F L O W
  31. 31. Flow Chart Approach Advantages • Requirement refinement • Bot’s boundary definition • Intent identification • Initial set of utterence definitions • Entity identification • API definitions • Flow overview definition
  32. 32. Multi bot approach • Respond in user’s preferred language • Keep dialog flow same • Add languages easily
  33. 33. Multi-bot approach Detect Language setVariable Master Bot MyBot_nl MyBot_es MyBot_de
  34. 34. Design Patterns: Custom component approach • Bot Flow is comparatively small • Only NLP and Entity matching is used • Strong integration with Backend • Business logic intensive flow • Flexibility in bot platform •, Intent Match Component A Component B Component C
  35. 35. Bot Maturity Model Interaction Intelligence Integration Level 1 Level 2 Level 3 API queries Simple Q&A One Language One Channel Word based rules Menu based Human to bot interaction Links for more information Self learning Multi person Case Process interaction Bot-to-bot interaction Conversation intelligence B2B Conversation listening Historic analysis API transactions Multi channel Multi language Line based intelligence Training of NLP model Bot initiates conversation Event producing API intelligent queries Mood detection Context from channel State machine Human Handoff GEO
  36. 36. Conclusions
  37. 37. Conclusions • Separate Intents • Define Entities • Use Batch/Run Report Regularly • Use Translation Services and Resource Bundles • Draw some flow diagrams • Define the boundaries • Take care of channel-agnostic features • Keep the flow fexible
  38. 38. @rsantrod Questions 91b75410 @iamsoham