SlideShare une entreprise Scribd logo
1  sur  40
Nov 18, 2017
Sofia
var title = “Building intelligent
creatures with Azure Bot Service &
Node.js”;
var info = {
name: “Radoslav Gatev”,
blog: “www.gatevnotes.com”,
linkedIn: “linkedin.com/in/radoslavgatev”
};
Nov 18, 2017
agenda();
• Intro to bots and chatbots
• Bot Framework basics
• Deployment options
• Bot intelligence
• Bot publishing process
Nov 18, 2017
What is a bot?
• Application that performs one or more
automated tasks
• Yes, just an application 
Nov 18, 2017
Experiment
Nov 18, 2017
Chat bots
• A Chatbot is a
service that you
interact with via
a chat interface.
Nov 18, 2017
Chat apps are growing fast
Nov 18, 2017
Paradigm shift
Nov 18, 2017
The bot revolution
Nov 18, 2017
Why bots are the new apps?
• A lot easier to install than mobile apps.
• Easily distributed
• Mobile apps are expensive to build & maintain
• Lots of use-cases that don’t justify a mobile app.
• Messaging apps are ubiquitous
• Consumers are experiencing mobile app fatigue
• Bot interactions are intrinsically bi-directional
• Humans are hardwired for conversation
Nov 18, 2017
A few examples
• Weather bot
• Grocery bot
• News bot
• Life advice bot
• Personal finance bot
• Scheduling bot
• A bot that is your friend
• Others…
Nov 18, 2017
Bot UX matters
• Type
• Tap
• Talk
Nov 18, 2017
Types of chat bots
• Rule based
• AI based
Nov 18, 2017
But don’t make them super smart!
Nov 18, 2017
Bot Framework
Nov 18, 2017
Demo: The developer portal
Nov 18, 2017
Payments
• Works across most major platforms
• Fast and simple payment experience
• Bring commerce capabilities to your Bot
• Works with Stripe & Microsoft Seller Center
Nov 18, 2017
Architecture
Nov 18, 2017
Some interesting channels
Nov 18, 2017
Bot Connector
• Connects your bot to multiple channels
• Relays the two-way communication:
o Bot -> Channel
o Channel <- Bot
Nov 18, 2017
Bot Connector(2)
Your bot’s
endpoint
Bot
Connector
{
"type": "Message",
"id": "68YrxgtB53Y",
"conversationId": "DphPaFQrDuZlLGIjB8v18MFtb",
"language": "en",
"text": "You can say "/order" to order!",
"attachments": [ ],
"from": {
"name": "+12065551212",
"channelId": "sms",
"address": "+12065551212",
"id": "Ro52hKN287",
"isBot": false
},
"channelData": { SMS data here },
"botUserData": { your data here },
...
}
Nov 18, 2017
Bot Builder SDK Basics(1)
• Activity types
o Message
o Conversation update
o Contact relation update
o Typing
o Ping
o Delete user data
o End of conversation
Nov 18, 2017
Bot Builder SDK Basics(2)
• Message types
o Plain text
o Spoken text
o Media attachments
o Rich cards
o Adaptive cards
o Buttons
Nov 18, 2017
Bot Builder SDK Basics(3)
• Dialogs(Your web service router)
o Waterfall as a model of conversation flow
o Dialog stack(LIFO)
o Reusable
o The state is persisted
o Various types
Nov 18, 2017
Bot Builder SDK Basics(4)
• Dialogs(Your web service router)
Nov 18, 2017
Title
Nov 18, 2017
A sample waterfall
// Ask the user for their name and greet them by name.
bot.dialog('greetings', [
function (session) {
builder.Prompts.text(session, 'Hi! What is your
name?');
},
function (session, results) {
session.endDialog('Hello ${results.response}!');
}
]);
Nov 18, 2017
Demo: Getting started on Node.js
Nov 18, 2017
Deployment options
• Azure Bot Service
o Consumption plan(Azure Functions)
• Serverless hosting
• Pay only for what you use
• Infinite autoscale*
o App Service plan(Azure web app)
• Predefined capacity
• Predictable cost
• Any reachable web location
Nov 18, 2017
Demo: Azure Bot Service
• Setting up a sample bot with Azure Bot Service
Nov 18, 2017
Add some intelligence!
• Language Understanding Intelligent
Service(LUIS)
o Create language understanding models
o Train them
o Publish them
o Use them
Nov 18, 2017
NLU Services evaluation
https://github.com/sebischair/NLU-Evaluation-Corpora
Nov 18, 2017
Demo: LUIS
Nov 18, 2017
LUIS pricing
Plan Description Price
Free 10K calls per month -
Basic Up to 50 calls per second $0.75 per 1K calls
Nov 18, 2017
Imagination is the only limit
Nov 18, 2017
Cognitive services
Nov 18, 2017
Demo: Cognitive Services
• Image caption with Computer Vision API
• Wikipedia articles retrieval using Bing Web
Search API & LUIS
Nov 18, 2017
Publishing your bot
• Publishing your bot via the bot directory
• Adding your bot to real channels
• Approvals
Nov 18, 2017
Nov 18, 2017
Some links:
https://docs.microsoft.com/en-us/bot-framework/
https://github.com/Microsoft/BotBuilder
https://github.com/Microsoft/BotFramework-WebChat
https://docs.microsoft.com/en-us/bot-framework/azure-
bot-service-overview
https://www.nuget.org/packages/Microsoft.Bot.Client
https://www.luis.ai/
https://dev.botframework.com/
https://azure.microsoft.com/en-us/try/cognitive-services/
Nov 18, 2017
Thanks to our Sponsors:
General Sponsor:
Gold Sponsors:
Technological Partner:
Hosting Partner:
In-Kind Partner:
Silver Sponsors:

Contenu connexe

Similaire à Building intelligent creatures with Microsoft Azure Bot Service & Node.js

MongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB
 
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and LoudIntegrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and LoudSandro Pereira
 
IBM Connections Customizer – A Whole New World of Possibilities
IBM Connections Customizer – A Whole New World of PossibilitiesIBM Connections Customizer – A Whole New World of Possibilities
IBM Connections Customizer – A Whole New World of PossibilitiesLetsConnect
 
Steve Bennett .Net Architect/Developer Resume
Steve Bennett .Net Architect/Developer ResumeSteve Bennett .Net Architect/Developer Resume
Steve Bennett .Net Architect/Developer Resume?? Stephen Bennett ??
 
The Pink road – Dorothy’s journey through an all pink wonderland
The Pink road – Dorothy’s journey through an all pink wonderlandThe Pink road – Dorothy’s journey through an all pink wonderland
The Pink road – Dorothy’s journey through an all pink wonderlandLetsConnect
 
IBM Connections REST-API Waltz
IBM Connections REST-API WaltzIBM Connections REST-API Waltz
IBM Connections REST-API WaltzHenning Schmidt
 
Building cognitive apps with Watson Work Services
Building cognitive apps with Watson Work ServicesBuilding cognitive apps with Watson Work Services
Building cognitive apps with Watson Work ServicesLetsConnect
 
Responsive web design
Responsive web designResponsive web design
Responsive web designChris Love
 
Calling all Developers: Building Connections Apps and Integrating with Pink
Calling all Developers: Building Connections Apps and Integrating with PinkCalling all Developers: Building Connections Apps and Integrating with Pink
Calling all Developers: Building Connections Apps and Integrating with PinkLetsConnect
 
Getting started with .NET Core on Linux
Getting started with .NET Core on LinuxGetting started with .NET Core on Linux
Getting started with .NET Core on LinuxJochen Kirstätter
 
Socconx12 integrating ibm connections docs 2 and box
Socconx12 integrating ibm connections docs 2 and boxSocconx12 integrating ibm connections docs 2 and box
Socconx12 integrating ibm connections docs 2 and boxRoberto Boccadoro
 
Integrating IBM Connections Docs with BOX
Integrating IBM Connections Docs with BOXIntegrating IBM Connections Docs with BOX
Integrating IBM Connections Docs with BOXLetsConnect
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Ethan Ram
 
IBM Connections Middleware – Connecting Blue/Green and PINK
IBM Connections Middleware – Connecting Blue/Green and PINKIBM Connections Middleware – Connecting Blue/Green and PINK
IBM Connections Middleware – Connecting Blue/Green and PINKLetsConnect
 
I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017Matthew Groves
 
Big Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsBig Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsAndrew Brust
 
MongoDB API Talk @ HackPrinceton
MongoDB API Talk @ HackPrincetonMongoDB API Talk @ HackPrinceton
MongoDB API Talk @ HackPrincetonValeri Karpov
 

Similaire à Building intelligent creatures with Microsoft Azure Bot Service & Node.js (20)

MongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB Stitch Introduction
MongoDB Stitch Introduction
 
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and LoudIntegrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
Integrate 2017 US - Sandro Pereira - BizTalk Server Fast and Loud
 
IBM Connections Customizer – A Whole New World of Possibilities
IBM Connections Customizer – A Whole New World of PossibilitiesIBM Connections Customizer – A Whole New World of Possibilities
IBM Connections Customizer – A Whole New World of Possibilities
 
Steve Bennett .Net Architect/Developer Resume
Steve Bennett .Net Architect/Developer ResumeSteve Bennett .Net Architect/Developer Resume
Steve Bennett .Net Architect/Developer Resume
 
The Pink road – Dorothy’s journey through an all pink wonderland
The Pink road – Dorothy’s journey through an all pink wonderlandThe Pink road – Dorothy’s journey through an all pink wonderland
The Pink road – Dorothy’s journey through an all pink wonderland
 
IBM Connections REST-API Waltz
IBM Connections REST-API WaltzIBM Connections REST-API Waltz
IBM Connections REST-API Waltz
 
Building cognitive apps with Watson Work Services
Building cognitive apps with Watson Work ServicesBuilding cognitive apps with Watson Work Services
Building cognitive apps with Watson Work Services
 
Con3036 soaring-through-the-clouds-oow2016-160920214845
Con3036 soaring-through-the-clouds-oow2016-160920214845Con3036 soaring-through-the-clouds-oow2016-160920214845
Con3036 soaring-through-the-clouds-oow2016-160920214845
 
Bing Maps
Bing MapsBing Maps
Bing Maps
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Calling all Developers: Building Connections Apps and Integrating with Pink
Calling all Developers: Building Connections Apps and Integrating with PinkCalling all Developers: Building Connections Apps and Integrating with Pink
Calling all Developers: Building Connections Apps and Integrating with Pink
 
Getting started with .NET Core on Linux
Getting started with .NET Core on LinuxGetting started with .NET Core on Linux
Getting started with .NET Core on Linux
 
Socconx12 integrating ibm connections docs 2 and box
Socconx12 integrating ibm connections docs 2 and boxSocconx12 integrating ibm connections docs 2 and box
Socconx12 integrating ibm connections docs 2 and box
 
Integrating IBM Connections Docs with BOX
Integrating IBM Connections Docs with BOXIntegrating IBM Connections Docs with BOX
Integrating IBM Connections Docs with BOX
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
 
IBM Connections Middleware – Connecting Blue/Green and PINK
IBM Connections Middleware – Connecting Blue/Green and PINKIBM Connections Middleware – Connecting Blue/Green and PINK
IBM Connections Middleware – Connecting Blue/Green and PINK
 
I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017
 
Big Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsBig Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI Pros
 
MongoDB API Talk @ HackPrinceton
MongoDB API Talk @ HackPrincetonMongoDB API Talk @ HackPrinceton
MongoDB API Talk @ HackPrinceton
 
Coding a SaaS
Coding a SaaSCoding a SaaS
Coding a SaaS
 

Dernier

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 

Building intelligent creatures with Microsoft Azure Bot Service & Node.js

  • 1. Nov 18, 2017 Sofia var title = “Building intelligent creatures with Azure Bot Service & Node.js”; var info = { name: “Radoslav Gatev”, blog: “www.gatevnotes.com”, linkedIn: “linkedin.com/in/radoslavgatev” };
  • 2. Nov 18, 2017 agenda(); • Intro to bots and chatbots • Bot Framework basics • Deployment options • Bot intelligence • Bot publishing process
  • 3. Nov 18, 2017 What is a bot? • Application that performs one or more automated tasks • Yes, just an application 
  • 5. Nov 18, 2017 Chat bots • A Chatbot is a service that you interact with via a chat interface.
  • 6. Nov 18, 2017 Chat apps are growing fast
  • 8. Nov 18, 2017 The bot revolution
  • 9. Nov 18, 2017 Why bots are the new apps? • A lot easier to install than mobile apps. • Easily distributed • Mobile apps are expensive to build & maintain • Lots of use-cases that don’t justify a mobile app. • Messaging apps are ubiquitous • Consumers are experiencing mobile app fatigue • Bot interactions are intrinsically bi-directional • Humans are hardwired for conversation
  • 10. Nov 18, 2017 A few examples • Weather bot • Grocery bot • News bot • Life advice bot • Personal finance bot • Scheduling bot • A bot that is your friend • Others…
  • 11. Nov 18, 2017 Bot UX matters • Type • Tap • Talk
  • 12. Nov 18, 2017 Types of chat bots • Rule based • AI based
  • 13. Nov 18, 2017 But don’t make them super smart!
  • 14. Nov 18, 2017 Bot Framework
  • 15. Nov 18, 2017 Demo: The developer portal
  • 16. Nov 18, 2017 Payments • Works across most major platforms • Fast and simple payment experience • Bring commerce capabilities to your Bot • Works with Stripe & Microsoft Seller Center
  • 18. Nov 18, 2017 Some interesting channels
  • 19. Nov 18, 2017 Bot Connector • Connects your bot to multiple channels • Relays the two-way communication: o Bot -> Channel o Channel <- Bot
  • 20. Nov 18, 2017 Bot Connector(2) Your bot’s endpoint Bot Connector { "type": "Message", "id": "68YrxgtB53Y", "conversationId": "DphPaFQrDuZlLGIjB8v18MFtb", "language": "en", "text": "You can say "/order" to order!", "attachments": [ ], "from": { "name": "+12065551212", "channelId": "sms", "address": "+12065551212", "id": "Ro52hKN287", "isBot": false }, "channelData": { SMS data here }, "botUserData": { your data here }, ... }
  • 21. Nov 18, 2017 Bot Builder SDK Basics(1) • Activity types o Message o Conversation update o Contact relation update o Typing o Ping o Delete user data o End of conversation
  • 22. Nov 18, 2017 Bot Builder SDK Basics(2) • Message types o Plain text o Spoken text o Media attachments o Rich cards o Adaptive cards o Buttons
  • 23. Nov 18, 2017 Bot Builder SDK Basics(3) • Dialogs(Your web service router) o Waterfall as a model of conversation flow o Dialog stack(LIFO) o Reusable o The state is persisted o Various types
  • 24. Nov 18, 2017 Bot Builder SDK Basics(4) • Dialogs(Your web service router)
  • 26. Nov 18, 2017 A sample waterfall // Ask the user for their name and greet them by name. bot.dialog('greetings', [ function (session) { builder.Prompts.text(session, 'Hi! What is your name?'); }, function (session, results) { session.endDialog('Hello ${results.response}!'); } ]);
  • 27. Nov 18, 2017 Demo: Getting started on Node.js
  • 28. Nov 18, 2017 Deployment options • Azure Bot Service o Consumption plan(Azure Functions) • Serverless hosting • Pay only for what you use • Infinite autoscale* o App Service plan(Azure web app) • Predefined capacity • Predictable cost • Any reachable web location
  • 29. Nov 18, 2017 Demo: Azure Bot Service • Setting up a sample bot with Azure Bot Service
  • 30. Nov 18, 2017 Add some intelligence! • Language Understanding Intelligent Service(LUIS) o Create language understanding models o Train them o Publish them o Use them
  • 31. Nov 18, 2017 NLU Services evaluation https://github.com/sebischair/NLU-Evaluation-Corpora
  • 33. Nov 18, 2017 LUIS pricing Plan Description Price Free 10K calls per month - Basic Up to 50 calls per second $0.75 per 1K calls
  • 34. Nov 18, 2017 Imagination is the only limit
  • 36. Nov 18, 2017 Demo: Cognitive Services • Image caption with Computer Vision API • Wikipedia articles retrieval using Bing Web Search API & LUIS
  • 37. Nov 18, 2017 Publishing your bot • Publishing your bot via the bot directory • Adding your bot to real channels • Approvals
  • 39. Nov 18, 2017 Some links: https://docs.microsoft.com/en-us/bot-framework/ https://github.com/Microsoft/BotBuilder https://github.com/Microsoft/BotFramework-WebChat https://docs.microsoft.com/en-us/bot-framework/azure- bot-service-overview https://www.nuget.org/packages/Microsoft.Bot.Client https://www.luis.ai/ https://dev.botframework.com/ https://azure.microsoft.com/en-us/try/cognitive-services/
  • 40. Nov 18, 2017 Thanks to our Sponsors: General Sponsor: Gold Sponsors: Technological Partner: Hosting Partner: In-Kind Partner: Silver Sponsors:

Notes de l'éditeur

  1. Blogger Open source – Ghost for Azure App Service All contributions are welcomed!
  2. Ask questions immediately! Let’s make a discussion. How many know anything about Azure?
  3. Social networks are losing their value because people today don’t like to post their thoughts on social networks anymore. People prefer privacy and they would like to rather share their ideas directly to those they want.
  4. There are lots of use-cases that don’t justify a mobile app. – hairdresser app Messaging apps are ubiquitous and dominate consumer’s mobile engagement - 5.6X higher 12-month retention than other mobile apps. https://medium.com/making-meya/11-reasons-why-bots-are-the-new-apps-9bb3856d60a7
  5. In China there is a bot called Xiaoice, built by Microsoft, that over 20 million people talk to. The average user interacts with the service 60 times a month. This year MS launched Ruuh, yet another chatbot – targets India mostly. Generally MS made a lot of attempts to launch an intelligent chatbots. Show them Murphy. Make them pick some famous person.
  6. Guiding the user into the right direction Framing him in order to get the job done Azure Bootcamp 2017 experience. Mention Microsoft Dynamics 365 integration – CRM & ERP
  7. Rule based No artificial intelligence Trained to do one thing As smart as it is programmed to be Communicates in a structured manner AI based – NLP techniques Intermixed – One is used for fallback for the other.
  8. Node.js uses restify. The SDK is also compatible with Express and the use of other web app frameworks is possible with some adaptation. Direct Line API - You can enable communication between your bot and your own client application by using the Direct Line API. webchat – as an iframe or React component
  9. Show how to create a sample bot. Show channels. Skype audio calls Show them analytics
  10. 1.The bot sends a payment request. 2.The user signs in with a Microsoft account to provide payment, shipping, and contact information. Callbacks are sent to the bot to indicate when the bot needs to perform certain operations (update shipping address, update shipping option, complete payment). 3.The bot processes the callbacks that it receives, including shipping address update, shipping option update, and payment complete.
  11. Web Chat is an open source control. -IFRAME -React component
  12. The Cortana channel enables you to extend Cortana by authoring Skills. Visit the Cortana developer portal to learn how to add your skills to Cortana. The Bing channel allows users to discover and chat with your bot directly in the Bing search result page. DEMO: Show the restaurant in bing Skype for Business is now integrated with the Bot Framework, allowing your bots to be part of conversations on the Skype for Business canvas.
  13. Conversation update: Indicates that the bot was added to a conversation, other members were added to or removed from the conversation, or conversation metadata has changed. Contact relation update: Indicates that the bot was added or removed from a user's contact list. Delete user data: GDPR, user has the right to be forgotten.
  14. DEMO: show the explorer
  15. State: Per-user, per-session, per-user+session Types: -Bult int are Yes/No, String, Number, Choices -Form slot filling(brancing, disambiguation, multi-turn), e.g. Profile(home address, post code) -Use external service for NLU -Natural Language Understanding
  16. Show them how to start a bot locally.
  17. Notice something! These can continue till infinity.
  18. Orlin Pavlov – Vmesto Men. От колко време мисля само за това, Как да си деплойна сървиса!? Mention Anton Boyko’s session.
  19. Nothing but a good set of templates
  20. How do you add some NLP? Regular expression joke! Features, prebuilt domains like ontology Build public models for sale. Users will pay with their subscription.
  21. NLU = Natural language understanding three corpora which can be used for evaluating chatbots or other conversational interfaces. Statistically normalized! -190 questions and answers from https://askubuntu.com., Five intents, three entity types (Printer, Software, Version). -100 questions and answers from https://webapps.stackexchange.com. Eight intents (ChangePassword, DeleteAccount, DownloadVideo, ExportData, FilterSpam, FindAlternative, SyncAccounts, None) and three entity types (WebService, OS, Browser). -206 questions from a Telegram chatbot for public transport in Munich.