Slide 1

Slide 1 text

Boost your Bot’s IQ Turn a dumb bot to the smarter bot...

Slide 2

Slide 2 text

Hello World Conversation Flow Add Intelligence Deploy

Slide 3

Slide 3 text

HELLO! I am Sivamuthu Kumar - Working as Architect in Computer Enterprises Inc - I am here to connect with you all. - You can reach me on @ksivamuthu

Slide 4

Slide 4 text

HELLO! I am Raksha - A Bot Guru - Co-presenter of this session - Enlighten dumb bots and help them transformed into smarter bots

Slide 5

Slide 5 text

Why Chatbot? ❏ People have a deep affection for intelligent conversation. ❏ Chatbot can help to bring brands to the user in user’s favorite messaging app / channel. @ksivamuthu

Slide 6

Slide 6 text

What is Chatbot? ❏ A chat robot , a computer program that simulates human conversation, or chat, through artificial intelligence. ❏ It can be used to get things done or for fun. @ksivamuthu

Slide 7

Slide 7 text

“Bots learn the same way people learn - through progression.” @ksivamuthu How does it work?

Slide 8

Slide 8 text

User chats with bot Contextual Analysis by AI Real-time response, Personalized Interactions @ksivamuthu How does it work?

Slide 9

Slide 9 text

@ksivamuthu Chatbot Architecture NLP - Natural Language Processing NLU - Natural Language Understanding NLG - Natural Language Generation

Slide 10

Slide 10 text

Microsoft Bot Framework

Slide 11

Slide 11 text

- Tools and services to build great bots that are conversing with the user - Open source SDK in Javascript (NodeJS), C# - Chat emulator Bot Builder - Connects your bots to text / sms, Skype, Slack, Facebook Messenger, O365, Direct Line in app etc. - Fast scalable message routing Developer Portal - Parse natural language using LUIS. - Cognitive Services enable your bot to see, hear, and interpret in more human ways Cognitive Services @ksivamuthu Microsoft Bot Framework

Slide 12

Slide 12 text

@ksivamuthu

Slide 13

Slide 13 text

Tools for Development ❏ NodeJS ❏ VSCode - VSCode can do anything. ❏ Azure Functions for Visual Studio Code - Create, debug, manage, and deploy Azure Functions directly from VS Code ❏ Azure Functions Pack - Package Azure Functions for optimization. @ksivamuthu

Slide 14

Slide 14 text

Bot Framework Emulator

Slide 15

Slide 15 text

Bot Framework Emulator ❏ Debug bots running on localhost ❏ Remote debugging (ngrok) ❏ Message Inspector ❏ Bot Transcripts ❏ Inspect Language Services ❏ Speech Recognition ❏ Manage Bot Resources @ksivamuthu

Slide 16

Slide 16 text

Hello World Bot Demo

Slide 17

Slide 17 text

Hello World Conversation Flow

Slide 18

Slide 18 text

Designing Conversation

Slide 19

Slide 19 text

Key Concepts ❏ Chat Interface ❏ Context or Memory of a Bot ❏ Loops, Splits and Recursion ❏ Integration with Legacy systems ❏ Handoff ❏ Character, Persona ❏ NLP Component @ksivamuthu

Slide 20

Slide 20 text

Dialogs @ksivamuthu

Slide 21

Slide 21 text

Conversation Flow - Waterfall ❏ Collect information from the user or guide the user through a sequence of tasks in waterfall dialog. ❏ The tasks are implemented as an array of functions where the results of the first function are passed as input into the next function, and so on. ❏ Handle interruptions and gracefully switch the context @ksivamuthu

Slide 22

Slide 22 text

@ksivamuthu Conversation Flow - Waterfall

Slide 23

Slide 23 text

Conversation Flow - Multiple Waterfalls

Slide 24

Slide 24 text

Prompts @ksivamuthu Prompt type Description Prompts.text Asks the user to enter a string of text. Prompts.confirm Asks the user to confirm an action. Prompts.number Asks the user to enter a number. Prompts.time Asks the user for a time or date/time. Prompts.choice Asks the user to choose from a list of options. Prompts.attachment Asks the user to upload a picture or video.

Slide 25

Slide 25 text

Cards @ksivamuthu

Slide 26

Slide 26 text

Cards @ksivamuthu

Slide 27

Slide 27 text

State Data @ksivamuthu The Bot Builder Framework enables your bot to store and retrieve state data that is associated with a user, a conversation, or a specific user within the context of a specific conversation. Development / Testing: - In Memory Data Storage Production: - Manage State data with Cosmos DB - Manage State data with Table Storage

Slide 28

Slide 28 text

State Data @ksivamuthu Storage Containers Scoped to Description userData User Data that is saved for user on the specified channel privateConversation Data Conversation Data that is saved for user within the context of particular conversation on the specified channel conversationData Conversation Data that is saved in the context of particular conversation on the specified channel dialogData Dialog Data that is saved for the current dialog only. The property is cleared when the dialog is removed from stack.

Slide 29

Slide 29 text

Restaurant Bot Demo

Slide 30

Slide 30 text

Hello World Conversation Flow Add Intelligence

Slide 31

Slide 31 text

Language Understanding (LUIS)

Slide 32

Slide 32 text

LUIS - Overview ● Language Understanding Intelligent Service (LUIS) is NLP as a service ● NLP is a mechanism to extract the intention (Intent) and relevant information (Entity) from user input. ● Using machine learning, LUIS allows developers to build applications which receives user input (Utterances) in a natural language and parses to find what action (Intent) needs to be performed with supplied parameters (Entity). @ksivamuthu

Slide 33

Slide 33 text

@ksivamuthu

Slide 34

Slide 34 text

Anatomy of an intent Are there any Chinese restaurants within 3 miles from my house that is open now ? Entities Values Cuisine Chinese Distance 3 miles Reference My house Condition Open now @ksivamuthu Intent - Restaurants.Search

Slide 35

Slide 35 text

LUIS Restaurant Bot Demo

Slide 36

Slide 36 text

Bot’s success factors

Slide 37

Slide 37 text

Make UX a Top Priority ❏ Does the bot easily solve the user’s problem with the minimum number of steps? ❏ Does the bot solve the user’s problem better/easier/faster than any of the alternative experiences? ❏ Does the bot run on the devices and platforms the user cares about? ❏ Is the bot discoverable? Do the users naturally know what to do when using it? @ksivamuthu

Slide 38

Slide 38 text

Hello World Conversation Flow Add Intelligence Deploy

Slide 39

Slide 39 text

Deploy your bot to Azure

Slide 40

Slide 40 text

Application Insights

Slide 41

Slide 41 text

Application Insights ❏ Add the instrumentation Key to the Bot ❏ Instrument the code using App Insights ❏ Track dialog flows and custom events ❏ Application Insights - Dashboard @ksivamuthu

Slide 42

Slide 42 text

Hello World Conversation Flow Add Intelligence Deploy

Slide 43

Slide 43 text

More Cognitive Services...

Slide 44

Slide 44 text

Knowledge Search Language Cognitive Services Vision Speech Computer Vision Face Emotion Content Moderator Video Video Indexer Cognitive Vision Text Analytics Bing Spell Check LUIS Translator Text Content Moderator Speech to Text Text to Speech Speaker Recognition Speech Translation Bing Web Search Bing Custom Search Bing Video Search Bing Image Search Bing Visual Search Bing Entity Search Bing News Search Bing Autosuggest QnA maker Recommendations @ksivamuthu

Slide 45

Slide 45 text

Links ★ Microsoft Bot Framework Docs https://docs.microsoft.com/en-us/azure/bot-service ★ Bot Builder SDK https://github.com/Microsoft/BotBuilder ★ Boost your Bot’s IQ - Demo https://github.com/ksivamuthu/boost-bots-iq ★ Boost your Bot’s IQ - Slides http://siva.shortcm.li/oaVaJo @ksivamuthu

Slide 46

Slide 46 text

Thank you !!!