Créer une intention

Voici les étapes de création d'une intention dans une compétence.

Pour créer une intention :
  1. Cliquez sur Intents (Intentions) Ceci est une image de l'icône Intents (Intentions). dans la barre de navigation gauche.
  2. Si vous avez déjà défini vos intentions dans un fichier CSV, cliquez sur Import Intents (Importer des intentions). Le format de ce fichier est décrit dans Importer des intentions à partir d'un fichier CSV. Sinon, cliquez sur Add Intent (Ajouter une intention). Votre compétence doit disposer d'au moins deux intentions.
  3. Cliquez sur Ceci est une image de l'icône Edit (Modifier). pour entrer un nom descriptif ou une expression pour l'intention dans le champ Conversation Name (Nom de la conversation). Par exemple, si le nom de l'intention est callAgent, le nom de la conversation peut être Parler à un représentant. Lorsque la compétence ne peut pas résoudre un message en intention, elle présente les noms et expressions conviviaux que vous entrez dans le champ Conversation Name (Nom de conversation) comme options pour les messages de désambiguïsation Do you want to (Voulez-vous) décrits dans les rubriques Fonctionnement de la confiance dans la marge de succès et Configurer l'acheminement entre intentions et FAQ.
  4. Ajoutez le nom de l'intention dans le champ Name. Si vous n'entrez pas de nom de conversation, la valeur du champ Name (Nom) est utilisée à la place. Gardez à l'esprit qu'un nom court sans ponctuation finale n'est pas idéal pou l'expérience utilisateur. Le nom de l'intention s'affiche dans le champ Conversation Name (Nom de la conversation) pour les compétences créées avec les versions antérieures de Digital Assistant.
    Note

    Lorsque vous nommez vos intentions, n'utilisez pas system. comme préfixe. system. est un espace de nom réservé aux intentions fournies. Étant donné que les intentions avec ce préfixe sont traitées différemment par Trainer Tm, l'utilisation de celui-ci peut entraîner une résolution inattendue de vos intentions.
  5. Ajoutez une description de l'intention. Votre description doit définir ce qui caractérise l'intention et la tâche ou les actions qu'elle exécute.
  6. S'il s'agit d'une intention de réponse, ajoutez une courte réponse au champ Answer.
  7. Facultativement, dans le champ Annotations, ajoutez un ou plusieurs marqueurs pour l'intention afin de la catégoriser de manière utile pour vous. Vous pouvez utiliser n'importe quel mot de votre choix.

    Conseil :

    Dans la page Intentions, vous pouvez filtrer l'affichage des intentions par annotation.
  8. Commencez à créer le corpus d'entraînement en ajoutant des exemples d'énoncés qui illustrent la signification de l'intention. Pour assurer une résolution optimale de l'intention, utilisez des termes, des formulations et des expressions propres à l'intention. Idéalement, vous devriez baser vos données d'entraînement sur des phrases du monde réel. Vous pouvez enregistrer vos énoncés en cliquant sur Entrée ou en dehors du champ d'entrée. Pour gérer l'ensemble d'entraînement, sélectionnez une rangée pour accéder aux fonctions Modifier (Ceci est une image du bouton Edit (Modifier).) et Supprimer (Ceci est une image de la fonction Delete (Supprimer).).
    Si votre compétence prend en charge plusieurs langues de manière native, augmentez le jeu d'entraînement avec des expressions dans les langues secondaires afin de renforcer l'exactitude du modèle dans cette langue et dans toutes les autres prises en charge de manière native par la compétence.

    Voir Créer votre corpus d'entraînement pour obtenir des conseils sur la création d'un corpus d'entraînement efficace.
    Pour permettre à votre compétence de distinguer clairement les intentions, créez une intention qui corrige les entrées utilisateur inappropriées ou maladives.
    Bien que les énoncés puissent être ajoutés manuellement à une intention existante ou en important un fichier CSV, ils peuvent également être affectés à des intentions par l'intermédiaire de travaux de fabrication de données et du rapport de réentraînement des donnés clés.
  9. Dans le champ Auto-Complete Suggestions (Suggestions automatiques), entrez un jeu d'expressions pour aider l'utilisateur à entrer une demande formulée correctement. N'ajoutez pas tout le jeu de données d'entraînement. Ajoutez un jeu d'expressions qui représentent les demandes idéales des utilisateurs. L'ajout d'un jeu d'énoncés trop étendu peut dérouter les utilisateurs et entraîner des problèmes de comportement inattendu.
    Cette étape est facultative. Cette fonction n'est prise en charge que par le canal Oracle Web.
  10. Ajoutez une entité si l'intention en a besoin pour la résolution de l'entrée utilisateur. Pour savoir comment procéder, voir Ajouter des entités aux intentions.
  11. Pour apprendre à votre compétence comment comprendre l'entrée de l'utilisateur à l'aide du jeu d'énoncés fourni jusqu'à maintenant, cliquez sur Train (Former), sélectionnez un modèle, puis cliquez sur Submit (Soumettre).
    Comme décrit dans la rubrique Quel modèle d'entraînement utiliser, nous fournissons deux modèles d'entraînement dont les connaissances proviennent de votre corpus : Trainer Ht et Trainer Tm. Chacun utilise un algorithme différent pour comparer l'entrée utilisateur à vos intentions. Le modèle d'entraînement Ht utilise l'appariement de formes, et le modèle d'entraînement Tm, un algorithme d'apprentissage automatique qui utilise des vecteurs de mots. Les compétences qui utilisent la prise en charge linguistique native de Digital Assistant et les compétences avec des intentions de réponse nécessitent le formateur TM.
    Vous suivez généralement ce processus :
    1. Créez le corpus d'entraînement initial.

    2. Effectuez l'entraînement avec le modèle d'entraînement Ht. Commencez par le modèle d'entraînement Ht, car il ne requiert pas un nombre important d'énoncés. Si vous disposez d'un nombre suffisant d'énoncés pour désambiguïser les intentions, votre compétence pourra résoudre l'entrée utilisateur.

      Si vous recevez le message Une erreur s'est produite lorsque vous essayez d'entraîner votre compétence, il est possible que le nombre d'énoncés soit insuffisant pour l'entraînement. Vérifiez d'abord que vous disposez d'au moins deux intentions avec au moins deux énoncés (ou plus de préférence). Si vous n'avez pas assez d'énoncés, ajoutez-en quelques-uns, puis entraînez votre compétence.

    3. Ajustez votre corpus, et relancez l'entraînement avec le modèle Ht. Répétez cette opération autant de fois que nécessaire. L'entraînement est un processus itératif.

    4. Effectuez l'entraînement avec le modèle Tm. Utilisez cet entraînement une fois que vous avez un jeu d'intentions important.

    Training Needed (Entraînement requis) apparaît chaque fois que vous ajoutez une intention ou que vous mettez à jour une intention en ajoutant, modifiant ou supprimant des énoncés. Pour actualiser l'entraînement, sélectionnez un modèle d'entraînement, puis cliquez sur Train (Entraîner). Le modèle affiche un point d'exclamation chaque fois qu'il requiert un entraînement. Lorsque l'entraînement est à jour, une coche s'affiche.

  12. Cliquez sur Test Utterances (Tester les énoncés) (en haut à gauche) pour ouvrir le testeur d'énoncé. Sélectionnez la langue cible, puis entrez des énoncés similaires à ceux de votre jeu d'entraînement. Le testeur retourne le niveau de confiance pour cet énoncé et vous permet d'attribuer ce dernier à une intention, ou de l'ajouter comme scénario de test.
    Pour enregistrer les résultats de test d'intention, activez la journalisation des conversations (Settings > General > Enable Insights (Paramètres > Général > Activer les données clés).
  13. Cliquez sur Validate (Valider) et consultez les messages de validation pour détecter les erreurs telles qu'un nombre d'énoncés insuffisant et pour obtenir des conseils sur l'application des meilleures pratiques, comme l'ajout d'une intention unresolvedIntent.

Ajouter des entités aux intentions

Certaines intentions nécessitent des entités, intégrées et personnalisées, pour effectuer une action dans le flux de dialogue ou faire un appel REST à une API dorsale. Le système utilise uniquement ces entités, qui sont appelées entités d'intention, pour répondre à l'intention qui leur est associée. Vous pouvez associer une entité à une intention lorsque vous cliquez sur Add New Entity (Ajouter une nouvelle entité), puis sélectionnez une des entités personnalisées (Ceci est une image de l'icône Custom (Personnalisé).) ou intégrées (Ceci est une image de l'icône System (Système).). Si vous affectez une entité intégrée, laissez l'option Agrégation de valeur activée (valeur par défaut) si des valeurs d'entité spécifiques ne sont pas prises en compte dans la classification d'intention (ce qui est généralement le cas). Si l'intention nécessite une valeur d'entité spécifique, désactivez cette fonction.
Note

Indépendante de la valeur s'applique uniquement aux entités intégrées. Vous ne pouvez pas l'appliquer à des entités personnalisées.


Vous pouvez également cliquer sur New Entity (Nouvelle entité) pour ajouter une entité propre à une intention.

Conseil :

Seules les entités d'intention incluses dans les données utiles JSON sont envoyées au service de composants et retournées par celui-ci. Celles qui ne sont pas associées à une intention ne sont pas incluses, même si elles contribuent à la résolution de l'intention en reconnaissant l'entrée utilisateur. Si votre composant personnalisé accède aux entités par des correspondances d'entité, veillez à ajouter l'entité à votre intention.

Entités d'intention indépendante de la valeur

La fonction Agrégation de valeur vous permet d'ajuster l'incidence des valeurs d'entité sur la classification des intentions. Lorsque vous activez cette fonction, les valeurs spécifiques d'une entité intégrée associée n'ont aucune incidence sur la classification des intentions. Toutefois, lorsque vous désactivez cette fonction, vous autorisez la valeur d'entité à jouer un rôle clé dans la résolution de l'entrée.

En général, vous pouvez laisser cette fonction dans son paramètre par défaut (activé) car une valeur d'entité spécifique prend rarement en compte la classification des intentions. Les énoncés d'entraînement pour une intention de soldes de compte, par exemple, peuvent inclure des dates spécifiques (Quel était mon solde le 5 octobre?), mais ces valeurs ne sont pas le facteur déterminant dans la résolution de l'entrée dans l'intention. Si vous laissez l'option Agnostic de valeur activée, dans la plupart des cas, vous améliorerez la résolution d'intention car elle empêche les valeurs d'affecter les notes de confiance ou même de signaler une intention non souhaitée. Toutefois, chaque fois que des valeurs spécifiques jouent un rôle clé dans la résolution d'intention, vous devez désactiver cette fonction. Par exemple, vous désactivez la fonction si la valeur d'une DATE est essentielle pour distinguer une intention de vérification des soldes de vacances passés d'une intention de vérification des soldes de vacances futurs. Si ces intentions étaient indépendantes de la date, le modèle ignorerait le passé et le présent et ne résoudrait pas correctement l'entrée.
Exemples d'intentions Entité associée Énoncés de formation Activer l'agrégation de valeurs?
Solde du compte DATE
  • Pouvez-vous me dire le solde de mon compte hier?
  • Combien d'argent ai-je en chèque?
  • Quel était mon solde le 5 octobre?
  • Quel était le solde de ma carte de crédit la semaine dernière?
  • Quel est mon solde bancaire aujourd'hui?
  • Quel était le solde de mon compte d'épargne le 5/3?
Oui - Les valeurs de date spécifiques ne signalent pas l'intention. Les différentes valeurs de date de ces énoncés peuvent être ignorées, car un utilisateur peut demander un solde de compte n'importe quel jour.
Heures du magasin de vacances DATE
  • Êtes-vous ouvert le 1er janvier?
  • Êtes-vous ouvert le Thanksgiving?
  • Heures pour le jour de l'année
  • Quelles sont les heures de magasin pour le 4 juillet?
  • Quelles sont vos heures de vacances?
  • Serez-vous ouvert le Noël?
Non - La classification d'intention est basée sur un jeu de valeurs spécifique (et limité) et les utilisateurs s'interrogent sur les jours fériés.
  • Vérifier le solde des vacances passées
  • Vérifier le solde des vacances futures
DATE
  • Vérifier le solde des vacances passées
    • Ai-je pris un congé le dernier mois?
  • Vérifier le solde des vacances futures
    • Des vacances planifiées au cours du mois suivant?
Non - Désactivez l'option Agnostic de valeur pour les deux intentions. Les valeurs DATE agnostiques dans ce cas signifieraient que le modèle ne considérerait pas une valeur comme passée ou future. Une valeur "dernier mois", qui doit signaler l'intention Vérifier le solde des vacances passées, sera ignorée. Par conséquent, une entrée libellée comme "Ai-je pris un congé le mois suivant" peut être résolue incorrectement en cette intention.

Importer des intentions à partir d'un fichier CSV

Vous pouvez ajouter vos intentions manuellement ou les importer à partir d'un fichier CSV. Vous pouvez créer ce fichier à partir d'un fichier CSV d'intentions exportées, ou en partant de zéro dans un tableur ou un fichier texte.

Le fichier CSV comporte six colonnes pour les compétences qui utilisent la prise en charge linguistique native et cinq colonnes pour celles qui ne le font pas. Voici les noms de colonne et ce qu'ils représentent :

  • query : Exemple d'énoncé.
  • topIntent : Intention à laquelle l'énoncé doit correspondre.
  • conversationName : Nom de conversation de l'intention.
  • answer : Pour les intentions de réponse, réponse statique pour l'intention.
  • enabled: Si true, l'intention est activée dans la compétence.
  • nativeLanguageTag : (Pour les compétences avec prise en charge linguistique native seulement) langue de l'énoncé. Pour les valeurs, utilisez des balises de langue à deux caractères (fr, en, etc.).
    • Pour les compétences avec prise en charge linguistique native de Digital Assistant, cette colonne est requise.
    • Pour les compétences sans la prise en charge linguistique native, vous ne pouvez pas importer de fichier CSV comportant cette colonne.

Voici un extrait d'un fichier CSV pour une compétence sans prise en charge linguistique native qui n'utilise pas d'intention de réponse.

query,topIntent,conversationName,answer,enabled
I want to order a pizza,OrderPizza,Order a Pizza.,,true
I want a pizza,OrderPizza,Order a Pizza.,,true
I want a pizaa,OrderPizza,Order a Pizza.,,true
I want a pizzaz,OrderPizza,Order a Pizza.,,true
I'm hungry,OrderPizza,Order a Pizza.,,true
Make me a pizza,OrderPizza,Order a Pizza.,,true
I feel like eating a pizza,OrderPizza,Order a Pizza.,,true
Gimme a pie,OrderPizza,Order a Pizza.,,true
Give me a pizza,OrderPizza,Order a Pizza.,,true
pizza I want,OrderPizza,Order a Pizza.,,true
I do not want to order a pizza,CancelPizza,Cancel your order.,,true
I do not want this,CancelPizza,Cancel your order.,,true
I don't want to order this pizza,CancelPizza,Cancel your order.,,true
Cancel this order,CancelPizza,Cancel your order.,,true
Can I cancel this order?,CancelPizza,Cancel your order.,,true
Cancel my pizza,CancelPizza,Cancel your order.,,true
Cancel my pizaa,CancelPizza,Cancel your order.,,true
Cancel my pizzaz,CancelPizza,Cancel your order.,,true
I'm not hungry anymore,CancelPizza,Cancel your order.,,true
don't cancel my pizza,unresolvedIntent,unresolvedIntent,,true
Why is a cheese pizza called Margherita,unresolvedIntent,unresolvedIntent,,true

Voici un extrait d'un fichier CSV pour une compétence avec prise en charge linguistique native qui utilise des intentions de réponse.

query,topIntent,conversationName,answer,enabled,nativeLanguageTag
Do you sell pasta,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Vendez-vous des salades,Products,Our Products,Nous ne vendons que des pizzas. Pas de salades. Pas de pâtes. Pas de hamburgers. Seulement pizza,fr
do you sell burgers,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Do you sell salads,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Vendez des hamburgers,Products,Our Products,Nous ne vendons que des pizzas. Pas de salades. Pas de pâtes. Pas de hamburgers. Seulement pizza,true,fr

Pour importer un fichier CSV :

  1. Cliquez sur Intents (Intentions) (Ceci est une image de l'icône Intents (Intentions).) dans la barre de navigation gauche.

  2. Cliquez sur More (Plus), puis sélectionnez Import intents (Importer des intentions).
    Description d'import-intents.png :
    Description de l'illustration import-intents.png

  3. Sélectionnez le fichier .csv, puis cliquez sur Open (Ouvrir).

  4. Former votre compétence.

Exporter des intentions dans un fichier CSV

Vous pouvez réutiliser votre corpus d'entraînement en l'exportant dans un fichier CSV. Vous pouvez ensuite importer ce fichier dans une autre compétence.

Pour exporter vos intentions et leurs énoncés :
  1. Cliquez sur Intents (Intentions) Ceci est une image de l'icône Intents (Intentions). dans la barre de navigation gauche.

  2. Cliquez sur More (Plus), puis sélectionnez Export intents (Exporter des intentions).
    Description d'export-corpus.png :
    Description de l'illustration export-corpus.png

  3. Enregistrez le fichier. Ce fichier comporte les colonnes suivantes, qui sont décrites dans la rubrique Importer des intentions à partir d'un fichier CSV :
    query, topIntent, conversationName, answer, enabled, nativeLanguageTag

Quel modèle d'entraînement utiliser

Nous fournissons deux modèles d'entraînement qui construisent la connaissance de votre compétence : Trainer Tm et Trainer Ht. Vous pouvez utiliser l'un ou l'autre, chacun ayant une approche différente pour l'apprentissage automatique. En règle générale, vous entraînez vos compétences avec Trainer Tm before avant de les mettre en production. En raison de son temps d'entraînement plus court, vous pouvez utiliser Ht pour le prototypage ou pour les compétences.
Note

Vous ne pouvez pas vous servir du modèle d'entraînement Ht pour des compétences qui utilisent des intentions de réponse et la prise en charge linguistique native, ou qui disposent d'un grand nombre d'intentions. Utilisez Trainer Tm pour ces compétences.
Trainer Ht est le modèle d'entraînement par défaut, mais vous pouvez le remplacer en cliquant sur Settings > General (Paramètres > Général), puis en sélectionnant un autre modèle dans la liste. Le modèle par défaut s'affiche dans la vignette du catalogue de compétences.

Modèle d'entraînement Tm

Trainer Tm (Tm) obtient une classification des intentions très précise même lorsqu'une compétence comporte des centaines, voire des milliers, d'intentions. Même si les intentions de ces jeux de données volumineux sont souvent étroitement liées et sont parfois "déséquilibrées" en quantité d'énoncés, Tm peut quand même les différencier. En règle générale, vous appliquez Tm à une compétence avant de la mettre en production.
Note

Lorsque vous entraînez avec Trainer Tm, vous pouvez également utiliser le rapport Énoncés similaires.

Vous n'avez pas besoin d'étoffer vos données d'entraîner avec des énoncés qui tiennent compte de la sensibilité à la casse (Tm reconnaît BlacK Friday comme Black Friday, par exemple), de la ponctuation, des verbes et des noms similaires ou des fautes d'orthographe. Dans ce dernier cas, Trainer Tm utilise le contexte pour résoudre une expression même lorsqu'un utilisateur entre un mot clé incorrectement. Voici quelques directives générales pour créer un corpus d'entraînement lorsque vous développez vos compétences avec ce modèle.

Trainer Tm améliore la connaissance de la compétence en
  • Reconnaissant le contenu non pertinent. Pour Je suis très heureux des aubaines à venir pour Vendredi fou et j'attends les offres avec impatience. Pouvez-vous me dire ce qui va être soldé pour Vendredi fou?, Trainer Tm :
    • Élimine le contenu superflu (Je suis très heureux des aubaines à venir pour Vendredi fou...)
    • Résout le contenu pertinent (Pouvez-me dire ce qui va être soldé pour Vendredi fou?) en intention. Dans ce cas, il s'agit d'une intention appelée Aubaines de Vendredi fou.
    Le formateur Tm peut également faire la distinction entre le contenu pertinent et le contenu non pertinent d'un message, même si le contenu non pertinent pourrait être résolu en intention. À Vendredi fou, j'ai acheté une télé 80 pouces pour 2200 $, mais je vois maintenant que ce même poste est en vente en ligne pour 2100 $. Offrez-vous une égalisation de prix? par exemple, pourrait être assorti à l'intention Aubaines de Vendredi fou et à une intention Égalisation de prix, appropriée pour ce message. Dans ce cas, Trainer Tm :
    • Reconnaît que À Vendredi fou, j'ai acheté une télé 80 pouces pour 2200 $, mais je vois maintenant que ce même poste est en vente en ligne pour 2100 $. constitue du contenu superflu.
    • Résout Offrez-vous une égalisation de prix?
  • Résolvant des intentions lorsqu'un seul mot ou un nom correspond à une entité. Par exemple, Trainer Tm peut résoudre un message composé uniquement de Vendredi fou en une intention associée à une entité pour Vendredi four.
  • Faisant une distinction entre des énoncés similaires (Annuler ma commande et vs. Pourquoi avez-vous annulé ma commande?).
  • Reconnaissant des énoncés hors sujet, comme Montrez-moi des recettes de pizza ou Combien de calories dans une pizza Meat Feast pour une compétence concernant une commande de pizza et rien d'autre.
  • Reconnaissant des énoncés hors domaine, comme Quel temps fait-il aujourd'hui dans pour une compétence de commande de pizza.

    Conseil :

    Alors que Trainer Tm peut facilement déterminer si un message d'utilisateur est inclclassifiable parce qu'il est clairement différent des données d'entraînement, vous pouvez toujours définir une valeur unresolvedIntent avec des énoncés représentant les expressions que vous voulez vous assurer de ne pas résoudre en aucune des intentions de votre compétence. Ces expressions peuvent figurer dans le domaine de votre compétence, mais demeurent hors sujet, même si elles peuvent comporter les mêmes mots que les données d'entraînement. Par exemple, Je veux commander une voiture pour une compétence de commande de pizza, qui a été entraînée en utilisant Je veux commander une pizza.
  • Distinguer entre des entités similaires – Par exemple, Tm reconnaît que courrier est différent de courriel dans le contexte d'une intention appelée S'inscrire aux offres par courriel. Parce qu'il reconnaît qu'une entité appelée courrier ordinaire serait hors sujet, il résoudrait l'expression Je veux m'inscrire à des offres par courrier ordinaire à un niveau de confiance moindre qu'elle ne le ferait pour Je veux m'inscrire à des offres par courriel.

Modèle d'entraînement Ht

Trainer Ht est le modèle d'entraînement par défaut. Il n'a besoin que d'un petit corpus. Vous l'utilisez donc pour développer les entités, les intentions et les corpus d'entraînement. Lorsque le corpus d'entraînement arrive au point où les tests révèlent une résolution d'intention très précise, vous pouvez ajouter une dimension plus détaillée à la connaissance de votre compétence en utilisant le modèle Tm.

Vous pouvez obtenir un aperçu général de la façon dont le modèle d'entraînement Ht résout les intentions en consultant le corpus. Il forme des règles de correspondance à partir des échantillons en marquant des portions de discours et des entités (personnalisées et intégrées), et en détectant les mots de même sens dans le contexte de l'intention. Si une intention appelée Envoi d'argent comporte à la fois Envoyer 500 $ à maman et Payer 500 $ à Cleo, par exemple, le modèle d'entraînement Ht interprète payer comme un équivalent de envoyer. Après l'entraînement, le marquage du modèle d'entraînement Ht réduit ces phrases à des modèles (Envoyer devise à une personne, Payer devise à une personne) qu'il applique à l'entrée utilisateur.

Étant donné que le modèle d'entraînement Ht se base sur les phrases que vous fournissez, vous pouvez prédire son comportement : il sera très précis lors d'un test avec des phrases similaires à celles du corpus (entrée utilisateur qui suit les règles, pour ainsi dire), mais ne sera pas aussi performant s'il est confronté à des entrées utilisateur moins classiques.

Créer votre corpus d'entraînement

Lorsque vous définissez une intention, vous lui donnez un nom qui illustre une action d'utilisateur, puis poursuivez en compilant un ensemble de déclarations utilisateur réelles, ou énoncés. Vos intentions et les énoncés associés forment le corpus d'entraînement. Le terme corpus est simplement une manière rapide de dire "la totalité des intentions et exemples d'expressions que j'ai pu trouver pour rendre cette compétence intelligente". Le corpus est la clé de l'intelligence de votre compétence. En entraînant un modèle avec votre corpus, vous le transformez en outil de référence pour l'identification d'un intention à partir des entrées utilisateur. Étant donné que votre corpus d'entraînement joue un rôle clé dans l'évolution de la conversation entre la compétence et l'être humain, vous devez choisir vos mots avec attention lors de sa création.

En règle générale, un ensemble volumineux et divers d'exemples d'expression augmente la capacité d'un modèle à résoudre les intentions correctement. La création d'un corpus d'entraînement robuste ne débute pas par des exemples d'expression bien pensés. Elle commence par une définition claire des intentions. Les intentions doivent refléter votre cas d'utilisation, mais il est également essentiel que leur relation avec les échantillons de phrase associés soit également claire. Si vous ne savez pas où classer un échantillon de phrase, vos intentions ne sont pas distinctes les unes des autres.

Vous avez probablement des exemples d'énoncés en tête lors de la création de vos intentions, mais vous pouvez les développer à l'aide des directives suivantes .

Directives pour Trainer Tm

  • Utilisez un seuil de confiance minimal de 0.7 pour toute compétence que vous voulez mettre en production.
  • Utilisez des conventions d'attribution de noms appropriées pour vos noms d'intention afin de faciliter la révision des intentions connexes.
  • En règle générale, créez au moins 80 à 100 énoncés pour chaque intention. Selon les directives relatives à la taille et à la forme du corpus, le nombre minimal (c'est-à-dire non recommandé) d'énoncés pour une intention est de deux. Le nombre total d'énoncés dans votre jeu d'entraînement ne doit pas dépasser 25 000.
  • Si possible, utilisez des expressions réalistes non modifiées qui incluent :
    • du langage courant
    • des abréviations standard qu'un utilisateur pourrait entrer ("qté" pour quantité, par exemple)
    • des noms non standard, tels que des noms de produit
    • des variantes orthographique ("cuillère" et "cuiller" par exemple)
    Si vous ne disposez pas de données réelles, incorporez ces expressions à vos propres données d'entraînement. Voici quelques conseils :
    • Créez des phrases complètes qui mentionnent l'action et l'entité sur laquelle elle est effectuée.
    • Essayez de conserver la longueur de l'énoncé entre 3 et 30 mots. Des énoncés trop courts et dépourvus de contexte peuvent entraîner la généralisation du modèle de manière imprévisible. Les énoncés trop longs peuvent empêcher le modèle d'identifier les mots et expressions pertinents. Il peut toutefois y avoir des exceptions pour les énoncés d'un ou deux mots lorsqu'il s'agit d'expressions couramment utilisées. Si vous prévoyez des messages de deux mots comme statut commande, vérification prix, informations adhésion ou expédition internationale) qui spécifient à la fois l'entité et l'action, ajoutez-les à vos données d'entraînement. Veillez à ce que vos exemples d'expressions comporte une action et une entité.
    • Soyez spécifique. Par exemple, Quel est le numéro de téléphone du magasin? est préférable à Quel est votre numéro? car Trainer Tm peut ainsi associer un numéro de téléphone à un magasin. Grâce à cet apprentissage, il résoudra Quel est le numéro de téléphone de votre mère? à une note de confiance inférieure.
    • Même si Trainer Tm détecte les énoncés hors sujet, vous pouvez encore améliorer le niveau de confiance et la précision en créant une intention unresolvedIntent pour les énoncés qui concernent le domaine mais sont tout de même hors de l'étendue des intentions de la compétence. Trainer Tm peut ainsi apprendre la limite des intentions de domaine. Vous pouvez définir une intention unresolvedIntent pour les expressions qui ne doivent pas être résolues en une des intentions de votre compétence. Vous pouvez peut-être limiter la définition d'une intention unresolvedIntent aux cas où des messages d'utilisateur ont été résolu en une des intentions d'une compétence alors qu'ils ne s'appliquaient à aucune d'entre elles.
    • Variez autant que possible les mots et les expressions qui entourent le contenu significatif. Par exemple, "je voudrais une pizza, s'il vous plaît", "Pouvez-vous m'apporter une pizza?", "Une pizza, s'il vous plaît"
    • Évitez les pratiques suivantes :
      • N'associez pas un mot ou une expression unique à une intention spécifique, à moins qu'ils n'indiquent l'intention. Les phrases répétées peuvent fausser la résolution de l'intention. Par exemple, le fait de commencer chaque énoncé OrderPizza par "Je veux… " et chaque intention ShowMenu par "Pouvez-vous m'aider à… " peut augmenter la probabilité que le modèle résolve toute entrée d'utilisateur commençant par "Je veux" avec OrderPizza et "Pouvez-vous m'aider à" avec ShowMenu.
      • Une occurrence élevée d'énoncés d'un mot dans vos intentions. Les énoncés d'un mot sont une exception. Utilisez-les avec parcimonie. Mais évitez-les si possible.
      • Énoncés ouverts qui peuvent facilement s'appliquer à d'autres domaines ou à des sujets hors domaine.
      • Votre corpus n'a pas besoin de répéter le même énoncé avec une autre casse ou avec des formes lexicales différentes qui ont le même lemme. Par exemple, comme Trainer Tm fait la distinction entre manage, manages et manager, il parvient non seulement à différencier "Who does Sam manage?" et "Who manages Sam?", mais comprend également que ces mots sont apparentés.
        Note

        Vous pouvez être tenté d'ajouter des fautes d'orthographe de mots. Mais avant de le faire, utilisez ces fautes d'orthographe dans le testeur d'énoncés pour voir si le modèle les reconnaît. Vous pourriez être surpris de la façon dont il les traite. En outre, en n'ajoutant pas de fautes d'orthographe, vous courez moins de risque de fausser votre modèle de manière inattendue.
  • Créez des scénarios de test pour assurer l'intégrité de la résolution d'intention.
  • Exécutez le rapport Aperçu de la qualité des compétences pour maintenir un jeu d'entraînement équilibré. Exécutez également le rapport d'anomalies pour rechercher les énoncés mal classés ou inhabituels.
  • Lorsque vous déployez votre compétence, vous pouvez améliorer continuellement les données d'entraînement de la façon suivante :
    • Vérifiez les journaux de conversations, sommaires de toutes les conversations qui ont eu lieu pendant une période spécifique. Pour autoriser la journalisation, activez l'option Enable Insights (Activer les données clés) dans les paramètres.
    • L'exécution des rapports sur la qualité des compétences et l'affectation (ou la réaffectation) de messages d'utilisateur réels à vos intentions à l'aide du rapport de réentraînement des données clés. Si ces rapports indiquent que l'intention unresolvedIntent compte beaucoup d'instructions mal classées parmi les intentions du domaine :
      • Faitez passer les énoncés pertinents de l'intention unresolvedIntent aux intentions du domaine.
      • Faites passer les énoncés hors sujet des intentions du domaine à l'intention unresolvedIntent.

Directives pour Trainer Ht

Créez 12 à 24 exemples d'expressions par intention, si possible. Utilisez des expressions réalistes non modifiées qui incluent :
  • du langage courant
  • des fautes d'orthographe fréquentes
  • des abréviations standard qu'un utilisateur pourrait entrer ("qté" pour quantité, par exemple)
  • des noms non standard, tels que des noms de produit
  • des variantes orthographique ("cuillère" et "cuiller" par exemple)
Si vous ne disposez pas de données réelles, incorporez ces expressions à vos propres données d'entraînement. Voici quelques conseils :
  • Variez le vocabulaire et la structure des phrases des expressions de démarrage avec une ou deux permutations en utilisant :
    • des mots d'argot (fric, pognon, foin)

    • des abréviations standard qu'un utilisateur pourrait entrer ("qté" pour quantité, par exemple)
    • des noms non standard, tels que des noms de produit
    • des expressions communes ( Suis-je fauché? pour une intention nommée Solde de compte)

    • une autre formulation (Déposer des espèces sur mon compte d'épargne, Déposer des fonds sur mon compte d'épargne, Déposer de l'argent sur mon compte d'épargne et Transférer des espèces sur mon compte d'épargne.)

    • des catégories d'objets différentes ( je veux commander une pizza, je veux commander à manger).

    • des variantes orthographiques (yaourt, yogourt)

    • des fautes d'orthographe courantes ("tomatte" au lieu de "tomate")

    • un ordre de mots inhabituel (Sur compte-chèques, 20 $ envoyer)

  • Utilisez des concepts différents pour exprimer la même intention, par exemple comme J'ai faim et Prépare-moi une pizza
  • N'associez pas un mot ou une expression unique à une intention spécifique, à moins qu'ils n'indiquent l'intention. Les phrases répétées peuvent fausser la résolution de l'intention. Par exemple, le fait de commencer chaque énoncé OrderPizza par "Je veux… " et chaque intention ShowMenu par "Pouvez-vous m'aider à… " peut augmenter la probabilité que le modèle résolve toute entrée d'utilisateur commençant par "Je veux" avec OrderPizza et "Pouvez-vous m'aider à" avec ShowMenu.
  • Évitez les fragments de phrase et les mots uniques. Utilisez plutôt des phrases complètes (pouvant contenir jusqu'à 255 caractères) qui incluent l'action et l'entité. Si vous devez utiliser des mots clés uniques, sélectionnez-les avec attention.

  • Créez des scénarios de test pour assurer l'intégrité du test de résolution d'intention. Comme l'ajout d'un nouvel exemple d'intention peut entraîner des régressions, il vous faudra sans doute ajouter plusieurs expressions de test pour stabiliser le comportement de la résolution d'intention.

Limites pour la forme et la taille des données d'entraînement

En ce qui concerne les données d'entraînement et la forme, voici les limites du nombre d'intentions et d'énoncés.

Objectifs :

  • Nombre minimal d'intentions par compétence : 2
  • Nombre maximal d'intentions par compétence : 2 500

Énoncés :

  • Nombre maximal d'énoncés par compétence : 25 000
  • Nombre minimal d'énoncés par intention : 2
  • Longueur du mot d'énoncé : entre 3 et 30 mots. Selon les directives pour Trainer Tm, il existe des exceptions où des énoncés d'un ou deux mots peuvent être appropriés s'ils sont couramment utilisés.
Note

Il s'agit de limites techniques et non de recommandations. Voir Directives pour le modèle d'entraînement Tm pour des recommandations pratiques sur la mise en forme de vos compétences et la fourniture de données d'entraînement fiables.

Exporter les données d'intention

Pour enregistrer les conversations, activez l'option Enable Insights (Activer les données clés) dans Settings > General (Paramètres > Général) avant de tester les intentions.

Pour exporter des données pour une compétence :
  1. Cliquez sur icône d'ouverture du menu latéral pour ouvrir le menu latéral et sélectionnez Development > Skills (Développement > Compétences).
  2. Dans la vignette de la compétence, cliquez sur icône d'ouverture du menu Options et sélectionnez Export Conversations (Exporter les conversations).
  3. Choisissez Intent Conversation Log (Journal de conversation d'intention), définissez la période de journalisation, puis cliquez sur Export (Exporter).
  4. Vérifiez les entrées des utilisateurs en ouvrant les fichiers CSV dans un programme de feuille de calcul.