1- Rasa chatbot avec SGBDR MySQL
Happy Coding!!!!
Prérequis: Vous devez avoir Python 3.X sur votre machine!
1.1 RASA:
Rasa n’est qu'un framework d'apprentissage automatique open source pour la création d'assistant robot et d’intelligence artificielle.
Ce framework est doté des composantes essentielles à la création d’un assistant de discussion automatisée. Les composantes sont Rasa X, Rasa NLU et Rasa CORE.
Rasa X - C'est un outil graphique basé sur un navigateur qui vous permettra de former un modèle d'apprentissage automatique en utilisant le mode interactif basé sur une interface graphique. Vous pouvez tester aussi le résultat de l’exécution du modèle sur cet outil graphique.
Rasa NLU - C'est l'endroit où rasa essaie de comprendre les messages de l'utilisateur pour détecter l' intention et l' entité présente dans votre message. Rasa NLU à différents composants pour reconnaître les intentions et les entités, dont la plupart ont des dépendances supplémentaires.
Spacy (installer séparément)
Tensorflow (déjà disponible avec Rasa)
Rasa Core - C'est l'endroit où Rasa essaie de vous aider avec le flux de messages contextuels. Basé sur le message de l'utilisateur, il peut prédire le dialogue en tant que réponse et peut déclencher Rasa Action Server.
Rasa utilise Tensorflow en interne, chaque fois que vous faites " pip install rasa " ou " pip install rasa-x ", par défaut, il installe Tensorflow.
1.2 MySQL:
MySQL est un système de gestion de bases de données relationnelles. Il est distribué sous une double licence GPL et propriétaire.
Exemple:Un assistant de discussion qui stocke les données concernant les besoins des internautes et visiteurs dans une base de données créée avec MySQL. Les informations relatives aux besoins durant la conversation sont stockées dans la table DATA de la base de données.
Structure de la table:
La structure de la table est donnée par le requête sql suivant:
sql = 'create table DATA ( id int not null primary key auto_increment, profil varchar(200) null, projet varchar(255) null,techno varchar(255) null, email varchar(200) null, phone varchar(200) null);'
Le champ DATA.profil stocke les informations relatives aux profils recherchés par le client. DATA.projet stocke les informations de son projet, DATA.techno stocke la/les technologie(s) utilisée(s), DATA.email stocke son adresse e-mail et DATA.phone stocke son numéro de téléphone.
2- Structure d'un projet chatbot avec Rasa
Un projet d’assistant conversationnel rasa est composé de quelques dossiers et fichiers qui interagissent entre eux.
-Un dossier actions qui stocke les interactions externes au bot. Ce dossier contient des fichiers écrits en python tels que la manipulation des bases de données, des envois d’e-mail, etc. Ce sont des actions particulières au bot.
-Un dossier data qui contient en générale trois fichier: nlu.yml, stories.yml et rules.yml
nlu.yml contient les entités, les paramètres et les données d'entraînement susceptibles entrés par un utilisateur.
stories.yml contient les mémoires du bot durant la conversation.
rules.yml contient les règles de conversation s’il y en a.
- Un dossier models qui stockent le/les model(s) pré-entraînés. L’assistant de conversation prend toujours par défaut le dernier modèle entraîné.
- Un dossier tests qui stocke un fichier test_stories.yml pour tester le mémoire du bot.
- Un fichier domain.yml qui contient les informations stockant les réponses du bot selon les entités prédites par le modèle durant la conversation.
- Des fichiers endpoints.yml, config.yml, credentials.yml qui stockent les informations de configuration de l'entraînement du modèle, les endpoint de l’api du serveur rasa et les credentials pour communiquer le bot à un canal externe.
3- Installer et exécuter un projet rasa dans votre environnement local
Pour l’installation du projet, il suffit de l’installer tous les requirements habituellement stockés dans le fichier requirements.txt via pip en utilisant le commande:
pip install -r requirements.txt
Pour entraîner un nouveau modèle, il suffit de lancer la commande rasa train
Pour lancer les actions particulières, il suffit de lancer la commande rasa run actions
Pour lancer le serveur et activer l’api rasa, il suffit de lancer la commande rasa run --enable-api --cors “*” -p 5006 , J’ai utilisé ici le port 5006. C’est à vous de choisir votre port.
Pour tester l’assistant en mode console, il suffit de lancer la commande rasa shell
Pour tester l’api sur Swagger ou d’autre outils,
http://0.0.0.0:5006/webhooks/rest/webhook l’url ou l’end point du serveur en local avec le port que je viens de parler en dessus.
Voici le test d'exécution de l’api:
L’assistant de conversation va donner les réponses à l’utilisateur. Ensuite l’utilisateur va choisir les réponses suggérées par le bot.
Exemple: L’utilisateur souhaite une aide à son projet digital.
Il va choisir le bouton “J’ai besoin d’aide pour étoffer mes équipes”
Le bot va lui demander le profil qu’il va chercher en suggérant des réponses.
Exemple d'utilisation: L'utilisateur cherche un développeur pour son projet.
Il va choisir le bouton “Développeur Web”
Ensuite le bot va lui demander quelque description de son projet.
Une fois que l’utilisateur à décrit son projet, le bot va lui demander la technologie à utiliser pour le projet.
Ensuite, le bot va demander les informations utilisateurs tels que son adresse e-mail et son numéro de téléphone pour le contacter pour discuter de son besoin.
Une fois que les informations sont remplis, le bot va demander à l’utilisateur s’il souhaite envoyer sa demande d’aide au responsable.
L’utilisateur va accepter ou refuser l'envoi de sa formulaire de demande d’aide.
Une fois que l’utilisateur va confirmer sa demande, les données seront envoyées directement à la base de données que les administrations pourraient ensuite exploiter à d’autre finalité.
Les données se présentent comme suit dans la base de données.
Résumé:
Cet exemple collecte les besoins des utilisateurs qui consultent un site internet et demande des aides à un projet digital. Le profil recherché, la description de son projet, les technos de l'utilisateur et ses informations sont les informations essentielles à récupérer et puis stockées dans une base de données. Les technologies utilisées pour la réalisation de cet assistant robot sont Rasa et MySQL. L’utilisation de MySQL facilite l’exploitation de données du robot, facilite aussi la partie gestion administration sous la notoriété que MySQL est facile à lier à d’autre communauté de site web.
Best regards!!!!!
Assistant from scratch!!
RépondreSupprimer