SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Bot-Tender:
A Chat Bot Walks into a Bar
1
Eran Stiller
@eranstiller
Chief Technology Officer
erans@codevalue.net
http://stiller.blog
2
3
4
5
6
7
8
Agenda
9
Microsoft Bot Framework
Messages
Dialogs
Forms
State
Microsoft Cognitive Services
Image Search
Language Understanding (LUIS)
Speech
About Me
Eran Stiller (@eranstiller)
CTO & Founder at CodeValue
Software architect, consultant and instructor
Microsoft Azure MVP
Many years of hands-on experience
Expert in large-scale, server-side, highly-concurrent
systems
Founder of Azure Israel Meetup
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
CodeValue
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
Introduction to Chat Bots
16
Natural Language User Interface (NLUI)
Not to be confused with NUI
Another form of UX/UI
Conversation design is key
Building a conversation tree/graph
The hardest part
Introducing Beer Bot
17
Your friendly bartender bot
Or Bot-Tender
Beer-Bot can:
Recommend a beer
Order you a beer with a chaser and side dish
Remember your last drink
Architecture
18
Beer Bot Beer API Beer DB*
User
Beer Bot – Simplified Conversation View
19
Root
Recommend
Beer
By Type By Country
By
Category
Order Beer Help
Beer Chaser Side Dish
Entrance
Demo
20
Beer API
21
Microsoft Bot Framework
Microsoft Bot Framework
Bot web service
Your bot code
Entity
Extraction
Speech
Vision/Face
Natural
Language
Translation
+ Microsoft Cognitive Services
Search
Emotion
Knowledge
API
…
Message input <> output
State Management
Bot Connector Service
Conversation Canvas/Channels
……
…
Other services, APIs,
Databases, Azure Machine
Learning, Azure Search,
etc…
Bot Builder SDK
Web Chat
Direct Line…
Email
Facebook
GroupMe
Kik
Skype
Slack
Telegram
Twilio (SMS)
Bot Builder SDK
Your bot code goes here
22
Bot Framework Emulator
23
Demo
24
Message Controller
Dialogs
Dialogs are for bots like screens are for apps
Dialogs are serialized into a stack
25
Root
Recommend
Beer Order Beer
Dialog State
Code continuations allow modeling a state machine
26
if (...)
{
context.Call(OrderDialog.CreateDialog(), BeerOrderedAsync);
return;
}
Demo
27
Basic Bot Dialog
Conversation Flow
The active dialog takes control of conversation flow
Using the SDK you can:
Context.Wait()
Context.Done()
Context.Fail()
Context.Foreward()
Context.Call()
28
Chain API
A Fluent API for building dialogs
Available using the Chain class
29
public static readonly IDialog<Beer> Dialog = Chain
.From(() => new PromptDialog.PromptChoice<RecommendationOptions>(
new[] { RecommendationOptions.Category, RecommendationOptions.Origin, RecommendationOptions.Name },
"How would you like me to recommend your beer?",
"Not sure I got it. Could you try again?",
3, descriptions: new [] { "By Beer Category" , "By Beer Origin", "By Beer Name" }))
.Switch(
Chain.Case<...>(option => option == RecommendationOptions.Category, (context, option) => CategoryRecommendation),
Chain.Case<...> (option => option == RecommendationOptions.Origin, (context, option) => CountryRecommendation),
Chain.Case<...> (option => option == RecommendationOptions.Name, (context, option) => NameRecommendation)
)
.Unwrap();
Demo
30
Beer Recommendation Dialog
Forms
31
Form Flow
32
public class BeerOrder
{
[Prompt("What beer would you like?")]
public string BeerName { get; set; }
[Prompt("Which chaser would you like next to your beer? {||}")]
public Chaser Chaser { get; set; }
[Prompt("How about something to eat? {||}")]
public SideDish Side { get; set; }
}
public static IDialog<BeerOrder> CreateDialog(string beerName = null)
{
return new FormDialog<BeerOrder>(
new BeerOrder { BeerName = beerName }, ...);
}
Demo
33
Beer Order Dialog
Rich Cards
34
Microsoft Cognitive Services
35
Demo
36
Hero Card
“Typing” Indicator
Your users expect you to reply quickly
37
“Typing” Indicator
38
“Typing” Indicator
39
Demo
40
“Typing” Notification
Bot State
Use the session object
User Data
Conversation Data
Private Conversation Data
Dialog Data
Persisted and managed by the Bot Framework State Service
IBotStorage
41
Demo
42
User Preferences
Natural Language
43
LUIS
44
LUIS & Bot Framework
45
[LuisIntent("Bye")]
public async Task OnByeAsync(...)
{
await context.PostAsync("Bye bye. See you soon!");
context.Done((object) null);
}
[LuisIntent("RecommendBeer")]
public Task OnRecommendBeerAsync(...)
{
var beerName = GetEntity(luisResult, BeerNameEntityName);
var brewery = GetEntity(luisResult, BreweryEntityName);
var category = GetEntity(luisResult, CategoryEntityName);
var country = GetEntity(luisResult, CountryEntityName);
context.Call(RecommendationDialog.CreateDialog(beerName, brewery, category, country), BeerRecommendedAsync);
return Task.FromResult((object) null);
}
Demo
46
LUIS Integration
Deployment
The Bot is just a REST API
Can be hosted anywhere
Azure App Service is an easy choice
47
Channels
48
Monitoring
49
Demo
50
Deployment, Channels &
Monitoring
Speech
51
https://windows.gadgethacks.com/how-to/ultimate-guide-using-cortana-voice-commands-windows-10-0163095/
SSML
Speech Synthesis Markup Language
52
The rental car you reserved <break strength="medium" /> a mid-size sedan
<break strength="medium" /> will be ready for you to pick up at <break
time="500ms" /> <say-as interpret-as="hms12"> 4:00pm </say-as> today.
For English, press 1.
<voice xml:lang="fr-FR" gender="female"> Pour le français, appuyez sur 2 </voice>
<prosody volume="x-loud"> This is extra loud volume. </prosody>
<audio src=“http://somewhere.com/mymusic.mp3"> Here's today's weather forecast. </audio>
https://msdn.microsoft.com/en-us/library/jj127898.aspx
Demo
53
Cortana Skill
Takeaways
54
Chat bots are another form of UI (NLUI)
Microsoft Bot Framework makes it easier to write your bot
Standard connection to various channels
Bot Builder SDK
Integration with Cognitive Services
The trickiest part is still designing the conversation
Takeaways
55
Resources
Sample Code
https://github.com/estiller/beer-bot
Product & Documentation
https://dev.botframework.com/
https://docs.microsoft.com/en-us/bot-framework/
More Samples
https://github.com/Microsoft/BotFramework-Samples
https://github.com/Microsoft/BotBuilder-Samples
56
Thank You!
57
Eran Stiller
@eranstiller
Chief Technology Officer
erans@codevalue.net
http://stiller.blog

Weitere ähnliche Inhalte

Was ist angesagt?

Evolve your app’s video experience with Azure: Processing and Video AI at scale
Evolve your app’s video experience with Azure: Processing and Video AI at scaleEvolve your app’s video experience with Azure: Processing and Video AI at scale
Evolve your app’s video experience with Azure: Processing and Video AI at scaleMicrosoft Tech Community
 
2 module07 cognitive services and the bot framework
2 module07 cognitive services and the bot framework2 module07 cognitive services and the bot framework
2 module07 cognitive services and the bot frameworkMeng-Ru (Raymond) Tsai
 
[第45回 Machine Learning 15minutes! Broadcast] Azure AI - Build 2020 Updates
[第45回 Machine Learning 15minutes! Broadcast] Azure AI - Build 2020 Updates[第45回 Machine Learning 15minutes! Broadcast] Azure AI - Build 2020 Updates
[第45回 Machine Learning 15minutes! Broadcast] Azure AI - Build 2020 UpdatesNaoki (Neo) SATO
 
IT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet PreviewIT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet PreviewMichal Juhas
 
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1Vinu Gunasekaran
 
Cloud Skills Challenge.pptx
Cloud Skills Challenge.pptxCloud Skills Challenge.pptx
Cloud Skills Challenge.pptxLuis Beltran
 
Global AI Night Cleveland.pptx
Global AI Night Cleveland.pptxGlobal AI Night Cleveland.pptx
Global AI Night Cleveland.pptxLuis Beltran
 
Solvion Trendwerkstatt - Microsoft Azure + Bots
Solvion Trendwerkstatt - Microsoft Azure + BotsSolvion Trendwerkstatt - Microsoft Azure + Bots
Solvion Trendwerkstatt - Microsoft Azure + BotsHolzerKerstin
 
Custom vision app step by step and cognitive service quick view
Custom vision app step by step and cognitive service quick viewCustom vision app step by step and cognitive service quick view
Custom vision app step by step and cognitive service quick viewR Ladies Taipei
 
Gab2016 - Découverte d'Azure IoT Hub
Gab2016 - Découverte d'Azure IoT Hub Gab2016 - Découverte d'Azure IoT Hub
Gab2016 - Découverte d'Azure IoT Hub Samir Arezki ☁
 
Building the intelligent future
Building the intelligent futureBuilding the intelligent future
Building the intelligent futureMoscow Digital
 
Three Secret Ingredients To Recruiting Software Developers
Three Secret Ingredients To Recruiting Software DevelopersThree Secret Ingredients To Recruiting Software Developers
Three Secret Ingredients To Recruiting Software DevelopersMichal Juhas
 
Azure AD B2C – integration in a bank
Azure AD B2C – integration in a bankAzure AD B2C – integration in a bank
Azure AD B2C – integration in a bankKseniia Lvova
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Lucas Jellema
 
Architecting a Serverless IoT System in the Cloud
Architecting a Serverless IoT System in the CloudArchitecting a Serverless IoT System in the Cloud
Architecting a Serverless IoT System in the CloudEran Stiller
 
Introduction to Azure AD and Azure AD B2C
Introduction to Azure AD and Azure AD B2CIntroduction to Azure AD and Azure AD B2C
Introduction to Azure AD and Azure AD B2CJoonas Westlin
 
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleSPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleEdin Kapic
 
Borys Rybak “How to make your data smart with Artificial Intelligence and Mac...
Borys Rybak “How to make your data smart with Artificial Intelligence and Mac...Borys Rybak “How to make your data smart with Artificial Intelligence and Mac...
Borys Rybak “How to make your data smart with Artificial Intelligence and Mac...Lviv Startup Club
 
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2Vinu Gunasekaran
 
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptxPDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptxLuis Beltran
 

Was ist angesagt? (20)

Evolve your app’s video experience with Azure: Processing and Video AI at scale
Evolve your app’s video experience with Azure: Processing and Video AI at scaleEvolve your app’s video experience with Azure: Processing and Video AI at scale
Evolve your app’s video experience with Azure: Processing and Video AI at scale
 
2 module07 cognitive services and the bot framework
2 module07 cognitive services and the bot framework2 module07 cognitive services and the bot framework
2 module07 cognitive services and the bot framework
 
[第45回 Machine Learning 15minutes! Broadcast] Azure AI - Build 2020 Updates
[第45回 Machine Learning 15minutes! Broadcast] Azure AI - Build 2020 Updates[第45回 Machine Learning 15minutes! Broadcast] Azure AI - Build 2020 Updates
[第45回 Machine Learning 15minutes! Broadcast] Azure AI - Build 2020 Updates
 
IT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet PreviewIT Recruiter's Mind Maps - Booklet Preview
IT Recruiter's Mind Maps - Booklet Preview
 
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
 
Cloud Skills Challenge.pptx
Cloud Skills Challenge.pptxCloud Skills Challenge.pptx
Cloud Skills Challenge.pptx
 
Global AI Night Cleveland.pptx
Global AI Night Cleveland.pptxGlobal AI Night Cleveland.pptx
Global AI Night Cleveland.pptx
 
Solvion Trendwerkstatt - Microsoft Azure + Bots
Solvion Trendwerkstatt - Microsoft Azure + BotsSolvion Trendwerkstatt - Microsoft Azure + Bots
Solvion Trendwerkstatt - Microsoft Azure + Bots
 
Custom vision app step by step and cognitive service quick view
Custom vision app step by step and cognitive service quick viewCustom vision app step by step and cognitive service quick view
Custom vision app step by step and cognitive service quick view
 
Gab2016 - Découverte d'Azure IoT Hub
Gab2016 - Découverte d'Azure IoT Hub Gab2016 - Découverte d'Azure IoT Hub
Gab2016 - Découverte d'Azure IoT Hub
 
Building the intelligent future
Building the intelligent futureBuilding the intelligent future
Building the intelligent future
 
Three Secret Ingredients To Recruiting Software Developers
Three Secret Ingredients To Recruiting Software DevelopersThree Secret Ingredients To Recruiting Software Developers
Three Secret Ingredients To Recruiting Software Developers
 
Azure AD B2C – integration in a bank
Azure AD B2C – integration in a bankAzure AD B2C – integration in a bank
Azure AD B2C – integration in a bank
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
 
Architecting a Serverless IoT System in the Cloud
Architecting a Serverless IoT System in the CloudArchitecting a Serverless IoT System in the Cloud
Architecting a Serverless IoT System in the Cloud
 
Introduction to Azure AD and Azure AD B2C
Introduction to Azure AD and Azure AD B2CIntroduction to Azure AD and Azure AD B2C
Introduction to Azure AD and Azure AD B2C
 
SPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-StyleSPS London 2015 - IoT and Room Reservation Cloud-Style
SPS London 2015 - IoT and Room Reservation Cloud-Style
 
Borys Rybak “How to make your data smart with Artificial Intelligence and Mac...
Borys Rybak “How to make your data smart with Artificial Intelligence and Mac...Borys Rybak “How to make your data smart with Artificial Intelligence and Mac...
Borys Rybak “How to make your data smart with Artificial Intelligence and Mac...
 
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 2
 
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptxPDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
PDCConf2021 - Serverless WhatsApp Chatbot with Azure AI.pptx
 

Ähnlich wie Bot-Tender: A Chat Bot Walks into a Bar - TechBash 2017

Chatbots - A CMD for Humans (Ort Braude 2018)
Chatbots - A CMD for Humans (Ort Braude 2018)Chatbots - A CMD for Humans (Ort Braude 2018)
Chatbots - A CMD for Humans (Ort Braude 2018)Moaid Hathot
 
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)Moaid Hathot
 
Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)Jens Siebert
 
Build a Great Conversationalist
Build a Great ConversationalistBuild a Great Conversationalist
Build a Great ConversationalistLorenzo Barbieri
 
Bot-Tender: A Chat Bot Walks into a Bar (2020)
Bot-Tender: A Chat Bot Walks into a Bar (2020)Bot-Tender: A Chat Bot Walks into a Bar (2020)
Bot-Tender: A Chat Bot Walks into a Bar (2020)Eran Stiller
 
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4Brian McKeiver
 
Build intelligent chatbot with bot framework
Build intelligent chatbot with bot frameworkBuild intelligent chatbot with bot framework
Build intelligent chatbot with bot frameworkPuja Pramudya
 
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
 
Azure Bot Framework
Azure Bot FrameworkAzure Bot Framework
Azure Bot FrameworkPhat Nguyen
 
Programming the Microsoft Bot Framework
Programming the Microsoft Bot FrameworkProgramming the Microsoft Bot Framework
Programming the Microsoft Bot FrameworkStefano Tempesta
 
Using Azure to build intelligent bots
Using Azure to build intelligent botsUsing Azure to build intelligent bots
Using Azure to build intelligent botsBizTalk360
 
Talking with bots - meetup presentation
Talking with bots  - meetup presentationTalking with bots  - meetup presentation
Talking with bots - meetup presentationAldis Ērglis
 
3 different flavours of building chatbots with Microsoft
3 different flavours of building chatbots with Microsoft3 different flavours of building chatbots with Microsoft
3 different flavours of building chatbots with MicrosoftSammy Deprez
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
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
 
Building conversation AI using Azure Bot & LUIS
Building conversation AI using Azure Bot & LUISBuilding conversation AI using Azure Bot & LUIS
Building conversation AI using Azure Bot & LUISNitin Raj
 

Ähnlich wie Bot-Tender: A Chat Bot Walks into a Bar - TechBash 2017 (20)

Chatbots - A CMD for Humans (Ort Braude 2018)
Chatbots - A CMD for Humans (Ort Braude 2018)Chatbots - A CMD for Humans (Ort Braude 2018)
Chatbots - A CMD for Humans (Ort Braude 2018)
 
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
Chatbots - A CMD for Humans (Global Azure Bootcamp 2018, Tel-Aviv, Israel)
 
Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)Microsoft Bot Framework (Node.js Edition)
Microsoft Bot Framework (Node.js Edition)
 
Microsoft bot framework
Microsoft bot frameworkMicrosoft bot framework
Microsoft bot framework
 
Build a Great Conversationalist
Build a Great ConversationalistBuild a Great Conversationalist
Build a Great Conversationalist
 
Bot-Tender: A Chat Bot Walks into a Bar (2020)
Bot-Tender: A Chat Bot Walks into a Bar (2020)Bot-Tender: A Chat Bot Walks into a Bar (2020)
Bot-Tender: A Chat Bot Walks into a Bar (2020)
 
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
 
20160930 bot framework workshop
20160930 bot framework workshop20160930 bot framework workshop
20160930 bot framework workshop
 
Build intelligent chatbot with bot framework
Build intelligent chatbot with bot frameworkBuild intelligent chatbot with bot framework
Build intelligent chatbot with 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
 
Azure Bot Framework
Azure Bot FrameworkAzure Bot Framework
Azure Bot Framework
 
Programming the Microsoft Bot Framework
Programming the Microsoft Bot FrameworkProgramming the Microsoft Bot Framework
Programming the Microsoft Bot Framework
 
Using Azure to build intelligent bots
Using Azure to build intelligent botsUsing Azure to build intelligent bots
Using Azure to build intelligent bots
 
Talking with bots - meetup presentation
Talking with bots  - meetup presentationTalking with bots  - meetup presentation
Talking with bots - meetup presentation
 
3 different flavours of building chatbots with Microsoft
3 different flavours of building chatbots with Microsoft3 different flavours of building chatbots with Microsoft
3 different flavours of building chatbots with Microsoft
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
Bot design AIsatPN 2018
Bot design AIsatPN 2018Bot design AIsatPN 2018
Bot design AIsatPN 2018
 
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
 
Building conversation AI using Azure Bot & LUIS
Building conversation AI using Azure Bot & LUISBuilding conversation AI using Azure Bot & LUIS
Building conversation AI using Azure Bot & LUIS
 

Mehr von Eran Stiller

Architecting at Scale with the Advice Process
Architecting at Scale with the Advice ProcessArchitecting at Scale with the Advice Process
Architecting at Scale with the Advice ProcessEran Stiller
 
Application Evolution Strategy
Application Evolution StrategyApplication Evolution Strategy
Application Evolution StrategyEran Stiller
 
Developing and Deploying Microservices with Project Tye
Developing and Deploying Microservices with Project TyeDeveloping and Deploying Microservices with Project Tye
Developing and Deploying Microservices with Project TyeEran Stiller
 
API Design in the Modern Era - Architecture Next 2020
API Design in the Modern Era - Architecture Next 2020API Design in the Modern Era - Architecture Next 2020
API Design in the Modern Era - Architecture Next 2020Eran Stiller
 
Why Don’t You Understand Me? Build Intelligence into Your Apps
Why Don’t You Understand Me? Build Intelligence into Your AppsWhy Don’t You Understand Me? Build Intelligence into Your Apps
Why Don’t You Understand Me? Build Intelligence into Your AppsEran Stiller
 
Modern Microservices Architecture with Docker
Modern Microservices Architecture with DockerModern Microservices Architecture with Docker
Modern Microservices Architecture with DockerEran Stiller
 
Windows Containers - Microsoft Ignite The Tour
Windows Containers - Microsoft Ignite The TourWindows Containers - Microsoft Ignite The Tour
Windows Containers - Microsoft Ignite The TourEran Stiller
 
Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...
Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...
Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...Eran Stiller
 
Bot Framework - Microsoft Ignite The Tour
Bot Framework - Microsoft Ignite The TourBot Framework - Microsoft Ignite The Tour
Bot Framework - Microsoft Ignite The TourEran Stiller
 
It's a Serverless World
It's a Serverless WorldIt's a Serverless World
It's a Serverless WorldEran Stiller
 
Keynote - From Monolith to Microservices - Lessons Learned in the Real World
Keynote - From Monolith to Microservices - Lessons Learned in the Real WorldKeynote - From Monolith to Microservices - Lessons Learned in the Real World
Keynote - From Monolith to Microservices - Lessons Learned in the Real WorldEran Stiller
 
6 Lessons I Learned on my Journey from Monolith to Microservices
6 Lessons I Learned on my Journey from Monolith to Microservices6 Lessons I Learned on my Journey from Monolith to Microservices
6 Lessons I Learned on my Journey from Monolith to MicroservicesEran Stiller
 
IoT in Action Keynote - CodeValue
IoT in Action Keynote - CodeValueIoT in Action Keynote - CodeValue
IoT in Action Keynote - CodeValueEran Stiller
 
Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...
Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...
Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...Eran Stiller
 
Create Your Own Serverless PKI with .NET & Azure Key Vault
Create Your Own Serverless PKI with .NET & Azure Key VaultCreate Your Own Serverless PKI with .NET & Azure Key Vault
Create Your Own Serverless PKI with .NET & Azure Key VaultEran Stiller
 
Cloud Native Development on Azure
Cloud Native Development on AzureCloud Native Development on Azure
Cloud Native Development on AzureEran Stiller
 
Today, the Cloud Is Your Advantage
Today, the Cloud Is Your AdvantageToday, the Cloud Is Your Advantage
Today, the Cloud Is Your AdvantageEran Stiller
 
Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)
Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)
Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)Eran Stiller
 
To Microservice or Not to Microservice?
To Microservice or Not to Microservice?To Microservice or Not to Microservice?
To Microservice or Not to Microservice?Eran Stiller
 

Mehr von Eran Stiller (20)

Architecting at Scale with the Advice Process
Architecting at Scale with the Advice ProcessArchitecting at Scale with the Advice Process
Architecting at Scale with the Advice Process
 
Application Evolution Strategy
Application Evolution StrategyApplication Evolution Strategy
Application Evolution Strategy
 
Developing and Deploying Microservices with Project Tye
Developing and Deploying Microservices with Project TyeDeveloping and Deploying Microservices with Project Tye
Developing and Deploying Microservices with Project Tye
 
API Design in the Modern Era - Architecture Next 2020
API Design in the Modern Era - Architecture Next 2020API Design in the Modern Era - Architecture Next 2020
API Design in the Modern Era - Architecture Next 2020
 
Why Don’t You Understand Me? Build Intelligence into Your Apps
Why Don’t You Understand Me? Build Intelligence into Your AppsWhy Don’t You Understand Me? Build Intelligence into Your Apps
Why Don’t You Understand Me? Build Intelligence into Your Apps
 
Modern Microservices Architecture with Docker
Modern Microservices Architecture with DockerModern Microservices Architecture with Docker
Modern Microservices Architecture with Docker
 
Windows Containers - Microsoft Ignite The Tour
Windows Containers - Microsoft Ignite The TourWindows Containers - Microsoft Ignite The Tour
Windows Containers - Microsoft Ignite The Tour
 
Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...
Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...
Architecting Multitenant SaaS Applications with Azure - Microsoft Ignite The ...
 
Bot Framework - Microsoft Ignite The Tour
Bot Framework - Microsoft Ignite The TourBot Framework - Microsoft Ignite The Tour
Bot Framework - Microsoft Ignite The Tour
 
It's a Serverless World
It's a Serverless WorldIt's a Serverless World
It's a Serverless World
 
Keynote - From Monolith to Microservices - Lessons Learned in the Real World
Keynote - From Monolith to Microservices - Lessons Learned in the Real WorldKeynote - From Monolith to Microservices - Lessons Learned in the Real World
Keynote - From Monolith to Microservices - Lessons Learned in the Real World
 
6 Lessons I Learned on my Journey from Monolith to Microservices
6 Lessons I Learned on my Journey from Monolith to Microservices6 Lessons I Learned on my Journey from Monolith to Microservices
6 Lessons I Learned on my Journey from Monolith to Microservices
 
IoT in Action Keynote - CodeValue
IoT in Action Keynote - CodeValueIoT in Action Keynote - CodeValue
IoT in Action Keynote - CodeValue
 
Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...
Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...
Net Conf Israel - Intro & Building Cloud Native Apps with .NET Core 3.0 and K...
 
Create Your Own Serverless PKI with .NET & Azure Key Vault
Create Your Own Serverless PKI with .NET & Azure Key VaultCreate Your Own Serverless PKI with .NET & Azure Key Vault
Create Your Own Serverless PKI with .NET & Azure Key Vault
 
Cloud Native Development on Azure
Cloud Native Development on AzureCloud Native Development on Azure
Cloud Native Development on Azure
 
Today, the Cloud Is Your Advantage
Today, the Cloud Is Your AdvantageToday, the Cloud Is Your Advantage
Today, the Cloud Is Your Advantage
 
Build 2019 Recap
Build 2019 RecapBuild 2019 Recap
Build 2019 Recap
 
Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)
Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)
Bot-Tender: A Chat Bot Walks into a Bar (Microsoft Tech Days Sweden 2018)
 
To Microservice or Not to Microservice?
To Microservice or Not to Microservice?To Microservice or Not to Microservice?
To Microservice or Not to Microservice?
 

Kürzlich hochgeladen

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 

Kürzlich hochgeladen (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

Bot-Tender: A Chat Bot Walks into a Bar - TechBash 2017

  • 1. Bot-Tender: A Chat Bot Walks into a Bar 1 Eran Stiller @eranstiller Chief Technology Officer erans@codevalue.net http://stiller.blog
  • 2. 2
  • 3. 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. 7
  • 8. 8
  • 9. Agenda 9 Microsoft Bot Framework Messages Dialogs Forms State Microsoft Cognitive Services Image Search Language Understanding (LUIS) Speech
  • 10. About Me Eran Stiller (@eranstiller) CTO & Founder at CodeValue Software architect, consultant and instructor Microsoft Azure MVP Many years of hands-on experience Expert in large-scale, server-side, highly-concurrent systems Founder of Azure Israel Meetup 10
  • 11. 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 CodeValue
  • 12. 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
  • 13. Introduction to Chat Bots 16 Natural Language User Interface (NLUI) Not to be confused with NUI Another form of UX/UI Conversation design is key Building a conversation tree/graph The hardest part
  • 14. Introducing Beer Bot 17 Your friendly bartender bot Or Bot-Tender Beer-Bot can: Recommend a beer Order you a beer with a chaser and side dish Remember your last drink
  • 15. Architecture 18 Beer Bot Beer API Beer DB* User
  • 16. Beer Bot – Simplified Conversation View 19 Root Recommend Beer By Type By Country By Category Order Beer Help Beer Chaser Side Dish Entrance
  • 19. Microsoft Bot Framework Bot web service Your bot code Entity Extraction Speech Vision/Face Natural Language Translation + Microsoft Cognitive Services Search Emotion Knowledge API … Message input <> output State Management Bot Connector Service Conversation Canvas/Channels …… … Other services, APIs, Databases, Azure Machine Learning, Azure Search, etc… Bot Builder SDK Web Chat Direct Line… Email Facebook GroupMe Kik Skype Slack Telegram Twilio (SMS) Bot Builder SDK Your bot code goes here 22
  • 22. Dialogs Dialogs are for bots like screens are for apps Dialogs are serialized into a stack 25 Root Recommend Beer Order Beer
  • 23. Dialog State Code continuations allow modeling a state machine 26 if (...) { context.Call(OrderDialog.CreateDialog(), BeerOrderedAsync); return; }
  • 25. Conversation Flow The active dialog takes control of conversation flow Using the SDK you can: Context.Wait() Context.Done() Context.Fail() Context.Foreward() Context.Call() 28
  • 26. Chain API A Fluent API for building dialogs Available using the Chain class 29 public static readonly IDialog<Beer> Dialog = Chain .From(() => new PromptDialog.PromptChoice<RecommendationOptions>( new[] { RecommendationOptions.Category, RecommendationOptions.Origin, RecommendationOptions.Name }, "How would you like me to recommend your beer?", "Not sure I got it. Could you try again?", 3, descriptions: new [] { "By Beer Category" , "By Beer Origin", "By Beer Name" })) .Switch( Chain.Case<...>(option => option == RecommendationOptions.Category, (context, option) => CategoryRecommendation), Chain.Case<...> (option => option == RecommendationOptions.Origin, (context, option) => CountryRecommendation), Chain.Case<...> (option => option == RecommendationOptions.Name, (context, option) => NameRecommendation) ) .Unwrap();
  • 29. Form Flow 32 public class BeerOrder { [Prompt("What beer would you like?")] public string BeerName { get; set; } [Prompt("Which chaser would you like next to your beer? {||}")] public Chaser Chaser { get; set; } [Prompt("How about something to eat? {||}")] public SideDish Side { get; set; } } public static IDialog<BeerOrder> CreateDialog(string beerName = null) { return new FormDialog<BeerOrder>( new BeerOrder { BeerName = beerName }, ...); }
  • 34. “Typing” Indicator Your users expect you to reply quickly 37
  • 38. Bot State Use the session object User Data Conversation Data Private Conversation Data Dialog Data Persisted and managed by the Bot Framework State Service IBotStorage 41
  • 42. LUIS & Bot Framework 45 [LuisIntent("Bye")] public async Task OnByeAsync(...) { await context.PostAsync("Bye bye. See you soon!"); context.Done((object) null); } [LuisIntent("RecommendBeer")] public Task OnRecommendBeerAsync(...) { var beerName = GetEntity(luisResult, BeerNameEntityName); var brewery = GetEntity(luisResult, BreweryEntityName); var category = GetEntity(luisResult, CategoryEntityName); var country = GetEntity(luisResult, CountryEntityName); context.Call(RecommendationDialog.CreateDialog(beerName, brewery, category, country), BeerRecommendedAsync); return Task.FromResult((object) null); }
  • 44. Deployment The Bot is just a REST API Can be hosted anywhere Azure App Service is an easy choice 47
  • 49. SSML Speech Synthesis Markup Language 52 The rental car you reserved <break strength="medium" /> a mid-size sedan <break strength="medium" /> will be ready for you to pick up at <break time="500ms" /> <say-as interpret-as="hms12"> 4:00pm </say-as> today. For English, press 1. <voice xml:lang="fr-FR" gender="female"> Pour le français, appuyez sur 2 </voice> <prosody volume="x-loud"> This is extra loud volume. </prosody> <audio src=“http://somewhere.com/mymusic.mp3"> Here's today's weather forecast. </audio> https://msdn.microsoft.com/en-us/library/jj127898.aspx
  • 51. Takeaways 54 Chat bots are another form of UI (NLUI) Microsoft Bot Framework makes it easier to write your bot Standard connection to various channels Bot Builder SDK Integration with Cognitive Services The trickiest part is still designing the conversation
  • 53. Resources Sample Code https://github.com/estiller/beer-bot Product & Documentation https://dev.botframework.com/ https://docs.microsoft.com/en-us/bot-framework/ More Samples https://github.com/Microsoft/BotFramework-Samples https://github.com/Microsoft/BotBuilder-Samples 56
  • 54. Thank You! 57 Eran Stiller @eranstiller Chief Technology Officer erans@codevalue.net http://stiller.blog

Hinweis der Redaktion

  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
  3. https://pixabay.com/en/dog-boxer-brown-bot-portrait-1314180/
  4. https://pixabay.com/en/bot-dance-robot-android-mechanical-151516/ https://pixabay.com/en/beer-beer-mug-foam-the-thirst-1669298/
  5. They separate concerns and organize flows, exactly the same way