Utiliser des entités et le remplissage d’emplacements dans les copilotes
Une grande partie des conversations de copilote dans Copilot Studio consiste à comprendre le langage naturel, à savoir la capacité de l’IA à comprendre l’intention d’un utilisateur. Par exemple, l’utilisateur peut dire : « J’ai essayé d’utiliser ma carte cadeau, mais elle ne fonctionne pas » et le copilote peut diriger l’utilisateur 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. Les connaissances accordées par les entités permettent au copilote de reconnaître les informations pertinentes à partir de l’entrée utilisateur et de les enregistrer pour une utilisation ultérieure.
Entités prédéfinies
Les entités des copilotes 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.
Les connaissances accordées par les entités permettent au copilote de reconnaître les informations pertinentes à partir de l’entrée utilisateur et de les enregistrer pour une utilisation ultérieure.
Pour aider à comprendre cette notion, prenons comme exemple l’entité Argent.
Ouvrez votre copilote dans Copilot Studio et sélectionnez Paramètres en haut de la page, puis 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, le copilote sait que « 1 000 dollars » représente l’information de type monétaire. Lorsque le copilote extrait cette entité et l’enregistre dans une variable, il enregistre « 1 000 » sous forme de nombre, même si les informations environnantes sont du texte.
Entités personnalisées
Les entités prédéfinies couvrent les types d’informations couramment utilisés. À certaines occasions, comme lors de la création d’un copilote qui répond à un objectif spécifique, vous devez peut-être enseigner au modèle de compréhension du langage du copilote des connaissances spécifiques au domaine.
Par exemple, imaginons que vous voulez créer un copilote pour un magasin d’équipements de plein air. Dans ce cas, vous devez apprendre au copilote à reconnaître la catégorie « produit d’équipements 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 au copilote la connaissance de toutes les catégories de produits de plein air.
Ouvrez votre copilote dans Copilot Studio et sélectionnez Paramètres en haut de la page, puis Entités dans le menu.
Sélectionnez Ajouter une entité>Nouvelle entité.
Un nouveau volet s’ouvre pour vous permettre de choisir le type d’entité : soit une entité Liste fermée ou 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 du copilote. Avec cette option activée, le copilote interprétera l’entrée de l’utilisateur à l’aide de la logique partielle, en fonction des éléments répertoriés dans l’entité.
En particulier, le copilote corrigera automatiquement les fautes d’orthographe et étendra sa logique de correspondance sémantiquement. Par exemple, le copilote peut automatiquement faire correspondre « 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 annuler vos modifications (vous aurez la possibilité de revenir à la modification de l’entité au cas où vous auriez accidentellement sélectionné la mauvaise option).
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 le copilote.
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 le schéma regex qui doit être utilisé pour associer et extraire les éléments d’entité depuis l’entrée.
Une entité regex Copilot Studio utilise la Syntaxe des expressions régulières .NET.
Par défaut, la correspondance de modèle 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, et des informations supplémentaires sur la syntaxe et d’autres exemples peuvent être trouvés dans la rubrique Langage d’expression régulière – Référence rapide.
Si vous devez faire en sorte que l’expression régulière accepte 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 annuler vos modifications (vous aurez la possibilité de revenir à la modification de l’entité au cas où vous auriez accidentellement sélectionné la mauvaise option).
Utiliser des entités dans une conversation
Maintenant que vous avez fait ce qu’il faut pour donner au copilote 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 copilote.
Accédez à la page Rubriques pour le copilote 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.
Nous continuerons à utiliser la rubrique des activités de camping comme exemple, qui est déclenchée en tapant « Je veux faire quelque chose » dans la conversation instantanée de test.
La rubrique est correctement déclenchée et le copilote demande le type d’activité, en affichant également les options 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 le copilote 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 ».
Essentiellement, le remplissage des emplacement a eu lieu 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. Le copilote est capable de comprendre automatiquement les informations appartenant à une entité spécifique. Dans les cas où il n’est pas sûr de la mise en correspondance prévue, il invite l’utilisateur à être plus précis en fournissant des options.
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, le copilote 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 le copilote prend cette entrée utilisateur et ignore intelligemment le nœud de question demandant le type d’activité.
Le copilote écoute toujours activement les entrées utilisateur, se souvenant des informations à l’avance afin d’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 demandant des informations telles que le temps dont vous disposez pour l’activité (à l’aide de l’entité Durée) ainsi que la fourchette de prix (à l’aide de l’entité Argent).
Cette fois-ci, lorsque la question sur la catégorie de produit est posée, au lieu d’indiquer au copilote uniquement la catégorie de produit, l’utilisateur peut préciser : « Je souhaite acheter une paire de chaussures de randonnée coûtant moins de 100 $ ». Dans cet exemple, le copilote est non seulement en mesure d’acheminer vers le chemin adéquat de catégorie de produits de randonnée, mais aussi de remplir activement les emplacements 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.