Utiliser les entités et le remplissage d’emplacements dans les agents
Une partie importante des conversations des agents dans Copilot Studio consiste à comprendre le langage naturel, à savoir la capacité de l’IA à comprendre l’intention d’un utilisateur. Par exemple, si l’utilisateur dit : « J’ai essayé d’utiliser ma carte cadeau, mais elle ne fonctionne pas », l’agent sait le diriger vers la rubrique liée aux cartes cadeaux qui ne fonctionnent pas, même si cette phrase exacte n’est pas répertoriée comme une phrase déclencheur.
Un aspect fondamental de la compréhension du langage naturel consiste à identifier les entités dans un dialogue avec l’utilisateur. Voir la vidéo sur la prise en main des entités.
Une entité peut être considérée comme une unité d’information qui représente un certain type de sujet réel tel qu’un numéro de téléphone, un code postal, une ville, voire le nom d’une personne. Avec les connaissances que procurent les entités, un agent peut reconnaître rapidement les informations pertinentes à partir d’une entrée utilisateur et les enregistrer pour une utilisation ultérieure.
Entités prédéfinies
Les entités des agents vous permettent de stocker des informations dans des groupes similaires.
Par défaut, Copilot Studio est fourni avec un ensemble d’entités prédéfinies, qui représentent les types d’informations les plus couramment utilisés dans les dialogues du monde réel, comme l’âge, les couleurs, les nombres et les noms.
Avec les connaissances que procurent les entités, un agent peut reconnaître rapidement les informations pertinentes à partir d’une entrée utilisateur et les enregistrer pour une utilisation ultérieure.
Pour aider à comprendre cette notion, prenons comme exemple l’entité Argent.
Ouvrez votre agent dans Copilot Studio et sélectionnez Paramètres en haut de la page, puis sélectionnez Entités dans le menu.
Une liste des entités prédéfinies disponibles s’affiche.
Sélectionnez l’entité Argent pour ouvrir le volet des détails de l’entité.
Ici, vous pouvez voir une explication de cette entité et les façons de l’utiliser pour rechercher des informations relatives à l’argent ou à la devise dans les entrées d’un utilisateur.
Par exemple, lorsqu’un utilisateur saisit « Cela coûte 1 000 dollars », en utilisant cette entité monétaire, l’agent sait que « 1 000 dollars » représente le type d’information argent. Lorsque l’agent extrait cette entité et l’enregistre dans une variable, il enregistre « 1 000 » en tant que nombre, même si les informations environnantes sont au format texte.
Entités personnalisées
Les entités prédéfinies couvrent les types d’informations couramment utilisés. Dans certains cas, comme lors de la création d’un agent pour un objectif spécifique, vous devrez peut-être enseigner au modèle de compréhension du langage de l’agent des connaissances spécifiques à un domaine.
Par exemple, imaginons que vous voulez créer un agent pour un magasin d’équipements de plein air. Dans ce cas, vous devrez apprendre à l’agent à reconnaître la catégorie « produits vestimentaires de plein air » dans un dialogue.
Tout d’abord, créez une entité personnalisée. Dans ce cas, vous pouvez créer une entité qui donne à l’agent des connaissances sur toutes les catégories de produits de plein air.
Ouvrez votre agent dans Copilot Studio et sélectionnez Paramètres en haut de la page, puis sélectionnez Entités dans le menu.
Sélectionnez Ajouter une entité>Nouvelle entité.
Sélectionnez le type d’entité souhaité : soit une entité liste fermée, soit une entité expression régulière (regex).
Entités de liste fermée
Les entités de liste fermée vous permettent de définir une liste d’éléments. Ces entités sont plus appropriées pour les petites listes faciles à gérer et qui ont des étiquettes d’éléments simples.
La sélection de cette option lors de la création d’une entité affiche un volet où vous pouvez spécifier le nom de l’entité, une description facultative et entrer les éléments que vous souhaitez inclure dans l’entité.
Lorsque vous saisissez des éléments, vous pouvez :
- Sélectionner chaque élément et changer son nom.
- Sélectionner l’icône de la corbeille pour supprimer l’élément de la liste.
- Sélectionner + Synonymes (ou sélectionner les synonymes répertoriés s’ils sont déjà ajoutés) pour ouvrir le volet Modifier les synonymes.
Vous pouvez ajouter des synonymes pour développer manuellement la logique de correspondance pour chaque élément de la liste de l’entité. Par exemple, dans l’élément « randonnée », vous pouvez ajouter « trekking » et « alpinisme » comme synonymes.
Pour chaque entité, vous pouvez également activer Correspondance intelligente.
La correspondance intelligente fait partie de l’intelligence prise en charge par le modèle de compréhension du langage de l’agent. Avec cette option activée, l’agent interprète l’entrée de l’utilisateur à l’aide de la logique approximative, en fonction des éléments répertoriés dans l’entité.
En particulier, l’agent peut corriger automatiquement les fautes d’orthographe et étendre sa logique de correspondance sémantiquement. Par exemple, l’agent peut automatiquement associer « softball » à « baseball ».
Lorsque vous avez terminé de créer ou de modifier votre entité, sélectionnez Enregistrer pour enregistrer et revenir à la liste des entités. Sélectionnez Fermer pour ignorer vos modifications.
Entités d’expression régulière (Regex)
Les entités d’expression régulière (regex) vous permettent de définir des modèles logiques que vous pouvez utiliser pour faire correspondre et extraire des informations d’une entrée. Les entités Regex sont idéales pour la mise en correspondance de modèles complexes avec l’entrée d’un utilisateur, ou si vous devez autoriser des variations spécifiques dans la façon dont un utilisateur peut formater ou entrer son entrée dans une conversation.
Par exemple, une entité regex vous permet d’identifier des éléments tels qu’un ID de suivi, un numéro de licence, un numéro de carte de crédit ou une adresse IP à partir d’une chaîne que l’utilisateur saisit dans l’agent.
Une fois cette option sélectionnée, vous pouvez spécifier le nom de l’entité, une description facultative et entrer le schéma regex qui doit être utilisé pour associer et extraire les éléments d’entité de l’entrée.
Une entité regex Copilot Studio utilise la Syntaxe des expressions régulières .NET.
Par défaut, la correspondance de modèles est sensible à la casse. Pour la rendre insensible à la casse, utilisez l’option d’expression régulière (?i)
dans votre chaîne de modèle. Quelques exemples de base sont inclus dans le volet d’entité regex. Pour plus d’informations sur la syntaxe et pour obtenir plus d’exemples, consultez Langage d’expression régulière – Référence rapide.
Si l’expression régulière doit accepter plusieurs modèles, vous pouvez utiliser l’opérateur d’alternance |
pour concaténer des expressions régulières. Par exemple, vous pouvez combiner deux modèles d’expression régulière pour rechercher à la fois l’ancien et le nouveau format d’un code d’identification de produit.
Lorsque vous avez terminé de créer ou de modifier votre entité, sélectionnez Enregistrer pour enregistrer et revenir à la liste des entités. Sélectionnez Fermer pour ignorer vos modifications.
Utiliser des entités dans une conversation
Maintenant que vous avez fait ce qu’il faut pour donner à l’agent des connaissances sur les équipements de plein air en créant cette entité de catégorie de produits et quelques autres entités personnalisées, vous pouvez commencer à les utiliser lors de la création d’une conversation de l’agent.
Accédez à la page Rubriques pour l’agent que vous souhaitez modifier.
Ouvrez la rubrique d’une entité que vous souhaitez collecter.
Sélectionnez l’icône Ajouter un nœud , puis sélectionnez Poser une question.
En dessous de Identifier, sélectionnez l’entité que vous avez créée dans Entités personnalisées.
Vous pouvez également sélectionner des éléments à afficher sous forme de boutons. Par exemple, si vous souhaitez afficher certaines catégories sous forme de boutons pour permettre aux utilisateurs de les choisir facilement comme entrée, vous pouvez choisir Sélectionner des options pour l’utilisateur, puis les sélectionner dans la liste qui contient les éléments que vous avez ajoutés lorsque vous avez créé l’entité personnalisée.
Nommez la variable pour la sortie de la réponse de l’utilisateur, si nécessaire.
Remplissage d’emplacement
Le remplissage d’emplacement est un concept de compréhension du langage naturel qui implique d’enregistrer une entité extraite dans un objet. Cependant, dans Copilot Studio, le remplissage d’emplacement consiste à placer la valeur d’entité extraite dans une variable.
Continuons à utiliser la rubrique des activités de camping, qui est déclenchée en tapant « Je veux faire quelque chose » dans la conversation instantanée de test, par exemple.
La rubrique est correctement déclenchée et l’agent demande le type d’activité ; il affiche également les choix de boutons spécifiés lors de la création du nœud Poser une question. Dans l’arborescence de dialogue, le suivi entre les rubriques montre également que l’agent s’exécute jusqu’au nœud de question que vous venez de modifier.
Un utilisateur peut utiliser les choix prédéfinis en sélectionnant l’un des boutons. Sinon, il peut taper quelque chose comme « trekking » et voir que ce mot renvoie à « randonnée », car ces mots ont été définis comme synonymes.
Le suivi entre les rubriques montre que le dialogue est correctement dirigé vers le chemin dans lequel la valeur de la catégorie de produit est « Randonnée ». Vous pouvez inspecter la valeur de la variable dans la fenêtre d’observation des variables au bas du canevas de création. Dans la fenêtre d’observation, la valeur de la variable est « Randonnée ».
En substance, le remplissage des emplacement se produit en insérant l’entité extraite « Randonnée » dans la variable VarCampType
.
Vous pouvez également utiliser ce que l’on appelle le « remplissage proactif des emplacements », où l’utilisateur peut spécifier plusieurs informations qui sont mises en correspondance avec plusieurs entités. L’agent est capable de comprendre automatiquement quelles informations appartiennent à quelle entité. Dans les cas où il n’est pas sûr de la mise en correspondance, il invite l’utilisateur à être plus précis en fournissant des choix.
Dans cet exemple, l’utilisateur a écrit « Je m’ennuie, mais j’aime l’alpinisme ». Ce message comprend à la fois la phrase déclencheur indiquant que l’utilisateur souhaite obtenir de l’aide sur les activités de plein air et fournit également une deuxième information, « alpinisme », qui est un synonyme défini par l’entité de randonnée. Dans ce cas, l’agent remplit à la fois l’entité pour choisir une activité de plein air et pour le type d’activité.
Dans le suivi entre les rubriques, vous pouvez voir que l’agent prend cette entrée utilisateur et ignore intelligemment le nœud de question demandant le type d’activité.
L’agent écoute toujours activement les entrées utilisateur, se souvenant des informations à l’avance afin de pouvoir ignorer les étapes inutiles, le cas échéant.
Reprenons le test et essayons un autre cas. Dans ce scénario, vous pouvez ajouter quelques nœuds de question supplémentaires qui demandent des informations telles que le temps dont vous disposez pour l’activité (en utilisant l’entité Durée) et la fourchette de prix (en utilisant l’entité Argent).
Cette fois-ci, lorsque la question sur la catégorie de produit est présentée, au lieu de dire à l’agent uniquement la catégorie de produit, l’utilisateur peut dire « Je veux acheter une paire de chaussures de randonnée sous $100 ». Dans cet exemple, l’agent est non seulement en mesure d’acheminer vers le bon chemin de catégorie de produits de randonnée, mais aussi de remplir activement les emplacements en demandant le type d’équipement de randonnée et les informations sur la fourchette de prix cible.
Le remplissage proactif des emplacements peut être contrôlé manuellement au niveau du nœud. Si vous souhaitez toujours poser la question dans un nœud spécifique, que l’emplacement ait été rempli à partir des réponses précédentes de l’utilisateur ou non, vous pouvez désactiver l’option Ignorer la question pour ce nœud de question. Effectuez les étapes suivantes pour désactiver l’option Ignorer la question.
Sélectionnez l’icône Plus (…) du nœud Question, puis sélectionnez Propriétés. Le volet Propriétés de la question apparaît.
Dans le volet Propriétés de la question, sélectionnez Comportement de la question.
Dans le volet Comportement de la question, sous Ignorer la question, sélectionnez Demander à chaque fois, puis sélectionnez Enregistrer en haut de la page.