Partager via


Options de reconnaissance d’intention et d’extraction d’entités pour vos charges de travail d’applications intelligentes

La reconnaissance de l’intention et l’extraction d’entités sont des éléments clés de la compréhension du langage naturel.

La reconnaissance de l’intention implique l’identification de l’objectif ou du but de l’utilisateur derrière sa saisie. Par exemple, si un utilisateur dit « Je souhaite réserver un vol », l’objectif est de réserver un vol. La reconnaissance de l’intention aide l’agent à comprendre quelle action doit être effectuée en fonction de la demande de l’utilisateur.

L’extraction d’entités implique l’identification et l’extraction d’éléments d’information spécifiques à partir de l’entrée de l’utilisateur. Les entités peuvent être des éléments tels que des dates, des noms, des emplacements ou toute autre donnée pertinente. Par exemple, dans la phrase « Réserver un vol pour New York le 15 septembre », « New York » et « 15 septembre » sont des entités.

Un agent utilise l’intention pour comprendre l’objectif de l’utilisateur et les entités pour identifier les détails spécifiques nécessaires à l’exécution de la tâche. Par conséquent, la reconnaissance de l’intention et l’extraction d’entités permettent à l’agent de fournir des réponses précises et efficaces aux requêtes des utilisateurs.

Lors de la conception de votre charge de travail d’application intelligente, vous devez choisir la meilleure option pour la reconnaissance de l’intention et l’extraction d’entités afin de garantir que votre charge de travail d’application intelligente offre une expérience utilisateur positive.

Définitions

Terme Définition
NLU La compréhension du langage naturel est un sous-ensemble du traitement du langage naturel dans l’IA qui se concentre sur la compréhension de la lecture automatique.
CLU La compréhension du langage courant est une fonctionnalité d’Azure AI qui permet la création de modèles NLU personnalisés.
LLM Un grand modèle de langage est un type de modèle d’IA conçu pour comprendre et générer le langage humain.
GPT Le transformateur génératif pré-entraîné fait référence à une famille de grands modèles de langage qui utilisent l’architecture du transformateur pour comprendre et générer du texte de type humain.
Chaînage dynamique Le chaînage dynamique est une méthode d’automatisation des déclencheurs pour les actions génératives. Au lieu de définir manuellement tous les sujets ou phrases déclencheurs possibles, le chaînage dynamique permet à l’IA de déterminer quels sujets ou quelles actions de plug-in doivent être appelés en fonction du contexte de la conversation.

Le choix de la bonne option pour la reconnaissance d’intention et l’extraction d’entités dans la charge de travail de votre application intelligente implique plusieurs considérations clés :

  • Entités prédéfinies ou personnalisées : évaluez si les entités prédéfinies fournies par Microsoft Copilot Studio répondent à vos besoins. Les entités prédéfinies couvrent des types d’informations courants tels que des dates, des nombres et des noms. Si votre application nécessite des connaissances spécifiques à un domaine, vous devrez peut-être créer des entités personnalisées.

  • Complexité des entrées utilisateur : tenez compte de la complexité et de la variabilité des entrées utilisateur. Pour les scénarios simples, des entités prédéfinies peuvent suffire. Pour les interactions plus complexes, des entités personnalisées et des configurations avancées telles que des expressions régulières (regex) peuvent être nécessaires.

  • Remplissage d’emplacements : déterminez si votre application nécessite un remplissage proactif des emplacements, où l’agent recherche et complète activement les informations manquantes des entrées utilisateur. Le remplissage d’emplacements peut améliorer l’expérience utilisateur en réduisant le besoin de questions de suivi.

  • Performances et évolutivité : évaluez les performances et l’évolutivité de la méthode que vous avez choisie. Les entités personnalisées et les configurations complexes nécessitent souvent plus de puissance de traitement et peuvent affecter les temps de réponse.

  • Facilité de maintenance : tenez compte de la facilité de maintenance et de mise à jour de vos entités. Les entités prédéfinies sont plus faciles à gérer, tandis que les entités personnalisées nécessitent des ajustements continus à mesure que votre application évolue.

Choisissez entre le modèle NLU standard, le modèle Azure CLU ou le chaînage dynamique

Dans Copilot Studio, le déclenchement d’une rubrique ou d’une action peut être réalisé en utilisant le modèle NLU standard, en le combinant ou en le remplaçant par un modèle Azure CLU personnalisé, ou en remplaçant entièrement le modèle NLU par le chaînage dynamique, un modèle basé sur un grand modèle de langage GPT.

Modèle NLU standard Modèle Azure CLU personnalisé Chaînage dynamique
Pro Modèle par défaut, prêt à l’emploi, pré-entraîné, avec de nombreux types d’entités prédéfinis.

La configuration se fait en ajoutant des phrases déclencheurs et des entités personnalisées (soit des listes fermées avec des valeurs et des synonymes, soit des expressions régulières).
Prend en charge davantage de langues, avec des modèles natifs.

Prend en charge la personnalisation du modèle de déclenchement d’intention pour une meilleure reconnaissance de l’intention ou pour répondre aux exigences spécifiques du secteur.

Permet l’extraction d’entités complexes (par exemple, du même type).

L’extraction d’entités peut également utiliser le modèle NLU standard Copilot Studio.
Utilise un grand modèle de langage GPT et est préentraîné sur un spectre plus large de données.

Peut gérer plusieurs intentions et enchaîner des sujets et/ou des plugins.

Génère automatiquement des questions pour les entrées manquantes et répond aux entités complexes et aux questions du contexte de conversation.

La configuration s’effectue en décrivant les rubriques, les actions du plug-in, les entrées et les sorties.
Con Reconnaissance d’une seule intention par requête.

Ne peut pas être étendu. Vous ne pouvez pas modifier le comportement du modèle ni l’affiner. Il est fourni tel quel.

Le remplissage d’emplacements de plusieurs entités du même type dans la même requête nécessite la désambiguïsation pour chacune d’entre elles (par exemple, depuis et vers les villes).
Reconnaissance d’une seule intention par requête.

La configuration se fait en Azure à un coût supplémentaire.

A ses propres limites de service qui doivent être évaluées.

Les intentions Azure CLU et les rubriques Copilot Studio doivent être soigneusement synchronisées.
Comme il s’agit d’une fonctionnalité d’IA générative, le taux d’épuisement des licences des messages est plus élevé que pour le déclenchement de rubrique standard.

Phrases déclencheurs et remplissage d’emplacements

Lors du développement de charges de travail d’applications intelligentes, utilisez les fonctionnalités natives pour améliorer la reconnaissance des intentions et rationaliser les conversations. Commencez par identifier les phrases déclencheurs de sujet à partir des bases de données FAQ existantes et des transcriptions de chat pour vous assurer que les phrases anticipées sont pertinentes et précises. Réfléchissez à l’utilisation que vous ferez des entités. par exemple, si vous utiliserez des expressions régulières pour rechercher des ID de commande, des entités prédéfinies pour les e-mails ou des listes fermées pour les types d’opérations avec des synonymes. Planifiez également la façon dont vous allez tester les déclencheurs de rubriques avec des exemples de phrases pour valider et affiner la précision de vos processus de reconnaissance d’intention et d’extraction d’entités. Pour en savoir plus, consultez Considérations relatives au déploiement et aux tests.

Phrases déclencheurs

Les phrases déclencheurs entraînent le modèle NLU de votre agent. Elles aident l’agent à reconnaître les énoncés utilisateur et à y répondre avec précision en définissant des phrases spécifiques qui déclenchent des rubriques particulières. Une configuration correcte de ces phrases déclencheurs garantit que l’agent peut identifier correctement l’intention de l’utilisateur et répondre de manière appropriée. Lorsque l’agent ne sait pas quelle rubrique déclencher, il peut suggérer jusqu’à trois candidats de rubrique potentiels (rubrique système Plusieurs rubriques correspondantes) ou revenir à une réponse par défaut si aucune rubrique n’est identifiée. Ce mécanisme aide à maintenir le flux de la conversation et garantit que l’agent peut gérer efficacement un large éventail d’entrées utilisateur.

Extraction d’entités et remplissage d’emplacements

L’extraction d’entités et le remplissage d’emplacements sont des éléments importants dans le développement d’agents efficaces. Ces processus permettent à l’agent d’acquérir et d’utiliser efficacement des informations en identifiant et en extrayant les détails pertinents des requêtes utilisateur.

L’extraction d’entités implique l’analyse de l’entrée de l’utilisateur pour identifier des information spécifiques. Par exemple, dans la requête « J’aimerais commander trois grands t-shirts bleus », le modèle NLU de l’agent doit extraire les entités suivantes :

  • Quantité : 3
  • Couleur : Bleu
  • Taille : Grand
  • Type d’article : T-Shirt

Le remplissage d’emplacements consiste à utiliser ces entités extraites pour compléter les informations nécessaires à une tâche donnée. Dans cet exemple, l’agent reconnaît la rubrique comme une commande et remplit les emplacements requis avec les entités extraites. L’agent est en mesure de comprendre la demande de l’utilisateur sans poser plus de questions, ce qui simplifie l’interaction.

L’extraction d’entités et le remplissage d’emplacements permettent aux agents de traiter plus efficacement les requêtes complexes, en fournissant des réponses précises et contextuellement pertinentes et en améliorant l’expérience utilisateur.

En savoir plus :

Intégration de Microsoft Copilot Studio à Azure CLU

L’intégration d’un modèle CLU à un agent Copilot Studio peut améliorer considérablement les fonctionnalités de l’agent. Cette intégration implique de mapper les intentions Azure CLU aux rubriques Copilot Studio, ce qui permet aux agents de comprendre les intentions de l’utilisateur et d’y répondre avec plus de précision. De plus, les entités prédéfinies Copilot Studio peuvent être utilisées avec les entités Azure CLU, ce qui fournit un cadre robuste pour l’extraction d’entités.

Lorsque vous envisagez cette intégration, il est important d’évaluer si votre charge de travail d’application intelligente nécessite Azure CLU. Par exemple, Azure CLU prend en charge davantage de langues, des dictionnaires spécifiques à l’industrie et l’extraction d’entités complexes, ce qui peut être essentiel pour votre application. Les extractions d’entités personnalisées avec Azure CLU peuvent également activer le remplissage d’emplacements silencieux ou « chanceux », ce qui permet au agent de gérer des scénarios tels que l’identification des villes source et de destination dans une seule phrase sans poser de questions de suivi.

Un autre aspect important est de s’assurer que les quotas et les limites du service Azure CLU correspondent à l’utilisation de votre agent. Par exemple, si vous prévoyez moins de 1 000 appels nécessitant une reconnaissance d’intention par minute, vous pouvez configurer Azure CLU à l’aide du niveau S. Cette configuration garantit que votre agent peut gérer la charge de travail attendue sans dépasser les limites de service ni encourir de coûts imprévus.

En savoir plus :

Considérations relatives aux structures de rubriques

Il est important de structurer efficacement les sujets pour créer des conversations naturelles et transparentes. Les rubriques sont des chemins de conversation discrets qui, lorsqu’ils sont combinés, permettent aux utilisateurs d’interagir avec l’agent de manière fluide. Voici quelques éléments clés à prendre en compte pour la conception de structures de rubriques :

  • Rubriques basées sur des déclencheurs : ces rubriques sont activées en fonction des énoncés utilisateur et servent de points d’entrée. Définissez des phrases déclencheurs claires pour ces rubriques. Si les phrases déclencheurs se chevauchent sur plusieurs sujets, envisagez de mettre en place un sujet fourre-tout qui peut rediriger vers le sujet approprié après avoir posé des questions de clarification. Avec l’extraction d’entité et le remplissage d’emplacements, ces questions de clarification peuvent être ignorées si les informations nécessaires sont déjà fournies.

  • Rubriques basées sur la redirection : ces rubriques sont déclenchées par des actions, des activités ou des événements de redirection et peuvent être appelées par plusieurs autres rubriques. Ils doivent être conçus pour être réutilisables et modulaires, avec des variables d’entrée et de sortie pour faciliter l’intégration transparente dans divers chemins de conversation.

  • Rubriques à double déclencheur : certaines rubriques peuvent être déclenchées soit par une reconnaissance de l’intention, soit par une redirection explicite. Cette flexibilité permet des conversations plus dynamiques et plus réactives.

  • Optimisation conversationnelle et rubrique de secours : créez des rubriques de secours pour les situations où aucune rubrique correspondante n’est déclenchée par la requête de l’utilisateur. Ces sujets peuvent offrir des réponses génériques ou suggérer des sujets pertinents pour maintenir le flux de la conversation.

Approche de conception :

  • Rubriques personnalisées pour les scénarios clés : développez quelques rubriques personnalisées pour les scénarios clés avec des phrases déclencheurs et des redirections pertinentes. Utilisez une structure de rubrique parent-enfant pour gérer les interactions complexes. Pour les intentions non reconnues, implémentez des réponses génératives et des mécanismes de secours.

  • Rubriques de désambiguïsation : prévoyez d’utiliser des rubriques de désambiguïsation pour les opérations qui nécessitent des questions de clarification. Par exemple, les opérations du compte d’utilisateur peuvent nécessiter une clarification sur le type d’opération (par exemple, créer, déverrouiller, suspendre) et le système impliqué (par exemple, SAP, ServiceNow Microsoft).

  • Éviter la duplication : pour éviter la duplication du contenu, créez des rubriques réutilisables pour les chemins de dialogue qui doivent être répétés. Ces rubriques réutilisables peuvent être appelées par une rubrique parente et, une fois terminée, la conversation peut reprendre la logique de la rubrique parente.

En savoir plus :

Gestion des intentions non reconnues

Une gestion efficace des intentions non reconnues garantit une expérience utilisateur fluide. Les intentions non reconnues se produisent lorsque l’agent conversationnel ne comprend pas un énoncé utilisateur et n’a pas suffisamment confiance pour déclencher une rubrique existante. Voici quelques suggestions pour gérer ces scénarios :

  • Gestion des intentions non reconnues : initialement, dirigez les intentions non reconnues vers la rubrique système Optimisation conversationnelle, qui recherche des réponses dans les sites web publics et les ressources d’entreprise telles que les sites SharePoint. Si aucune information pertinente n’est trouvée, le système peut alors revenir à une expérience de type ChatGPT en utilisant une invite système personnalisée avec le modèle GPT-4 d’Azure OpenAI. Cette approche garantit que les utilisateurs reçoivent des réponses utiles même lorsque les requêtes ne sont pas planifiées.

  • Intégration à des systèmes externes : déterminez si vous effectuez une intégration à des systèmes externes dans le cadre de votre stratégie de secours. Par exemple, l’intégration au modèle GPT-4 d’Azure OpenAI en utilisant des requêtes HTTP pour fournir une expérience ChatGPT conforme.

  • Surveillance de l’utilisation de la rubrique de secours : examinez régulièrement le pourcentage de conversations qui atteignent la rubrique de secours. Utilisez ces informations pour enrichir les rubriques existantes ou en créer de nouvelles, en s’assurant que l’agent améliore continuellement ses capacités de compréhension et de réponse.

  • Rubrique de secours et réponses génératives : la Rubrique système de secours est déclenchée lorsqu’aucune rubrique correspondante n’est identifiée. Si les Réponses génératives sont activées, la rubrique Optimisation conversationelle se déclenche en premier sur les événements d’intention inconnue, suivi de la rubrique de secours selon les besoins. Cette approche à plusieurs niveaux permet de gérer efficacement les intentions non reconnues.

  • Utiliser l’optimisation conversationnelle et la rubrique de secours : utilisez les Réponses génératives pour rechercher diverses sources de données ou effectuer une intégration à d’autres systèmes comme Azure Cognitive Service for Language. Ce service peut gérer de grands volumes de paires questions-réponses et comprend un modèle de bavardage pour les questions aléatoires.

  • Scénarios de base et rubriques personnalisées : assurez-vous que les scénarios et les rubriques de base sont bien définis et gérés via des rubriques personnalisées. Définissez clairement les résultats de ces sujets afin de maintenir un flux de conversation structuré et efficace.

Localisation et langues

Lors de la création d’un agent, tenez compte des langages et des marchés que votre charge de travail d’application intelligente doit prendre en charge. La localisation et la prise en charge linguistique sont des facteurs essentiels pour garantir que la charge de travail de votre application intelligente répond aux besoins de diverses bases d’utilisateurs. Voici quelques approches suggérées :

  • Un agent par langue : cette approche consiste à créer un agent distinct pour chaque langue. Elle garantit que chaque agent est entièrement optimisé pour sa langue spécifique ; toutefois, la maintenance de plusieurs agents peut nécessiter beaucoup de ressources.

  • Un agent pour plusieurs langues (traductions configurées) : avec cette approche, un seul agent prend en charge plusieurs langues, les traductions étant fournies dans le cadre de la configuration de l’agent. Cette approche nécessite de mettre à jour les traductions chaque fois que l’agent est mis à jour ou qu’un nouveau contenu est ajouté. Il offre un équilibre entre l’efficacité des ressources et la prise en charge linguistique, mais nécessite une gestion minutieuse des mises à jour des traductions.

  • Un agent pour plusieurs langues (traductions en temps réel) : cette méthode utilise un agent relais pour fournir des traductions en temps réel au moment de l’exécution. Il permet un déploiement rapide d’un plus grand nombre de langues et réduit le besoin de mises à jour fréquentes des traductions. Cependant, il introduit une dépendance sur le relais agent et une couche de traduction en temps réel, comme Azure Service Copilot et Azure Cognitive Services Translator.

Considérations clés :

  • Langues et marchés : les langues et les marchés que votre agent doit prendre en charge influencent votre stratégie de localisation.

  • Agent unique ou multilingue : décidez s’il faut développer un seul agent qui prend en charge plusieurs langues ou des agents distincts pour chaque langue. Cette décision dépend de facteurs tels que la disponibilité des ressources, les capacités de maintenance et la complexité des langues concernées.

  • Synchronisation des traductions : déterminez si les traductions doivent être définies pendant la phase de configuration ou fournies en temps réel au moment de l’exécution. Les traductions configurées offrent stabilité et contrôle, tandis que les traductions en temps réel offrent flexibilité et déploiement rapide.

En savoir plus :