SlideShare una empresa de Scribd logo
1 de 89
Descargar para leer sin conexión
Chatbots
État de l’art et prochains challenges
1
Josselin Moulay
2
Jean-Baptiste Claramonte
3
1. Les chatbots dans l’histoire et l’actualité
2. Le WHY des chatbots
3. Définition du besoin
4. Comprendre le langage naturel
5. Contexte et personnalité
6. Démonstration de mise en oeuvre d’un chatbot
4
5
6
1950 1960 1970 1980 1990 2000 2010 2020
1950
Test de
Turing
1966
Eliza
1982
Jabberwacky
1995
A.L.I.C.E
2010
Apple
Siri
2012
Google Now
2015
Alexa
Cortana
2017
Google Home
7
Chatbot post mortem
8
XiaoIce
9
XiaoIce
10
Tay
11
Zo
12
Influence des opinions ...
13
14
15
Le WHY des chatbots
16
20 %
(mai 2016)
17
85 %
5 Applications
18
19
Jusqu’ici “Mobile First”,
Google passe à
“AI First”
20
Objectif :
une interface
homme/machine
en langage naturel
21
Les chatbots
seront au coeur
des interactions
22
Des exemples/idées possibles
de chatbot
23
Exemple: changement de forfait internet
24
Exemple: déclaration d’un accident
25
Exemple: comprendre sa facture d’électricité
26
Exemple: prendre un rendez-vous chez son docteur
27
Définition du besoin
28
Quel model ?
29
DailyBot GuideBot
Quel model ?
30
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Quel model ?
31
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Quel model ?
32
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Interactions limitées
Quel model ?
33
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Discussions complexesInteractions limitées
Quel model ?
34
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Discussions complexesInteractions limitées
Sujet cadré
Quel model ?
35
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Discussions complexes
Sujet libre
Interactions limitées
Sujet cadré
Quel model ?
36
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Discussions complexes
Sujet libre
Interactions limitées
Sujet cadré
Personnalité minimale
Quel model ?
37
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Discussions complexes
Sujet libre
Personnalité avancée
Interactions limitées
Sujet cadré
Personnalité minimale
Quel model ?
38
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Discussions complexes
Sujet libre
Personnalité avancée
Interactions limitées
Sujet cadré
Personnalité minimale
Peu de contexte
Quel model ?
39
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Discussions complexes
Sujet libre
Personnalité avancée
Contexte omniprésent
Interactions limitées
Sujet cadré
Personnalité minimale
Peu de contexte
Quel model ?
40
DailyBot
Vendre des abonnements
Citer des extraits
GuideBot
Orienter en temps réel
Accompagner les voyageurs
Discussions complexes
Sujet libre
Personnalité avancée
Contexte omniprésent
Interactions limitées
Sujet cadré
Personnalité minimale
Peu de contexte
Récupérer
Retrieval
Générer
Generative
Quel model ?
41
Quel connecteur ?
42
Messageries instantanée
Réseaux sociaux
SMS
Email
Vocal
Quel connecteur ?
43
Comprendre le langage naturel
Intention Entités
44
45
- Je souhaite donner 10,50 € à Martine
- Transfert à Martine la somme de 10 euros et cinquante centimes
46
- Je souhaite donner 10,50 € à Martine
- Transfert à Martine la somme de 10 euros et cinquante centimes
INTENTION
Transfert d’argent
Natural Language Processing
47
- Je souhaite donner 10,50 € à Martine
- Transfert à Martine la somme de 10 euros et cinquante centimes
[ Somme Devise Destinataire ]
INTENTION
ENTITÉS
Transfert d’argent
Envoyer 10,50 € à Martine
Natural Language Processing
48
- Je souhaite donner 10,50 € à Martine
- Transfert à Martine la somme de 10 euros et cinquante centimes
INTENTION
ENTITÉS
Transfert d’argent
Envoyer 10,50 € à Martine
Transfert d’argent [ Somme Devise Destinataire ]
Natural Language Processing
49
- Je souhaite donner 10,50 € à Martine
- Transfert à Martine la somme de 10 euros et cinquante centimes
INTENTION
ENTITÉS
Transfert d’argent
Envoyer 10,50 € à Martine
Un SMS vous a été envoyé afin de vérifier votre identité.
Merci de me fournir le code de validation pour finaliser la transaction.
Transfert d’argent [ Somme Devise Destinataire ]
Natural Language Processing
50
- Je souhaite donner 10,50 € à Martine
- Transfert à Martine la somme de 10 euros et cinquante centimes
INTENTION
ENTITÉS
Transfert d’argent
Envoyer 10,50 € à Martine
Un SMS vous a été envoyé afin de vérifier votre identité.
Merci de me fournir le code de validation pour finaliser la transaction.
XF102Q
Transfert d’argent [ Somme Devise Destinataire ]
Natural Language Processing
51
- Je souhaite donner 10,50 € à Martine
- Transfert à Martine la somme de 10 euros et cinquante centimes
INTENTION
ENTITÉS
Transfert d’argent
Envoyer 10,50 € à Martine
Un SMS vous a été envoyé afin de vérifier votre identité.
Merci de me fournir le code de validation pour finaliser la transaction.
La somme de 10,50 € a été versée à Martine
Transfert d’argent [ Somme Devise Destinataire ]
XF102Q
Natural Language Processing
52
- J’aimerais partir demain pour bordeaux et revenir trois jours plus tard.
- Comment me rendre à Bordeaux le premier decembre et revenir le 3?
53
- J’aimerais partir demain pour bordeaux et revenir trois jours plus tard.
- Comment me rendre à Bordeaux le premier decembre et revenir le 3?
INTENTION
ENTITÉS
Trouver un train (Aller - retour)
Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017
Natural Language Processing
54
- J’aimerais partir demain pour bordeaux et revenir trois jours plus tard.
- Comment me rendre à Bordeaux le premier decembre et revenir le 3?
INTENTION
ENTITÉS
Trouver un train (Aller - retour)
Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017
Trouver un train [ Destination Date de départ Origine Date de retour ]
Natural Language Processing
55
- J’aimerais partir demain pour bordeaux et revenir trois jours plus tard.
- Comment me rendre à Bordeaux le premier decembre et revenir le 3?
Nous sommes à parisConnaissance
INTENTION
ENTITÉS
Trouver un train (Aller - retour)
Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017
Trouver un train [ Destination Date de départ Origine Date de retour ]
D'où partez vous ?
Natural Language Processing
56
- J’aimerais partir demain pour bordeaux et revenir trois jours plus tard.
- Comment me rendre à Bordeaux le premier decembre et revenir le 3?
Nous sommes à parisConnaissance
INTENTION
ENTITÉS
Trouver un train (Aller - retour)
Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017
Trouver un train [ Destination Date de départ Origine Date de retour ]
Paris
D'où partez vous ?
Natural Language Processing
57
- J’aimerais partir demain pour bordeaux et revenir trois jours plus tard.
- Comment me rendre à Bordeaux le premier decembre et revenir le 3?
Nous sommes à parisConnaissance
INTENTION
ENTITÉS
Trouver un train (Aller - retour)
Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017
Deux trains sont disponibles pour Bordeaux depuis Montparnasse le 01/12 :
le premier est à 8h30 pour 25 €, le deuxième est à 14h30 pour 32 €
Lequel désirez vous ?
Trouver un train [ Destination Date de départ Origine Date de retour ]
Paris
D'où partez vous ?
Natural Language Processing
58
- J’aimerais partir demain pour bordeaux et revenir trois jours plus tard.
- Comment me rendre à Bordeaux le premier decembre et revenir le 3?
Nous sommes à parisConnaissance
INTENTION
ENTITÉS
Trouver un train (Aller - retour)
Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017
Le deuxième
Trouver un train [ Destination Date de départ Origine Date de retour ]
Paris
D'où partez vous ?
Deux trains sont disponibles pour Bordeaux depuis Montparnasse le 01/12 :
le premier est à 8h30 pour 25 €, le deuxième est à 14h30 pour 32 €
Lequel désirez vous ?
Choix 2
Natural Language Processing
59
- J’aimerais partir demain pour bordeaux et revenir trois jours plus tard.
- Comment me rendre à Bordeaux le premier decembre et revenir le 3?
Nous sommes à parisConnaissance
INTENTION
ENTITÉS
Trouver un train (Aller - retour)
Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017
Le deuxième
Je reserve le train de 14h30 pour vous
Trouver un train [ Destination Date de départ Origine Date de retour ]
Paris
D'où partez vous ?
Deux trains sont disponibles pour Bordeaux depuis Montparnasse le 01/12 :
le premier est à 8h30 pour 25 €, le deuxième est à 14h30 pour 32 €
Lequel désirez vous ?
Choix 2
Natural Language Processing
60
Contexte et personnalité
61
Contexte
62
Court | long
Contexte
63
Court | long
Contexte
64
Court | long
terme
Contexte
65
Court | long
terme
Contexte
Informations utilisateur : Nom, Prénom, préférences ...
66
Court | long
terme
Contexte
Informations utilisateur : Nom, Prénom, préférences ...
Historique échanges : conversation, documents, positions ...
67
Personnalité
68
Social chatbot Neutral chatbotVS
Personnalité
69
Social chatbot Neutral chatbot
Acquisition et Fidélisation
Proximité avec l’utilisateur
VS
Personnalité
70
Social chatbot Neutral chatbot
Acquisition et Fidélisation
Proximité avec l’utilisateur
Développement complexe
VS
Personnalité
71
Social chatbot Neutral chatbot
Acquisition et Fidélisation
Proximité avec l’utilisateur
Développement complexe
Développement simplifié
Contrôle du contenu
VS
Personnalité
72
Social chatbot Neutral chatbot
Acquisition et Fidélisation
Proximité avec l’utilisateur
Développement complexe
Développement simplifié
Contrôle du contenu
Génère de la frustration
VS
Personnalité
73
Mise en oeuvre d’un chatbot météo
avec Dialogflow
74
Google
Microsoft Bot Framework
IBM Watson
Amazon Alexa
Facebook wit.ai
75
Votre webhook
HTTP
76
Google home
Google Action
Plateforme en ligne de
développement de chatbot Un programme déployé sur
un serveur qui va
s’occuper de récupérer la
météo
Votre webhook
HTTP
Demander à parler au bot
de la météo
77
Votre
webhook
HTTP
Demander à parler au bot
de la météo
78
Votre webhook
HTTP
Demander à parler au bot
de la météo
Quel temps fera-t-il à
Paris demain ?
79
Votre webhook
HTTP
Demander à parler au bot
de la météo
Quel temps fera-t-il à
Paris demain ?
Détection de
l’intention, extraction
des entités
80
Votre webhook
HTTP
Demander à parler au bot
de la météo
Quel temps fera-t-il à
Paris demain ?
Récupération de la
météo
Il fera beau !
Détection de
l’intention, extraction
des entités
81
Mise en oeuvre
dans DialogFlow
82
Conclusion
83
84
Technologies NLP, speech to text,
... matures
85
De grandes attentes du deep
learning pour améliorer
l’expérience utilisateur
86
Un écosystème riche
et qui continue d’investir
87
Le matériel est prêt
88
Questions ?
89

Más contenido relacionado

Más de Publicis Sapient Engineering

XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéPublicis Sapient Engineering
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...Publicis Sapient Engineering
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !Publicis Sapient Engineering
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizPublicis Sapient Engineering
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéPublicis Sapient Engineering
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectPublicis Sapient Engineering
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...Publicis Sapient Engineering
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018Publicis Sapient Engineering
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...Publicis Sapient Engineering
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...Publicis Sapient Engineering
 
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieuXebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieuPublicis Sapient Engineering
 
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiqueXebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiquePublicis Sapient Engineering
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsPublicis Sapient Engineering
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...Publicis Sapient Engineering
 
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...Publicis Sapient Engineering
 
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningTech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningPublicis Sapient Engineering
 
XebiCon'17 : comment j’ai automatisé la gestion des incidents de photobox en...
XebiCon'17 : comment j’ai automatisé la gestion des incidents de photobox en...XebiCon'17 : comment j’ai automatisé la gestion des incidents de photobox en...
XebiCon'17 : comment j’ai automatisé la gestion des incidents de photobox en...Publicis Sapient Engineering
 

Más de Publicis Sapient Engineering (20)

XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieuXebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
 
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiqueXebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs Musique
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
 
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
 
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningTech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
 
XebiCon'17 : comment j’ai automatisé la gestion des incidents de photobox en...
XebiCon'17 : comment j’ai automatisé la gestion des incidents de photobox en...XebiCon'17 : comment j’ai automatisé la gestion des incidents de photobox en...
XebiCon'17 : comment j’ai automatisé la gestion des incidents de photobox en...
 

XebiCon'17 : Chatbots, état de l’art et prochains challenges - Jean-Baptiste Claramonte et Josselin Moulay

  • 1. Chatbots État de l’art et prochains challenges 1
  • 4. 1. Les chatbots dans l’histoire et l’actualité 2. Le WHY des chatbots 3. Définition du besoin 4. Comprendre le langage naturel 5. Contexte et personnalité 6. Démonstration de mise en oeuvre d’un chatbot 4
  • 5. 5
  • 6. 6
  • 7. 1950 1960 1970 1980 1990 2000 2010 2020 1950 Test de Turing 1966 Eliza 1982 Jabberwacky 1995 A.L.I.C.E 2010 Apple Siri 2012 Google Now 2015 Alexa Cortana 2017 Google Home 7
  • 12. Zo 12
  • 14. 14
  • 15. 15
  • 16. Le WHY des chatbots 16
  • 19. 19
  • 20. Jusqu’ici “Mobile First”, Google passe à “AI First” 20
  • 22. Les chatbots seront au coeur des interactions 22
  • 24. Exemple: changement de forfait internet 24
  • 26. Exemple: comprendre sa facture d’électricité 26
  • 27. Exemple: prendre un rendez-vous chez son docteur 27
  • 31. DailyBot Vendre des abonnements Citer des extraits GuideBot Quel model ? 31
  • 32. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Quel model ? 32
  • 33. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Interactions limitées Quel model ? 33
  • 34. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Discussions complexesInteractions limitées Quel model ? 34
  • 35. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Discussions complexesInteractions limitées Sujet cadré Quel model ? 35
  • 36. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Discussions complexes Sujet libre Interactions limitées Sujet cadré Quel model ? 36
  • 37. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Discussions complexes Sujet libre Interactions limitées Sujet cadré Personnalité minimale Quel model ? 37
  • 38. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Discussions complexes Sujet libre Personnalité avancée Interactions limitées Sujet cadré Personnalité minimale Quel model ? 38
  • 39. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Discussions complexes Sujet libre Personnalité avancée Interactions limitées Sujet cadré Personnalité minimale Peu de contexte Quel model ? 39
  • 40. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Discussions complexes Sujet libre Personnalité avancée Contexte omniprésent Interactions limitées Sujet cadré Personnalité minimale Peu de contexte Quel model ? 40
  • 41. DailyBot Vendre des abonnements Citer des extraits GuideBot Orienter en temps réel Accompagner les voyageurs Discussions complexes Sujet libre Personnalité avancée Contexte omniprésent Interactions limitées Sujet cadré Personnalité minimale Peu de contexte Récupérer Retrieval Générer Generative Quel model ? 41
  • 44. Comprendre le langage naturel Intention Entités 44
  • 45. 45
  • 46. - Je souhaite donner 10,50 € à Martine - Transfert à Martine la somme de 10 euros et cinquante centimes 46
  • 47. - Je souhaite donner 10,50 € à Martine - Transfert à Martine la somme de 10 euros et cinquante centimes INTENTION Transfert d’argent Natural Language Processing 47
  • 48. - Je souhaite donner 10,50 € à Martine - Transfert à Martine la somme de 10 euros et cinquante centimes [ Somme Devise Destinataire ] INTENTION ENTITÉS Transfert d’argent Envoyer 10,50 € à Martine Natural Language Processing 48
  • 49. - Je souhaite donner 10,50 € à Martine - Transfert à Martine la somme de 10 euros et cinquante centimes INTENTION ENTITÉS Transfert d’argent Envoyer 10,50 € à Martine Transfert d’argent [ Somme Devise Destinataire ] Natural Language Processing 49
  • 50. - Je souhaite donner 10,50 € à Martine - Transfert à Martine la somme de 10 euros et cinquante centimes INTENTION ENTITÉS Transfert d’argent Envoyer 10,50 € à Martine Un SMS vous a été envoyé afin de vérifier votre identité. Merci de me fournir le code de validation pour finaliser la transaction. Transfert d’argent [ Somme Devise Destinataire ] Natural Language Processing 50
  • 51. - Je souhaite donner 10,50 € à Martine - Transfert à Martine la somme de 10 euros et cinquante centimes INTENTION ENTITÉS Transfert d’argent Envoyer 10,50 € à Martine Un SMS vous a été envoyé afin de vérifier votre identité. Merci de me fournir le code de validation pour finaliser la transaction. XF102Q Transfert d’argent [ Somme Devise Destinataire ] Natural Language Processing 51
  • 52. - Je souhaite donner 10,50 € à Martine - Transfert à Martine la somme de 10 euros et cinquante centimes INTENTION ENTITÉS Transfert d’argent Envoyer 10,50 € à Martine Un SMS vous a été envoyé afin de vérifier votre identité. Merci de me fournir le code de validation pour finaliser la transaction. La somme de 10,50 € a été versée à Martine Transfert d’argent [ Somme Devise Destinataire ] XF102Q Natural Language Processing 52
  • 53. - J’aimerais partir demain pour bordeaux et revenir trois jours plus tard. - Comment me rendre à Bordeaux le premier decembre et revenir le 3? 53
  • 54. - J’aimerais partir demain pour bordeaux et revenir trois jours plus tard. - Comment me rendre à Bordeaux le premier decembre et revenir le 3? INTENTION ENTITÉS Trouver un train (Aller - retour) Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017 Natural Language Processing 54
  • 55. - J’aimerais partir demain pour bordeaux et revenir trois jours plus tard. - Comment me rendre à Bordeaux le premier decembre et revenir le 3? INTENTION ENTITÉS Trouver un train (Aller - retour) Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017 Trouver un train [ Destination Date de départ Origine Date de retour ] Natural Language Processing 55
  • 56. - J’aimerais partir demain pour bordeaux et revenir trois jours plus tard. - Comment me rendre à Bordeaux le premier decembre et revenir le 3? Nous sommes à parisConnaissance INTENTION ENTITÉS Trouver un train (Aller - retour) Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017 Trouver un train [ Destination Date de départ Origine Date de retour ] D'où partez vous ? Natural Language Processing 56
  • 57. - J’aimerais partir demain pour bordeaux et revenir trois jours plus tard. - Comment me rendre à Bordeaux le premier decembre et revenir le 3? Nous sommes à parisConnaissance INTENTION ENTITÉS Trouver un train (Aller - retour) Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017 Trouver un train [ Destination Date de départ Origine Date de retour ] Paris D'où partez vous ? Natural Language Processing 57
  • 58. - J’aimerais partir demain pour bordeaux et revenir trois jours plus tard. - Comment me rendre à Bordeaux le premier decembre et revenir le 3? Nous sommes à parisConnaissance INTENTION ENTITÉS Trouver un train (Aller - retour) Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017 Deux trains sont disponibles pour Bordeaux depuis Montparnasse le 01/12 : le premier est à 8h30 pour 25 €, le deuxième est à 14h30 pour 32 € Lequel désirez vous ? Trouver un train [ Destination Date de départ Origine Date de retour ] Paris D'où partez vous ? Natural Language Processing 58
  • 59. - J’aimerais partir demain pour bordeaux et revenir trois jours plus tard. - Comment me rendre à Bordeaux le premier decembre et revenir le 3? Nous sommes à parisConnaissance INTENTION ENTITÉS Trouver un train (Aller - retour) Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017 Le deuxième Trouver un train [ Destination Date de départ Origine Date de retour ] Paris D'où partez vous ? Deux trains sont disponibles pour Bordeaux depuis Montparnasse le 01/12 : le premier est à 8h30 pour 25 €, le deuxième est à 14h30 pour 32 € Lequel désirez vous ? Choix 2 Natural Language Processing 59
  • 60. - J’aimerais partir demain pour bordeaux et revenir trois jours plus tard. - Comment me rendre à Bordeaux le premier decembre et revenir le 3? Nous sommes à parisConnaissance INTENTION ENTITÉS Trouver un train (Aller - retour) Aller pour Bordeaux le 01/12/2017, retour pour __?__ le 03/12/2017 Le deuxième Je reserve le train de 14h30 pour vous Trouver un train [ Destination Date de départ Origine Date de retour ] Paris D'où partez vous ? Deux trains sont disponibles pour Bordeaux depuis Montparnasse le 01/12 : le premier est à 8h30 pour 25 €, le deuxième est à 14h30 pour 32 € Lequel désirez vous ? Choix 2 Natural Language Processing 60
  • 66. Court | long terme Contexte Informations utilisateur : Nom, Prénom, préférences ... 66
  • 67. Court | long terme Contexte Informations utilisateur : Nom, Prénom, préférences ... Historique échanges : conversation, documents, positions ... 67
  • 69. Social chatbot Neutral chatbotVS Personnalité 69
  • 70. Social chatbot Neutral chatbot Acquisition et Fidélisation Proximité avec l’utilisateur VS Personnalité 70
  • 71. Social chatbot Neutral chatbot Acquisition et Fidélisation Proximité avec l’utilisateur Développement complexe VS Personnalité 71
  • 72. Social chatbot Neutral chatbot Acquisition et Fidélisation Proximité avec l’utilisateur Développement complexe Développement simplifié Contrôle du contenu VS Personnalité 72
  • 73. Social chatbot Neutral chatbot Acquisition et Fidélisation Proximité avec l’utilisateur Développement complexe Développement simplifié Contrôle du contenu Génère de la frustration VS Personnalité 73
  • 74. Mise en oeuvre d’un chatbot météo avec Dialogflow 74
  • 75. Google Microsoft Bot Framework IBM Watson Amazon Alexa Facebook wit.ai 75
  • 76. Votre webhook HTTP 76 Google home Google Action Plateforme en ligne de développement de chatbot Un programme déployé sur un serveur qui va s’occuper de récupérer la météo
  • 77. Votre webhook HTTP Demander à parler au bot de la météo 77
  • 78. Votre webhook HTTP Demander à parler au bot de la météo 78
  • 79. Votre webhook HTTP Demander à parler au bot de la météo Quel temps fera-t-il à Paris demain ? 79
  • 80. Votre webhook HTTP Demander à parler au bot de la météo Quel temps fera-t-il à Paris demain ? Détection de l’intention, extraction des entités 80
  • 81. Votre webhook HTTP Demander à parler au bot de la météo Quel temps fera-t-il à Paris demain ? Récupération de la météo Il fera beau ! Détection de l’intention, extraction des entités 81
  • 82. Mise en oeuvre dans DialogFlow 82
  • 84. 84
  • 85. Technologies NLP, speech to text, ... matures 85
  • 86. De grandes attentes du deep learning pour améliorer l’expérience utilisateur 86
  • 87. Un écosystème riche et qui continue d’investir 87
  • 88. Le matériel est prêt 88