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.

LUIS and Bots

103 views

Published on

Presentation delivered at the Brisbane Global Integration Bootcamp 2018. Most slides sourced from Microsoft.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

LUIS and Bots

  1. 1. #gib2018 2018 - Brisbane GLOBAL INTEGRATION BOOTCAMP Dan Toomey | Mexia LUIS and Bots
  2. 2. Dan Toomey • Principal Consultant, Mexia • Microsoft Azure MVP • MCSE, MCT, MCPD, MCTS BizTalk & Azure • Pluralsight Author • www.mindovermessaging.com • @daniel2me Who Am I?
  3. 3. Acknowledgements Kent Weare Principal Program Manager – Microsoft Flow Give your Bots connectivity, with Azure Logic Apps and Microsoft Flow
  4. 4. Acknowledgements Eldert Grootenboer Integration Architect – Motion 10 Microsoft Azure MVP Using Azure to Build Intelligent Bots ALSO: https://github.com/AzureCAT-GSI/DevCamp
  5. 5. Bots
  6. 6. Rise of the Cognitive Assistant Assistants are being embedded everywhere; are increasing ability to solve problems. As computing advances, so will Virtual Assistant ability to help in task completion. Virtual Assistants ability to be “smart”, and to understand intent, tone, and context. Market demand for meaningful, stateful and goal oriented conversations.
  7. 7. BOTS – The HypeBots are the new Apps
  8. 8. Bots are gaining in Popularity for Good Reason - Statista 2017 Most popular mobile messaging apps worldwide - January 2017 Monthly Active Users
  9. 9. What is a Bot ?
  10. 10. Microsoft Cognitive Services Give your apps a human side
  11. 11. Language Understanding Intelligence Service (LUIS) A Microsoft Cognitive Service that provides developers with an easy way to create language models to allow applications to understand user commands. Create your own LU model Train by providing examples Deploy to an HTTP endpoint and activate on any device Maintain model with ease
  12. 12. LUIS Language understanding in human-computer interaction is: Technically challenging It’s exceedingly difficult to enable a computer to understand what a person wants and to find the pieces of information that are relevant to their intent. Costly to implement Building and maintaining machine learning systems requires a large investment of time, money and engineering resources Often domain specific In the past, building your own machine learned models often required assistance of a team of data scientists that would customize the models to the specific domain.
  13. 13. Quick Start
  14. 14. LUIS
  15. 15. Quick Start – Pre Built Entities Improved number, unit, money and date/times “From May 1st to May 5th” “I want to fly from SEA to AMS next Tuesday and leave after 5 days” Age Dimension Email Encyclopedia Geography Money Number Ordinal Percentage Phone number (US) Temperature URL
  16. 16. Entity Recognizers https://github.com/Microsoft/Recognizers-Text
  17. 17. Intents and Utterances Example
  18. 18. Building a Bot…
  19. 19. Many different types of Bots Procedural Bots • Prescribed menu • Little agility for end users Contextual Bots • Less rigid • Users have intents and issue utterances • Bot interprets meaning and acts Event driven Bots • Users subscribe to events • Are notified when event fires Robotic Process Automation (RPA) • Automation achieved through GUI integration • Macro driven
  20. 20. Dialog [Serializable] public class EchoDialog : IDialog<object> { public async Task StartAsync(IDialogContext context) { context.Wait(MessageReceivedAsync); } public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument) { var message = await argument; await context.PostAsync("You said: " + message.Text); context.Wait(MessageReceivedAsync); } }
  21. 21. FormFlow public string NameOfVessel; [Numeric(1000000, 9999999)] [Prompt("Please enter your {&}")] public int OfficialVesselNumber; [Pattern(@"^(?:+d{1,3}|0d{1,3}|00d{1,2})?(?:s?(d+))?(?:[-/s.]|d)+$")] public string PhoneNumber; [Numeric(2, 20)] [Prompt("Please enter the {&}")] public int NumberOfPeopleOnBoard; public Cargo? PreviousCargo; public static IForm<ShipRegistrationDialog> BuildForm() { return new FormBuilder<ShipRegistrationDialog>().Message("Welcome to Rotterdam Tank Terminals").OnCompletion(StartStoreRegistration).Build(); }
  22. 22. Design Principles – First Interaction
  23. 23. Design Principles – Dialog Flow
  24. 24. Design Principles – Navigation
  25. 25. Design Principles – Navigation
  26. 26. Design Principles – Natural Language
  27. 27. My Org Bot – Vacation Reporting
  28. 28. Bot Creator Personas Azure Logic Apps BOT Framework Pro Integrator Sandra • Works in IT as a developer • Codes in Visual Studio • Builds custom solutions • Azure Portal is her Happy Place • Loves building APIs • Azure Functions FTW! Stuart • Works in HR as an HRIS Analyst • Has some technical training • Excel and SharePoint are his JAM! • Is under constant pressure to do more • Doesn’t have Azure Portal access • Administrates SaaS solutions like Workday, SuccessFactors, Taleo Citizen Integrator Microsoft Flow Bizzy (H3 Solutions) Ad-hoc Integrator Sam • In IT, Service Desk Supervisor • Can script in PowerShell • Looking to reduce costs in providing IT Service Management • Administrates ServiceNow • Persona may include IT Pro/BA Microsoft Flow Azure Logic Apps
  29. 29. Building a Bot - Process Pro Integrator
  30. 30. Traders/Investors QuadrigaCX Exchange Trading BOT A P I G A T E W A Y LUIS Azure SQL Intents Utterances Entities
  31. 31. Building a Bot - Process • Define LUIS Intents and Entities https://www.luis.ai/
  32. 32. Building a Bot - Process • Define LUIS Intents and Entities • Download Bot Framework Templates and Emulator
  33. 33. Building a Bot - Process • Define LUIS Intents and Entities • Download Bot Framework Templates and Emulator • Build Controllers, Models and Prompts
  34. 34. Building a Bot - Process • Define LUIS Intents and Entities • Download Bot Framework Templates and Emulator • Build Controllers, Models and Prompts • Build your Logic Apps
  35. 35. Building a Bot - Process • Define LUIS Intents and Entities • Download Bot Framework Templates and Emulator • Build Controllers, Models and Prompts • Build your Logic Apps • Protect your Logic Apps with API Management • Apply additional Policies
  36. 36. Building a Bot - Process • Define LUIS Intents and Entities • Download Bot Framework Templates and Emulator • Build Controllers, Models and Prompts • Build your Logic Apps • Protect your Logic Apps with API Management • Test locally with Emulator
  37. 37. Building a Bot - Process • Define LUIS Intents and Entities • Download Bot Framework Templates and Emulator • Build Controllers, Models and Prompts • Build your Logic Apps • Protect your API with API Management • Test locally with Emulator • Publish to Azure App Service
  38. 38. Building a Bot - Process • Define LUIS Intents and Entities • Download Bot Framework Templates and Emulator • Build Controllers, Models and Prompts • Build your Logic Apps • Protect your Logic Apps with API Management • Test locally with Emulator • Publish to Azure App Service • Register and Connect Bot
  39. 39. Building a Bot - Process Citizen Integrator
  40. 40. Employees HR Bot – Update Demographic Data Workday Connector Workday
  41. 41. Building a Bot - Process Ad-hoc Integrator
  42. 42. Access Management Bot Employees
  43. 43. Grow up to Logic Apps • “No Cliffs” across Flow and Logic Apps • Flow is good for simple integrations and empowering users to do integrations without going through development teams in IT • However, sometimes IT / devs need to take over when the Flow gets too advanced • Flows can be converted to a Logic App
  44. 44. Microsoft Flow https://flow.microsoft.com – Do you have Office 365?...You then have Flow. Azure Logic Apps https://azure.microsoft.com/en-us/services/logic-apps/ Microsoft Research Cognitive Services YouTube Channel http://tinyurl.com/hob5zjp Bizzy – The Enterprise Bot https://getbizzy.io Resources
  45. 45. GLOBAL INTEGRATION BOOTCAMP Lab #2 Creating a Smart Expense Claim Bot Using Flow & Bizzy
  46. 46. Lab #2 Prerequisites Azure Subscription Office 365 with SharePoint Online (TRIAL: https://signup.microsoft.com/signup) Azure Storage Explorer (http://storageexplorer.com)
  47. 47. Lab #2 Steps
  48. 48. Microsoft Ignite GLOBAL INTEGRATION BOOTCAMP ready...set…GO!!

×