SlideShare a Scribd company logo
Build a chatbot, from Zero to Hero
bot revolution
Lab code: https://github.com/gjuljo/botworkshop
Chatbot development workshop with the Microsoft Bot Framework
Chat bots are services that people interact with
through conversation and messaging.
Source: Conversational Interfaces, STCI Research (March 2016)
Hipmunk Bot & Reselling
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Casey Neistat Bot & Affiliate Marketing
LMFAO’s FooBot & Cross promotion (Uber)
Westworld Bot (Aeden) & Viral Marketing
https://discoverwestworld.com
Chatbot development workshop with the Microsoft Bot Framework
A new wave for user interfaces technology?
Conversational
Interfaces
(teenies)
Mobile
Apps
(noughties)
Web
Apps
(90’s)
Desktop
GUI
(80’s)
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Your bot code
Entity
Extraction
Speech
Bot
Clipboard w
entities
Natural
Language
Translation
+ Intelligent Services
Bing
Knowledge
User
Preferences
Image
Intelligence
…
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 code goes here
https://blogs.msdn.microsoft.com/uk_faculty_connection/2016/11/28/
creating-my-first-chatbot-using-microsoft-cognitive-services-and-
python/
https://github.com/yuyabee/bot_framework
https://github.com/zabirauf/ex_microsoftbot
https://github.com/jgoalby/fsharpstarterbot
https://github.com/bots4j/msbotframework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
The Bot Framework Emulator is a desktop application that allows bot
developers to test and debug their bots on localhost or running remotely
through a tunnel.
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
When you finish writing your bot, you need to
• Register the bot to generate the bot’s app ID and password
• connect the bot to channels of your choice
• and (optionally) publish it.
Chatbot development workshop with the Microsoft Bot Framework
If you're running your bot behind a firewall or other network boundary and
want to connect to an external channel, you will need to install and configure
tunneling software (i.e. ngrok).
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Many messaging channels provide the ability to attach richer objects, such as
media and reach cards.
In the Bot Connector we map our attachment data structure to media
attachments and rich cards on each channel.
There are are several types of cards supported:
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Create your
own LU model
Train by providing
examples
Deploy to an HTTP
endpoint and
activate on any
device
Maintain model
with ease
Are there any vegetarian restaurants within 3 miles
from my house that is open now?
Entity: distanceEntity: type
Entity: reference Entity: condition
Intent: FIND_RESTAURANT
Go to luis.ai:
Sign in with your Microsoft account (MSA).
If you don’t have MSA, you will have an
option to create one.
Get started by creating a New App and
entering some basic information.
Next, you will be presented with the
Application Editor Workspace that will
allow you to create and train your own
language understanding model.
Intents:
Intents are actions that a user wants your
app to take or the information they
would like to obtain.
Example intents could include getting
weather, booking tickets, adding a
calendar entry or operating a light
fixture.
Add one or more of user intents that you
expect your app to handle by clicking +
next to Intents item in the in the left-
hand panel of the Editor Workspace.
Entities:
Entities are real world objects such as
persons, locations, organizations, products,
etc. that can be denoted with a proper name.
Entities can be abstract or have a physical
existence.
Entities can be generic (location, celebrity,
datetime) or more specific (Seattle, Satya
Nadella, June)
Add one or more entities that you expect
your app to recognize by clicking + next to
Entities item in the left-hand panel of the
Editor Workspace.
Several commonly used pre-built entities (e.g.
datetime, number) are also available to be
added to the app by clicking + next to Pre-
built Entities.
Seed the system with
more examples:
Enter more examples of queries that you
expect your users to make.
As you enter each one, you will need to:
• select the name of the correct intent from
the dropdown
• label your entities that appear in each
utterance by clicking on the entity and
choosing corresponding label from the list
• pre-built entities get automatically labeled
in grey
The more examples you provide, the more
accurate the predictions.
As you click Train at
left bottom corner of
the page, LUIS:
Generalizes from the examples you
provided.
Uses logistic regression classifiers to
recognize intents.
Uses conditional random field to
determine the entities.
Deploy the model to
an HTTP endpoint:
Click the Publish button in the upper left-
hand corner.
The URL that you see appear after a few
moments makes your model available as a
web service.
Deploy the model to
an HTTP endpoint:
Click the Publish button in the upper left-
hand corner.
The URL that you see appear after a few
moments makes your model available as a
web service.
Activate model from
your application on
any device:
Update the URL with the parameter
for the user query.
The response received from LUIS will
contain the list of detected intents
and entities together with the
confidence scores.
You can now use this information in
your app. For our example, we could
next call the weather service and
display the response in our app UI:
What’s the weather in
Berlin
The weather is sunny
with a temperature of
88°F. (data provided by Foreca
http://www.foreca.com)
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
1 Extract questions and answers
QnA Maker extracts all possible pairs of questions and answers
from user provided content – FAQ URLs, documents and
editorial content.
2 Test, train and publish
Through QnA Maker’s easy-to-use GUI, you can edit, remove
or add pair before testing and training the knowledge base
and publishing your knowledge base as an API endpoint.
3 Integrates with other APIs and solutions
QnA Maker integrates with other APIs seamlessly and at scale. Use
QnA Maker with Cognitive Services such as Language Understanding
Intelligent Service and create something as elegantly simple as a chat
bot that answers FAQs, or as complex as an interactive virtual guide.
https://www.comune.roma.it/pcr/it/urp_faq.page
Chatbot development workshop with the Microsoft Bot Framework
https://qnmaker.ai
Chatbot development workshop with the Microsoft Bot Framework
knowledgebaseId
subscriptionKey
Chatbot development workshop with the Microsoft Bot Framework
• fuzzy search keeps users from having to type exact matches;
• search scores allow us to determine the confidence of the results;
2. guiding a user through a conversation that facets and filters a dataset until
it finds what a user is looking for.
https://github.com/ryanvolum/AzureSearchBot
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Faceted navigation is a filtering mechanism that
provides self-directed drilldown navigation in
search applications.
Chatbot development workshop with the Microsoft Bot Framework
QUERY KEY
SERVICE NAME
INDEX NAME
Chatbot development workshop with the Microsoft Bot Framework
LUIS, QnA Maker and Search are all powerful tools in
building knowledge bots, but how do we choose which
one to use?
Can we use them together?
Chatbot development workshop with the Microsoft Bot Framework
Language
Speech
Search
Machine
Learning
Knowledge Vision
Spell
check
Speech API
Entity linking
Recommendation
API
Bing
autosuggest
Computer
vision
Emotion
Forecasting
Text to
speech
Thumbnail
generation
Anomaly
detection
Custom
recognition
(CRIS)
Bing
image search
Web language
model
Customer
feedback
analysis
Academic
knowledge
OCR, tagging,
captioning
Sentiment
scoring
Bing
news search
Bing
web search
Text analytics
Cognitive Services APIs
https://www.microsoft.com/cognitive-services
Translator Text API
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Text Analytics API
Sentiment analysis Key phrase extraction
Topics detection Language detection
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Bot Connector Service
Load Balancer
xxx.mybot.com
Bot Connector Service
Web App (PaaS)
xxx.mybot.com
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Bot Connector Service
http://botwork-test.azurewebsites.net/api/messages http://botwork.azurewebsites.net/api/messages
test botwork
Chatbot development workshop with the Microsoft Bot Framework
TESTDEV STAGE (BLUE) PROD (GREEN)
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
TESTDEV STAGE PROD
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Telemetry is collected at each
tier: mobile applications, server
applications and browser1
Telemetry arrives in the Application
Insights service in the cloud where
it is processed & stored
Get a 360° view of the application
including availability, performance
and usage patterns3
2
Azure Application Insights
Chatbot development workshop with the Microsoft Bot Framework
require('dotenv-extended').load();
var appInsights = require("applicationinsights").setup().start();
...
bot.dialog('/alfa', [
function (session) {
appInsights.client.trackEvent("alfa");
session.send("Great, this is alfa");
session.endDialog();
}
]);
bot.dialog('/beta', [
function (session) {
appInsights.client.trackEvent("beta");
session.send("Great, this is beta");
session.endDialog();
}
]);
...
https://docs.microsoft.com/en-us/azure/application-insights/app-insights-nodejs
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
https://github.com/CatalystCode/bot-fmk-dashboard
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
Hey, here’s what we’ve learned so far doing these things.
Come back tomorrow and we might have some new
learnings to share
Chatbot development workshop with the Microsoft Bot Framework
Browsing the same old information on a new platform is
not very useful: it’s missing personalization.
Chatbot is expected to be conversational: a simple search
bar can fits fine in a web page.
Chatbot development workshop with the Microsoft Bot Framework
What makes a bot great:
• It’s not how much AI it has
• It’s not how much natural language it offers
• It’s not whether it uses voice or not
It’s just whether it solves user’s needs in the quickest
and easier way comparted to other options
Chatbot development workshop with the Microsoft Bot Framework
A bot with a single dialog and 100 LUIS intents is a bad design:
Chatbot development workshop with the Microsoft Bot Framework
Events
Stages
Amenities
Music
Comedy
Film
Theater
• Guide the user
• Save time
• Help the user discover what your bot can do
What music would
you like?
(by the way, next
time you could just
type “I’m looking
for a song named
xyz” and I will know
what to do)
Hipmunk (Skype) Alterra (Telegram)
When given the choice of rich controls, text and voice, user
will choose:
1st UI controls
2nd Text
3rd Voice, only if options above aren’t possible
(i.e. driving a car)
Chatbot development workshop with the Microsoft Bot Framework
Chatbot development workshop with the Microsoft Bot Framework
When the conversation is the interface, experience design is all about
crafting the right words.
https://www.fastcodesign.com/3054934/the-next-phase-of-ux-designing-chatbot-personalities
The software must be doing a good job, because people know it’s a robot,
but still feel the need to say ‘thank you’.
Set the expectations.
Is you bot like HAL 9000, R2-D2 or Roomba?
Your journey is just started,
a bright future ahead.
https://unsplash.com/@austinban
Chatbot development workshop with the Microsoft Bot Framework
http://aka.ms/botresources
https://www.luis.ai/
https://azure.microsoft.com/services/bot-service/
https://channel9.msdn.com/Events/

More Related Content

What's hot (20)

PDF
Be ready for hyperautomation with the UiPath RPA Platform
UiPath
 
PPTX
Cinema booking system | Movie Booking System
sekarsadasivam
 
PDF
Understanding DataOps and Its Impact on Application Quality
DevOps.com
 
PDF
Vertex AI Presentation
Knoldus Inc.
 
PPTX
Azure dev ops
Tomy Rhymond
 
PPTX
Navigating the Workday Analytics and Reporting Ecosystem
Workday, Inc.
 
PDF
Build a Center of Excellence
Bonitasoft
 
PDF
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
Kai Wähner
 
PPT
Testing Centre Of Excellence From AppLabs
VIJAYA BHASKARA VARMA YARAKARAJU
 
PDF
Google CoLab (20230321)
FEG
 
PPTX
Quality Assurance/Testing Overview & Capability Deck
Sowmak Bardhan
 
PDF
Agile at Spotify
Joakim Sundén
 
PDF
Software Maintenance Project Proposal Powerpoint Presentation Slides
SlideTeam
 
PDF
QA Center Of Excellence (TCoE)
JAX Chamber IT Council
 
DOC
T24-TAFJ-Consultant_Sivashankar.R
Sivashankar Ramamurthy
 
DOC
Prasanna_Software Testing Engineer resume
Prasanna Hegde
 
PDF
Creating an Operating Model to enable a high frequency organization
Tom Laszewski
 
PPTX
Evolving Team Structure in DevOps
Sherry Chang
 
PDF
What, Why and How of Governance in RPA
Mohit Sharma (GAICD)
 
PDF
Democratizing Data
Databricks
 
Be ready for hyperautomation with the UiPath RPA Platform
UiPath
 
Cinema booking system | Movie Booking System
sekarsadasivam
 
Understanding DataOps and Its Impact on Application Quality
DevOps.com
 
Vertex AI Presentation
Knoldus Inc.
 
Azure dev ops
Tomy Rhymond
 
Navigating the Workday Analytics and Reporting Ecosystem
Workday, Inc.
 
Build a Center of Excellence
Bonitasoft
 
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
Kai Wähner
 
Testing Centre Of Excellence From AppLabs
VIJAYA BHASKARA VARMA YARAKARAJU
 
Google CoLab (20230321)
FEG
 
Quality Assurance/Testing Overview & Capability Deck
Sowmak Bardhan
 
Agile at Spotify
Joakim Sundén
 
Software Maintenance Project Proposal Powerpoint Presentation Slides
SlideTeam
 
QA Center Of Excellence (TCoE)
JAX Chamber IT Council
 
T24-TAFJ-Consultant_Sivashankar.R
Sivashankar Ramamurthy
 
Prasanna_Software Testing Engineer resume
Prasanna Hegde
 
Creating an Operating Model to enable a high frequency organization
Tom Laszewski
 
Evolving Team Structure in DevOps
Sherry Chang
 
What, Why and How of Governance in RPA
Mohit Sharma (GAICD)
 
Democratizing Data
Databricks
 

Similar to Chatbot development workshop with the Microsoft Bot Framework (20)

PDF
Bot Revolution lab at Codemotion Milan 2016
gjuljo
 
PPTX
Build a mobile chatbot with Xamarin
Luis Beltran
 
PPTX
Mat Velloso - Bots in the real world
Web à Québec
 
PPTX
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Rachhek Shrestha
 
PPTX
Global ai bootcamp_codrina
Codrina Merigo
 
PPTX
Clever data building a chatbot from your database
Luis Beltran
 
PDF
API Workshop Series Part 2: The Future of Intelligent User Interactions
Caitlin Zucal
 
PPTX
My slides from the Microsoft Inovation Center Brussels at DigitYser
Rick Van Rousselt
 
PPTX
Creating Intelligent Chatbots
Kevin Leung
 
PPTX
Da 0 all'AI conversazionale usando Microsoft Azure
Marco Parenzan
 
PPTX
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
Thomas Gölles
 
PDF
Solvion Trendwerkstatt - Microsoft Azure + Bots
HolzerKerstin
 
PDF
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Nick Landry
 
PPTX
Your Next App Might Just Be a Bot: Building Conversational Bots with Python
David Asamu
 
PDF
Meetup 6/3/2017 - Artificiële Intelligentie: over chatbots & robots
Digipolis Antwerpen
 
PPTX
LUIS and Bots
Daniel Toomey
 
PPTX
Azure Chat Bot application
Vivek Singh
 
PDF
Clever data: building a chatbot from your database
Luis Beltran
 
PPTX
CCI2019 - Governance di una Conversational AI
walk2talk srl
 
PPTX
Azure as a Chatbot Service: From Purpose To Production With A Cloud Bot Archi...
Paul Prae
 
Bot Revolution lab at Codemotion Milan 2016
gjuljo
 
Build a mobile chatbot with Xamarin
Luis Beltran
 
Mat Velloso - Bots in the real world
Web à Québec
 
Intro to Chatbots using Microsoft bot framework and Azure cognitive services
Rachhek Shrestha
 
Global ai bootcamp_codrina
Codrina Merigo
 
Clever data building a chatbot from your database
Luis Beltran
 
API Workshop Series Part 2: The Future of Intelligent User Interactions
Caitlin Zucal
 
My slides from the Microsoft Inovation Center Brussels at DigitYser
Rick Van Rousselt
 
Creating Intelligent Chatbots
Kevin Leung
 
Da 0 all'AI conversazionale usando Microsoft Azure
Marco Parenzan
 
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
Thomas Gölles
 
Solvion Trendwerkstatt - Microsoft Azure + Bots
HolzerKerstin
 
Bots are the New Apps: Building Bots with ASP.NET WebAPI & Language Understan...
Nick Landry
 
Your Next App Might Just Be a Bot: Building Conversational Bots with Python
David Asamu
 
Meetup 6/3/2017 - Artificiële Intelligentie: over chatbots & robots
Digipolis Antwerpen
 
LUIS and Bots
Daniel Toomey
 
Azure Chat Bot application
Vivek Singh
 
Clever data: building a chatbot from your database
Luis Beltran
 
CCI2019 - Governance di una Conversational AI
walk2talk srl
 
Azure as a Chatbot Service: From Purpose To Production With A Cloud Bot Archi...
Paul Prae
 
Ad

More from gjuljo (20)

PPTX
Azure deployments and ARM templates
gjuljo
 
PDF
Azure Monitoring Overview
gjuljo
 
PDF
Going serverless with azure functions
gjuljo
 
PPTX
Microsoft Azure Technical Overview
gjuljo
 
PDF
DevOps in the Cloud with Microsoft Azure
gjuljo
 
PDF
Microservices Architecture: Labs
gjuljo
 
PDF
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo
gjuljo
 
PDF
IBM Business Connect 2015 - Bluemix Overview
gjuljo
 
PDF
FORUM PA 2015 - Microservices with IBM Bluemix
gjuljo
 
PDF
IBM Bluemix Introdution for Hackathons
gjuljo
 
PDF
IBM Bluemix Hackathon Accelerator
gjuljo
 
PPTX
IBM Bluemix and the Internet of Things - Workshop
gjuljo
 
PDF
Codemotion Rome 2015 IBM Bluemix and Docker
gjuljo
 
PDF
Codemotion Rome 2015 Bluemix Lab Tutorial
gjuljo
 
PPT
Codemotion Rome 2015 - Microservices with IBM Bluemix and DevOps Services
gjuljo
 
PDF
Hybrid Cloud with IBM Bluemix, Docker and Open Stack
gjuljo
 
PDF
InterConnect2015 ICP3222 A MDD Approach to Agile Development of IoT Applications
gjuljo
 
PDF
IBM Bluemix Tech Meetup 18-02-2015
gjuljo
 
PDF
IBM Bluemix saves the game
gjuljo
 
PDF
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
gjuljo
 
Azure deployments and ARM templates
gjuljo
 
Azure Monitoring Overview
gjuljo
 
Going serverless with azure functions
gjuljo
 
Microsoft Azure Technical Overview
gjuljo
 
DevOps in the Cloud with Microsoft Azure
gjuljo
 
Microservices Architecture: Labs
gjuljo
 
Microservices Architectures: Become a Unicorn like Netflix, Twitter and Hailo
gjuljo
 
IBM Business Connect 2015 - Bluemix Overview
gjuljo
 
FORUM PA 2015 - Microservices with IBM Bluemix
gjuljo
 
IBM Bluemix Introdution for Hackathons
gjuljo
 
IBM Bluemix Hackathon Accelerator
gjuljo
 
IBM Bluemix and the Internet of Things - Workshop
gjuljo
 
Codemotion Rome 2015 IBM Bluemix and Docker
gjuljo
 
Codemotion Rome 2015 Bluemix Lab Tutorial
gjuljo
 
Codemotion Rome 2015 - Microservices with IBM Bluemix and DevOps Services
gjuljo
 
Hybrid Cloud with IBM Bluemix, Docker and Open Stack
gjuljo
 
InterConnect2015 ICP3222 A MDD Approach to Agile Development of IoT Applications
gjuljo
 
IBM Bluemix Tech Meetup 18-02-2015
gjuljo
 
IBM Bluemix saves the game
gjuljo
 
IBM Bluemix on the go - Giulio Santoli (Mobility Hackathon)
gjuljo
 
Ad

Recently uploaded (20)

PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
PPTX
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 

Chatbot development workshop with the Microsoft Bot Framework

  • 1. Build a chatbot, from Zero to Hero bot revolution Lab code: https://github.com/gjuljo/botworkshop
  • 3. Chat bots are services that people interact with through conversation and messaging.
  • 4. Source: Conversational Interfaces, STCI Research (March 2016)
  • 5. Hipmunk Bot & Reselling
  • 8. Casey Neistat Bot & Affiliate Marketing
  • 9. LMFAO’s FooBot & Cross promotion (Uber)
  • 10. Westworld Bot (Aeden) & Viral Marketing https://discoverwestworld.com
  • 12. A new wave for user interfaces technology? Conversational Interfaces (teenies) Mobile Apps (noughties) Web Apps (90’s) Desktop GUI (80’s)
  • 15. Your bot code Entity Extraction Speech Bot Clipboard w entities Natural Language Translation + Intelligent Services Bing Knowledge User Preferences Image Intelligence … 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 code goes here
  • 21. The Bot Framework Emulator is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel.
  • 24. When you finish writing your bot, you need to • Register the bot to generate the bot’s app ID and password • connect the bot to channels of your choice • and (optionally) publish it.
  • 26. If you're running your bot behind a firewall or other network boundary and want to connect to an external channel, you will need to install and configure tunneling software (i.e. ngrok).
  • 40. Many messaging channels provide the ability to attach richer objects, such as media and reach cards. In the Bot Connector we map our attachment data structure to media attachments and rich cards on each channel. There are are several types of cards supported:
  • 44. Create your own LU model Train by providing examples Deploy to an HTTP endpoint and activate on any device Maintain model with ease
  • 45. Are there any vegetarian restaurants within 3 miles from my house that is open now? Entity: distanceEntity: type Entity: reference Entity: condition Intent: FIND_RESTAURANT
  • 46. Go to luis.ai: Sign in with your Microsoft account (MSA). If you don’t have MSA, you will have an option to create one. Get started by creating a New App and entering some basic information. Next, you will be presented with the Application Editor Workspace that will allow you to create and train your own language understanding model.
  • 47. Intents: Intents are actions that a user wants your app to take or the information they would like to obtain. Example intents could include getting weather, booking tickets, adding a calendar entry or operating a light fixture. Add one or more of user intents that you expect your app to handle by clicking + next to Intents item in the in the left- hand panel of the Editor Workspace.
  • 48. Entities: Entities are real world objects such as persons, locations, organizations, products, etc. that can be denoted with a proper name. Entities can be abstract or have a physical existence. Entities can be generic (location, celebrity, datetime) or more specific (Seattle, Satya Nadella, June) Add one or more entities that you expect your app to recognize by clicking + next to Entities item in the left-hand panel of the Editor Workspace. Several commonly used pre-built entities (e.g. datetime, number) are also available to be added to the app by clicking + next to Pre- built Entities.
  • 49. Seed the system with more examples: Enter more examples of queries that you expect your users to make. As you enter each one, you will need to: • select the name of the correct intent from the dropdown • label your entities that appear in each utterance by clicking on the entity and choosing corresponding label from the list • pre-built entities get automatically labeled in grey The more examples you provide, the more accurate the predictions.
  • 50. As you click Train at left bottom corner of the page, LUIS: Generalizes from the examples you provided. Uses logistic regression classifiers to recognize intents. Uses conditional random field to determine the entities.
  • 51. Deploy the model to an HTTP endpoint: Click the Publish button in the upper left- hand corner. The URL that you see appear after a few moments makes your model available as a web service.
  • 52. Deploy the model to an HTTP endpoint: Click the Publish button in the upper left- hand corner. The URL that you see appear after a few moments makes your model available as a web service.
  • 53. Activate model from your application on any device: Update the URL with the parameter for the user query. The response received from LUIS will contain the list of detected intents and entities together with the confidence scores. You can now use this information in your app. For our example, we could next call the weather service and display the response in our app UI: What’s the weather in Berlin The weather is sunny with a temperature of 88°F. (data provided by Foreca http://www.foreca.com)
  • 56. 1 Extract questions and answers QnA Maker extracts all possible pairs of questions and answers from user provided content – FAQ URLs, documents and editorial content. 2 Test, train and publish Through QnA Maker’s easy-to-use GUI, you can edit, remove or add pair before testing and training the knowledge base and publishing your knowledge base as an API endpoint. 3 Integrates with other APIs and solutions QnA Maker integrates with other APIs seamlessly and at scale. Use QnA Maker with Cognitive Services such as Language Understanding Intelligent Service and create something as elegantly simple as a chat bot that answers FAQs, or as complex as an interactive virtual guide.
  • 63. • fuzzy search keeps users from having to type exact matches; • search scores allow us to determine the confidence of the results; 2. guiding a user through a conversation that facets and filters a dataset until it finds what a user is looking for. https://github.com/ryanvolum/AzureSearchBot
  • 66. Faceted navigation is a filtering mechanism that provides self-directed drilldown navigation in search applications.
  • 70. LUIS, QnA Maker and Search are all powerful tools in building knowledge bots, but how do we choose which one to use? Can we use them together?
  • 72. Language Speech Search Machine Learning Knowledge Vision Spell check Speech API Entity linking Recommendation API Bing autosuggest Computer vision Emotion Forecasting Text to speech Thumbnail generation Anomaly detection Custom recognition (CRIS) Bing image search Web language model Customer feedback analysis Academic knowledge OCR, tagging, captioning Sentiment scoring Bing news search Bing web search Text analytics Cognitive Services APIs
  • 77. Text Analytics API Sentiment analysis Key phrase extraction Topics detection Language detection
  • 83. Bot Connector Service Load Balancer xxx.mybot.com Bot Connector Service Web App (PaaS) xxx.mybot.com
  • 93. Bot Connector Service http://botwork-test.azurewebsites.net/api/messages http://botwork.azurewebsites.net/api/messages test botwork
  • 95. TESTDEV STAGE (BLUE) PROD (GREEN)
  • 102. Telemetry is collected at each tier: mobile applications, server applications and browser1 Telemetry arrives in the Application Insights service in the cloud where it is processed & stored Get a 360° view of the application including availability, performance and usage patterns3 2 Azure Application Insights
  • 104. require('dotenv-extended').load(); var appInsights = require("applicationinsights").setup().start(); ... bot.dialog('/alfa', [ function (session) { appInsights.client.trackEvent("alfa"); session.send("Great, this is alfa"); session.endDialog(); } ]); bot.dialog('/beta', [ function (session) { appInsights.client.trackEvent("beta"); session.send("Great, this is beta"); session.endDialog(); } ]); ... https://docs.microsoft.com/en-us/azure/application-insights/app-insights-nodejs
  • 111. Hey, here’s what we’ve learned so far doing these things. Come back tomorrow and we might have some new learnings to share
  • 113. Browsing the same old information on a new platform is not very useful: it’s missing personalization. Chatbot is expected to be conversational: a simple search bar can fits fine in a web page.
  • 115. What makes a bot great: • It’s not how much AI it has • It’s not how much natural language it offers • It’s not whether it uses voice or not It’s just whether it solves user’s needs in the quickest and easier way comparted to other options
  • 117. A bot with a single dialog and 100 LUIS intents is a bad design:
  • 119. Events Stages Amenities Music Comedy Film Theater • Guide the user • Save time • Help the user discover what your bot can do What music would you like? (by the way, next time you could just type “I’m looking for a song named xyz” and I will know what to do)
  • 120. Hipmunk (Skype) Alterra (Telegram)
  • 121. When given the choice of rich controls, text and voice, user will choose: 1st UI controls 2nd Text 3rd Voice, only if options above aren’t possible (i.e. driving a car)
  • 124. When the conversation is the interface, experience design is all about crafting the right words. https://www.fastcodesign.com/3054934/the-next-phase-of-ux-designing-chatbot-personalities The software must be doing a good job, because people know it’s a robot, but still feel the need to say ‘thank you’.
  • 125. Set the expectations. Is you bot like HAL 9000, R2-D2 or Roomba?
  • 126. Your journey is just started, a bright future ahead. https://unsplash.com/@austinban