4. Use Cases
Application – Chatbots for online services:
• Book tickets;
• Order food;
• Manage bank account…
5. Use Cases
Internet of Things (IoT) – Chatbots for controlling devices:
• Smart house;
• Cars;
• Wearables…
6. Use Cases
Enterprise – Chatbots for automation work activities:
• Provide reports;
• Check metrics…
7. Google Assistant
History:
2011 - Google was enhancing its product Google Voice Search for the
next version of Android.
2012 - Google Now was unveiled as part of the premier demonstration
of Android 4.1 Jelly Bean.
2016 - Assistant debuted as part of Google's messaging app Allo, and
voice-activated speaker Google Home.
2017 - Assistant began to be deployed on other Android devices;
11. History:
2011 - Speaktoit launched Assistant - an intelligent personal assistant
application for mobile devices.
2014 - Speaktoit released API.AI - the voice-enabling engine for their
Assistant application.
2016 - Google bought Speaktoit, and include API.AI into their
infrastructure.
2017 - API.AI become Dialogflow.
12. Features:
-Build natural and rich conversational
applications;
-Use machine learning to understand what
users are saying;
-Integrations with numbers of platform (such as
Google Assistant, Slack, Cortana, Alexa and
Facebook Messenger);
-Integrations with numbers of devices
(wearables, phones, cars, speakers and other
smart devices);
-Multilanguage supporting.
13.
14.
15. Intents
An intent represents a mapping between
what a user says and what action should
be taken by your software.
Events
Events is a feature that allows you to
invoke intents by an event name instead of
a user query.
Entities
Used for extracting parameter values from
natural language inputs.
16. Actions and Parameters
An action corresponds to the step your application will take when a specific
intent has been triggered by a user’s input.
Parameters are elements generally used to connect words in a user’s
response, to entities.
Contexts
Contexts represent the current context of a user's request.
17. Responses
Agent’s responses which will be provided by application when the intent
is triggered.
Fulfillment (Webhook)
Fulfillment allows to pass information from a matched intent into a web
service and get a result from it.
18.
19. Cloud Functions for Firebase
Cloud Functions for Firebase automatically runs
backend code in response to events triggered by
Firebase features and HTTPS requests. The code is
stored in Google's cloud and runs in a managed
environment.
Firebase Realtime Database
The Firebase Realtime Database is a cloud-hosted
database. Data is stored as JSON and synchronized
in realtime to every connected client.
26. From GUI to CUI
Write your core experiences like a screenplay.
And then keep it at a high level, where the boxes
represent entire dialogue or user intents.
27. Booking an appointment screenplay
User Talk to Booking Health
Google Assistant Sure, here's Booking Health.
Booking Health Hello and welcome to Booking Health. Would you like to book an appointment at your clinic?
User Yes
Booking Health Sure, let’s get started. First of all, please choose an appointment type.
User Diabetic
Booking Health There are several branches available in your practice. Please, pick your branch
User Anchor Bankside
Booking Health Here's a number of practitioners and time slots for you to pick from. Let's go and pick out of those
available.
User May 11th 2018, 1:20 pm
Booking Health Awesome! Another great thing for you to do will be to add a reason for your visit
User Yes
Booking Health Ok, tell me please a few words about your visiting reasons.
User I have a headache
Booking Health So, you are going to book appointment in Anchor Bankside at May 11th 2018, 1:20 pm. Your practitioner
will be Dr. Diana Kraning. And your reason is - headache. Should I book this appointment?
User Book
Booking Health Your appointment is now booked. If you need to book a new one, please, don't hesitate to do so. Have a
great day!
30. Source code and resources
Project
Actions on Google Dialogflow
Cloud Functions for Firebase Firebase Realtime Database
31. Thanks for your attention
Special thanks to Yekaterina Yevtushenko
for her help with making dialogs more human.
And Alexey Rozanov for his help with JS
code review.