Utiliser des entités

Terminée

Les conversations d’agent identifient l’intention d’un utilisateur en fonction de ce qu’il a saisi dans la fenêtre de conversation à l’aide de la compréhension du langage naturel. Par exemple, un utilisateur saisit le texte suivant : J’ai tenté d’utiliser ma carte cadeau, mais elle ne fonctionne pas. La compréhension du langage naturel permet d’identifier et de rediriger 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 clé de la compréhension du langage naturel consiste à identifier les entités utilisées dans une boîte de dialogue utilisateur. Considérez une entité 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 ou le nom d’une personne.

Microsoft Copilot Studio intègre un ensemble d’entités prédéfinies prêtes à l’emploi. Elles représentent certaines des informations les plus utilisées dans les dialogues réels, par exemple l’âge, les couleurs, les nombres et les noms. Les connaissances accordées par les entités permettent à l’agent de reconnaître les informations pertinentes à partir de l’entrée utilisateur et de les enregistrer pour une utilisation ultérieure.

Utilisons l'entité prédéfinie ville. Comme d’autres entités prédéfinies, vous pouvez y accéder à partir de l’onglet Entités. Lorsque vous examinez l’entité, vous pouvez voir une explication et les manières dont elle peut être utilisée.

Par exemple, lorsqu’un utilisateur saisit Notre siège social se trouve à Seattle, à l’aide de cette entité Ville, l’agent sait que Seattle représente l’information de type ville. Lorsque l’agent extrait cette entité et l’enregistre dans une variable, il enregistre Seattle en tant que ville, même si les informations environnantes sont au format texte.

Lorsque vous insérez un nœud de question dans une rubrique, vous pouvez utiliser des entités dans la section Identifier de la question. Par exemple, dans l’exemple ci-dessous, nous demandons à l’utilisateur d’indiquer sa ville de résidence. En définissant le champ Identifier sur Ville, l’agent extrait la ville de l’utilisateur du texte saisi.

La ville de l’utilisateur est stockée dans une variable nommée UserCity utilisable ultérieurement dans la rubrique ou la conversation.

Maintenant que nous avons examiné certaines des entités prédéfinies disponibles, étudions comment créer vos entités personnalisées si nécessaire.

Une fois vos entités définies, elles sont utilisables lors de la structuration de conversations d’agent. Le moyen le plus simple de les utiliser consiste à ouvrir le canevas de création d’une rubrique et à ajouter un nœud Question. Les nœuds Question permettent à l’agent d’identifier les informations que l’utilisateur a envoyées à l’aide d’entités et d’enregistrer ces informations en tant que variable. La fonction Identifier d’un nœud Question indique à l’agent l’information à identifier à partir de la requête utilisateur.

Lorsque cette question est posée à l’utilisateur dans la conversation, il lui suffit de taper le département qu’il recherche. L’élément est alors comparé et mis en correspondance avec un élément de la liste des entités.

Dans l’image ci-dessus, l’utilisateur a exprimé son intérêt pour le Trek, qui est une autre façon de dire Randonnée. L’agent reconnaît cela, et comme nous avons défini Trek comme Synonyme de Randonnée, il affiche des informations relatives à la Randonnée.

Dans certains cas, une organisation peut décider qu’elle préfère présenter des boutons aux utilisateurs pour simplifier la sélection. Par exemple, si vous souhaitez que certains éléments de catégorie s’affichent sous forme de boutons sur lesquels les utilisateurs peuvent cliquer comme entrée, cliquez sur Sélectionner des options pour l’utilisateur, puis faites votre choix dans la liste. Pendant une conversation, un client peut cliquer sur le bouton d’élément de son choix ou saisir manuellement une autre catégorie sous forme de texte.

Utilisation du remplissage d’emplacements

Le remplissage d’emplacements est un concept de compréhension du langage naturel qui enregistre une entité extraite dans un objet. Autrement dit, le remplissage d’emplacements met en correspondance ce qui est saisi par un client, puis le stocke de manière appropriée dans une variable. Par exemple, lorsqu’on lui demande un type de catégorie, le client peut cliquer sur Randonnée ou saisir par exemple Trek, comme illustré dans l’image suivante. Comme Trek a été défini comme synonyme, il devrait toujours être considéré comme une entrée utilisateur pour « randonnée ». Le remplissage d’emplacements garantit que, même si un autre texte a été saisi, il est associé à la catégorie adéquate. L’entité extraite Randonnée est utilisée en tant que valeurs pour la variable de catégorie de produit.

Remplissage proactif d’emplacements

Un autre concept connu sous le nom de Remplissage proactif d’emplacements permet à l’utilisateur de spécifier plusieurs informations mappées à plusieurs entités. L’agent comprend automatiquement les informations appartenant à une entité spécifique.

Le remplissage proactif d’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é renseigné ou non à partir de réponses utilisateur précédentes, vous pouvez désactiver l’option Ignorer la question et la poser chaque fois pour ce nœud Question.

Le Comportement de la question par défaut est défini sur Autoriser l’omission de la question, ce qui permet à l’agent de détecter de manière proactive les entités des requêtes utilisateur sans demander à l’utilisateur les informations qu’il a déjà fournies.

Dans l’exemple ci-dessous, l’utilisateur a écrit : Je souhaite acheter un équipement de trek. Ce texte comprend la phrase déclencheur selon laquelle le client souhaite acheter un équipement, mais il fournit également une deuxième information sur le type d’équipement. Dans ce cas, l’agent renseigne l’entité pour l’achat d’équipement et l’entité pour le type d’équipement. Cela diffère de l’exemple précédent, où l’agent devait demander à l’utilisateur le type d’équipement. L’agent accepte l’entrée utilisateur et ignore judicieusement la question qui demande la catégorie de produit.

Note

Notez que comme l’utilisateur a fourni une valeur pour l’entité Outdoor Sports Categories, le nœud Question est ignoré, ce qui permet à l’agent de faire avancer la conversation sans demander les informations que l’utilisateur a déjà fournies.

L’agent écoute toujours activement les entrées utilisateur, se souvenant des informations à l’avance afin d’ignorer les étapes inutiles, le cas échéant.

Recommençons les tests et prenons un autre exemple. Dans ce scénario, nous avons ajouté quelques nœuds Question supplémentaires demandant des informations telles que le type d’équipement de randonnée et la fourchette de prix (à l’aide de l’entité Money).

Cette fois-ci, lorsque la question sur la catégorie de produit est posée, au lieu d’indiquer à l’agent 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, l’agent 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.

Les entités prédéfinies présentées dans l’unité précédente couvrent de nombreux types d’informations courants. Cependant, une organisation peut parfois nécessiter la compréhension du langage dans le cadre de scénarios plus uniques. Par exemple, supposons que vous êtes invité à créer un agent pour un magasin de produits d’extérieur. Il est probable que l’agent doive reconnaître différents types de produits d’extérieur. Une entité personnalisée nommée Outdoor Store Categories peut être créée. L’entité peut stocker tous les différents produits d’extérieur fournis par le magasin. L’entité permet de garantir que lorsqu’une personne tape un produit d’extérieur concernant par exemple la pêche, le ski ou la navigation de plaisance, l’agent est en mesure de la rediriger vers l’endroit adéquat.

Les entités personnalisées sont créées en cliquant sur le bouton Paramètres, puis en accédant à l’onglet Entités et en cliquant sur Ajouter une entité. Lorsque vous créez une entité personnalisée, vous devez définir le type d’entité que vous souhaitez créer.

Entités personnalisées

Vous pouvez créer deux types d’entités :

  • Liste fermée : permet de définir une courte liste d’éléments telle qu’une liste de tailles, de départements ou d’emplacements.
  • Expression régulière (regex) : permet de définir un modèle logique spécifique tel qu’un numéro d’ID, un numéro de carte de crédit ou une adresse IP.

Entités de liste fermée

Les entités de liste fermée sont idéales lorsque vous souhaitez définir une courte liste d’éléments susceptibles d’être utiles en cas d’interactions avec un client, comme l’exemple du magasin de produits d’extérieur susmentionné. Dans l’image ci-dessous, nous avons créé une entité personnalisée de liste fermée nommée Outdoor Store Categories. Nous avons ajouté une liste de noms de catégories de produits d’extérieur.

Lorsqu’un utilisateur interagit avec une session de conversation instantanée, le système recherche les valeurs définies dans la liste. Si nous avons créé des rubriques spécifiques aux éléments de la liste, l’utilisateur peut facilement être redirigé vers l’une de ces rubriques. Par exemple, si un utilisateur saisit J’ai une question sur le baseball, le système identifie l’élément relatif au baseball dans la liste et, en fonction de la configuration, peut afficher une rubrique concernant le baseball.

Utilisation de la mise en correspondance active

Lorsque les clients interagissent avec des agents, il n’est pas rare qu’ils commettent une faute de frappe ou qu’ils saisissent une phrase légèrement différente de celle définie dans l’entité. Par exemple, un client peut saisir softball au lieu de baseball. Les deux sports utilisent le même type d’équipement. En matière de catégories de produits, le softball doit être considéré comme le baseball. La mise en correspondance active permet à l’agent de comprendre les entrées utilisateur approximatives en fonction des éléments de liste fournis à l’entité. Autrement dit, il n’a pas besoin de trouver une correspondance exacte.

Lorsque la mise en correspondance active est activée, l’agent corrige automatiquement les fautes d’orthographe et étend sémantiquement la logique de mise en correspondance, par exemple en mettant automatiquement en correspondance softball et baseball.

Utilisation de synonymes

L’option de gestion des synonymes est comme la mise en correspondance active, sauf qu’elle n’est pas automatique. Les synonymes sont saisis manuellement. Ils étendent la logique pour inclure des termes ayant des sens similaires ou considérés comme similaires par nature. Par exemple, il n’est pas rare que des sports comme le ski, le snowboard et la raquette soient regroupés en se basant sur le fait qu’ils sont tous des sports de neige. Pour en tenir compte dans notre liste, la catégorie de produits Ski peut avoir à la fois Snowboard et Raquette ajoutés comme synonymes. Si un utilisateur saisit le terme snowboard ou raquette, l’agent comprend qu’il concerne la catégorie Ski. Pour d’autres activités telles que le Yoga, vous pouvez ajouter Pilates. La mise en correspondance active et les synonymes fonctionnent parfaitement ensemble pour rendre votre agent encore plus intelligent.

Entités d’expression régulière (regex)

Grâce aux entités d’expression régulière (regex), vous pouvez définir des modèles logiques vous permettant de mettre en correspondance et d’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 saisir 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.

Lorsque vous sélectionnez une entité regex, vous devez définir les éléments suivants :

  • Nom : définit le nom de l’entité regex.
  • Description : description facultative définissant plus de détails sur l’entité.
  • Modèle: Définit les modèles utilisés pour extraire du texte.

Dans l’image ci-dessus, nous créons une entité d’expression regex nommée Tracking Number. La syntaxe saisie indique que le numéro de suivi commence par neuf chiffres et se termine par une lettre majuscule ou minuscule. (Ex.100456789A)

Les entités regex utilisent la syntaxe d’expression régulière .NET.

Pour en savoir plus sur la création de syntaxes d’expression régulière .NET, cliquez sur les liens ci-dessous :

Ensuite, nous allons examiner l’utilisation de variables dans les rubriques.