Options de reconnaissance d’intention et d’extraction d’entités pour vos charges de travail d’application intelligentes
La reconnaissance des intentions et l’extraction d’entités sont des composants clés de 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’intention est de réserver un vol. La reconnaissance d’intention aide le copilote à comprendre quelle action doit être entreprise 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 la saisie 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éservez un vol pour New York le 15 septembre", "New York" et "15 septembre" sont des entités.
Un copilote utilise l’intention pour comprendre l’objectif de l’utilisateur et les entités pour identifier les détails spécifiques nécessaires pour compléter le tâche. La reconnaissance des intentions et l’extraction d’entités permettent ainsi au copilote 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 d’intention et l’extraction d’entités afin de garantir que votre charge de travail d’application intelligente offre une expérience utilisateur positive.
Terme | Définition |
---|---|
CLN | 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 par la machine. |
CLU | La compréhension du langage conversationnel est une fonctionnalité d’Azure AI qui permet la création de modèles CLN personnalisés. |
Maîtrise en droit (LL.M.) | Un grand phrase déclencheur est un type de modèle d’IA conçu pour comprendre et générer le langage humain. |
GPT | Le transformateur pré-entraîné génératif 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 | Chaînage dynamique est une méthode d’automatisation des déclencheurs pour les actions génératives. Au lieu de définir manuellement chaque rubrique ou rubrique système, modèle de langage possible, permettez à l’IA de déterminer quels sujets ou actions de plugin doivent être appelés en fonction du contexte de la conversation. |
Le choix de la bonne option pour la reconnaissance des intentions et l’extraction d’entités dans votre charge de travail d’application intelligente implique plusieurs considérations clés :
Entités prédéfinies et personnalisées : évaluez si les entités prédéfinies fournies par Copilot Studio répondent à vos besoins. Les entités prédéfinies couvrent les types d’informations courants tels que les dates, les nombres et les 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 des 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’emplacement : déterminez si votre application nécessite un remplissage d’emplacement proactif, où le copilote recherche et complète activement les informations manquantes à partir des entrées utilisateur. Le remplissage des créneaux horaires 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 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.
Dans Copilot Studio, le déclenchement d’actions ou de CLN peut être réalisé en utilisant le modèle standard CLN, en le combinant ou en le remplaçant par un modèle Azure CLU personnalisé, ou en remplaçant entièrement le modèle CLN par chaînage dynamique, un modèle basé sur un grand modèle de langage GPT.
Modèle standard CLN | 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 est Terminé en ajoutant des phrases Gâchette 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 d’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 la norme CLN. Copilot Studio |
Utilise un GPT grand modèle de langage 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 est Terminé en décrivant les sujets, les actions du plugin, les entrées et les sorties. |
Escroquer | Reconnaissance d’intention unique par requête. Ne peut pas être prolongé. Vous ne pouvez pas modifier le comportement du modèle ni l’affiner. Il est fourni tel quel. Le remplissage d’emplacements pour plusieurs entités du même type dans la même requête nécessite une désambiguïsation pour chacune d’elles (par exemple, depuis et vers les villes). |
Reconnaissance d’intention unique par requête. La configuration est Terminé dans Azure moyennant un coût supplémentaire. A ses propres limites de service qui doivent être évaluées. Intentions et Copilot Studio les sujets doivent être soigneusement synchronisés. |
Comme il s’agit d’une fonctionnalité d’IA générative, le taux de combustion des licences des messages est plus élevé que pour le déclenchement régulier de rubrique. |
Lors du développement de charges de travail d’application intelligentes, utilisez des fonctionnalités natives pour améliorer la reconnaissance des intentions et rationaliser les conversations. Commencez par identifier les phrases rubrique Gâchette à partir des bases de données FAQ existantes et des transcriptions de chat pour vous assurer que les phrases anticipées sont pertinentes et exactes. Réfléchissez à la manière dont vous utiliserez les entités ; par exemple, si vous utiliserez des expressions régulières pour rechercher des identifiants 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 manière dont vous testerez les déclencheurs rubrique 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. En savoir plus sur Considérations relatives au déploiement et aux tests.
Les phrases Gâchette entraînent le modèle CLN de votre copilote. Ils aident le copilote à reconnaître et à répondre avec précision aux déclarations des utilisateurs en définissant des phrases spécifiques qui Gâchette sujets particuliers. Une configuration appropriée de ces phrases Gâchette garantit que le copilote peut identifier correctement l’intention de l’utilisateur et répondre de manière appropriée. Lorsque le copilote n’est pas sûr du rubrique à Gâchette, il peut suggérer jusqu’à trois candidats rubrique potentiels (Multiple Topics Matched rubrique) ou revenir à un réponse par défaut si aucun rubrique n’est identifié. Ce mécanisme permet de maintenir le flux de conversation et garantit que le copilote peut gérer efficacement un large éventail d’entrées utilisateur.
L’extraction d’entités et le remplissage d’emplacements sont des éléments importants dans le développement de copilotes efficaces. Ces processus permettent au copilote d’acquérir et d’utiliser efficacement les informations en identifiant et en extrayant les détails pertinents des requêtes des utilisateurs.
Extraction d’entités implique l’analyse des entrées de l’utilisateur pour identifier des éléments d’information spécifiques. Par exemple, dans la requête "Je voudrais commander trois grands t-shirts bleus", le modèle CLN du copilote doit extraire les entités suivantes :
- Quantité : 3
- Couleur : Bleu
- Taille : Grande
- Type d’article : T-shirt
Le remplissage d’emplacement est le processus d’utilisation de ces entités extraites pour compléter les informations nécessaires pour un tâche donné. Dans cet exemple, le copilote reconnaît le rubrique comme une commande et remplit les emplacements requis avec les entités extraites. Le copilote est capable de comprendre la demande de l’utilisateur sans poser plus de questions, simplifiant ainsi l’interaction.
L’extraction d’entités et le remplissage d’emplacements permettent aux copilotes de gérer 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 :
L’intégration d’un modèle CLU avec un copilote peut améliorer considérablement les capacités du copilote. Copilot Studio Cette intégration implique les intentions Azure CLU mappage sur Copilot Studio topics, permettant au copilote de comprendre et de répondre aux intentions de l’utilisateur avec plus de précision. De plus, les entités prédéfinies peuvent être utilisées avec les entités Azure CLU, offrant ainsi une infrastructure robuste pour l’extraction d’entités. Copilot Studio
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, de dictionnaires spécifiques à un secteur et d’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 permettre un remplissage d’emplacement silencieux ou "chanceux", ce qui permet au copilote 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 consiste à s’assurer que les quotas et les limites du service Azure CLU aligner correspondent à l’utilisation de votre copilote. 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 copilote peut gérer la charge de travail prévue sans dépasser les limites de service ni encourir de coûts inattendus.
En savoir plus :
- Présentation de l’intégration d’Azure CLU
- Langues prises en charge par Azure CLU
- Limites d’Azure CLU
- Tarifs Azure CLU
Structurer efficacement les sujets est important pour créer des conversations naturelles et fluides. Les sujets sont des chemins de conversation discrets qui, une fois combinés, permettent aux utilisateurs d’interagir en douceur avec le copilote. Voici quelques considérations clés pour la conception de structures rubrique :
Sujets basés sur des déclencheurs : ces sujets sont activés en fonction des déclarations de l’utilisateur et servent de points d’entrée. Définissez des phrases Gâchette claires pour ces sujets. Si les expressions Gâchette se chevauchent sur plusieurs sujets, envisagez de mettre en œuvre un rubrique fourre-tout qui peut rediriger vers le rubrique approprié après avoir posé des questions de clarification. Grâce à l’extraction d’entités et au 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 une intégration transparente dans divers chemins de conversation.
Sujets à double déclenchement : certains sujets peuvent être déclenchés soit par la reconnaissance d’intention, soit par une redirection explicite. Cette flexibilité permet des conversations plus dynamiques et réactives.
Stimulation conversationnelle et secours : créez des sujets de secours pour les situations où aucun rubrique correspondant n’est déclenché 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 :
Sujets personnalisés pour les scénarios clés : développez quelques sujets personnalisés pour les scénarios clés avec des phrases Gâchette et des redirections pertinentes. Utilisez une structure parent-enfant rubrique 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.
Sujets de désambiguïsation : prévoyez d’utiliser des sujets de désambiguïsation pour les opérations qui nécessitent des questions de clarification. Par exemple, les opérations de compte utilisateur peuvent nécessiter des éclaircissements 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 de dupliquer le contenu, créez des rubriques réutilisables pour les chemins de dialogue qui doivent être répétés. Ces sujets réutilisables peuvent être appelés par un élément parent rubrique et, une fois terminés, la conversation peut reprendre la logique élément parent rubrique’s.
En savoir plus :
La gestion efficace des intentions non reconnues garantit une expérience utilisateur fluide. Les intentions non reconnues se produisent lorsque le copilote ne comprend pas un énoncé d’utilisateur et n’a pas suffisamment confiance pour Gâchette un rubrique existant. Voici quelques suggestions pour gérer ces scénarios :
Gestion des intentions non reconnues : Dans un premier temps, dirigez les intentions non reconnues vers le moteur de conversation rubrique système, qui recherche des réponses sur les sites Web publics et les ressources d’entreprise comme SharePoint les sites. Si aucune information pertinente n’est trouvée, le système peut alors revenir à une expérience de type ChatGPT à l’aide d’une invite système personnalisée avec le modèle Azure OpenAI GPT-4. 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 avec des systèmes externes : déterminez si vous intégrez des systèmes externes dans le cadre de votre stratégie de secours. Par exemple, l’intégration avec le modèle Azure OpenAI GPT-4 à l’aide de requêtes HTTP pour fournir une expérience conforme de type ChatGPT.
Surveillance de l’utilisation de la solution de secours : examinez régulièrement le pourcentage de conversations utilisant la solution de secours. Utilisez ces informations pour enrichir les sujets existants ou en créer de nouveaux, garantissant ainsi que le copilote améliore continuellement sa compréhension et ses capacités réponse.
rubrique de base et réponses génératives : Le Fallback rubrique système est déclenché lorsqu’aucun rubrique correspondant n’est identifié. Si les réponses génératives sont activées, le boosting conversationnel rubrique se déclenche en premier sur les événements d’intention inconnus, suivi du rubrique de base si nécessaire. Cette approche en couches permet de gérer efficacement les intentions non reconnues.
Utilisez l’amplification conversationnelle et la solution de secours : utilisez les réponses génératives pour rechercher diverses sources de données ou intégrer d’autres systèmes comme Azure Cognitive Service for Language. Ce service peut gérer de grands volumes de paires questions-réponses et inclut un modèle de discussion pour les questions aléatoires.
Scénarios principaux et rubriques personnalisées : assurez-vous que les scénarios principaux et les rubriques sont bien définis et traités via des rubriques personnalisées. Définissez clairement les résultats de ces sujets pour maintenir un flux de conversation structuré et efficace.
Lors de la création d’un copilote, tenez compte des langues 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 copilote par langue : Cette approche consiste à créer un copilote distinct pour chaque langue. Il garantit que chaque copilote est entièrement optimisé pour sa langue spécifique ; cependant, la maintenance de plusieurs copilotes peut être gourmande en ressources.
Un copilote pour plusieurs langues (traductions configurées) : avec cette approche, un seul copilote prend en charge plusieurs langues, avec des traductions fournies dans le cadre de la configuration du copilote. Cette approche nécessite de mettre à jour les traductions chaque fois que le copilote est mis à jour ou qu’un nouveau contenu est ajouté. Il offre un équilibre entre l’efficacité des ressources et le support linguistique, mais nécessite une gestion minutieuse des mises à jour de traduction.
Un copilote pour plusieurs langues (traductions en temps réel) : Cette méthode utilise un copilote relais pour fournir des traductions en temps réel au moment de l’exécution. Il permet un déploiement rapide de davantage de langues et réduit le besoin de mises à jour de traduction fréquentes. Cependant, il introduit une dépendance au copilote relais et une traduction en temps réel couche, 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 copilote doit prendre en charge influencent votre stratégie de localisation.
Copilote monolingue ou multilingue : décidez si vous souhaitez développer un copilote unique prenant en charge plusieurs langues ou des copilotes distincts pour chaque langue. Cette décision dépend de facteurs tels que la disponibilité des ressources, les capacités maintenance et la complexité des langues impliquées.
Moment de la traduction : déterminez si les traductions doivent être définies pendant la phase de configuration ou fournies en temps réel lors 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 :