Création d'un assistant numérique
Voici quelques bonnes pratiques de haut niveau pour la création d'assistants numériques.
Un assistant numérique utilise l'apprentissage automatique pour acheminer les messages utilisateur vers une brique configurée qui correspond le mieux au contenu du message. Pour cela, toutes les variations définies dans une brique sont utilisées pour entraîner un classificateur pour cette brique. Par conséquent, avant de pouvoir tester des briques dans un assistant numérique, assurez-vous qu'elles disposent d'un modèle bien formé pour toutes leurs intentions et que vous avez testé la brique de manière approfondie.

À propos de la formation de unresolvedIntent dans vos compétences
Il est possible de créer une intention "unresolvedIntent" définie par l'utilisateur pour une brique et de l'entraîner avec des variations définies par l'utilisateur. Cette option était très répandue avant l'introduction des assistants numériques. Avec les assistants numériques, cette option de développement a perdu de sa pertinence et peut ne plus être nécessaire. Cependant, pour que vous puissiez comprendre, expliquons de quoi il s'agit et comment et pourquoi cela a fonctionné.
L'intention non résolue d'une brique gère les messages en dehors du domaine qu'une brique est conçue pour traiter. Pour cela, vous mettez généralement en correspondance un état de flux de dialogue avec la transition d'action "unresolvedIntent" afin d'informer l'utilisateur que la brique n'a pas pu gérer la demande.
Par exemple, une brique qui gère les commandes et les livraisons de pizza n'est pas destinée à traiter les transactions financières. Par conséquent, lorsqu'un utilisateur envoie un message pour vérifier le solde d'un compte, l'intention non résolue traite la demande.
Supposons maintenant qu'un assistant numérique dispose de deux compétences définies : une brique pour gérer les commandes et les livraisons de pizza et une autre pour gérer les cas d'utilisation financiers. Si un utilisateur envoie un message contenant une demande de vérification du solde d'un compte, l'assistant numérique ne le transmet pas à la brique Pizza mais à la brique Finances. Cela signifie que l'intention non résolue dans la brique Pizza n'est plus utilisée pour gérer les messages financiers.
Supposons en outre, pour le même assistant numérique, qu'un utilisateur demande des informations sur la météo actuelle, qui, bien sûr, ne correspond ni à la pizza ni à la brique financière. Dans ce cas, quelle est l'intention non résolue de la brique qui, selon vous, traitera cette demande ? Vous avez raison en criant "l'intention non résolue de l'assistant numérique".
En ajoutant des briques à un assistant numérique, puis en l'entraînant, l'assistant numérique apprend le type de message que chacune des briques configurées veut gérer. Si l'assistant numérique ne peut pas indiquer à quelle brique acheminer un message, il affiche la réponse avec laquelle il est configuré pour gérer les intentions non résolues.
Qu'est-ce que cela signifie pour ajouter et entraîner une intention "unresolvedIntent" personnalisée dans vos compétences ? Cela signifie qu'un modèle bien entraîné ne nécessite pas la définition d'une intention "unresolvedIntent" personnalisée dans chaque brique. Et, pour rappel, avoir des modèles bien entraînés dans toutes vos compétences est ce que la personne portant le chapeau "AI model designer" devrait chercher.
Dans les rares cas où une brique d'un assistant numérique répond de manière incorrecte à un message qu'elle ne doit pas gérer, vous pouvez ajouter une intention personnalisée "unresolvedIntent" pour entraîner la brique à ne plus y répondre, de sorte que le message d'intention non résolu de l'assistant numérique s'affiche ou qu'une intention de l'une des autres briques gère la demande.
Nous vous recommandons de créer des intentions non résolues personnalisées dans une brique uniquement en dernier recours (par exemple, si le test révèle un problème que vous ne pouvez pas résoudre en entraînant de nouveau le modèle d'intention affecté).
L'assistant numérique est la page d'accueil de votre profil
Un assistant numérique offre une expérience de chatbot unifiée aux utilisateurs et nécessite donc la personnalité que vous avez définie pour être constamment présent dans toutes les conversations.
Groupes de ressources
Tout comme les briques, les assistants numériques peuvent être configurés pour prendre en charge plusieurs langues. Les assistants numériques nécessitent toutes les briques configurées pour prendre en charge les langues prises en charge. Cela inclut également le type de support linguistique, qui peut être basé sur NLU natif ou à l'aide de services de traduction externes.
Toutes les invites et tous les messages affichés par l'assistant numérique lors du routage des messages utilisateur vers les briques doivent provenir de groupes de ressources. Le fait de disposer de ces messages en un seul endroit permet d'assurer la cohérence, d'apporter des modifications et de les transmettre à un traducteur pour traduction.
Dialogues sur l'homonymie et l'interruption
Bien qu'un assistant numérique soit composé de nombreuses compétences différentes, il ne doit pas révéler ces détails techniques aux utilisateurs. Oracle Digital Assistant utilise des boîtes de dialogue configurables qui sont affichées à l'utilisateur lorsqu'un message utilisateur remplace le contexte conversationnel par une autre brique ou intention et que le contexte est réinitialisé sur la conversation d'origine. Veillez à définir les messages de transition de manière à ce qu'ils soient moins robotiques.
Par exemple, le message qui apparaît lors du routage non séquentiel est défini dans les paramètres de l'assistant numérique comme "Switching to ${system.routingToIntent} in ${system.routingToSkill} now
". Pour accéder à une intention "créer une dépense" dans une brique "dépenses", le message imprimé serait "Switching to create expense in expenses skill
", ce qui n'est pas la façon dont un humain le dirait.
Si vous remplacez le modèle de message par "Sure, let's ${system.routingToIntent} for you
", le message utilisateur peut devenir "Sure, Let's create a new expense for you
" (où la partie "créer une nouvelle dépense" du message est le nom d'affichage que vous avez défini pour l'intention dans la brique).
Cela signifie toutefois que vous devez vous assurer que les noms d'affichage de toutes les intentions sont définis de sorte que les messages imprimés au niveau de l'assistant numérique s'impriment toujours correctement sémantiquement. Par conséquent, nous vous recommandons de vérifier tous les messages de l'onglet Configurations du panneau des paramètres de l'assistant numérique, et :
-
Modifiez les modèles existants en fonction de vos besoins.
-
Déplacez les modèles personnalisés vers des groupes de ressources. Ajoutez un espace réservé positionnel où l'expression dynamique doit être ajoutée au message. Par exemple :"
Sure, let's {0} for you".
La référence de groupe de ressources serait créée en tant que${rb('key_name', ${system.routingToIntent})}
. -
Vérifiez les noms d'affichage que vous avez définis pour les intentions dans les briques et assurez-vous qu'ils correspondent aux modèles de message que vous avez définis dans les configurations de l'assistant numérique.
-
Vérifiez les noms d'appel de brique, définis dans la page Paramètres de la brique, pour vous assurer que les noms correspondent également linguistiquement à leur utilisation dans les modèles de message.
-
Vous pouvez éventuellement modifier des paramètres tels que Seuil de confiance de l'invite d'interruption pour afficher l'invite uniquement lorsque le niveau de confiance est faible ou pour la supprimer complètement.
-
Dans les paramètres de configuration, modifiez le seuil de confiance, qui détermine le moment où une brique est considérée comme une brique candidate. Nous vous recommandons de définir ce seuil sur une valeur inférieure à la valeur par défaut, puis de l'augmenter progressivement au fil du temps. Ce que vous voulez trouver est l'endroit idéal qui résout toutes vos compétences en toute confiance sans mauvais routage.
Liste de contrôle pour la création de votre assistant numérique
- ☑ Assurez-vous que les briques ajoutées à un assistant numérique disposent d'un modèle bien formé et testé pour toutes leurs intentions.
- ☑ Examinez les paramètres de configuration de l'assistant numérique pour adapter les modèles de message pour les messages intégrés à vos besoins et au persona de votre bot.
- ☑ Passez en revue les noms d'affichage des intentions et les noms d'appel de brique pour vous assurer que leur formulation correspond aux modèles d'assistant numérique que vous avez définis.
- ☑ Lors du test des conversations de l'assistant numérique, assurez-vous que le persona défini pour votre bot est toujours présent.