SlideShare a Scribd company logo
Chatbots and
Serverless: A match
made in the Cloud
Gillian Armstrong
@virtualgill
QConSF
InfoQ.com: News & Community Site
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
serverless-chatbots
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
Serverless and Chatbots: A Match Made in the Cloud
Gillian Armstrong
@virtualgill
Technologist
Cognitive Technologies
Liberty IT
Gillian Armstrong @virtualgill
2016
2020
7%
SOURCE: US Census, Gartner,
Edison Research, Voicebot.ai
75%
Smart Speaker US Household
Ownership Forecast
2016
2020
7%
SOURCE: US Census, Gartner,
Edison Research, Voicebot.ai
75%
Smart Speaker US Household
Ownership Forecast
The world is
changing
fast
So we need to
be able to
learn fastThe world is
changing
fast
Gillian Armstrong @virtualgill
Change
Fast
Learn
Fast
use what we learn to
so we can keep
on learning
Gillian Armstrong @virtualgill
Change
Fast
Learn
Fast
Both Chatbots and Serverless let us
and
Gillian Armstrong @virtualgill
What is a
Chatbot???
What do you
mean byServerless???
???
???
???
Gillian Armstrong @virtualgill
Gillian Armstrong @virtualgill
Gillian Armstrong @virtualgill
A Serverless solution is one that costs
you nothing to run if nobody is using it
(excluding data storage cost)
For the purposes of this presentation...
- Paul Johnston
Gillian Armstrong @virtualgill
For the purposes of this presentation...
A Chatbot is something you can
interact with conversationally
using natural language
- me
Gillian Armstrong @virtualgill
Gillian Armstrong @virtualgill
CHANNEL/DEVICE
NLU NLP
INTENTS ENTITIES
I n t e r a c t i o n M o d e l
Fulfillment
MachineLearning
ASR TTS
CUX/VUX
A very quick
overview of a
Chatbot using
Conversational AI
Gillian Armstrong @virtualgill
CHANNEL/DEVICE
NLU NLP
INTENTS
I n t e r a c t i o n M o d e l
Fulfillment
MachineLearning
ASR TTS
CUX/VUX
Utterance
(“what the
user said”)
Automatic
Speech
Recognition
(Speech to Text)
Text to Speech
Mapping of Utterance to Intent
(“what the user meant”)
Extraction of Entities
(variables like time, place, number, etc)
Oh hey, there’s still UI design
Insert cool
serverless
architecture here
Conversational / Voice User Experience
(“how we sound and the words we say”)
Conversational User Interface
ENTITIES
Intent maps to Fulfillment
(“what we need to do”)
Gillian Armstrong @virtualgill
CHANNEL/DEVICE
NLU NLP
INTENTS
I n t e r a c t i o n M o d e l
Fulfillment
MachineLearning
ASR TTS
CUX/VUX
Design it so
a Human can
understand it
Train your Bot
to understand
Humans
Write code to make
it do something!
1
2
3
What we need to do…
ENTITIES
Gillian Armstrong @virtualgill
CHANNEL/DEVICE
NLU NLP
INTENTS
I n t e r a c t i o n M o d e l
Fulfillment
MachineLearning
ASR TTS
CUX/VUX
Design it so
a Human can
understand it
Train your Bot
to understand
Humans
Write code to make
it do something!
1
2
3
What we need to do…
Often starting
point and
focus
Hardcoded
and then
panic-written
after that
well-received
demo
Forgotten
ENTITIES
Gillian Armstrong @virtualgill
Design it so a
Human can
understand it
1
Gillian Armstrong @virtualgill
In a chatbot,
Conversation is
the Interface
Gillian Armstrong @virtualgill
Source: http://hosanna1.com/
Not a CSS
and HTML
problem!
Design
Matters!
Gillian Armstrong @virtualgill
Up to now we’ve
kept designing
based on what
came before
Gillian Armstrong @virtualgill
We’ve carried the
concept of menus
and commands
into our graphical
user interfaces
Gillian Armstrong @virtualgill
We base our web
forms on the
paper forms that
came before
Gillian Armstrong @virtualgill
Gillian Armstrong @virtualgill
Model your design on a
human, not a website
People are the original
conversational interface
Gillian Armstrong @virtualgill
When you start with
thinking about trying out
a design you may
discover that a chatbot
isn’t even the right thing
to build…
Gillian Armstrong @virtualgill
But assuming it is…
Gillian Armstrong @virtualgill
Be Clear
Be Helpful Be Nice
• Proactively offer help
• Get people back on track
• Repetition is annoying
• Repetition is annoying
• Take the blame – in a conversation the
human is never wrong
• Chatbots aren't smarter than a human
• Be understanding if people don’t want
to talk to you – offer alternatives.
1 minute
Conversational
Design
overview
• Keep your personality consistent
• Keep answers short and to the point
• Set expectations – what can you do
• Reflect back key information and
confirm before critical actions.
Gillian Armstrong @virtualgill
The Web is about Telling
the user what to do
Conversational UI is
about Listening to what
the user wants to do
Gillian Armstrong @virtualgill
Train your Bot
to understand
Humans
2
Gillian Armstrong @virtualgill
Amazon Lex Console
What the Web Tutorials told me
building a chatbot looked like…
Gillian Armstrong @virtualgill
BOOK MEETING
IntentUtterance
SAY HELLO
GET HELP
Fulfillment
Gillian Armstrong @virtualgill
IntentUtterance
As simple
providing a set
of sample
utterances!
Book Meeting at <TIME> on <DATE>
Set up Appointment
Create event on <DATE>
Set up Meeting
Book me a meeting at <TIME>
…
Hello
Hi there
Hey
Good Morning
…
Help
What can you do
Help me
I need help
…
BOOKMEETINGSAYHELLOGETHELP
Gillian Armstrong @virtualgill
Amazon Lex Console
SET OF
INTENTS
Represents the
functionality
the bot has
SAMPLE
UTTERANCES
Examples of what a
user might say to
trigger this Intent.
This is training data -
not a regex match.
Gillian Armstrong @virtualgill
Amazon Lex Console
SLOTS (ENTITIES)
are defined showing
type (place, name,
time, custom, etc.)
If the user does not supply this data
the bot knows to prompt for it.
The sample
utterances show
where to expect the
data to be supplied in
an utterance
Gillian Armstrong @virtualgill
FULFILLMENT location
defined.
Intent and Slot matches will
be sent to this lambda or
returned directly to client.
Amazon Lex Console
Gillian Armstrong @virtualgill
Amazon Lex Console
Publish to make
the functionality
live to users.
Build to create the
Interaction Model
Gillian Armstrong @virtualgill
Amazon Lex Console
Built-in Test
Console allows you
to test directly here
after building, but
before publishing.
Gillian Armstrong @virtualgill
Amazon Lex Console
Easy to connect
your bot to popular
channels through
console.
Gillian Armstrong @virtualgill
Amazon Lex Console
Chatbot Done…?
Gillian Armstrong @virtualgill
Sorry, I’m just a
baby bot. I’m still
learning.
Gillian Armstrong @virtualgill
Sorry, I’m just a
baby bot. I’m still
learning.
are you?
Gillian Armstrong @virtualgill
IntentUtterance
As simple
providing a set
of sample
utterances!
Book Meeting at <TIME> on <DATE>
Set up Appointment
Create event on <DATE>
Set up Meeting
Book me a meeting at <TIME>
…
Hello
Hi there
Hey
Good Morning
…
Help
What can you do
Help me
I need help
…
BOOKMEETINGSAYHELLOGETHELP
Gillian Armstrong @virtualgill
IntentUtterance
As complex
as providing a
set of sample
utterances!
Book Meeting at <TIME> on <DATE>
Set up Appointment
Create event on <DATE>
Set up Meeting
Book me a meeting at <TIME>
…
Hello
Hi there
Hey
Good Morning
…
Help
What can you do
Help me
I need help
…
BOOKMEETINGSAYHELLOGETHELP
Model your design on a
human
Get your sample utterances
from your users…
you wouldn’t make up other
machine learning training data!
Gillian Armstrong @virtualgill
Track metrics and review
conversation to improve your
Bot Interaction Model.
Learn
Fast
Sorry, I’m just a
baby bot. I’m still
learning.
Change
Fast
Gillian Armstrong @virtualgill
Look for Vocabulary used
Should we add new synonyms
Look for the Utterance Structure
Should we add new training data
Look for Interaction Patterns
Can we improve the conversation flow
Learn
Fast
Change
Fast
Reviewing Conversation Transcripts…
Gillian Armstrong @virtualgill
Chatbots aren’t magic
(although I wish they were)
Gillian Armstrong @virtualgill
Write code to
make it do
something!
3
Gillian Armstrong @virtualgill
Pop a lambda
here – and
you’re done!
Gillian Armstrong @virtualgill
Gillian Armstrong @virtualgill
Gillian Armstrong @virtualgill
CONTEXT
CONVERSATION
SESSION
CHAT
STREAM
ANALYTICS
NLP +
INTENT
MAPPING
FULFILLMENT…
Amazon
Lex
Amazon
VPC
AWS
Direct
Connect
AWS
Lambda
AWS
Lambda
Amazon
DynamoDB
Amazon
DynamoDB
AWS
Lambda
Amazon
CloudWatch
Amazon
ES
IAM
Amazon
Polly
Amazon
S3
AWS
X-Ray
Amazon API
Gateway
Amazon
Athena Amazon
S3
Amazon
API
Gateway
THE DIGITAL ASSISTANT BOT PLATFORM ARCHITECTURE
Serverless and Chatbots: A Match Made in the Cloud
Number of
conversations
Length of
conversations
Functionality
being used
Number of Users
What people
want us to add
Where we are
getting it right
Where we are
getting it wrong
Examples of our
Conversational Analytics
Gillian Armstrong @virtualgill
Observability is critical
This lets you quickly learn
where there might be problems
with your system.
Gillian Armstrong @virtualgill
Why Serverless??
Gillian Armstrong @virtualgill
Lower Cost
lets us
Change
Fast
Learn
Fast
Off-loading Maintenance
lets us
Gillian Armstrong @virtualgill
Instead of custom
building and managing
your own servers, db, etc…
Gillian Armstrong @virtualgill
Use standard pieces –
that someone else has
built and manages - and
put them together to get
the system you want
Gillian Armstrong @virtualgill
Serverless Services
Gillian Armstrong @virtualgill
Lambdas are quick to develop,
isolate small pieces of
functionality and allow you to
scale different parts of the
conversation independently.
Gillian Armstrong @virtualgill
Ensure that
everything scales
- or at least know
your limits.
API
Lambda
functions
Amazon
DynamoDB
Gillian Armstrong @virtualgill
Serverless means you don’t
pay if no-one talks to your
bot…
…and lets you scale
seamlessly if everyone
wants to talk to your bot!
Gillian Armstrong @virtualgill
Cost
Usage
No usage,
no cost
Higher usage,
higher cost
Gillian Armstrong @virtualgill
Cost
Usage
Watch the
free tier…
Cost may not
be linear
Gillian Armstrong @virtualgill
Monolith
Some notes for
those with
existing systems
Gillian Armstrong @virtualgill
Monolith Microservices
async!
event
driven!
Gillian Armstrong @virtualgill
Monolith Microservices Function as a Service
Gillian Armstrong @virtualgill
REWRITE is not a
four-letter word
Gillian Armstrong @virtualgill
Model your design on a
human, not a website
People are the original
conversational interface
Gillian Armstrong @virtualgill
A good human conversation is
synchronous
You wait for a response
You expect a response
immediately
Gillian Armstrong @virtualgill
A Conversational
Architecture needs to
- Be fast!
- Appear synchronous to the
user (there should be a
response)
This is particularly critical for a voice-based bot
Gillian Armstrong @virtualgill
Monolith Microservices Function as a Service
Gillian Armstrong @virtualgill
Do not just lift and shift your
microservices into FaaS
Gillian Armstrong @virtualgill
invoke invoke invoke
Combining the time to invoke and the time to ‘spin up’
can hit performance and add complexity to your system.
Choose to ‘keep warm’ only as a last resort.
Do not end up with a collection of
distributed microservices
Gillian Armstrong @virtualgill
invoke
Shhhhhh….. It’s ok to have more than one
function in your Function as a Service…
Look for where you can pull functionality
into reusable libraries instead
Gillian Armstrong @virtualgill
Having said that… don’t just lift and shift
your microservices into FaaS
Gillian Armstrong @virtualgill
API API API
APIs designed for webforms tend to be
set up to collect sets of data page by page
Gillian Armstrong @virtualgill
API
A Conversation is non-linear – the user can give
partial information, or information that would have
been collected later on your webform.
Gillian Armstrong @virtualgill
REWRITE is not a
four-letter word
Gillian Armstrong @virtualgill
Both Serverless
and Chatbots
require new ways
of thinking about
your architecture.
Gillian Armstrong @virtualgill
CHANGE
FAST
LEARN
FAST
We get there iteratively by being able to
and
Gillian Armstrong @virtualgill
CHANGE
FAST
LEARN
FAST
Both Chatbots and Serverless let us
and
Gillian Armstrong @virtualgill
CHANGE
FAST
LEARN
FAST
Both Chatbots and Serverless let us
and
but Good Supporting Engineering Practices are
needed to do both with confidence and at scale
Gillian Armstrong @virtualgill
Amazon Lex Console
What the Web Tutorials told me
building a chatbot looked like…
Gillian Armstrong @virtualgill
CODE HERE
Fulfillment
in Code
Gillian Armstrong @virtualgill
CODE HERE
CODE HERE
Bot
Interaction
Model
in Code
Gillian Armstrong @virtualgill
CODE HERE
CODE HERE
CODE HERE
Design
in Code
Gillian Armstrong @virtualgill
CODE HERE
CODE HERE
CODE HERE
CODE HERE
CODE HERE
CODE HERE
CODE HERE
Infrastructure
in Code
Gillian Armstrong @virtualgill
CODE HERE
EVERYTHING
in Code
CODE HERE
CODE HERE
CODE HERE
CODE HERE
CODE HERE
CODE HERE
Gillian Armstrong @virtualgill
EVERYTHING
in Code
• Testable
• Traceable
• Repeatable
• Observable
Gillian Armstrong @virtualgill
Gillian Armstrong @virtualgill
CONTEXT
CONVERSATION
SESSION
CHAT
STREAM
ANALYTICS
NLP +
INTENT
MAPPING
FULFILLMENT…
Amazon
Lex
Amazon
VPC
AWS
Direct
Connect
AWS
Lambda
AWS
Lambda
Amazon
DynamoDB
Amazon
DynamoDB
AWS
Lambda
Amazon
CloudWatch
Amazon
ES
IAM
Amazon
Polly
Amazon
S3
AWS
X-Ray
Amazon API
Gateway
Amazon
Athena Amazon
S3
Amazon
API
Gateway
THE DIGITAL ASSISTANT BOT PLATFORM ARCHITECTURE
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Local and Pre-Commit
Hook Tests
• Unit Test
• Lambdas
• Libraries
• Static analysis
• Cloud Formation
• Code
• JSON for API calls
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
Build Tests
• Unit Test
• Lambdas
• Libraries
• Static analysis
• Cloud Formation
• Code
• JSON for API calls
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
All tests, builds, deploys and
alarms sent to Slack channels to
alert developers immediately
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
All tests, builds, deploys and
alarms sent to Slack channels to
alert developers immediately
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
AWS
CloudFormation
Templates
Amazon S3
deployment
bucket
Amazon
Lex
Model
Building
Service
Botbuilder
Lambda
function
Packaged
Fulfillment
Lambdas
Bot JSON files
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
All tests, builds, deploys and
alarms sent to Slack channels to
alert developers immediately
Deploy Tests
• Smoke Tests
• Component Tests
(Lex) Non-Prod Only
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
All tests, builds, deploys and
alarms sent to Slack channels to
alert developers immediately
Fully tested new
functionality
available in
minutes
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
All tests, builds, deploys and
alarms sent to Slack channels to
alert developers immediately
Live
Analytics
Fully tested new
functionality
available in
minutes
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
All tests, builds, deploys and
alarms sent to Slack channels to
alert developers immediately
Live
Analytics
‘Live’ Tests - APM
• Alarms
• Cloudwatch metrics
and Dashboards
• Centralized Logging
• Tracing
Gillian Armstrong @virtualgill
Conversation as Code - Amazon Lex
Fully Validated and Repeatable Bot Build and Deploy to any AWS Account
Everything written in CFN,
with JSON for API calls to
Amazon Lex Model Building
API as part of deploy
Code push triggers tests, and automatic build
and deploy across multiple environments
Live
Analytics
‘Live’ Tests - APM
• Alarms
• Cloudwatch metrics
and Dashboards
• Centralized Logging
• Tracing
Gillian Armstrong @virtualgill
If your chatbot stopped working, would you
know? Don’t just wait for user complaints!
Know what isn’t working and fix it, and keep
adding more of what is!
Monitor, no, seriously, monitor
Gillian Armstrong @virtualgill
Conversational Analytics are vital
Work out what metrics you need to track to
know how your chatbot is performing.
Know what isn’t working and fix it, and keep
adding more of what is!
Gillian Armstrong @virtualgill
Getting Feedback is vital
You won’t get it right first time – listen to
your users.
Know what isn’t working and fix it, and
keep adding more of what is!
Gillian Armstrong @virtualgill
Change
Fast
Learn
Fast
lets us
Being able to
Gillian Armstrong @virtualgill
Conversational UI is about
Listening to what the user
wants to do…
CHANGE
FAST
LEARN
FAST
…and that’s the secret to a great chatbot!
Gillian Armstrong @virtualgill
Got questions?
Let’s chat!
@virtualgill
KEY
TAKEAW
AYS • Model your Chatbot UI and Architecture
based on observing Humans and real
Conversation.
Break out of old mindsets!
• New tech still needs the good
engineering practices you already know
Gillian Armstrong @virtualgill
Appendix – Additional Information on Conversational Design
Starting out:
https://hackernoon.com/new-to-conversational-design-start-here-7f2f3a1b81bb
Error Handling in Chatbot Series:
Part 1 — Voice Recognition Errors: The one where we end up shouting at a computer
https://chatbotsmagazine.com/difficult-conversations-1-voice-recognition-error-handling-74d93056ddce
Part 2 – Conversational Errors: The one where it gets really interesting
https://chatbotsmagazine.com/helping-your-baby-bot-learn-to-chat-like-a-grown-up-bot-99f5170f1c55
Part 3 – Technical Faults: The one we want to pretend will never happen (or ‘Help! My chatbot has fallen over
and can’t get up’)
https://chatbotsmagazine.com/good-ux-when-your-chatbot-is-having-a-very-bad-day-e4f22885d7fb
You can find my other Blogs at https://medium.com/@virtualgill
Come talk to me on Twitter – I hang out there a lot @virtualgill
For my other talks and ways to get in contact with me head to http://virtualgill.io
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
serverless-chatbots

More Related Content

PPTX
Podcasting do's and don'ts
PDF
Intensive Workshop:Building Apps -Idea to Release- for Non-Techie Entrepreneurs
PDF
Voice Tech TO #1
PDF
Building Conversational Experiences with Dialogflow.pdf
KEY
From Specification To Success
PDF
Every Business Needs a Chatbot
PDF
Using Bets, Boards and Missions to Inspire Org-wide Agility
PDF
Conversational experience by Systango
Podcasting do's and don'ts
Intensive Workshop:Building Apps -Idea to Release- for Non-Techie Entrepreneurs
Voice Tech TO #1
Building Conversational Experiences with Dialogflow.pdf
From Specification To Success
Every Business Needs a Chatbot
Using Bets, Boards and Missions to Inspire Org-wide Agility
Conversational experience by Systango

Similar to Serverless and Chatbots: A Match Made in the Cloud (20)

PDF
Coding your company culture
PDF
Cultivating Lean Startup Teams When People Don't Know What Lean Is
PPTX
Introduction to Alexa Skill Building
PDF
Build an Application from Idea to Release
PDF
Designers shouldn't code - The wrong answer to the right question
PPTX
Cloud AI GenAI Overview.pptx
PDF
Internationalization & Localization Process
PDF
UX & UI Design 101
PDF
Sharpen your Agile Axe by Brian Sjorber
PDF
Let's Sharpen Your Agile Ax, It's Story Splitting Time
PDF
Build Mandarin AI Conversational Agent with Rasa
PDF
27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf
PPTX
Inclusive design principles for WordPress
PDF
Build chatbots with api.ai and Google cloud functions
PPTX
Designing Voice-Driven Game Experiences | Dave Isbitski
PDF
Get started with Dialogflow & Contact Center AI on Google Cloud
PPTX
Focus fast bigd15_roger_belveal_2015-09-19
PDF
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
PDF
Pixel Perfect Precision
Coding your company culture
Cultivating Lean Startup Teams When People Don't Know What Lean Is
Introduction to Alexa Skill Building
Build an Application from Idea to Release
Designers shouldn't code - The wrong answer to the right question
Cloud AI GenAI Overview.pptx
Internationalization & Localization Process
UX & UI Design 101
Sharpen your Agile Axe by Brian Sjorber
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Build Mandarin AI Conversational Agent with Rasa
27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf
Inclusive design principles for WordPress
Build chatbots with api.ai and Google cloud functions
Designing Voice-Driven Game Experiences | Dave Isbitski
Get started with Dialogflow & Contact Center AI on Google Cloud
Focus fast bigd15_roger_belveal_2015-09-19
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Pixel Perfect Precision
Ad

More from C4Media (20)

PDF
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
PDF
Next Generation Client APIs in Envoy Mobile
PDF
Software Teams and Teamwork Trends Report Q1 2020
PDF
Understand the Trade-offs Using Compilers for Java Applications
PDF
Kafka Needs No Keeper
PDF
High Performing Teams Act Like Owners
PDF
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
PDF
Service Meshes- The Ultimate Guide
PDF
Shifting Left with Cloud Native CI/CD
PDF
CI/CD for Machine Learning
PDF
Fault Tolerance at Speed
PDF
Architectures That Scale Deep - Regaining Control in Deep Systems
PDF
ML in the Browser: Interactive Experiences with Tensorflow.js
PDF
Build Your Own WebAssembly Compiler
PDF
User & Device Identity for Microservices @ Netflix Scale
PDF
Scaling Patterns for Netflix's Edge
PDF
Make Your Electron App Feel at Home Everywhere
PDF
The Talk You've Been Await-ing For
PDF
Future of Data Engineering
PDF
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Next Generation Client APIs in Envoy Mobile
Software Teams and Teamwork Trends Report Q1 2020
Understand the Trade-offs Using Compilers for Java Applications
Kafka Needs No Keeper
High Performing Teams Act Like Owners
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Service Meshes- The Ultimate Guide
Shifting Left with Cloud Native CI/CD
CI/CD for Machine Learning
Fault Tolerance at Speed
Architectures That Scale Deep - Regaining Control in Deep Systems
ML in the Browser: Interactive Experiences with Tensorflow.js
Build Your Own WebAssembly Compiler
User & Device Identity for Microservices @ Netflix Scale
Scaling Patterns for Netflix's Edge
Make Your Electron App Feel at Home Everywhere
The Talk You've Been Await-ing For
Future of Data Engineering
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Ad

Recently uploaded (20)

PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Hybrid model detection and classification of lung cancer
PDF
Getting Started with Data Integration: FME Form 101
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
A Presentation on Touch Screen Technology
PDF
Mushroom cultivation and it's methods.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Tartificialntelligence_presentation.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Approach and Philosophy of On baking technology
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
August Patch Tuesday
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Hybrid model detection and classification of lung cancer
Getting Started with Data Integration: FME Form 101
Univ-Connecticut-ChatGPT-Presentaion.pdf
OMC Textile Division Presentation 2021.pptx
Encapsulation theory and applications.pdf
TLE Review Electricity (Electricity).pptx
A Presentation on Touch Screen Technology
Mushroom cultivation and it's methods.pdf
Unlocking AI with Model Context Protocol (MCP)
A comparative study of natural language inference in Swahili using monolingua...
1. Introduction to Computer Programming.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Group 1 Presentation -Planning and Decision Making .pptx
Tartificialntelligence_presentation.pptx
Chapter 5: Probability Theory and Statistics
Approach and Philosophy of On baking technology
Heart disease approach using modified random forest and particle swarm optimi...
August Patch Tuesday
From MVP to Full-Scale Product A Startup’s Software Journey.pdf

Serverless and Chatbots: A Match Made in the Cloud

  • 1. Chatbots and Serverless: A match made in the Cloud Gillian Armstrong @virtualgill QConSF
  • 2. InfoQ.com: News & Community Site • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ serverless-chatbots
  • 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon San Francisco www.qconsf.com
  • 6. 2016 2020 7% SOURCE: US Census, Gartner, Edison Research, Voicebot.ai 75% Smart Speaker US Household Ownership Forecast
  • 7. 2016 2020 7% SOURCE: US Census, Gartner, Edison Research, Voicebot.ai 75% Smart Speaker US Household Ownership Forecast The world is changing fast
  • 8. So we need to be able to learn fastThe world is changing fast Gillian Armstrong @virtualgill
  • 9. Change Fast Learn Fast use what we learn to so we can keep on learning Gillian Armstrong @virtualgill
  • 10. Change Fast Learn Fast Both Chatbots and Serverless let us and Gillian Armstrong @virtualgill
  • 11. What is a Chatbot??? What do you mean byServerless??? ??? ??? ??? Gillian Armstrong @virtualgill
  • 14. A Serverless solution is one that costs you nothing to run if nobody is using it (excluding data storage cost) For the purposes of this presentation... - Paul Johnston Gillian Armstrong @virtualgill
  • 15. For the purposes of this presentation... A Chatbot is something you can interact with conversationally using natural language - me Gillian Armstrong @virtualgill
  • 17. CHANNEL/DEVICE NLU NLP INTENTS ENTITIES I n t e r a c t i o n M o d e l Fulfillment MachineLearning ASR TTS CUX/VUX A very quick overview of a Chatbot using Conversational AI Gillian Armstrong @virtualgill
  • 18. CHANNEL/DEVICE NLU NLP INTENTS I n t e r a c t i o n M o d e l Fulfillment MachineLearning ASR TTS CUX/VUX Utterance (“what the user said”) Automatic Speech Recognition (Speech to Text) Text to Speech Mapping of Utterance to Intent (“what the user meant”) Extraction of Entities (variables like time, place, number, etc) Oh hey, there’s still UI design Insert cool serverless architecture here Conversational / Voice User Experience (“how we sound and the words we say”) Conversational User Interface ENTITIES Intent maps to Fulfillment (“what we need to do”) Gillian Armstrong @virtualgill
  • 19. CHANNEL/DEVICE NLU NLP INTENTS I n t e r a c t i o n M o d e l Fulfillment MachineLearning ASR TTS CUX/VUX Design it so a Human can understand it Train your Bot to understand Humans Write code to make it do something! 1 2 3 What we need to do… ENTITIES Gillian Armstrong @virtualgill
  • 20. CHANNEL/DEVICE NLU NLP INTENTS I n t e r a c t i o n M o d e l Fulfillment MachineLearning ASR TTS CUX/VUX Design it so a Human can understand it Train your Bot to understand Humans Write code to make it do something! 1 2 3 What we need to do… Often starting point and focus Hardcoded and then panic-written after that well-received demo Forgotten ENTITIES Gillian Armstrong @virtualgill
  • 21. Design it so a Human can understand it 1 Gillian Armstrong @virtualgill
  • 22. In a chatbot, Conversation is the Interface Gillian Armstrong @virtualgill
  • 23. Source: http://hosanna1.com/ Not a CSS and HTML problem! Design Matters! Gillian Armstrong @virtualgill
  • 24. Up to now we’ve kept designing based on what came before Gillian Armstrong @virtualgill
  • 25. We’ve carried the concept of menus and commands into our graphical user interfaces Gillian Armstrong @virtualgill
  • 26. We base our web forms on the paper forms that came before Gillian Armstrong @virtualgill
  • 28. Model your design on a human, not a website People are the original conversational interface Gillian Armstrong @virtualgill
  • 29. When you start with thinking about trying out a design you may discover that a chatbot isn’t even the right thing to build… Gillian Armstrong @virtualgill
  • 30. But assuming it is… Gillian Armstrong @virtualgill
  • 31. Be Clear Be Helpful Be Nice • Proactively offer help • Get people back on track • Repetition is annoying • Repetition is annoying • Take the blame – in a conversation the human is never wrong • Chatbots aren't smarter than a human • Be understanding if people don’t want to talk to you – offer alternatives. 1 minute Conversational Design overview • Keep your personality consistent • Keep answers short and to the point • Set expectations – what can you do • Reflect back key information and confirm before critical actions. Gillian Armstrong @virtualgill
  • 32. The Web is about Telling the user what to do Conversational UI is about Listening to what the user wants to do Gillian Armstrong @virtualgill
  • 33. Train your Bot to understand Humans 2 Gillian Armstrong @virtualgill
  • 34. Amazon Lex Console What the Web Tutorials told me building a chatbot looked like… Gillian Armstrong @virtualgill
  • 35. BOOK MEETING IntentUtterance SAY HELLO GET HELP Fulfillment Gillian Armstrong @virtualgill
  • 36. IntentUtterance As simple providing a set of sample utterances! Book Meeting at <TIME> on <DATE> Set up Appointment Create event on <DATE> Set up Meeting Book me a meeting at <TIME> … Hello Hi there Hey Good Morning … Help What can you do Help me I need help … BOOKMEETINGSAYHELLOGETHELP Gillian Armstrong @virtualgill
  • 37. Amazon Lex Console SET OF INTENTS Represents the functionality the bot has SAMPLE UTTERANCES Examples of what a user might say to trigger this Intent. This is training data - not a regex match. Gillian Armstrong @virtualgill
  • 38. Amazon Lex Console SLOTS (ENTITIES) are defined showing type (place, name, time, custom, etc.) If the user does not supply this data the bot knows to prompt for it. The sample utterances show where to expect the data to be supplied in an utterance Gillian Armstrong @virtualgill
  • 39. FULFILLMENT location defined. Intent and Slot matches will be sent to this lambda or returned directly to client. Amazon Lex Console Gillian Armstrong @virtualgill
  • 40. Amazon Lex Console Publish to make the functionality live to users. Build to create the Interaction Model Gillian Armstrong @virtualgill
  • 41. Amazon Lex Console Built-in Test Console allows you to test directly here after building, but before publishing. Gillian Armstrong @virtualgill
  • 42. Amazon Lex Console Easy to connect your bot to popular channels through console. Gillian Armstrong @virtualgill
  • 43. Amazon Lex Console Chatbot Done…? Gillian Armstrong @virtualgill
  • 44. Sorry, I’m just a baby bot. I’m still learning. Gillian Armstrong @virtualgill
  • 45. Sorry, I’m just a baby bot. I’m still learning. are you? Gillian Armstrong @virtualgill
  • 46. IntentUtterance As simple providing a set of sample utterances! Book Meeting at <TIME> on <DATE> Set up Appointment Create event on <DATE> Set up Meeting Book me a meeting at <TIME> … Hello Hi there Hey Good Morning … Help What can you do Help me I need help … BOOKMEETINGSAYHELLOGETHELP Gillian Armstrong @virtualgill
  • 47. IntentUtterance As complex as providing a set of sample utterances! Book Meeting at <TIME> on <DATE> Set up Appointment Create event on <DATE> Set up Meeting Book me a meeting at <TIME> … Hello Hi there Hey Good Morning … Help What can you do Help me I need help … BOOKMEETINGSAYHELLOGETHELP Model your design on a human Get your sample utterances from your users… you wouldn’t make up other machine learning training data! Gillian Armstrong @virtualgill
  • 48. Track metrics and review conversation to improve your Bot Interaction Model. Learn Fast Sorry, I’m just a baby bot. I’m still learning. Change Fast Gillian Armstrong @virtualgill
  • 49. Look for Vocabulary used Should we add new synonyms Look for the Utterance Structure Should we add new training data Look for Interaction Patterns Can we improve the conversation flow Learn Fast Change Fast Reviewing Conversation Transcripts… Gillian Armstrong @virtualgill
  • 50. Chatbots aren’t magic (although I wish they were) Gillian Armstrong @virtualgill
  • 51. Write code to make it do something! 3 Gillian Armstrong @virtualgill
  • 52. Pop a lambda here – and you’re done! Gillian Armstrong @virtualgill
  • 57. Number of conversations Length of conversations Functionality being used Number of Users What people want us to add Where we are getting it right Where we are getting it wrong Examples of our Conversational Analytics Gillian Armstrong @virtualgill
  • 58. Observability is critical This lets you quickly learn where there might be problems with your system. Gillian Armstrong @virtualgill
  • 60. Lower Cost lets us Change Fast Learn Fast Off-loading Maintenance lets us Gillian Armstrong @virtualgill
  • 61. Instead of custom building and managing your own servers, db, etc… Gillian Armstrong @virtualgill
  • 62. Use standard pieces – that someone else has built and manages - and put them together to get the system you want Gillian Armstrong @virtualgill
  • 64. Lambdas are quick to develop, isolate small pieces of functionality and allow you to scale different parts of the conversation independently. Gillian Armstrong @virtualgill
  • 65. Ensure that everything scales - or at least know your limits. API Lambda functions Amazon DynamoDB Gillian Armstrong @virtualgill
  • 66. Serverless means you don’t pay if no-one talks to your bot… …and lets you scale seamlessly if everyone wants to talk to your bot! Gillian Armstrong @virtualgill
  • 67. Cost Usage No usage, no cost Higher usage, higher cost Gillian Armstrong @virtualgill
  • 68. Cost Usage Watch the free tier… Cost may not be linear Gillian Armstrong @virtualgill
  • 69. Monolith Some notes for those with existing systems Gillian Armstrong @virtualgill
  • 71. Monolith Microservices Function as a Service Gillian Armstrong @virtualgill
  • 72. REWRITE is not a four-letter word Gillian Armstrong @virtualgill
  • 73. Model your design on a human, not a website People are the original conversational interface Gillian Armstrong @virtualgill
  • 74. A good human conversation is synchronous You wait for a response You expect a response immediately Gillian Armstrong @virtualgill
  • 75. A Conversational Architecture needs to - Be fast! - Appear synchronous to the user (there should be a response) This is particularly critical for a voice-based bot Gillian Armstrong @virtualgill
  • 76. Monolith Microservices Function as a Service Gillian Armstrong @virtualgill
  • 77. Do not just lift and shift your microservices into FaaS Gillian Armstrong @virtualgill
  • 78. invoke invoke invoke Combining the time to invoke and the time to ‘spin up’ can hit performance and add complexity to your system. Choose to ‘keep warm’ only as a last resort. Do not end up with a collection of distributed microservices Gillian Armstrong @virtualgill
  • 79. invoke Shhhhhh….. It’s ok to have more than one function in your Function as a Service… Look for where you can pull functionality into reusable libraries instead Gillian Armstrong @virtualgill
  • 80. Having said that… don’t just lift and shift your microservices into FaaS Gillian Armstrong @virtualgill
  • 81. API API API APIs designed for webforms tend to be set up to collect sets of data page by page Gillian Armstrong @virtualgill
  • 82. API A Conversation is non-linear – the user can give partial information, or information that would have been collected later on your webform. Gillian Armstrong @virtualgill
  • 83. REWRITE is not a four-letter word Gillian Armstrong @virtualgill
  • 84. Both Serverless and Chatbots require new ways of thinking about your architecture. Gillian Armstrong @virtualgill
  • 85. CHANGE FAST LEARN FAST We get there iteratively by being able to and Gillian Armstrong @virtualgill
  • 86. CHANGE FAST LEARN FAST Both Chatbots and Serverless let us and Gillian Armstrong @virtualgill
  • 87. CHANGE FAST LEARN FAST Both Chatbots and Serverless let us and but Good Supporting Engineering Practices are needed to do both with confidence and at scale Gillian Armstrong @virtualgill
  • 88. Amazon Lex Console What the Web Tutorials told me building a chatbot looked like… Gillian Armstrong @virtualgill
  • 89. CODE HERE Fulfillment in Code Gillian Armstrong @virtualgill
  • 90. CODE HERE CODE HERE Bot Interaction Model in Code Gillian Armstrong @virtualgill
  • 91. CODE HERE CODE HERE CODE HERE Design in Code Gillian Armstrong @virtualgill
  • 92. CODE HERE CODE HERE CODE HERE CODE HERE CODE HERE CODE HERE CODE HERE Infrastructure in Code Gillian Armstrong @virtualgill
  • 93. CODE HERE EVERYTHING in Code CODE HERE CODE HERE CODE HERE CODE HERE CODE HERE CODE HERE Gillian Armstrong @virtualgill
  • 94. EVERYTHING in Code • Testable • Traceable • Repeatable • Observable Gillian Armstrong @virtualgill
  • 97. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Gillian Armstrong @virtualgill
  • 98. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Local and Pre-Commit Hook Tests • Unit Test • Lambdas • Libraries • Static analysis • Cloud Formation • Code • JSON for API calls Gillian Armstrong @virtualgill
  • 99. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments Gillian Armstrong @virtualgill
  • 100. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments Build Tests • Unit Test • Lambdas • Libraries • Static analysis • Cloud Formation • Code • JSON for API calls Gillian Armstrong @virtualgill
  • 101. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments All tests, builds, deploys and alarms sent to Slack channels to alert developers immediately Gillian Armstrong @virtualgill
  • 102. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments All tests, builds, deploys and alarms sent to Slack channels to alert developers immediately Gillian Armstrong @virtualgill
  • 103. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments AWS CloudFormation Templates Amazon S3 deployment bucket Amazon Lex Model Building Service Botbuilder Lambda function Packaged Fulfillment Lambdas Bot JSON files Gillian Armstrong @virtualgill
  • 104. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments All tests, builds, deploys and alarms sent to Slack channels to alert developers immediately Deploy Tests • Smoke Tests • Component Tests (Lex) Non-Prod Only Gillian Armstrong @virtualgill
  • 105. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments All tests, builds, deploys and alarms sent to Slack channels to alert developers immediately Fully tested new functionality available in minutes Gillian Armstrong @virtualgill
  • 106. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments All tests, builds, deploys and alarms sent to Slack channels to alert developers immediately Live Analytics Fully tested new functionality available in minutes Gillian Armstrong @virtualgill
  • 107. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments All tests, builds, deploys and alarms sent to Slack channels to alert developers immediately Live Analytics ‘Live’ Tests - APM • Alarms • Cloudwatch metrics and Dashboards • Centralized Logging • Tracing Gillian Armstrong @virtualgill
  • 108. Conversation as Code - Amazon Lex Fully Validated and Repeatable Bot Build and Deploy to any AWS Account Everything written in CFN, with JSON for API calls to Amazon Lex Model Building API as part of deploy Code push triggers tests, and automatic build and deploy across multiple environments Live Analytics ‘Live’ Tests - APM • Alarms • Cloudwatch metrics and Dashboards • Centralized Logging • Tracing Gillian Armstrong @virtualgill
  • 109. If your chatbot stopped working, would you know? Don’t just wait for user complaints! Know what isn’t working and fix it, and keep adding more of what is! Monitor, no, seriously, monitor Gillian Armstrong @virtualgill
  • 110. Conversational Analytics are vital Work out what metrics you need to track to know how your chatbot is performing. Know what isn’t working and fix it, and keep adding more of what is! Gillian Armstrong @virtualgill
  • 111. Getting Feedback is vital You won’t get it right first time – listen to your users. Know what isn’t working and fix it, and keep adding more of what is! Gillian Armstrong @virtualgill
  • 112. Change Fast Learn Fast lets us Being able to Gillian Armstrong @virtualgill
  • 113. Conversational UI is about Listening to what the user wants to do… CHANGE FAST LEARN FAST …and that’s the secret to a great chatbot! Gillian Armstrong @virtualgill
  • 114. Got questions? Let’s chat! @virtualgill KEY TAKEAW AYS • Model your Chatbot UI and Architecture based on observing Humans and real Conversation. Break out of old mindsets! • New tech still needs the good engineering practices you already know Gillian Armstrong @virtualgill
  • 115. Appendix – Additional Information on Conversational Design Starting out: https://hackernoon.com/new-to-conversational-design-start-here-7f2f3a1b81bb Error Handling in Chatbot Series: Part 1 — Voice Recognition Errors: The one where we end up shouting at a computer https://chatbotsmagazine.com/difficult-conversations-1-voice-recognition-error-handling-74d93056ddce Part 2 – Conversational Errors: The one where it gets really interesting https://chatbotsmagazine.com/helping-your-baby-bot-learn-to-chat-like-a-grown-up-bot-99f5170f1c55 Part 3 – Technical Faults: The one we want to pretend will never happen (or ‘Help! My chatbot has fallen over and can’t get up’) https://chatbotsmagazine.com/good-ux-when-your-chatbot-is-having-a-very-bad-day-e4f22885d7fb You can find my other Blogs at https://medium.com/@virtualgill Come talk to me on Twitter – I hang out there a lot @virtualgill For my other talks and ways to get in contact with me head to http://virtualgill.io
  • 116. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ serverless-chatbots