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 le machine learning 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 les 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é minutieusement la brique.
A 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 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 il 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. Ainsi, lorsqu'un utilisateur envoie un message pour vérifier le solde d'un compte, l'intention non résolue gère la demande.
Supposons maintenant qu'un assistant numérique dispose de deux briques définies : une 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 ne correspond bien sûr 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 lorsque vous avez crié : "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 souhaite gérer. Si l'assistant numérique ne peut pas indiquer la brique vers laquelle 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 briques ? Cela signifie qu'un modèle bien entraîné ne nécessite pas qu'une intention "unresolvedIntent" personnalisée soit définie dans chaque brique. Et, pour rappel, avoir des modèles bien formés dans toutes vos compétences est ce que la personne portant le chapeau de "concepteur de modèles d'IA" devrait s'efforcer.
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. Ainsi, le message d'intention non résolue de l'assistant numérique est affiché ou 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 réentraînant le modèle d'intention affecté).
Digital Assistant est la maison de votre Persona
Un assistant numérique offre une expérience de chatbot unifiée aux utilisateurs et nécessite donc que la personnalité que vous avez définie soit toujours présente dans toutes les conversations.
Groupes de ressources
Comme les briques, les assistants numériques peuvent être configurés pour prendre en charge plusieurs langues. Les assistants numériques ont besoin de toutes les briques configurées pour prendre en charge les langues qu'ils prennent en charge. Cela inclut également le type de support linguistique, qui peut être basé sur NLU natif ou en utilisant des services de traduction externes.
Toutes les invites et tous les messages affichés par l'assistant numérique lors de l'acheminement des messages utilisateur vers les briques doivent provenir de groupes de ressources. Le fait d'avoir ces messages en un seul endroit facilite la cohérence, les modifications et la transmission à un traducteur pour traduction.
Discussions 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 des dépenses" 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 sémantiquement correctement. Par conséquent, nous vous recommandons de vérifier tous les messages dans l'onglet Configurations du panneau des paramètres de l'assistant numérique, et de :
-
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 du groupe de ressources est créée en tant que${rb('key_name', ${system.routingToIntent})}
. -
Vérifiez les noms d'affichage que vous avez définis pour les intentions des briques et assurez-vous qu'elles correspondent aux modèles de message que vous avez définis dans les configurations d'assistant numérique.
-
Vérifiez les noms d'appel de brique, qui sont définis sur 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 d'invite d'interruption pour afficher uniquement l'invite lorsque la confiance est faible ou pour la supprimer complètement.
-
Dans les paramètres de configuration, modifiez le seuil de confiance, qui détermine quand 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 afin d'adapter les modèles de message pour les messages intégrés à vos besoins et à la personne de votre bot.
- ☑ Vérifiez les noms d'affichage d'intention 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.