SlideShare a Scribd company logo
1 of 33
Download to read offline
GOOGLE HOME
how to make Google do it
Gianfranco Bottiglieri
● Junior Node.js Java
Developer
● Docente in Academy
Ci presentiamo
Theodor Dumitrescu
● Junior Java
Developer
● CoderDojo
Champion
● Conversation
Designer
Copyright 2011 - 2018, ThinkOpen S.r.l.
Chatbot
is a computer program or an artificial intelligence which conducts a
conversation via auditory or textual methods
3
Copyright 2011 - 2018, ThinkOpen S.r.l.
GOOGLE HOME
4
Copyright 2011 - 2018, ThinkOpen S.r.l.
Tool di sviluppo
5
ACTION ON GOOGLE https://developers.google.com/actions/
DIALOGFLOW https://dialogflow.com/
Copyright 2011 - 2018, ThinkOpen S.r.l.
Actions On Google: create the project
6
Copyright 2011 - 2018, ThinkOpen S.r.l.
Actions On Google: create the project
7
Copyright 2011 - 2018, ThinkOpen S.r.l.
Dialogflow: create the agent
8
Copyright 2011 - 2018, ThinkOpen S.r.l.
The role of the agent
9
Copyright 2011 - 2018, ThinkOpen S.r.l.
Dialogflow: create the first intent
10
Copyright 2011 - 2018, ThinkOpen S.r.l.
Dialogflow: the elements of an intent
11
Copyright 2011 - 2018, ThinkOpen S.r.l.
The elements of an intent: training phrases
12
Dialogflow works taking some sample
user sentences to start out with. Then,
it trains it’s engine to generate an
algorithm that best matches these
sentences to the correct intents
Copyright 2011 - 2018, ThinkOpen S.r.l.
The elements of an intent: events
13
Events is a feature that
allows you to invoke
intents by an event name
instead of a user query.
Copyright 2011 - 2018, ThinkOpen S.r.l.
The elements of an intent: context
14
Contexts represent the
current context of a user's
request. This is helpful for
differentiating phrases
which may be vague or
have different meanings
depending on the topic of
conversation.
Copyright 2011 - 2018, ThinkOpen S.r.l.
The elements of an intent: parameters
● Required – defines whether this
parameter is obligatory for the action.
● Entity – map the parameters to a
default or custom entity
● Value – we can simply use the value
name and the parameter will be
substituted in its place in a response
● Is List – if the parameter could be
found more times in a query
● Prompts – what should the agent say
while prompting the user for the
parameters?
15
Copyright 2011 - 2018, ThinkOpen S.r.l.
The elements of an intent: responses
16
Copyright 2011 - 2018, ThinkOpen S.r.l.
The elements of an intent: fulfilment
17
Copyright 2011 - 2018, ThinkOpen S.r.l.
The elements of an intent: fulfilment
18
A webhook in web
development is a method of
augmenting or altering the
behaviour of a web page, or
web application, with custom
callbacks. These callbacks
may be managed by
third-party developers who
may not necessarily be
affiliated with the originating
website or application.
Copyright 2011 - 2018, ThinkOpen S.r.l.
App with dialogflow from actions-on-google
19
Copyright 2011 - 2018, ThinkOpen S.r.l.
App using Cloud Functions
Copyright 2011 - 2018, ThinkOpen S.r.l.
Intents in express
21
Copyright 2011 - 2018, ThinkOpen S.r.l.
Intents in Cloud Functions
22
Copyright 2011 - 2018, ThinkOpen S.r.l.
Behind the scene
23
Conversational design
best practices
Copyright 2011 - 2018, ThinkOpen S.r.l.
Awesome code is nothing
without an awesome
conversational flow
25
Copyright 2011 - 2018, ThinkOpen S.r.l.
Teach computers to talk to
humans and not the other way
26
Copyright 2011 - 2018, ThinkOpen S.r.l.
See the bot as a character
from a comics
27
Copyright 2011 - 2018, ThinkOpen S.r.l.
Conversational flow characteristics
● speed
● simplicity
28
hard
● clean conversation
● crips
● not designed for long engagement
Copyright 2011 - 2018, ThinkOpen S.r.l.
Design flows outside the box
29
prototype the flows
register yourself and act as the persona and the user
Copyright 2011 - 2018, ThinkOpen S.r.l.
Think through the conversation flow
30
● why is so?
● try to understand the context
○ when it evolve in this way?
○ at what time?
○ on which device?
● understand the errors from the user perspective
Copyright 2011 - 2018, ThinkOpen S.r.l.
Don’t repeat yourself
31
● prepare multiple response for the same intent
● use the context
○ take care about multiple vision
○ never go in circle
Copyright 2011 - 2018, ThinkOpen S.r.l.
Let the conversation flow naturally
32
● creating acknowledgement messages in complex flows
● splitting long questions in follow-up
● providing suggestions
● restoring the context when a new conversation start
● analysing the tone of the conversation
● learning how to say “no”
● crafting clever responses to cover all ground
Copyright 2011 - 2018, ThinkOpen S.r.l.
Thank you
33

More Related Content

Similar to "Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bottiglieri

Python App Development_ 7 Things to Keep in Mind.pdf
Python App Development_ 7 Things to Keep in Mind.pdfPython App Development_ 7 Things to Keep in Mind.pdf
Python App Development_ 7 Things to Keep in Mind.pdfBoTree Technologies
 
R Vs Python – The most trending debate of aspiring Data Scientists
R Vs Python – The most trending debate of aspiring Data ScientistsR Vs Python – The most trending debate of aspiring Data Scientists
R Vs Python – The most trending debate of aspiring Data Scientistsabhishekdf3
 
Top Python development Companies to outsource
Top Python development Companies to outsourceTop Python development Companies to outsource
Top Python development Companies to outsourceMindfire LLC
 
Uber, Netflix, &YouTube are Built with Python. Here’s WHY?
Uber, Netflix, &YouTube are Built with Python. Here’s WHY?Uber, Netflix, &YouTube are Built with Python. Here’s WHY?
Uber, Netflix, &YouTube are Built with Python. Here’s WHY?Inexture Solutions
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19oradoe
 
An Ultimate Guide To Hire Python Developer
An Ultimate Guide To Hire Python DeveloperAn Ultimate Guide To Hire Python Developer
An Ultimate Guide To Hire Python DeveloperRishiVardhaniM
 
Python Developer Resume Shortlisting Tips.pptx
Python Developer Resume Shortlisting Tips.pptxPython Developer Resume Shortlisting Tips.pptx
Python Developer Resume Shortlisting Tips.pptxKritikaVerma295578
 
Plomino plone conf2010
Plomino plone conf2010Plomino plone conf2010
Plomino plone conf2010ebrehault
 
Guide To Hiring Dedicated Python Developers In India.pdf
Guide To Hiring Dedicated Python Developers In India.pdfGuide To Hiring Dedicated Python Developers In India.pdf
Guide To Hiring Dedicated Python Developers In India.pdfAIS Technolabs Pvt Ltd
 
Eight Reasons Why Startups Need to Hire Python Developers
Eight Reasons Why Startups Need to Hire Python DevelopersEight Reasons Why Startups Need to Hire Python Developers
Eight Reasons Why Startups Need to Hire Python DevelopersInexture Solutions
 
9 good reasons why you must consider python for web applications
9 good reasons why you must consider python for web applications 9 good reasons why you must consider python for web applications
9 good reasons why you must consider python for web applications SnehaDas60
 
Presentation-Open AI Chat GPT-4 3.pptx
Presentation-Open AI Chat GPT-4 3.pptxPresentation-Open AI Chat GPT-4 3.pptx
Presentation-Open AI Chat GPT-4 3.pptxNitinKhandelwal71
 
A complete guide to Python app development.pdf
A complete guide to Python app development.pdfA complete guide to Python app development.pdf
A complete guide to Python app development.pdfMoonTechnolabsPvtLtd
 
Explore Best Possibilities Of App Development In Python
Explore Best Possibilities Of App Development In PythonExplore Best Possibilities Of App Development In Python
Explore Best Possibilities Of App Development In PythonSofiaCarter4
 
A Comprehensive Guide of Python Final Year Projects with Source Code.pdf
A Comprehensive Guide of Python Final Year Projects with Source Code.pdfA Comprehensive Guide of Python Final Year Projects with Source Code.pdf
A Comprehensive Guide of Python Final Year Projects with Source Code.pdfjagan477830
 
How Much Does It Cost To Hire Python Developer?
How Much Does It Cost To Hire Python Developer?How Much Does It Cost To Hire Python Developer?
How Much Does It Cost To Hire Python Developer?SofiaCarter4
 

Similar to "Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bottiglieri (20)

Python App Development_ 7 Things to Keep in Mind.pdf
Python App Development_ 7 Things to Keep in Mind.pdfPython App Development_ 7 Things to Keep in Mind.pdf
Python App Development_ 7 Things to Keep in Mind.pdf
 
What makes python 3.11 special
What makes python 3.11 special What makes python 3.11 special
What makes python 3.11 special
 
R Vs Python – The most trending debate of aspiring Data Scientists
R Vs Python – The most trending debate of aspiring Data ScientistsR Vs Python – The most trending debate of aspiring Data Scientists
R Vs Python – The most trending debate of aspiring Data Scientists
 
Top Python development Companies to outsource
Top Python development Companies to outsourceTop Python development Companies to outsource
Top Python development Companies to outsource
 
Uber, Netflix, &YouTube are Built with Python. Here’s WHY?
Uber, Netflix, &YouTube are Built with Python. Here’s WHY?Uber, Netflix, &YouTube are Built with Python. Here’s WHY?
Uber, Netflix, &YouTube are Built with Python. Here’s WHY?
 
Realizing AI Conversational Bot
Realizing AI Conversational BotRealizing AI Conversational Bot
Realizing AI Conversational Bot
 
Python Programming
Python ProgrammingPython Programming
Python Programming
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 
An Ultimate Guide To Hire Python Developer
An Ultimate Guide To Hire Python DeveloperAn Ultimate Guide To Hire Python Developer
An Ultimate Guide To Hire Python Developer
 
Python Developer Resume Shortlisting Tips.pptx
Python Developer Resume Shortlisting Tips.pptxPython Developer Resume Shortlisting Tips.pptx
Python Developer Resume Shortlisting Tips.pptx
 
Plomino plone conf2010
Plomino plone conf2010Plomino plone conf2010
Plomino plone conf2010
 
Guide To Hiring Dedicated Python Developers In India.pdf
Guide To Hiring Dedicated Python Developers In India.pdfGuide To Hiring Dedicated Python Developers In India.pdf
Guide To Hiring Dedicated Python Developers In India.pdf
 
Eight Reasons Why Startups Need to Hire Python Developers
Eight Reasons Why Startups Need to Hire Python DevelopersEight Reasons Why Startups Need to Hire Python Developers
Eight Reasons Why Startups Need to Hire Python Developers
 
9 good reasons why you must consider python for web applications
9 good reasons why you must consider python for web applications 9 good reasons why you must consider python for web applications
9 good reasons why you must consider python for web applications
 
Presentation-Open AI Chat GPT-4 3.pptx
Presentation-Open AI Chat GPT-4 3.pptxPresentation-Open AI Chat GPT-4 3.pptx
Presentation-Open AI Chat GPT-4 3.pptx
 
A complete guide to Python app development.pdf
A complete guide to Python app development.pdfA complete guide to Python app development.pdf
A complete guide to Python app development.pdf
 
Explore Best Possibilities Of App Development In Python
Explore Best Possibilities Of App Development In PythonExplore Best Possibilities Of App Development In Python
Explore Best Possibilities Of App Development In Python
 
A Comprehensive Guide of Python Final Year Projects with Source Code.pdf
A Comprehensive Guide of Python Final Year Projects with Source Code.pdfA Comprehensive Guide of Python Final Year Projects with Source Code.pdf
A Comprehensive Guide of Python Final Year Projects with Source Code.pdf
 
The README
The READMEThe README
The README
 
How Much Does It Cost To Hire Python Developer?
How Much Does It Cost To Hire Python Developer?How Much Does It Cost To Hire Python Developer?
How Much Does It Cost To Hire Python Developer?
 

More from ThinkOpen

Discover Facilitation: gestire le riunioni in modo efficace
Discover Facilitation: gestire le riunioni in modo efficaceDiscover Facilitation: gestire le riunioni in modo efficace
Discover Facilitation: gestire le riunioni in modo efficaceThinkOpen
 
Infrastructure as a code: a cloud approach
Infrastructure as a code: a cloud approachInfrastructure as a code: a cloud approach
Infrastructure as a code: a cloud approachThinkOpen
 
Smart Signage: la nuova digital experience
Smart Signage: la nuova digital experienceSmart Signage: la nuova digital experience
Smart Signage: la nuova digital experienceThinkOpen
 
I Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiI Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiThinkOpen
 
2019: Odissea nell'e-commerce
2019: Odissea nell'e-commerce2019: Odissea nell'e-commerce
2019: Odissea nell'e-commerceThinkOpen
 
Guida galattica a Javascript
Guida galattica a JavascriptGuida galattica a Javascript
Guida galattica a JavascriptThinkOpen
 
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneJava 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneThinkOpen
 
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usiAmazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usiThinkOpen
 
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...ThinkOpen
 
Polymer 3.0 by Michele Gallotti
Polymer 3.0 by Michele GallottiPolymer 3.0 by Michele Gallotti
Polymer 3.0 by Michele GallottiThinkOpen
 
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
"Java 8, Lambda e la programmazione funzionale" by Theodor DumitrescuThinkOpen
 
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola NapolitanoThinkOpen
 
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar RossiniThinkOpen
 
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe TrottaThinkOpen
 
"GDPR: cos'è e come funziona" by Francesco Puglisi
"GDPR: cos'è e come funziona" by Francesco Puglisi"GDPR: cos'è e come funziona" by Francesco Puglisi
"GDPR: cos'è e come funziona" by Francesco PuglisiThinkOpen
 
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe TrottaThinkOpen
 
"How to... React" by Luca Perna
"How to... React" by Luca Perna"How to... React" by Luca Perna
"How to... React" by Luca PernaThinkOpen
 
"Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco
"Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco"Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco
"Sistemi managed in alta affidabilità e in open source" by Andrea Di MarcoThinkOpen
 
"Architetture Serverless: il "vero" cloud" by Niccolò Olivieri
"Architetture Serverless: il "vero" cloud" by Niccolò Olivieri"Architetture Serverless: il "vero" cloud" by Niccolò Olivieri
"Architetture Serverless: il "vero" cloud" by Niccolò OlivieriThinkOpen
 
"Java Spring" by Donato Andrisani e Gabriele Manfredi
"Java Spring" by Donato Andrisani e Gabriele Manfredi"Java Spring" by Donato Andrisani e Gabriele Manfredi
"Java Spring" by Donato Andrisani e Gabriele ManfrediThinkOpen
 

More from ThinkOpen (20)

Discover Facilitation: gestire le riunioni in modo efficace
Discover Facilitation: gestire le riunioni in modo efficaceDiscover Facilitation: gestire le riunioni in modo efficace
Discover Facilitation: gestire le riunioni in modo efficace
 
Infrastructure as a code: a cloud approach
Infrastructure as a code: a cloud approachInfrastructure as a code: a cloud approach
Infrastructure as a code: a cloud approach
 
Smart Signage: la nuova digital experience
Smart Signage: la nuova digital experienceSmart Signage: la nuova digital experience
Smart Signage: la nuova digital experience
 
I Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utentiI Graph Database: analisi del comportamento degli utenti
I Graph Database: analisi del comportamento degli utenti
 
2019: Odissea nell'e-commerce
2019: Odissea nell'e-commerce2019: Odissea nell'e-commerce
2019: Odissea nell'e-commerce
 
Guida galattica a Javascript
Guida galattica a JavascriptGuida galattica a Javascript
Guida galattica a Javascript
 
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneJava 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
 
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usiAmazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
Amazon Alexa vs Google Home. Quale scegliere? Funzionalità e usi
 
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
Amazon Web Services - Le potenzialità di AWS e il mondo di Amazon Alexa by Ni...
 
Polymer 3.0 by Michele Gallotti
Polymer 3.0 by Michele GallottiPolymer 3.0 by Michele Gallotti
Polymer 3.0 by Michele Gallotti
 
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
"Java 8, Lambda e la programmazione funzionale" by Theodor Dumitrescu
 
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
"Odoo: l'open source che fa tremare SAP" by Davide Davin e Nicola Napolitano
 
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
"Configuration Manager: il ruolo nel ciclo di vita del software" by Omar Rossini
 
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day3" by Donato Andrisani e Giuseppe Trotta
 
"GDPR: cos'è e come funziona" by Francesco Puglisi
"GDPR: cos'è e come funziona" by Francesco Puglisi"GDPR: cos'è e come funziona" by Francesco Puglisi
"GDPR: cos'è e come funziona" by Francesco Puglisi
 
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
"ThinkOpen Agile Days - #Day2" by Donato Andrisani e Giuseppe Trotta
 
"How to... React" by Luca Perna
"How to... React" by Luca Perna"How to... React" by Luca Perna
"How to... React" by Luca Perna
 
"Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco
"Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco"Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco
"Sistemi managed in alta affidabilità e in open source" by Andrea Di Marco
 
"Architetture Serverless: il "vero" cloud" by Niccolò Olivieri
"Architetture Serverless: il "vero" cloud" by Niccolò Olivieri"Architetture Serverless: il "vero" cloud" by Niccolò Olivieri
"Architetture Serverless: il "vero" cloud" by Niccolò Olivieri
 
"Java Spring" by Donato Andrisani e Gabriele Manfredi
"Java Spring" by Donato Andrisani e Gabriele Manfredi"Java Spring" by Donato Andrisani e Gabriele Manfredi
"Java Spring" by Donato Andrisani e Gabriele Manfredi
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 

"Google Home: how to make Google do it" by Theodor Dumitrescu e Gianfranco Bottiglieri

  • 1. GOOGLE HOME how to make Google do it
  • 2. Gianfranco Bottiglieri ● Junior Node.js Java Developer ● Docente in Academy Ci presentiamo Theodor Dumitrescu ● Junior Java Developer ● CoderDojo Champion ● Conversation Designer
  • 3. Copyright 2011 - 2018, ThinkOpen S.r.l. Chatbot is a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods 3
  • 4. Copyright 2011 - 2018, ThinkOpen S.r.l. GOOGLE HOME 4
  • 5. Copyright 2011 - 2018, ThinkOpen S.r.l. Tool di sviluppo 5 ACTION ON GOOGLE https://developers.google.com/actions/ DIALOGFLOW https://dialogflow.com/
  • 6. Copyright 2011 - 2018, ThinkOpen S.r.l. Actions On Google: create the project 6
  • 7. Copyright 2011 - 2018, ThinkOpen S.r.l. Actions On Google: create the project 7
  • 8. Copyright 2011 - 2018, ThinkOpen S.r.l. Dialogflow: create the agent 8
  • 9. Copyright 2011 - 2018, ThinkOpen S.r.l. The role of the agent 9
  • 10. Copyright 2011 - 2018, ThinkOpen S.r.l. Dialogflow: create the first intent 10
  • 11. Copyright 2011 - 2018, ThinkOpen S.r.l. Dialogflow: the elements of an intent 11
  • 12. Copyright 2011 - 2018, ThinkOpen S.r.l. The elements of an intent: training phrases 12 Dialogflow works taking some sample user sentences to start out with. Then, it trains it’s engine to generate an algorithm that best matches these sentences to the correct intents
  • 13. Copyright 2011 - 2018, ThinkOpen S.r.l. The elements of an intent: events 13 Events is a feature that allows you to invoke intents by an event name instead of a user query.
  • 14. Copyright 2011 - 2018, ThinkOpen S.r.l. The elements of an intent: context 14 Contexts represent the current context of a user's request. This is helpful for differentiating phrases which may be vague or have different meanings depending on the topic of conversation.
  • 15. Copyright 2011 - 2018, ThinkOpen S.r.l. The elements of an intent: parameters ● Required – defines whether this parameter is obligatory for the action. ● Entity – map the parameters to a default or custom entity ● Value – we can simply use the value name and the parameter will be substituted in its place in a response ● Is List – if the parameter could be found more times in a query ● Prompts – what should the agent say while prompting the user for the parameters? 15
  • 16. Copyright 2011 - 2018, ThinkOpen S.r.l. The elements of an intent: responses 16
  • 17. Copyright 2011 - 2018, ThinkOpen S.r.l. The elements of an intent: fulfilment 17
  • 18. Copyright 2011 - 2018, ThinkOpen S.r.l. The elements of an intent: fulfilment 18 A webhook in web development is a method of augmenting or altering the behaviour of a web page, or web application, with custom callbacks. These callbacks may be managed by third-party developers who may not necessarily be affiliated with the originating website or application.
  • 19. Copyright 2011 - 2018, ThinkOpen S.r.l. App with dialogflow from actions-on-google 19
  • 20. Copyright 2011 - 2018, ThinkOpen S.r.l. App using Cloud Functions
  • 21. Copyright 2011 - 2018, ThinkOpen S.r.l. Intents in express 21
  • 22. Copyright 2011 - 2018, ThinkOpen S.r.l. Intents in Cloud Functions 22
  • 23. Copyright 2011 - 2018, ThinkOpen S.r.l. Behind the scene 23
  • 25. Copyright 2011 - 2018, ThinkOpen S.r.l. Awesome code is nothing without an awesome conversational flow 25
  • 26. Copyright 2011 - 2018, ThinkOpen S.r.l. Teach computers to talk to humans and not the other way 26
  • 27. Copyright 2011 - 2018, ThinkOpen S.r.l. See the bot as a character from a comics 27
  • 28. Copyright 2011 - 2018, ThinkOpen S.r.l. Conversational flow characteristics ● speed ● simplicity 28 hard ● clean conversation ● crips ● not designed for long engagement
  • 29. Copyright 2011 - 2018, ThinkOpen S.r.l. Design flows outside the box 29 prototype the flows register yourself and act as the persona and the user
  • 30. Copyright 2011 - 2018, ThinkOpen S.r.l. Think through the conversation flow 30 ● why is so? ● try to understand the context ○ when it evolve in this way? ○ at what time? ○ on which device? ● understand the errors from the user perspective
  • 31. Copyright 2011 - 2018, ThinkOpen S.r.l. Don’t repeat yourself 31 ● prepare multiple response for the same intent ● use the context ○ take care about multiple vision ○ never go in circle
  • 32. Copyright 2011 - 2018, ThinkOpen S.r.l. Let the conversation flow naturally 32 ● creating acknowledgement messages in complex flows ● splitting long questions in follow-up ● providing suggestions ● restoring the context when a new conversation start ● analysing the tone of the conversation ● learning how to say “no” ● crafting clever responses to cover all ground
  • 33. Copyright 2011 - 2018, ThinkOpen S.r.l. Thank you 33