Maison  >  Article  >  développement back-end  >  Chatbot utilisant Python et Rasa

Chatbot utilisant Python et Rasa

WBOY
WBOYavant
2023-09-15 11:33:02892parcourir

Chatbot utilisant Python et Rasa

Les chatbots ont été reconnus comme l'outil de communication préféré des entreprises pour interagir avec leurs clients, offrant un moyen d'interaction plus efficace et plus pratique. Python, un langage de programmation simplifié grâce à ses ressources de développement, est devenu le premier choix pour créer divers chatbots. Rasa, quant à lui, est un outil spécialisé axé sur la création de chatbots comprenant une compréhension du langage naturel.

Dans cet article, nous plongerons dans le monde fascinant du développement de chatbot à l'aide de Python et Rasa. Nous examinerons de plus près le processus de définition de l’objectif d’un chatbot, de sa formation à comprendre le langage naturel et d’affinement de ses réponses grâce à la formation. Grâce à ces outils puissants, les développeurs peuvent créer des chatbots personnalisés qui offrent une expérience interactive transparente et conviviale. Que votre objectif soit de développer un chatbot pour le service client, le commerce électronique ou tout autre objectif, cet article vous présentera les possibilités passionnantes de création de chatbots à l'aide de Python et Rasa !

Démarrez avec Rasa

Rasa est disponible sous forme de package Python et peut être installé à l'aide de pip, le gestionnaire de packages de Python. Pour installer Rasa, ouvrez un terminal ou une invite de commande et exécutez la commande suivante :

pip install rasa

Une fois l'installation terminée, vous pouvez utiliser la commande Rasa init pour créer un nouveau projet Rasa. Cette commande créera un nouveau répertoire pour votre projet chatbot contenant les fichiers et dossiers requis.

rasa init --no-prompt

Cette commande créera un nouveau projet Rasa avec la structure de répertoires suivante :

myproject/
├── actions/
├── data/
│   ├── nlu.md
│   ├── rules.md
│   └── stories.md
├── models/
├── tests/
├── config.yml
├── credentials.yml
├── domain.yml
├── endpoints.yml
└── README.md

Le dossier actions contient des scripts Python qui définissent des actions personnalisées pour le chatbot. Le dossier de données contient des données de formation sous forme de fichiers Markdown pour NLU (compréhension du langage naturel), des histoires et des règles. Le dossier models contient des modèles entraînés que le chatbot utilise pour comprendre et répondre aux requêtes.

Créez un chatbot simple

Pour créer un chatbot, vous devez définir son domaine, son intention, ses entités et ses actions. Le fichier domain.yml définit le domaine du chatbot, qui comprend les intentions, les entités, les emplacements et les actions.

Les intentions sont les intentions de l'utilisateur et les entités sont les données fournies par l'utilisateur pour satisfaire ses intentions. Les emplacements sont utilisés pour stocker des informations sur l'utilisateur, telles que son nom ou son emplacement. Les actions sont des réponses que le chatbot fournit à l'utilisateur.

Voici un exemple de fichier domain.yml :

intents:
  - greet
  - goodbye
  - affirm
  - deny

entities:
  - name
  - location

slots:
  name:
    type: text
  location:
    type: text

actions:
  - utter_greet
  - utter_goodbye
  - utter_ask_name
  - utter_ask_location

Dans cet exemple, nous avons défini quatre intentions : saluer (salutation), au revoir (adieu), confirmer (confirmer) et nier (refuser). Nous définissons également deux entités : le nom et l'emplacement. Enfin, nous avons défini quatre actions : utter_greet (réponse au message d'accueil), utter_goodbye (réponse au revoir), utter_ask_name (nom de la demande de réponse) et utter_ask_location (emplacement de la demande de réponse).

Ces actions définissent la réponse que le chatbot fournit à l'utilisateur. Par exemple, l'action utter_greet pourrait dire "Bonjour, comment puis-je vous aider aujourd'hui ?"

Une fois que vous avez défini votre domaine, vous devez fournir des données de formation pour votre chatbot. Vous pouvez le faire en créant des fichiers NLU, d'histoire et de règles dans le dossier de données.

Les fichiers NLU contiennent des exemples de requêtes utilisateur et leurs intentions et entités correspondantes. Voici un exemple de fichier NLU :

## intent:greet
- hello
- hi
- hey

## intent:

Le fichier NLU définit quatre intentions : saluer (salutation), au revoir (adieu), affirmer (confirmer) et nier (nier). Chaque intention comporte un ensemble d'exemples de requêtes qu'un utilisateur peut saisir.

Les fichiers Story définissent les chemins de conversation qu'un utilisateur peut emprunter lorsqu'il interagit avec le chatbot. Voici un exemple de fichier d'histoire :

## story1
* greet
  - utter_greet
* affirm
  - utter_ask_name
* inform{"name": "Alice"}
  - slot{"name": "Alice"}
  - utter_ask_location
* inform{"location": "New York"}
  - slot{"location": "New York"}
  - utter_thanks

## story2
* greet
  - utter_greet
* deny
  - utter_goodbye

Ce cas particulier implique la définition de deux histoires. La première histoire commence avec l'utilisateur saluant le chatbot, qui renvoie ensuite le message d'accueil et demande le nom de l'utilisateur. Les utilisateurs fournissent leur nom et le chatbot demande ensuite leur localisation. Enfin, l’utilisateur indique sa localisation et le chatbot le remercie.

La deuxième histoire commence avec l'utilisateur saluant le chatbot. L'utilisateur nie avoir besoin d'aide et le chatbot répond par un message d'adieu.

Les fichiers de règles définissent les conditions qui déclenchent des actions spécifiques. Voici un exemple de fichier de règles :

## rule1
# greet and ask for name
rule "greet and ask for name"
when
  # the user greets the chatbot
  intent: greet

then
  # ask the user for their name
  - utter_ask_name
end

Dans cet exemple, nous avons défini une règle qui déclenche l'action utter_ask_name lorsqu'un utilisateur salue le chatbot.

Former et tester des chatbots

Une fois que vous avez défini votre domaine et fourni les données de formation, vous pouvez utiliser la commande Rasa train pour former votre chatbot.

rasa train

Cette commande entraîne un modèle d'apprentissage automatique basé sur vos données d'entraînement et l'enregistre dans le répertoire des modèles.

Pour tester votre chatbot, vous pouvez utiliser la commande shell Rasa. Cette commande lance un shell qui vous permet d'interagir avec le chatbot à l'aide de la saisie de texte.

rasa shell

Cette commande démarre le shell Rasa et vous pouvez commencer à interagir avec votre chatbot. Par exemple, vous pouvez taper « bonjour » pour démarrer une conversation avec votre chatbot.

Your input -> hello
Hello, how can I help you today?

结论

总之,Python和Rasa提供了出色的工具,用于创建能够有效理解和回应人类语言和互动的聊天机器人。通过定义聊天机器人的领域、意图、实体和动作,开发人员可以训练他们的聊天机器人以自然而高效的方式与用户进行互动。Rasa的先进的自然语言处理能力简化了开发能够提供出色客户体验的聊天机器人的过程。Python和Rasa为构建能够改善沟通和流程的聊天机器人提供了一个有用和直观的框架,无论是用于客户服务还是特定的业务领域。通过它们用户友好的界面和丰富的功能,Python和Rasa提供了一个可靠和高效的平台,用于构建激励用户和支持业务增长的聊天机器人。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer