Conditions préalables
Voici les technologies utilisées dans ce projet
- Compte Google Cloud
- API Dialogflow activée
- Interface de ligne de commande Dialogflow CX : installée et configurée
Que sont les types d’entité ?
L’une des parties les plus importantes de NLU est les types d’entités ou entités. Ce sont les informations clés d’un texte, telles que les noms, les dates, les produits, les organisations, les lieux ou tout ce que nous voulons extraire du texte. Nous appelons ce concept « entités ». Par exemple, examinons les order_intent
intention:
- Je veux une pizza.
- Je veux 3 Coca.
- Donnez-moi deux hamburgers.
Comme vous pouvez le voir dans l’exemple ci-dessus, nous pouvons extraire 2 types d’entité : quantity
et order_type
. Nous pouvons extrapoler les énoncés ci-dessus comme ceci :
- Je veux {quantity} {order_type}.
- Donnez-moi {quantity} {order_type}.
Nous pouvons également considérer les types d’entités comme des variables.
Il est recommandé de tester vos phrases d’entraînement avec vos utilisateurs finaux. Cela vous permettra de détecter les phrases d’entraînement manquantes dans votre NLU.
Console de flux de dialogue
La console Dialogflow est une interface Web dans laquelle vous pouvez concevoir vos conversations en créant des agents et, au sein d’un agent, créer des flux, des intents, des types d’entités, etc. Sur la console Dialogflow, vous pouvez créer et interagir facilement avec votre intent. Pour ce faire, il vous suffit d’accéder à la console Dialogflow CX. Voici à quoi cela ressemble :
Vous trouverez vos types d’entités dans le Gérer onglet et le clic dans l’onglet type d’entité section:
Avec la console Dialogflow CX, vous pouvez effectuer les opérations suivantes :
- Créer un type d’entité : lorsque vous créez un type d’entité, vous pouvez ajouter des synonymes.
- Supprimer un type d’entité.
- Entraînez et validez votre NLU.
Lorsque vous créez un type d’entité, vous pouvez spécifier s’il a ou non des synonymes ou s’il s’agit d’une entité d’expression régulière. Si vous choisissez l’option regexp, le classificateur utilisera une expression régulière au lieu de synonymes lors de la classification de la requête.
Voici les types d’entités que vous pouvez utiliser dans vos intents :
- Entités personnalisées : types d’entités créés par le développeur
- Entités système : celles disponibles dans Dialogflow CX (nombre, dates, couleurs, etc.)
- Entités de session : Ce sont des entités dynamiques qui peuvent être étendues pendant les sessions des utilisateurs.
- Entités Regexp : entités qui sont des expressions régulières
Chaque fois que vous créez, modifiez ou supprimez un type d’entité, il est important de réentraîner vos flux Dialogflow CX. Cela entraînera à nouveau votre NLU. En faisant cela, votre bot vous « comprendra », y compris vos dernières modifications.
Interface de ligne de commande Dialogflow CX
La CLI Dialogfow CX ou cxcli
est un outil d’interface de ligne de commande que vous pouvez utiliser pour interagir avec vos projets Dialogflow CX dans un terminal. C’est un projet open-source créé que j’ai créé. Avec le cxcli
vous pouvez interagir facilement avec vos types d’entités Dialogflow CX.
Toutes les commandes disponibles dans le cxcli
pour interagir avec vos types d’entités sont situés en bas de la cxcli entity-type
commande.
Créer
Vous pouvez créer un type d’entité à l’aide de cet outil. Cette commande a cet usage :
cxcli entity-type create [entity-type-name] [parameters]
Vous pouvez trouver l’utilisation complète ici. Il est important d’expliquer le --entities
paramètre. Il s’agit d’une liste des entités avec leurs synonymes, séparés par des virgules. Ce paramètre a le format suivant :
entity1@synonym1|synonym2,entity2@synonym1|synonym2
Ici vous avez un exemple : pikachu@25|pika,charmander@3
.
Ceci est un exemple simple de la cxcli entity-type create
commande:
cxcli entity-type create order_type --entities "pizza@piza|pizzas,burguer@hamburguer|burguers" --agent-name test-agent --project-id test-cx-346408 --location-id us-central1
La commande ci-dessus vous donnera une sortie comme celle-ci :
$ cxcli entity-type create order_type --entities "pizza@pizza|pizzas,coke@coke|cokes" --agent-name test-agent --project-id test-cx-346408 --location-id us-central1
INFO Entity Type created with id: projects/test-cx-346408/locations/us-central1/agents/40278ea0-c0fc-4d9a-a4d4-caa68d86295f/entityTypes/457a451d-f5ce-47da-b8dc-16b17d874a5d
Tu peux voir le order_type
type d’entité sur la console Dialogflow CX :
Supprimer
De plus, un type d’entité peut être supprimé. L’utilisation de cette commande est assez similaire à celle utilisée pour créer un type d’entité :
cxcli entity-type delete [entity-type-name] [parameters]
Vous pouvez trouver l’utilisation complète ici. Ceci est un exemple simple de la cxcli entity-type delete
commande:
cxcli entity-type delete pokemon --agent-name test-agent --project-id test-cx-346408 --location-id us-central1
La commande ci-dessus vous donnera une sortie comme celle-ci :
$ cxcli entity-type delete pokemon --agent-name test-agent --project-id test-cx-346408 --location-id us-central1
INFO Entity Type deleted
Ressources
Si vous voulez vérifier l’utilisation complète du cxcli entity-type
commande, veuillez vous référer à cette page.
Si vous souhaitez en savoir plus sur les types d’entités Dialogflow CX, consultez la documentation officielle.
Conclusion
Il s’agissait d’un didacticiel de base pour découvrir ce qu’est un type d’entité Dialogflow CX. Comme vous l’avez vu dans cet exemple, la création de types d’entités et l’évolution de votre NLU dans Dialogflow CX avec la console ou le cxcli
C’est très facile!
J’espère que ce tutoriel vous sera utile.
C’est tout ! Bon codage !