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.

Finally, A Voice for the Enterprise!

596 views

Published on

No, not Majel Barrett, but being able to simply speak commands into the air and have a computer either retrieve data or execute functions has always been a lofty goal. With tech like Siri, Cortana and Google Now, it seemed like we were always on the cusp, but the systems were locked down with very limited expansion abilities. But now there’s Alexa from Amazon, and that connection to your enterprise systems is at your command. But what does it mean to have a voice UI? What are the pitfalls that come with the benefits? What are the design and testing considerations when developing conversations with your data? We’ll explore these topics as well as discuss what it takes to build Amazon Skills, and how effective it is for business purposes.

Published in: Technology
  • I have always found it hard to meet the requirements of being a student. Ever since my years of high school, I really have no idea what professors are looking for to give good grades. After some google searching, I found this service ⇒ www.HelpWriting.net ⇐ who helped me write my research paper.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Fact: Penis Enlargement CAN Work. Here's How.  https://bit.ly/30G1ZO1
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Is Your Ex With a Man? Don't lose your Ex girlfriend! This weird trick will get her back! ♣♣♣ http://goo.gl/nkXEkK
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Finally, A Voice for the Enterprise!

  1. 1. VOICE OF THE ENTERPRISE Adding Another Input Stream to Your Applications
  2. 2. From Google Car, Brome, QC, CA August 2015
  3. 3. INTRO ➤ William “Bill” Klos ➤ Senior Architect, Centric Consulting ➤ Columbus, OH ➤ Specialties ➤ Cloud ➤ Mobility ➤ Alternative Technologies ➤ @williamklos ➤ bill.klos@centricconsulting.com From Google Car, Brome, QC, CA August 2015
  4. 4. THE PROMISE ➤ Star Trek ➤ 2001: A Space Odyssey ➤ Interstellar ➤ Mother (Alien) ➤ The Beam (Canvas)
  5. 5. But what I’m talking about is not Artificial Intelligence or Machine Learning.
  6. 6. I’M TALKING ABOUT ➤ Quick Status Updates ➤ What happened with the overnight jobs? ➤ What’s the story with the dog? ➤ Did Mom take her medicine today? ➤ Executing Actions ➤ Route me home but don’t bug me unless there’s traffic. ➤ Put me down for 8 hours today on the Acme project. ➤ Blow up the ship.
  7. 7. WHAT’S SO GOOD ABOUT A VOICE UI? ➤ When It’s Good ➤ Less Friction, More Natural ➤ Pervasive/Ubiquitous ➤ Can be Conversational ➤ Truly Keeps Hands Free ➤ Requires Less Focus/It’s Freeing ➤ Only the Needed Information ➤ When It’s Bad ➤ Requires Focused Verification of Results ➤ Adds to the Environmental Chaos ➤ Global Thermonuclear War
  8. 8. THE CANDIDATES ➤ Mobile ➤ Siri ➤ Google Now ➤ Cortana ➤ Non-Mobile ➤ Alexa (Amazon Echo)
  9. 9. THE NOMINEE ➤ Alexa (Amazon Echo)
  10. 10. THE PLUSES ➤ Cheap ➤ There’s an API & SDK for it. ➤ Easy to develop to. ➤ Can Host Anywhere where HTTPS is Available ➤ Voice recognition is good. ➤ Can Own a Room ➤ Being Extended all the Time ➤ Good Support & Community
  11. 11. THE MINUSES ➤ It’s Voice Recognition, but not Necessarily YOUR Voice ➤ Requires an Internet Connection ➤ Testing Can be Wonky ➤ Will drive your family mad & leave you hoarse ➤ Can’t Take it With You ➤ Not as Feature-rich as Your Phone’s Capabilities Yet ➤ Have to buy a complete device everywhere you want to use it ➤ Cannot Initiate an Interaction ➤ Using your services a little less natural than native services
  12. 12. GENERAL USAGE
  13. 13. GENERAL USAGE - WHAT IS A VOICE UI (MANAGEMENT) DueForward API Mobile UI Web UI Voice UI
  14. 14. GENERAL USAGE - WHAT IS A VOICE UI (YOU GUYS) Spicoli [devops-slack-hook-push] Telemetri [telemetri-api] DueForward [dueforward-api] tbd-email [aws-ses-manager] SLACK tbd-push [aws-sns-manager] RSS FEEDS [112] WEB PAGES [~3500/mo] Voice UI [alexa-voice-api] Web UI [angular] Dashboards [bi-bigdata] GENERAL TAXONOMIES COMPANIES [154] CONCEPTS [85] CITIES [35] CLOUDS [14] DATABASES [29] HARDWARE [21] SOFTWARE [26] INDUSTRIES [26] MATERIALS [3] PLATFORMS [41] LANGUAGES [36] SYNONYMS [279] Subscriber Access Centric Access CLIENT/INDUSTRY TAXONOMIES HEALTHCAREINSURANCE FINANCIAL MICROSOFT ALLIANCE DATA PROCTOR & GAMBLE CLIENT CLIENT POTENTIAL CLIENT INDUSTRY SERVICE OFFERING SERVICE OFFERING Public Access DEMO DASHBOARD Blog Posts Opinions Reputation OPERATIONAL AWS OTHER CENTRIC APPS BI SO ATOM FEEDS [20] PHASE 2 PHASE 3 for CodeMash 2016 presentation notifications notifications notifications logs AWS S3
  15. 15. “ALEXA” “ALEXA” “DO SOMETHING” “DO SOMETHING” “ASK MY APP TO…” “HERE ARE YOUR AWESOME RESULTS” “HERE ARE YOUR AWESOME RESULTS” CUSTOM SKILL INTERACTION NATIVE SKILL INTERACTION GENERAL USAGE - INTERACTING WITH ALEXA Alexa, turn on the lights downstairs. Alexa, tell DevOps to spin up another order processor. The lights are now on. There are now 6 order processors running.
  16. 16. GENERAL USAGE - ADDRESSING ALEXA & YOUR SKILL ➤ Address the device with: “Alexa” or “Amazon”. Your pick. ➤ Address your Skill with: ➤ Ask, Tell (preferred, most natural) ➤ Talk to, Open, Launch, Start, Use, Resume, Run, Load, Begin ➤ There is no functional difference between the phrases it just comes down to what is easiest to convey the necessary meaning by the user to your application. AskDueForward what is the current STATUS of the DATABASE AskDueForward what VERSION it is RUNNING AskDueForward how many DOCUMENTS need to be DETERMINED TellDueForward to KICK OFF a DETERMINATION job AskDueForward how many DOCUMENTS need to be DETERMINED
  17. 17. HOW TO DEVELOP FOR IT
  18. 18. HOW TO DEVELOP FOR IT - WHAT YOU’LL NEED ➤ An AWS Account w/Alexa Development Option ➤ http://developer.amazon.com ➤ An Amazon Echo (though you can do some stuff w/o it) ➤ An Intents File ➤ A kind of template file for filtering your Utterances through ➤ An Utterances File ➤ example phrases ➤ Your Language of Choice (Google go for me) ➤ A Server with HTTPS Capabilities
  19. 19. HOW TO DEVELOP FOR IT - APPLICATION SPECIFICS ➤ If you work with Java, Node.js, or Python - you can use Amazon Lambda to host and execute your source in response to Alexa events. ➤ More languages coming soon. ➤ Or you are completely free to use whatever you want as long as you have an HTTPS endpoint to point Alexa to.
  20. 20. ALEXA SKILL KIT
  21. 21. ALEXA SKILL KIT - INTENTS
  22. 22. ALEXA SKILL KIT - UTTERANCES Alexa, ask DueForward what were the top CONCEPTS for LAST MONTH Alexa, ask DueForward what were the top DATABASES for LAST MONTH Alexa, ask DueForward what are the top LANGUAGES for THIS MONTH Alexa, ask DueForward what was the top SOFTWARE for LAST MONTH
  23. 23. CONSIDERATIONS ➤ Designing Your Input Options ➤ How casual? How formal? How many ways to say it? ➤ Can you ask it easily or is it a complex request? ➤ Designing Your Response Options ➤ How casual? How formal? How many ways to say it? ➤ How much data can you retain when hearing vs. seeing? ➤ Do you want read-only (safe) or read-write (powerful)? ➤ Transaction size (short, to the point on both sides) ➤ You have about 10 seconds to put it all together. ➤ Testing
  24. 24. SETTING UP YOUR APP
  25. 25. SETTING UP YOUR APP ➤ For Amazon Certification & Publishing ➤ Verify that the Request was Sent by Alexa ➤ Check the Signature of the Request ➤ Check the Timestamp of the Request ➤ Don’t Need These for Testing ➤ Verify the Application Id Matches the One Assigned
  26. 26. CODING THE APP
  27. 27. STIMULUS/RESPONSE
  28. 28. CODING THE APP - STIMULUS/RESPONSE Echo Captures Request Formulate Request Packet Route Request To Supplied Endpoint Formulate & Return Voice Response Process Request Echo Speaks Response Formulate & Return Card Info Alexa App Shows Companion Card
  29. 29. CODING THE APP - STIMULUS/RESPONSE / COMPANION APP RESPONSE CARDS
  30. 30. GENERAL ARCHITECTURE
  31. 31. CODING THE APP - GENERAL ARCHITECTURE Shell API Passthru [optional] DueForward Application DB DB DB DB DB DB HTTPS Future Application Future Application Future Application Future Application ECHO APP DATA
  32. 32. CODING THE APP - PASSTHRU CALL
  33. 33. CODING THE APP - PASSTHRU RESPONSE
  34. 34. CODE - INTENTS & UTTERANCES
  35. 35. CODE - INTENTS & UTTERANCES
  36. 36. CONVERSATIONS
  37. 37. DISAMBIGUATION
  38. 38. DISAMBIGUATION
  39. 39. CONVERSATION - DISAMBIGUATION ➤ Alexa, tell CampIO to check in Bill. ➤ Did you mean Bill Klos or Bill Chamberlain? ➤ Bill Chamberlain | The second one. ➤ OK. Bill Chamberlain is now checked in.
  40. 40. PROMPTING THE USER
  41. 41. CONVERSATION - PROMPTING THE USER ➤ Alexa, ask DueForward… | Alexa, ask DueForward for help. ➤ You can check system status, get metrics, or run a job. Which would you like to do? ➤ Run a job, please. ➤ OK. I can re-determine documents or destroy the ship. Which would you like me to do?
  42. 42. CONVERSATION - TELL ME MORE ➤ Alexa, ask DueForward what is the current status of the database? ➤ All database servers are currently operating normally. ➤ What about memory usage? ➤ Memory usage is at 11%. ➤ And how many documents need to be re-determined? ➤ Currently, there are 177 documents that need to be re-determined. Would you like me to go ahead and clear them out? ➤ Please. ➤ Done.
  43. 43. NAVIGATING A PROCESS
  44. 44. “Computer, initiate self-destruct sequence 1, code 1-1 A, set for five minutes and I want it to be silent except for a ticking clock sound to mysteriously play ship-wide over the speakers. Thanks. -The Captain
  45. 45. CONVERSATIONS - NAVIGATING A PROCESS Initiate self-destruct sequence.
  46. 46. CONVERSATIONS - NAVIGATING A PROCESS Destruct sequence activated. Please provide authorization code.
  47. 47. CONVERSATIONS - NAVIGATING A PROCESS alpha, alpha, alpha
  48. 48. CONVERSATIONS - NAVIGATING A PROCESS Authorization accepted. Please confirm your decision.
  49. 49. CONVERSATIONS - NAVIGATING A PROCESS Confirmed | Yep | Do it | Let’s light this candle | Affirmative…
  50. 50. CONVERSATIONS - NAVIGATING A PROCESS Self-destruct sequence in process. Sorry you’re having a bad day.
  51. 51. WHAT ABOUT SECURITY?
  52. 52. CONVERSATIONS - WHAT ABOUT SECURITY? Tell Me Your Authorization Code Confirm Your Request One Last Time CAPT? Geez, Use “The Force” Go Find The Captain JEDI? Request Self- Destruct Sequence
  53. 53. UNDERSTANDING
  54. 54. WHAT DID I SAY?
  55. 55. WHAT DID I SAY? - METAPHONES, SOUNDEX, & NYSIIS ➤ Metaphone ➤ William Klos = WLM KLS ➤ Incidentally, “Galluzzo” also = KLS ➤ SoundEx ➤ William Klos = W450 K420 ➤ NYSIIS ➤ New York State Identification & Intelligence System ➤ 8-25 Step Process ➤ William Klos = WALAN CL
  56. 56. CONSIDER “WILLIAM KLOS”
  57. 57. WHAT DID I SAY? - THE MANY PHASES OF KLOS ➤ KLOS / K420 / KLS / CL ➤ KLAS / K420 / KLS / CL ➤ CLAUS / C420 / KLS / CL ➤ CLOS / C420 / KLS / CL ➤ CLOSE / C420 / KLS / CL ➤ KIDS / K420 / KTS / CAD ➤ CLASS / C420 / KLS / CL ➤ KOLS / K420 / KLS / CAL ➤ KOLB / K410 / KLB / CALB
  58. 58. WHAT DID I SAY? - VARIABLE INPUT
  59. 59. BUT, WHAT IF I GO BY BILL?
  60. 60. EXACTNESS
  61. 61. WHAT DID I SAY? - EXACTNESS ➤ Be mindful that Alexa tries to be forgiving. ➤ If what you speak vs. the matched Utterance has some instances of the wrong tense, transposed words, or missing/substituted words, it will try to give you the benefit of the doubt. ➤ If you need exactness, you’ll have to use Slots and bounce the associated data against a database when matching instead of simply matching on Intents.
  62. 62. WHAT DID YOU SAY?
  63. 63. WHAT DID YOU SAY? - PLAIN TEXT
  64. 64. WHAT DID YOU SAY? - SSML ➤ audio (recorded voice files) ➤ break (adding pauses) ➤ p (paragraph) ➤ phoneme (pronunciation based on defined alphabets) ➤ s (ending a sentence with a period) ➤ say-as (spell-out, digits, fraction) ➤ speak (root element) ➤ w (verb, noun, past-participle, alternate pronunciations ➤ (e.g. bass vs. bass)
  65. 65. WHAT DID YOU SAY? - SSML <speak> five<break time="1s"/>four<break time="1s"/>three. Abort sequence canceled. </speak>
  66. 66. MANUAL PHONETICS
  67. 67. VARYING THE RESPONSE
  68. 68. WHAT DID YOU SAY? - VARYING THE RESPONSE
  69. 69. THINGS TO REMEMBER ➤ Enunciation helps, but it is not critical to success. ➤ But ambient noise can wreak havoc. ➤ You should have to have thousands of samples, but more than a few. ➤ Don’t strive for perfection, but don’t blow up your ship on a mis- understanding. ➤ Treat phonetics/pronunciation codes like you would multi-lingual set ups. ➤ 2 Words: DevOps ➤ Be polite. Give bonus points for niceties. ➤ Can be a cheap way to get cool in to the enterprise and sneak in some alternate technologies.
  70. 70. HTTPS://GITHUB.COM/CENTRICCONSULTING/ALEXA-FRAMEWORK-GO
  71. 71. Q&A

×