Fermer

novembre 30, 2021

Implémentation de chatbot intelligent à l'aide de RASA


À l'ère des chatbots, en plus d'imiter les humains, ils peuvent également effectuer des tâches complexes comme la réservation de billets pour des films, etc. Parmi diverses implémentations, Rasa est une implémentation open source pour Compréhension du langage naturel (NLU) et Modèles à double intention et transformateur d'entité (DIET) . Il peut interagir avec des bases de données, des API, des flux conversationnels pour un apprentissage interactif avec renforcement du réseau de neurones.

Dans cette étude, diverses fonctionnalités du noyau Rasa sont étudiées et, dans une large mesure, il peut effectuer des tâches complexes. Les détails de mise en œuvre sont étudiés comme l'interaction avec la base de données et l'API. Tracker Store a été examiné en modifiant le fichier de base socket.io en ajoutant des métadonnées aux données de message de l'utilisateur afin que l'IP et le port de l'utilisateur puissent être capturés. De plus, les détails de l'action, de l'apprentissage interactif et de la mise en œuvre sont testés sur Pycharm IDE. le contexte a été envoyé et quelles actions doivent être entreprises en référence aux contextes et en gérant gracieusement la conversation inattendue et en conduisant la conversation lorsque l'utilisateur s'éloigne du chemin de conversation normal et s'améliore également avec le temps, c'est donc bien au-delà des interactions de la FAQ.

Rasa Conversational AI assistant se compose normalement de deux composants : Rasa NLU et Rasa Core. Rasa NLU peut être simplement traité comme une oreille qui prend les entrées des utilisateurs et Rasa Core est comme le cerveau qui prendra des décisions en fonction des entrées des utilisateurs. clients (service client), ou interagir avec les clients (ventes et marketing), ou faire les deux. Cependant, il existe quelques applications de chatbot qui sont uniques à chaque industrie. Voici quelques secteurs clés où les chatbots sont déployés :

  1. Commerce de détail et commerce électronique
  2. Voyages et hôtellerie
  3. Banque, finance et technologie financière
  4. Santé
  5. Médias et divertissement
  6. Éducation

Pourquoi Rasa ?

Parmi les différentes approches essayées, nous avons opté pour le chatbot RASA pour l'implémentation de HAWK (une plate-forme interne). Les principaux avantages de RASA par rapport aux autres chatbots sont les suivants :

  1. Gratuit et open source
  2. Facile à utiliser
  3. Haute personnalisation
  4. Sur site, déploiement sur son propre serveur/compatible avec toutes les plateformes cloud
  5. Une communauté croissante
  6. Peut être intégrée aux plates-formes de messagerie populaires

Caractéristiques de Rasa

Extraire le sens des messages

Transformer le texte de forme libre en anglais en données structurées. Prend en charge plusieurs intentions et les entités pré-entraînées et personnalisées. NLU entièrement personnalisable pour n'importe quel domaine, industrie ou cas d'utilisation. Gérez en douceur les changements de sujet et intégrez en toute transparence la logique métier dans les flux de conversation.

Apprentissage interactif

Générez des données de formation en parlant à votre assistant et fournissez des commentaires en cas d'erreur. Partagez facilement votre assistant avec des utilisateurs de test.

Connectez-vous aux canaux de messagerie couramment utilisés

Exécutez votre assistant sur Slack, Facebook, Google Home, IVR, des canaux personnalisés, etc. Servez plusieurs canaux avec un seul assistant.

Intégrez les appels d'API

Utilisez les actions personnalisées de Rasa pour interagir avec les API, les bases de données et d'autres systèmes. Connectez-vous aux bases de connaissances, aux systèmes de gestion de contenu et aux CRM.

Tirez parti du développement axé sur la conversation

Créez des assistants virtuels centrés sur le client en incorporant des informations sur les utilisateurs et les meilleures pratiques d'ingénierie dans chaque partie du flux de travail de votre équipe.

Version et gérer les modèles

Suivez et gérez vos modèles : passez en production ou annulez facilement. Intégration avec des tests automatisés et CI/CD.

Déployez n'importe où

Conteneurs Docker prêts à déployer et orchestration pour exécuter Rasa sur site, ou via un fournisseur de cloud préféré.

Composant Rasa

Rasa NLU

À cet endroit, rasa essaie de comprendre les messages de l'utilisateur pour détecter l'intention et l'entité dans votre message. Rasa NLU a différents composants pour reconnaître les intentions et les entités des messages utilisateur, dont la plupart ont des dépendances supplémentaires.

Rasa Core

C'est l'endroit où Rasa essaie de vous aider avec le flux de messages contextuels. Il peut prédire le dialogue en tant que réponse en fonction des messages de l'utilisateur et peut déclencher Rasa Action Server. puis en utilisant davantage ces informations pour renforcer votre assistant IA. Il s'agit d'un outil GUI basé sur un navigateur qui vous permettra de former un modèle d'apprentissage automatique en utilisant le mode interactif basé sur GUI. Rasa X est la dernière version de Rasa qui vous aide à créer, améliorer et déployer des assistants d'IA qui sont optimisés par le framework Rasa.

Il se superpose à Rasa Open Source et vous aide à créer un meilleur assistant de chatbot selon vos besoins spécifiques. Il s'agit d'un outil gratuit et fermé disponible pour tous les développeurs et pouvant être déployé facilement n'importe où. La portée du projet consiste à rassembler les données de la base de connaissances Fresh Service articles qui contient presque tous les problèmes rencontrés par les différents clients jusqu'à présent, puis sur la base de ces articles de connaissances à construire/concevoir un chatbot qui peut intégrer toutes les requêtes ou problèmes mentionnés. Par conséquent, chaque fois qu'un utilisateur ou un membre de l'équipe d'assistance informatique a besoin de connaître les étapes de résolution d'une requête, il peut directement discuter avec le bot au lieu de contacter un responsable du service client ou de l'assistance.

Organigramme

  1. 1 . Le message de l'utilisateur final est transmis au Rasa NLU (interprète) dont la sortie est une sortie structurée contenant le texte d'origine, l'intention et les entités, le cas échéant.
  2. Le tracker maintient l'état de la conversation et reçoit la sortie structurée de l'interprète. .
  3. La sortie du tracker est transmise à la politique, qui agit sur l'état actuel du tracker.
  4. La politique décide quelle action suivante appropriée doit être effectuée.
  5. 19659062]Le journal des actions sélectionnées est conservé par un tracker.
  6. La réponse appropriée est fournie à l'utilisateur, en utilisant les intentions définies dans nlu.md, comme utter_response.

Rasa Architecture

Chatbot Workflow

Le le fonctionnement du bot au niveau du backend chaque fois qu'un utilisateur saisit une requête est illustré dans le diagramme ci-dessous :

Les étapes sont :

  1. L'utilisateur écrit une requête au chatbot.
  2. Le chatbot examine le Fichier NLU pour rechercher les intentions et les entités es (le cas échéant) trouvé dans la requête de l'utilisateur.
  3. Le bot essaie de trouver l'histoire pertinente dans le fichier Stories sur la base des intentions trouvées dans le fichier NLU.
  4. Le bot trouve la réponse correcte correspondant à la l'intention mentionnée dans la requête et recherche cette réponse dans le fichier de domaine.
  5. Le bot trouve dans le fichier de domaine si une action personnalisée est définie pour cette histoire/intention particulière.
  6. Si une réponse personnalisée est écrite, le bot fait référence au fichier Actions et émet une réponse à l'utilisateur défini dans le fichier Actions.
  7. Si aucune réponse personnalisée n'est écrite, le bot émet une réponse à l'utilisateur à partir du fichier de domaine.

Fonctionnalités supplémentaires dans la mise en œuvre

  • Ajout d'intentions : Ajout des informations de compte et des intentions pour chaque requête pour un compte particulier et a également configuré les exemples possibles pour chaque intention que l'utilisateur peut demander au chatbot. Par exemple, je souhaite créer de nouveaux utilisateurs VPN pour les systèmes de production.
  • Ajout d'histoires : Ajout des histoires de manière à ce que plusieurs requêtes possibles puissent être traitées par le chatbot en une seule conversation ainsi que des requêtes individuelles.
  •  Activation de la politique de secours pour le chatbot :  La politique de secours désigne le message que le bot doit envoyer à l'utilisateur au cas où celui-ci entrerait une requête sans rapport ou non pertinente. Par exemple, si un utilisateur demande « Qu'est-ce que 2+2 ? » alors le bot doit prononcer "Je n'ai pas compris, veuillez reformuler votre requête". compte particulier. Si l'utilisateur essaie de saisir une requête d'un autre compte, la réponse ne sera pas visible pour l'utilisateur, ce qui la rend plus sécurisée. un message avec des boutons OUI/NON demandant si la requête de l'utilisateur a été résolue par la réponse donnée par le chatbot ou non.

Par exemple, si oui, prononcez un message « Super ! Au revoir. Bonne journée!"

Si l'utilisateur n'est pas satisfait de la réponse à la requête, le bot doit répondre « Veuillez contacter un responsable de l'assistance pour plus d'aide. » le mauvais nom de compte, le bot doit répondre que l'utilisateur a entré le mauvais nom de compte et demander d'entrer le bon nom. Une fois le nom de compte correct saisi, le bot prononcera le nom de compte correct et demandera « comment puis-je vous aider ». c'est-à-dire quelque peu lié aux requêtes configurées dans le chatbot mais n'ayant aucune réponse ajoutée pour cela) et fournir la réponse pour ces requêtes.

Par exemple, la requête configurée est « comment créer une sauvegarde de base de données » et à la place 

l'utilisateur demande « Je veux créer une base de données », puis le bot doit demander/confirmer si l'utilisateur souhaite créer une nouvelle base de données ou pour créer une sauvegarde de la base de données. Si la réponse à la requête est configurée, fournissez la réponse correcte, sinon dites que cette requête ne peut pas être traitée à ce moment-là ou demandez à l'utilisateur d'être plus précis.

  • Ajout du message de bienvenue : Chaque fois que l'utilisateur se connecte au portail HAWK et ouvre une fenêtre de chatbot, il sera accueilli par le bot avec un message de bienvenue. interface utilisateur selon le thème du HAWK.
  • Conclusion et portée future

    De l'étude, il est conclu que les fonctionnalités de base de rasa telles que les machines à sous, les formulaires, l'apprentissage interactif supervisé, l'intégration d'API et la base de données en font un cadre complet qui peut être utilisé pour effectuer des tâches très complexes. Le chatbot basé sur rasa a plus de capacités que n'importe quelle alternative open source. De plus, dans cet article, les composants internes de rasa ont été modifiés pour effectuer un enregistrement de données personnalisé de l'adresse IP et du port du client. Tous les éléments internes et les actions personnalisées ont été étudiés, ce qui indique en outre que rasa est un framework entièrement open source pour le développement de chatbots et pour les développeurs qui ne souhaitent pas creuser dans les éléments internes du traitement du langage naturel.

    À l'avenir. Dans le cadre de cette étude, des moteurs de reconnaissance vocale et faciale peuvent être intégrés pour des tâches plus complexes comme le retrait d'espèces aux guichets automatiques. Les performances peuvent être améliorées grâce à l'utilisation de diverses procédures d'apprentissage de l'apprentissage automatique. PARTAGEZ-LE




Source link