SlideShare a Scribd company logo
1 of 33
1
Welcome to the
Tel-Aviv
2
Moaid Hathot
Software Consultant
@MoaidHathot
moaidh@codevalue.net
http://www.moaid.codes
www.codevalue.net
Chatbots – CMD for Humans
3
4
5
6
7
8
999
• Software engineer, consultant and code Jedi
• Developing Software professionally since 2013
• Software Craftsmanship advocate
• Clean Coder
• OzCode Evangelist
@MoaidHathot
moaidh@codevalue.net
http://www.moaid.codes
About Me
10
Cloud Computing
Advanced Mobile
Technologies
UI/UX & Graphic
Design
Cross Platform
Development
Advanced Web
Technologies
ALM & DevOps Software Architecture
IOT & Embedded
Software
Training & Mentoring
Development
Management &
Methodology
About CodeValue
11
Debug like a wizard Quit debugging, spend more time writing brilliant software
Magic Glance / Figure out complex expressionsLINQ Debugging / Know the flow of your LINQ queries
Reveal / Focus on data that actually matterSearch/ Find that needle in a haystack of data
With our Visual Studio extension for C#, follow the road to a bug-free world
oz-code.com | @oz_code
Agenda
Microsoft Bot Framework
Messages
Dialogs
Forms
State
Microsoft Cognitive Services
Language Understanding (LUIS)
12
13
Chatbots
13
Introduction to Chat Bots
Natural Language User Interface (NLUI)
Another form of UX/UI
The Hardest part is designing the conversation flow
14
Introduction to Chat Bots
A bot consist of several parts
Managing Conversational flow
Understanding user intent
State persistency
Connect to channels (Skype, Slack, Teams, Messager, etc…)
Introduction to Chat Bots
A bot consist of several parts
Managing Conversational flow
Understanding user intent
State persistency
Connect to channels (Skype, Slack, Teams, Messager, etc…)
All of the above can be done using:
Microsoft’s BotBuilder SDK
Azure Cognitive Services
Introduction to Chat Bots
A bot consist of several parts
Managing Conversational flow
Understanding user intent
State persistency
Connect to channels (Skype, Slack, Teams, Messager, etc…)
All of the above can be done using:
Microsoft’s BotBuilder SDK
Azure Cognitive Services
17
+ = Awesome!!!
Bot Framework
18
Bot Framework Architecture
19
Bot Framework
Key Concepts
Connector – A single REST API for communicating across multiple channels
Activity – A message for passing information between bot and user.
MessageActivity – passing messages
DeleteUserData
ConversationUpdate – member being added/removed
ContactRelationUpate – Bot being added/removed from a user Contact List
Typing – The user is typing.
Dialog – A dialog for a bot is like a screen for a Desktop app.
20
Bot Framework Emulator
21
22
DemoMessages
Dialogs
Dialogs
Stacked – BotBuilder SDK maintain and serialize dialogs as a stack.
Code continuations allow modeling a state machine.
Can be chained in a Linq-like API.
Can be generated with FormFlow and FormBuilder.
Various Prompts are available as dialogs.
Dialogs can be interrupted by Global message handlers using Scorables
23
Root Dialog
Help Dialog Order Dialog
Conversation Flow
The active dialog takes control of conversation flow
Using the SDK you can:
IDialogStack.Wait() – Suspect the current dialog until an event has been sent to the bot.
IDialogStack.Done() – Complete the current dialog and return a result to the parent dialog.
IDialogStack.Forward() – Call a child dialog, add it to the top of the stack and forward the
message.
IDialogStack.Call() – Call a child dialog and add it to the top of the stack
IDialogStack.Fail() – Fail the current dialog and return an exception to the parent dialog.
IDialogStack.Reset() – Resets the Stack.
IDialogStack.Post() – Post an event to the queue.
24
25
DemoDialogs
Bot State
Multiple level of State
User Data
Conversation specific data
Conversation specific data for specific user
Dialog data
Persisted and managed by the Bot Framework State Service
IBotStorage
In-memory data storage is available for testing and prototyping.
Custom Data Storage can be created. For example for
CosmoDB
Table Storage
26
27
DemoBot State
28
LUIS
28
LUIS
LUIS – Language Understanding Intelligent Service
Understand what a user wants in their own words.
Based on machine learning algorithms
Allows you to ‘train’ it under a few minutes according to your domain.
Key LUIS concepts
Intent – represents actions the user wants to perform.
Utterances – text input that LUIS extract Intents from.
Entities – detailed information in a relevant that LUIS can extract.
BotBuilder SDK can work with LUIS out of the box!
29
30
DemoLUIS
Summary
Chat bots are another form of UI (NLUI)
Microsoft Bot Framework makes it easier to write your bot
Standard connection to various channels
BotBuilder SDK
Integration with cognitive Services
The trickiest part is still designing the conversation
31
32
A BIG thank you to the 2018 Global Sponsors!
33
Presenter contact details
@MoaidHathot
moaidh@codevalue.net
http://www.moaid.codes
www.codevalue.net
33
Workshop - https://github.com/MoaidHathot/bot-workshop
Demo - https://github.com/MoaidHathot/FoodBot

More Related Content

Similar to Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)

Talking with bots - meetup presentation
Talking with bots  - meetup presentationTalking with bots  - meetup presentation
Talking with bots - meetup presentationAldis Ērglis
 
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbotsDynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbotsJoris Poelmans
 
Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018Radoslav Gatev
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intentAbhishek Sur
 
Introduction to BOT Framework- Global Azure Bootcamp 2017
Introduction to BOT Framework- Global Azure Bootcamp 2017Introduction to BOT Framework- Global Azure Bootcamp 2017
Introduction to BOT Framework- Global Azure Bootcamp 2017Jalpesh Vadgama
 
Azure Bot Services - Malaysia
Azure Bot Services - MalaysiaAzure Bot Services - Malaysia
Azure Bot Services - MalaysiaCheah Eng Soon
 
BP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application DeveloperBP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application DeveloperSerdar Basegmez
 
Develop For BlackBerry10
Develop For BlackBerry10 Develop For BlackBerry10
Develop For BlackBerry10 Kareem ElSayyed
 
Build a Great Conversationalist
Build a Great ConversationalistBuild a Great Conversationalist
Build a Great ConversationalistLorenzo Barbieri
 
IRJET - A Study on Building a Web based Chatbot from Scratch
IRJET - A Study on Building a Web based Chatbot from ScratchIRJET - A Study on Building a Web based Chatbot from Scratch
IRJET - A Study on Building a Web based Chatbot from ScratchIRJET Journal
 
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checkerYesu Raj
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidConAmir Zuker
 
Smalltalk speaks dot net
Smalltalk speaks dot netSmalltalk speaks dot net
Smalltalk speaks dot netESUG
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in actionMilan Vukoje
 
Build an Intelligent Bot
Build an Intelligent BotBuild an Intelligent Bot
Build an Intelligent BotSorin Peste
 
Internet of Stranger Things
Internet of Stranger ThingsInternet of Stranger Things
Internet of Stranger ThingsTodd Whitehead
 

Similar to Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel) (20)

codex (1).ppt
codex (1).pptcodex (1).ppt
codex (1).ppt
 
Talking with bots - meetup presentation
Talking with bots  - meetup presentationTalking with bots  - meetup presentation
Talking with bots - meetup presentation
 
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbotsDynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
Dynamics 365 Saturday Amsterdam 02/2018 - Dynamics 365 and chatbots
 
Microsoft bot framework
Microsoft bot frameworkMicrosoft bot framework
Microsoft bot framework
 
Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018Build a great conversationalist using Azure Bot Service 2018
Build a great conversationalist using Azure Bot Service 2018
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intent
 
Introduction to BOT Framework- Global Azure Bootcamp 2017
Introduction to BOT Framework- Global Azure Bootcamp 2017Introduction to BOT Framework- Global Azure Bootcamp 2017
Introduction to BOT Framework- Global Azure Bootcamp 2017
 
Azure Bot Services - Malaysia
Azure Bot Services - MalaysiaAzure Bot Services - Malaysia
Azure Bot Services - Malaysia
 
BP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application DeveloperBP 308 - The Journey to Becoming a Social Application Developer
BP 308 - The Journey to Becoming a Social Application Developer
 
Develop For BlackBerry10
Develop For BlackBerry10 Develop For BlackBerry10
Develop For BlackBerry10
 
Build a Great Conversationalist
Build a Great ConversationalistBuild a Great Conversationalist
Build a Great Conversationalist
 
IRJET - A Study on Building a Web based Chatbot from Scratch
IRJET - A Study on Building a Web based Chatbot from ScratchIRJET - A Study on Building a Web based Chatbot from Scratch
IRJET - A Study on Building a Web based Chatbot from Scratch
 
Conversational AI: What's New?
Conversational AI: What's New?Conversational AI: What's New?
Conversational AI: What's New?
 
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checker
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidCon
 
Smalltalk speaks dot net
Smalltalk speaks dot netSmalltalk speaks dot net
Smalltalk speaks dot net
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in action
 
Build an Intelligent Bot
Build an Intelligent BotBuild an Intelligent Bot
Build an Intelligent Bot
 
Bots in the Enterprise
Bots in the Enterprise Bots in the Enterprise
Bots in the Enterprise
 
Internet of Stranger Things
Internet of Stranger ThingsInternet of Stranger Things
Internet of Stranger Things
 

More from Moaid Hathot

Demystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersDemystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersMoaid Hathot
 
Azure Bicep for Developers
Azure Bicep for DevelopersAzure Bicep for Developers
Azure Bicep for DevelopersMoaid Hathot
 
Demystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersDemystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersMoaid Hathot
 
ChatGPT and Beyond Using AI Tools to Enhance Academic Researc
ChatGPT and Beyond Using AI Tools to Enhance Academic ResearcChatGPT and Beyond Using AI Tools to Enhance Academic Researc
ChatGPT and Beyond Using AI Tools to Enhance Academic ResearcMoaid Hathot
 
Dapr- Distributed Application Runtime
Dapr- Distributed Application RuntimeDapr- Distributed Application Runtime
Dapr- Distributed Application RuntimeMoaid Hathot
 
What's coming in C# 11
What's coming in C# 11What's coming in C# 11
What's coming in C# 11Moaid Hathot
 
Introduction to .NET MAUI
Introduction to .NET MAUIIntroduction to .NET MAUI
Introduction to .NET MAUIMoaid Hathot
 
What's new in C# 11
What's new in C# 11What's new in C# 11
What's new in C# 11Moaid Hathot
 
Best of build 2021 - C# 10 & .NET 6
Best of build 2021 -  C# 10 & .NET 6Best of build 2021 -  C# 10 & .NET 6
Best of build 2021 - C# 10 & .NET 6Moaid Hathot
 
What's new in c# 10
What's new in c# 10What's new in c# 10
What's new in c# 10Moaid Hathot
 
Developer cloud roadmap keynote
Developer cloud roadmap keynoteDeveloper cloud roadmap keynote
Developer cloud roadmap keynoteMoaid Hathot
 
What's new in c# 10
What's new in c# 10What's new in c# 10
What's new in c# 10Moaid Hathot
 
Intro to Azure Static Web Apps
Intro to Azure Static Web AppsIntro to Azure Static Web Apps
Intro to Azure Static Web AppsMoaid Hathot
 
About me - Rothschild Partnerships
About me - Rothschild PartnershipsAbout me - Rothschild Partnerships
About me - Rothschild PartnershipsMoaid Hathot
 
What's coming in c# 9.0
What's coming in c# 9.0What's coming in c# 9.0
What's coming in c# 9.0Moaid Hathot
 
What's Coming in C# 9.0
What's Coming in C# 9.0What's Coming in C# 9.0
What's Coming in C# 9.0Moaid Hathot
 
Introduction to azure
Introduction to azureIntroduction to azure
Introduction to azureMoaid Hathot
 
Distributed Application Runtime (Dapr) - Azure Israel 2020
Distributed Application Runtime (Dapr) - Azure Israel 2020Distributed Application Runtime (Dapr) - Azure Israel 2020
Distributed Application Runtime (Dapr) - Azure Israel 2020Moaid Hathot
 
Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtimeMoaid Hathot
 

More from Moaid Hathot (20)

Demystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersDemystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string Handlers
 
Azure Bicep for Developers
Azure Bicep for DevelopersAzure Bicep for Developers
Azure Bicep for Developers
 
Demystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string HandlersDemystifying C#'s Interpolated string Handlers
Demystifying C#'s Interpolated string Handlers
 
ChatGPT and Beyond Using AI Tools to Enhance Academic Researc
ChatGPT and Beyond Using AI Tools to Enhance Academic ResearcChatGPT and Beyond Using AI Tools to Enhance Academic Researc
ChatGPT and Beyond Using AI Tools to Enhance Academic Researc
 
Dapr- Distributed Application Runtime
Dapr- Distributed Application RuntimeDapr- Distributed Application Runtime
Dapr- Distributed Application Runtime
 
What's coming in C# 11
What's coming in C# 11What's coming in C# 11
What's coming in C# 11
 
Introduction to .NET MAUI
Introduction to .NET MAUIIntroduction to .NET MAUI
Introduction to .NET MAUI
 
What's new in C# 11
What's new in C# 11What's new in C# 11
What's new in C# 11
 
Best of build 2021 - C# 10 & .NET 6
Best of build 2021 -  C# 10 & .NET 6Best of build 2021 -  C# 10 & .NET 6
Best of build 2021 - C# 10 & .NET 6
 
What's new in c# 10
What's new in c# 10What's new in c# 10
What's new in c# 10
 
Developer cloud roadmap keynote
Developer cloud roadmap keynoteDeveloper cloud roadmap keynote
Developer cloud roadmap keynote
 
What's new in c# 10
What's new in c# 10What's new in c# 10
What's new in c# 10
 
Intro to Azure Static Web Apps
Intro to Azure Static Web AppsIntro to Azure Static Web Apps
Intro to Azure Static Web Apps
 
About me - Atidna
About me - AtidnaAbout me - Atidna
About me - Atidna
 
About me - Rothschild Partnerships
About me - Rothschild PartnershipsAbout me - Rothschild Partnerships
About me - Rothschild Partnerships
 
What's coming in c# 9.0
What's coming in c# 9.0What's coming in c# 9.0
What's coming in c# 9.0
 
What's Coming in C# 9.0
What's Coming in C# 9.0What's Coming in C# 9.0
What's Coming in C# 9.0
 
Introduction to azure
Introduction to azureIntroduction to azure
Introduction to azure
 
Distributed Application Runtime (Dapr) - Azure Israel 2020
Distributed Application Runtime (Dapr) - Azure Israel 2020Distributed Application Runtime (Dapr) - Azure Israel 2020
Distributed Application Runtime (Dapr) - Azure Israel 2020
 
Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtime
 

Recently uploaded

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 

Recently uploaded (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 

Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)

  • 3. 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. 7
  • 8. 8
  • 9. 999 • Software engineer, consultant and code Jedi • Developing Software professionally since 2013 • Software Craftsmanship advocate • Clean Coder • OzCode Evangelist @MoaidHathot moaidh@codevalue.net http://www.moaid.codes About Me
  • 10. 10 Cloud Computing Advanced Mobile Technologies UI/UX & Graphic Design Cross Platform Development Advanced Web Technologies ALM & DevOps Software Architecture IOT & Embedded Software Training & Mentoring Development Management & Methodology About CodeValue
  • 11. 11 Debug like a wizard Quit debugging, spend more time writing brilliant software Magic Glance / Figure out complex expressionsLINQ Debugging / Know the flow of your LINQ queries Reveal / Focus on data that actually matterSearch/ Find that needle in a haystack of data With our Visual Studio extension for C#, follow the road to a bug-free world oz-code.com | @oz_code
  • 12. Agenda Microsoft Bot Framework Messages Dialogs Forms State Microsoft Cognitive Services Language Understanding (LUIS) 12
  • 14. Introduction to Chat Bots Natural Language User Interface (NLUI) Another form of UX/UI The Hardest part is designing the conversation flow 14
  • 15. Introduction to Chat Bots A bot consist of several parts Managing Conversational flow Understanding user intent State persistency Connect to channels (Skype, Slack, Teams, Messager, etc…)
  • 16. Introduction to Chat Bots A bot consist of several parts Managing Conversational flow Understanding user intent State persistency Connect to channels (Skype, Slack, Teams, Messager, etc…) All of the above can be done using: Microsoft’s BotBuilder SDK Azure Cognitive Services
  • 17. Introduction to Chat Bots A bot consist of several parts Managing Conversational flow Understanding user intent State persistency Connect to channels (Skype, Slack, Teams, Messager, etc…) All of the above can be done using: Microsoft’s BotBuilder SDK Azure Cognitive Services 17 + = Awesome!!!
  • 20. Bot Framework Key Concepts Connector – A single REST API for communicating across multiple channels Activity – A message for passing information between bot and user. MessageActivity – passing messages DeleteUserData ConversationUpdate – member being added/removed ContactRelationUpate – Bot being added/removed from a user Contact List Typing – The user is typing. Dialog – A dialog for a bot is like a screen for a Desktop app. 20
  • 23. Dialogs Dialogs Stacked – BotBuilder SDK maintain and serialize dialogs as a stack. Code continuations allow modeling a state machine. Can be chained in a Linq-like API. Can be generated with FormFlow and FormBuilder. Various Prompts are available as dialogs. Dialogs can be interrupted by Global message handlers using Scorables 23 Root Dialog Help Dialog Order Dialog
  • 24. Conversation Flow The active dialog takes control of conversation flow Using the SDK you can: IDialogStack.Wait() – Suspect the current dialog until an event has been sent to the bot. IDialogStack.Done() – Complete the current dialog and return a result to the parent dialog. IDialogStack.Forward() – Call a child dialog, add it to the top of the stack and forward the message. IDialogStack.Call() – Call a child dialog and add it to the top of the stack IDialogStack.Fail() – Fail the current dialog and return an exception to the parent dialog. IDialogStack.Reset() – Resets the Stack. IDialogStack.Post() – Post an event to the queue. 24
  • 26. Bot State Multiple level of State User Data Conversation specific data Conversation specific data for specific user Dialog data Persisted and managed by the Bot Framework State Service IBotStorage In-memory data storage is available for testing and prototyping. Custom Data Storage can be created. For example for CosmoDB Table Storage 26
  • 29. LUIS LUIS – Language Understanding Intelligent Service Understand what a user wants in their own words. Based on machine learning algorithms Allows you to ‘train’ it under a few minutes according to your domain. Key LUIS concepts Intent – represents actions the user wants to perform. Utterances – text input that LUIS extract Intents from. Entities – detailed information in a relevant that LUIS can extract. BotBuilder SDK can work with LUIS out of the box! 29
  • 31. Summary Chat bots are another form of UI (NLUI) Microsoft Bot Framework makes it easier to write your bot Standard connection to various channels BotBuilder SDK Integration with cognitive Services The trickiest part is still designing the conversation 31
  • 32. 32 A BIG thank you to the 2018 Global Sponsors!
  • 33. 33 Presenter contact details @MoaidHathot moaidh@codevalue.net http://www.moaid.codes www.codevalue.net 33 Workshop - https://github.com/MoaidHathot/bot-workshop Demo - https://github.com/MoaidHathot/FoodBot

Editor's Notes

  1. CodeValue is rooted in the Israeli High-tech ecosystem and expertise Founded by a team of visionary technical experts and consultants in 2010 A team of 200 experts (over 30 leading architects), and growing… Built around nurturing talents, hiring experts and developing potentials Growing through a track record of solving complex technical challenges Successfully implementing software development processes in companies of all scales CodeValue is at the leading edge of advanced software development Community of experts globally recognized by Microsoft, Google and Amazon Early access to new technologies, hands-on practice at all levels Decades of “real world” development experience 1 Microsoft MRD, 3 Microsoft MVP, 2 Google GDE & Mentors, AWS certified
  2. CodeValue is rooted in the Israeli High-tech ecosystem and expertise Founded by a team of visionary technical experts and consultants in 2010 A team of 200 experts (over 30 leading architects), and growing… Built around nurturing talents, hiring experts and developing potentials Growing through a track record of solving complex technical challenges Successfully implementing software development processes in companies of all scales CodeValue is at the leading edge of advanced software development Community of experts globally recognized by Microsoft, Google and Amazon Early access to new technologies, hands-on practice at all levels Decades of “real world” development experience 1 Microsoft MRD, 3 Microsoft MVP, 2 Google GDE & Mentors, AWS certified