La présentation donne une description détaillée de l'architecture globale à mettre en place pour un projet de Chatbot ainsi que les contraintes fonctionnelles et techniques à prendre en considération avant et durant la phase d'implémentation . Elle décrit aussi la méthodologie adoptée par le CETIC pour réaliser ce type de projet allant de la compréhension des besoins au déploiement et mise en production .
3. www.cetic.be
Présentation du CETIC
• Le CETIC a été créé en 2001 à l’initiative de l’Université de Namur (UNamur), de
l’Université catholique de Louvain (UCLouvain) et de l’Université de Mons (UMons).
3
DSIDEMBEDiS ECS
5. www.cetic.be
Contexte
• « Un chatbot, aussi appelé « agent conversationnel », est un programme informatique
capable de simuler une conversation avec un ou plusieurs humains par échange vocal ou
textuel»
5
• Dans ce cadre, le CETIC peut aider les entreprises à mettre en place un cas d’utilisation et
étudier les différentes approches fonctionnelles et techniques liées à l’implémentation
d’un chatbot.
6. www.cetic.be
Contexte
ØPourquoi est-ce intéressant ?
- Améliorer les relations clients
- Faciliter la navigation entre les applications
- Répondre aux demandes simples
6
Météo France Jam Transport bot
SNCF
Oui SNCF
Source : http://mille-alliance.fr/un-chatbot-cest-quoi-et-ca-sert-a-quoi/
7. www.cetic.be
Contexte
ØPourquoi c’est intéressant ?
- Donner aux clients l’accès aux informations de compte
- Diriger les visiteurs vers des ressources utiles
7
Bank of America
Source : https://kinsta.com/fr/blog/chatbot/
Amtrak Julie
8. www.cetic.be
Architecture
8
Interface de
messagerie
Moteur du bot Stockage
- Assure la transmission des
messages entre le bot et
l’utilisateur
- Représente le cœur du bot
- Il interprète les requêtes
reçues par l’utilisateur
- Contient les données
nécessaires au traitement
des messages envoyés par
les utilisateurs
Question Question
Réponse Réponse
10. www.cetic.be
Architecture
10
Interface de
messagerie
Moteur du
bot
Stockage
Ce que le moteur du bot doit assurer
- Déchiffrement des interactions entre l’homme et la machine grâce aux
techniques de Machine Learning et de reconnaissance du langage
naturel.
- Génération des réponses adéquates aux demandes des utilisateurs.
- Communication avec d’autres composants externes afin d’avoir toutes les
informations nécessaires à la formulation de la réponse.
Différentes catégories NLP
Natural Language Processing
NLU
Natural Language
Undrestanding
NLG
Natural Language Generation
11. www.cetic.be
Architecture
11
Interface de
messagerie
Moteur du
bot
Stockage
NLP, c’est quoi?
« Le NLP, Natural Language Processing ou Traitement Automatique du
Langage en français, désigne l’ensemble des tâches permettant à un
ordinateur de traiter des données en langage humain »
Domaines d’applications
Reconnaissance vocale, classification, analyse des sentiments, traduction du
texte, etc.
Amazon Alexa Google Siri
12. www.cetic.be
Architecture
12
Interface de
messagerie
Moteur du
bot
Stockage
NLU, c’est quoi?
NLU est un sous-composant de NLP.
Permet la compréhension du sens du texte en le découpant et l’analysant.
Types d’analyse
Analyse lexicale : découper le texte en un ensemble de mots.
Analyse syntaxique : permet d’étudier la structure du texte et la relation qui
existe entre les mots en fonction des règles syntaxiques (grammaire).
16. www.cetic.be
Méthodologie
16
La méthode CRISP-DM (Cross Industry Standard Process for Data Mining)
« La méthode CRISP (initialement connue comme CRIPS-DM ) a été au départ développée
par IBM dans les années 60 pour réaliser les projets de data mining. Elle reste aujourd’hui
la seule méthode utilisable efficacement pour tous les projets Data Science »
17. www.cetic.be
Méthodologie
17
1. Compréhension du problème
Ø Définir et hiérarchiser les objectifs du bot, exemple :
- Accéder à des services (banque en ligne)
- Réserver un séjour (vol, hôtels, etc.)
- Assistance utilisateur ( FAQ)
- Recommandation des produits pour les clients
Ø Identifier les besoins utilisateurs
Ø Définition des scénarios
18. www.cetic.be
Méthodologie
18
2. Compréhension des données
Ø Analyser les données brutes qu’on manipule
Ø Identifier la qualité de ces données
Ø Identifier ce qu’on peut faire avec ces données afin de
répondre aux besoins des utilisateurs
3. Préparation des données
Ø C’est une étape importante avant le traitement
Ø Désigne les opérations de nettoyage,
standardisation et enrichissement des données
19. www.cetic.be
Méthodologie
19
4. Modélisation
Ø Définition du modèle du bot
Ø Paramétrer l’ensemble de questions/réponses afin de
mettre en place les scénarios de conversation possibles
Ø Différents types de réponse :
Texte simple, accès à des services externes, échange de
vidéos, images, etc.
5. Evaluation
Ø L’évaluation vise à vérifier le(s) modèle(s) ou les
connaissances obtenues afin de s’assurer qu’ils répondent aux objectifs formulés au début
du processus.
20. www.cetic.be
Méthodologie
20
6. Déploiement
Ø Mise en production des modèles obtenus pour les utilisateurs
finaux
Ø Intégration du bot sur les supports retenus : FB
Skype, Site web , application mobile, etc.
22. www.cetic.be
Différents types de bot
22
Bot statique
Ø Simple à développer et à déployer
Ø Basé sur les arbres de décision
Ø Chaque arbre représente un
Scénario complet
Ø Expérience utilisateur limitée
Chatbots
Statiques Intelligents
Génératifs
Réponses
prédéfinies
23. www.cetic.be
Différents types de bot
23
Bot intelligent
Ø Basé sur les techniques de ML et de NLP
Ø Permet de comprendre le sens de la demande
Ø Permet de garder le fil de la discussion
Bot basé sur les réponses prédéfinies
Ø Les réponses sont sélectionnées à partir d’une base de données qui contient déjà
toutes les réponses possibles
Ø Modèles ML pour détecter le contexte
Chatbot
Statique Intelligent
Génératifs
Réponses
prédéfinies
24. www.cetic.be
Différents types de bot
24
Bot basé sur les modèles génératifs
Ø Machine Learning pour la détection de contexte
Ø Réseaux de neurones pour la génération des réponses
Ø Entrainé sur un historique de questions/réponses
Ø Nécessitent un nombre important d’exemples de questions/réponses
pour se construire
Ø Les réponses de ces modèles peuvent être inappropriées (orthographes, sens, etc.)
Chatbot
Statique Intelligent
GénératifsRéponses
prédéfinies
25. www.cetic.be
Contraintes à considérer
25
Evaluation du bot
Ø Une étape importante pour mesurer l’efficacité et la qualité des résultats fournis par le
bot
Ø Il faut répondre à plusieurs questions : place que le bot va occuper dans le parcours
client ? Le client est-il satisfait ? volume d’utilisation du bot ? Déroulement des
conversation ? Etc.
Ø Deux niveaux d’évaluation :
1. Evaluation des modèles de ML
2. Evaluation de la qualité du bot
26. www.cetic.be
Contraintes à considérer
26
Evaluation du bot
1. Evaluation des modèles de ML
Quoi ? Pourquoi ? Comment ?
Evaluation de la performance
des algorithmes
d’apprentissage sur les
données
Mesurer la qualité de
prédiction de contexte de la
conversation et la génération
des réponses
En calculant des indicateurs de
performance
27. www.cetic.be
Contraintes à considérer
27
Indicateur Description
Matrice de confusion Permet d'évaluer l'efficacité du modèle de classification. Chaque colonne de la
matrice présente le nombre d’occurrences d’une classe estimée et chaque ligne
présente le nombre d’occurrences de la classe réelle.
Précision Présente la proportion d’éléments bien classés pour une classe donnée.
Rappel Présente la proportion d’éléments bien classés par rapport au nombre
d’éléments de la classe à prédire.
F-mesure Mesure de compromis entre précision et rappel.
Courbe ROC « La courbe ROC est une représentation du taux de vrais positifs en fonction du
taux de faux positifs. Son intérêt est de s’affranchir de la taille des données de
test dans le cas où les données sont déséquilibrées. »
Evaluation du bot
1. Evaluation des modèles de ML
28. www.cetic.be
Contraintes à considérer
28
Evaluation du bot
1. Evaluation des modèles de ML
Deux classes :
- Positive : incendie
- Négative : pas d’incendie
Rappel : C’est la capacité de notre modèle à détecter tous les incendies.
Précision : C’est la capacité de notre modèle à ne déclencher d’alarme que pour un vrai
incendie.
Si on prédit un
incendie et il y en a
bien un
Si la prédiction est
incorrecte
29. www.cetic.be
Contraintes à considérer
29
Evaluation du bot
2. Evaluation de la qualité du bot
Quoi ? Pourquoi ? Comment ?
Mesurer les résultats du
chatbot et identification des
points bloquant
Améliorer la qualité du bot et
satisfaire les clients.
Etudier l’impact positif sur les
clients.
Mise en place des indicateurs
de performance : KPI (Key
Performance Indicator)
30. www.cetic.be
Contraintes à considérer
30
Evaluation du bot
2. Evaluation de la qualité du bot
Ø Il faut les identifier en fonction des besoins des entreprises
Ø Trois règles à suivre :
- Identifier les besoins auxquels ils répondent
Ex : On a besoin d’analyser nos ventes sur toute l’année
- Indicateurs doivent être alignés avec les objectifs et la stratégie
de l’entreprise
Ex: Si on veut augmenter le chiffre d’affaire, il faut identifier les facteurs de succès
- Les indicateurs doivent fournir des plans d’action
Ex : proposer des produits pour chaque type de client
31. www.cetic.be
Contraintes à considérer
31
Evaluation du bot
2. Evaluation de la qualité du bot
Ø Exemples de clé à calculer pour mesurer la performance du bot :
- Le volume d’activité du bot
- Le taux de rebond
- Le taux de rétention
- Le volume de réponses apportées par le bot
- La répartition horaire des échanges
- Le taux de non réponse
- Les questions les plus fréquentes
- Les feedbacks utilisateurs (taux de satisfaction et taux d’évaluation)
- …
32. www.cetic.be
Contraintes à considérer
32
Sécurité des données
Quoi ? Pourquoi ? Comment ?
S’assurer que les données
personnelles sont sécurisées
et protégées.
Eviter la perte et le piratage
des données personnelles.
Mise en place de système
d’authentification, chiffrement
et anonymisation des données
40. www.cetic.be
Cas d’utilisation technique
Comment avons nous évalué ces scénarios ?
Réapprentissage des modèles d’analyse
ØL’amélioration des modèles d’analyse est réalisée par l’exécution de processus d’injection
de nouvelles données dans les modules de Machine Learning de manière périodique ou
occasionnelle .
ØCe processus va permettre de récupérer les nouvelles questions des utilisateurs, réponses
du système, etc… afin d’améliorer les modèles d’analyse de données.
ØLes technologies de récupération sont diverses de par leur mise en œuvre, ce qui permet
aux développeurs de sélectionner celle qui correspond le mieux à leur besoin.
42
41. www.cetic.be
Cas d’utilisation technique
Comment avons nous évalué ces scénarios ?
Récupération de la conversation
ØSeules les demandes qui n’ont pas eu de réponses ou qui ont eu des réponses non
satisfaisantes pour l’utilisateur seront récupérées et stockées .
ØPour ce faire, le Bot peut demander le degré de satisfaction aux utilisateurs à la fin de la
conversation.
43
Plateforme Plateforme
43. www.cetic.be
Technologies existantes
Interface de messagerie : critères de comparaison
45
Interface de
messagerie
Moteur du
bot
Stockage
Critère Description
License
La License de la technologie dépend des besoins spécifiques des
entreprises
Sécurité
Niveau de sécurité des données offert par la librairie
(chiffrement, stockage, etc.)
Fonctionnalités
Personnalisation des réponses (image, vidéo, fichier, texte,
bouton, etc.) ou intégration à des services externes (Dropbox,
YouTube, etc.)
Documentation
Critère important pour les personnes sui souhaitent mettre en
place un chatbot (API simple, complexe, etc.)
Développement Création d’un chatbot sur cette plateforme est simple ou pas
44. www.cetic.be
Technologies existantes
Interface de messagerie : comparaison
46
Interface de
messagerie
Moteur du
bot
Stockage
Plateforme License Sécurité Fonctionnalités Documentation Développement
Facebook
Messenger
Gratuit Moyen Bien Très bien Facile
Telegram
GNU GPL
v2.0 ou plus
Très bien Très bien Bien Facile
Slack Payant Très bien Très bien Très bien Facile
Kik Freeware Mauvais Bien Mauvaise Facile
Skype
Free ou
Payant
Bien Moyenne Très bien Facile
Hangout Payant Très bien Très bien Très bien Difficile
Note : Les mesures de qualité (bien, mauvais, facile, etc.) mentionnées ont été basées sur le retour d’expérience
des entreprises qui ont utilisé ces plateformes pour la réalisation de leurs chatbots.
45. www.cetic.be
Technologies existantes
Moteur du bot : critères de comparaison
47
Interface de
messagerie
Moteur du bot
Stockage
Critère Description
Documentation
La documentation donne une vision plus claire sur
l’utilisation de l’API : une documentation simple avec des
exemples précis facilite la compréhension de l’utilisation
de la bibliothèque.
Dernière version
La date de la dernière version de la librairie est un critère
important qui détermine le niveau de maturité de la
bibliothèque.
Modules proposés Différents type d’analyse NLP proposés par la librairie
Performance
Puissance des algorithmes proposés par la librairie en
termes de rapidité de traitement d’un grand volume de
données, de précision de réponses, etc.
46. www.cetic.be
Technologies existantes
Moteur du bot : comparaison
48
Interface de
messagerie
Moteur du bot
Stockage
Librairie Documentation Dernière version Modules proposés Performance
NLTK Très bien Mai 2018 NLP Moyenne
TextBlob Très bien Janvier 2018 NLP
Analyse de
sentiments
Correction
d’orthographe
Traduction du texte
Moyenne
Apache
OpenNLP
Bien Juillet 2018 NLP
NLG
Traduction du texte
-
Apache
Mahout
Mauvaise Mars 2016 ML
NLP
-
47. www.cetic.be
Technologies existantes
Moteur du bot : autres bibliothèques
49
Interface de
messagerie
Moteur du bot
Stockage
Librairie Description
Recast.Ai
La librairie est gratuite dans la limitation de 3 requêtes par seconde. Elle
peut être déployée facilement sur plusieurs plateformes ou sur un
connecteur bot customisé.
Wit.ai
API gratuite développée par une startup française et rachetée ensuite par
Facebook. Elle permet de créer des bots basés sur le texte ou sur la voix
TensorFlow
C’est une librairie Open Source de Google. L’API peut être utilisée avec
plusieurs langages à savoir C, C++, Python, Java et Go.
48. www.cetic.be
Technologies existantes
Moteur du bot : plateformes de création de bot
50
Interface de
messagerie
Moteur du bot
Stockage
Librairie Tarification
FlowXo
Freemium (1 bots + 500 interactions / mois offerts, puis à partir de
19$ / mois)
Dialogflow Service payant
Microsoft bot Service payant
Amazon Lex Service payant
Chatfuel
Gratuit jusqu’à 100 000 conversations / mois
Sequel
Gratuit (pour l’instant car en phase Beta)
Botsify
Freemium (1 bot avec 100 utilisateurs / mois, puis à partir de 10$ /
mois)
ChatterBot Gratuit
53. www.cetic.be
Conclusion
ØMéthodologie adoptée par le CETIC pour la réalisation d’un projet Chatbot
- La description des différents composants d'un chatbot et des fonctions mises en œuvre
dans chacun d’eux
- L'analyse des techniques de bot basées sur l'intelligence artificielle et les dispositifs de
sécurité des données
- Etude des technologies actuelles disponibles qui permettront de réaliser les fonctions de
cette architecture
57
54. www.cetic.be
linkedin.com/company/cetic
info@cetic.be
+32 71 159 362
twitter.com/@CETIC
twitter.com/@CETIC_be
www.cetic.be
Aéropole de Charleroi-Gosselies
Avenue Jean Mermoz 28
B-6041 Charleroi - Belgique
Directeur
Tel : +32.472.569.816
Damien Hubaux
Pour en
savoir plus…
damien.hubaux@cetic.be