Actions à faire et à ne pas faire pour la conception de conversations
La création d'un jeu d'intentions robuste pour une compétence réussie nécessite beaucoup d'attention. Voici certaines des meilleures pratiques à garder à l'esprit.
Conception et entraînement des intentions
À FAIRE | À NE PAS FAIRE |
---|---|
Prévoyez d'ajouter des énoncés jusqu'à l'obtention des résultats attendus. En règle générale, les modèles sont plus performants lorsque vous ajoutez des énoncés d'entraînement de qualité. Le nombre d'énoncés nécessaires dépend du modèle, des données d'entraînement et du niveau de précision réaliste visé pour votre modèle. | Évitez de trop entraîner les intentions individuelles. N'ajoutez pas une quantité excessive de données d'entraînement à certaines intentions pour les faire travailler "parfaitement". Si la résolution d'intention ne se comporte pas comme prévu, recherchez dans la structure de l'intention si des intentions se chevauchent. La résolution d'intention NE SERA JAMAIS exacte à 100 %. |
Utilisez des données du monde réel. Il est essentiel d'entrer les expressions usuelles que votre compétence est susceptible de rencontrer. Les énoncés inventés ont une portée limitée et ne préparent pas votre compétence aux conversations réelles. | N'utilisez pas que des mots clés dans les données d'entraînement. Les mots seuls ou les expressions courtes sont acceptables pour l'entraînement, mais les données d'entraînement doivent utiliser la même structure que les entrées utilisateur. Moins les énoncés comportent de mots, moins la classification a de chance de réussir. |
Utilisez des phrases complètes pour entraîner les intentions. Les énoncés courts sont acceptables, mais veillez à reproduire le style conversationnel de vos utilisateurs aussi fidèlement que possible. | Ne faussez pas par inadvertance les intentions. Méfiez-vous des mots qui n'apportent rien au sens (par exemple, "s'il vous plaît" et "merci") ou des valeurs d'entité au sein des énoncés, car elles risquent de fausser la résolution d'intention si elles sont très utilisées dans une intention et non dans une autre. |
Utilisez un nombre similaire d'énoncés par intention. Certaines intentions (par exemple, "bonjour", "au revoir") peuvent comprendre moins d'énoncés dans leurs jeux d'entraînement. Toutefois, veillez à ce que vos intentions principales comportent un nombre similaire d'énoncés pour éviter d'influencer votre modèle. | Ne vous fiez pas uniquement à la résolution d'intention. Utilisez des entités pour désambiguïser les intentions courantes. En cas de chevauchement linguistique entre des intentions, pensez à utiliser des entités pour désambiguïser les intentions de l'utilisateur (et le chemin conversationnel unique correspondant). |
Tenez compte du babillage. Les utilisateurs entrent parfois des éléments qui n'ont rien à voir avec l'objet de la compétence, par exemple des blagues ou des commentaires sur le temps. Ils peuvent également se comporter comme s'ils dialoguaient avec un être humain. Veillez à mettre en place une stratégie pour ce genre de conversation et testez de façon répétée la réponse de la compétence à toutes les étapes du flux conversationnel. | N'utilisez pas unresolvedIntent excessivement. Créez des intentions "hors de portée" pour les éléments qui vous sont inconnus (vous pourrez ultérieurement autoriser ou non la compétence à les traiter). |
Pensez à utiliser plusieurs intentions pour un cas unique d'utilisation. Les clients peuvent exprimer un même besoin de différentes façons, par exemple en indiquant la solution qu'ils souhaitent OU le symptôme de leur problème. Utilisez plusieurs intentions qui aboutiront à une même "réponse". | N'ignorez pas les interactions incluant des propos offensants. Comme pour le babillage, mettez en place une stratégie pour de tels propos. Ce plan doit inclure des mesures pour garantir que les propos injurieux de l'utilisateur ne sont pas repris par la compétence et prévoir une escalade immédiate. |
Expérience conversationnelle des utilisateurs
À FAIRE | À NE PAS FAIRE |
---|---|
Fournissez des indications sur les réponses les plus probables (y compris les demandes d'aide et de sortie). Par exemple, "Salut, je suis Bob le robot. Posez-moi des questions sur X, Y ou Z. En cas de problème, entrez 'aide'." | Ne remettez pas la conception conversationnelle à "plus tard dans le projet". Pour toutes les compétences sauf les plus simples, la conception conversationnelle doit être traitée avec la même priorité et la même urgence que d'autres tâches de développement. Elle doit commencer tôt et se poursuivre en parallèle avec d'autres tâches. |
Pensez à la personnalité de votre robot. Vous devez réfléchir à la personnalité et au ton de votre robot. Toutefois, prenez soin de ne pas exagérer le côté humain de l'interaction (l'humour et la sympathie sonnent souvent faux avec les robots). N'essayez jamais de faire croire à vos utilisateurs qu'ils ont affaire à un être humain. | Ne dites pas que la compétence "est encore en phase d'apprentissage". Même si cela part d'une bonne intention, cette mauvaise pratique entraîne l'utilisateur à penser que la compétence n'est pas à la hauteur, consciemment ou inconsciemment. |
Indiquez à l'utilisateur ce qui est attendu de lui. La compétence doit tenter de guider l'utilisateur vers une réponse appropriée et éviter de laisser des questions ouvertes. Ces questions risquent de provoquer l'insatisfaction de l'utilisateur. | Ne faites pas de réponses qui ne fournissent pas d'indication. Voir "Indiquez à l'utilisateur ce qui est attendu de lui.". |
Répartissez les longues réponses dans des bulles de clavardage individuelles et/ou utilisez des sauts de ligne. Les grands morceaux de texte sans sauts visuels sont difficiles à lire et peuvent embrouiller le lecteur. | Ne dites pas "Je suis désolé, je ne comprends pas. Pouvez-vous reformuler votre question?" Cette approche paresseuse de gestion des erreurs est le plus souvent inexacte. Quel que soit le nombre de reformulations, la compétence n'aura JAMAIS rien d'intelligent à dire. |
-- | Limites les expressions de "confirmation". Les expressions de confirmation sont nécessaires. Toutefois, n'en abusez pas. Pensez à des flux de dialogue qui peuvent prendre en compte les niveaux de confiance avant de demander aux utilisateurs de confirmer. |
Stratégies de test
À FAIRE | À NE PAS FAIRE |
---|---|
Développez les énoncés de manière cyclique. Le développement d'un corpus d'entraînement robuste requiert de multiples itérations et cycles de test, ainsi qu'une surveillance et un réglage continus. Utilisez une approche cyclique de type "créer, tester, déployer, surveiller, mettre à jour". | N'oubliez pas qu'un plan de mesure et d'amélioration de la performance est nécessaire. Sans plan pour mesurer et améliorer votre compétence, vous n'aurez aucun moyen de savoir si elle fonctionne réellement. |
Testez les énoncés à l'aide de la règle 80/20. Testez toujours la robustesse de vos intentions les unes par rapport aux autres en effectuant plusieurs tests de 80/20, où 80 % des nouveaux énoncés récoltés servent à entraîner le modèle et 20 % sont ajoutés à vos données de test. | Ne testez pas seulement les cas nominaux. "Faire fonctionner la compétence représente 20 % du travail. Les 80 % restants servent à tester et à ajuster la façon dont la compétence répond aux actions aux entrées utilisateur incorrectes. |
Testez les échecs de la compétence. Essayez de mettre votre compétence en échec pour voir ce qui se passe. Ne vous fiez pas uniquement aux tests positifs. | N'omettez pas le traitement des messages dans le désordre. Les utilisateurs remontent parfois dans l'historique de conversation et cliquent sur des boutons passés. Le test des résultats doit faire partie des 80 % de votre travail (comme indiqué dans Ne testez pas seulement les cas nominaux). |
-- | N'oubliez pas de tester à nouveau les intentions que vous mettez à jour. Si vous ajoutez des données d'entraînement supplémentaires (par exemple, au fur et à mesure que votre robot acquiert davantage de pratique du monde réel) et/ou que vous ajoutez de nouveaux cas d'utilisation, n'oubliez pas de tester à nouveau votre modèle. |
Considérations relatives au projet
À FAIRE | À NE PAS FAIRE |
---|---|
Sélectionnez des cas d'utilisation qui sont réellement améliorés par l'utilisation d'une interface conversationnelle. La mise en oeuvre d'une interface utilisateur conversationnelle (au moyen de compétences et d'assistants numériques) nécessite beaucoup de travail. Vérifiez que le cas d'utilisation sera vraiment amélioré par l'ajout d'une telle interface. | N'oubliez pas de créer un chemin d'escalade. Même si vous ne prévoyez pas d'autoriser l'escalade vers un agent humain, vous devez mettre en place une stratégie pour les interactions où la compétence ne peut rien faire. |
Anticipez que le premier jour sera le pire. Même les compétences et les assistants numériques les mieux testés nécessitent un réglage dès le premier jour. | Ne dissolvez pas l'équipe de projet immédiatement après le lancement. Lors de la programmation de votre projet de compétence, prenez soin de garder les créateurs de la compétence (concepteur conversationnel, gestionnaire de projet, technicien, etc.) dans le projet suffisamment longtemps pour permettre les ajustements nécessaires et le transfert de connaissances. |