La compréhension du langage naturel (NLU) est une composante essentielle de nombreuses applications d’IA, des chatbots aux assistants virtuels. Cependant, la formation de modèles de compréhension du langage naturel peut s’avérer difficile, car elle nécessite une compréhension approfondie du langage et du contexte. Notre premier conseil est d’éviter l’improvisation. En effet, vous ne pouvez pas simplement décider de créer un modèle NLU et espérer qu’il fonctionne parfaitement dans votre cas d’utilisation. Vous devez réfléchir à l’avance à votre cas d’utilisation final afin de préparer vos données en fonction de vos besoins.
Afin de vous aider à améliorer la précision de votre modèle NLU, nous avons compilé une liste de bonnes pratiques pour la construction de vos données. Que vous soyez un développeur NLU chevronné ou que vous débutiez, cette liste vous aidera à optimiser vos modèles et à obtenir de meilleurs résultats.
Définir des intentions et des entités claires pour votre modèle NLU
L’une des étapes les plus importantes de la construction d’un modèle NLU consiste à définir des intentions et des entités claires. Les intentions sont les objectifs ou les actions qu’un utilisateur souhaite accomplir, tandis que les entités sont les éléments d’information spécifiques qui sont pertinents pour cette intention. En les définissant clairement, vous aiderez votre modèle à comprendre ce que l’utilisateur demande et à fournir des réponses plus précises. Veillez à utiliser des noms spécifiques et descriptifs pour vos intentions et vos entités, et fournissez de nombreux exemples pour aider le modèle à apprendre.
Une intention capture le sens général de la phrase :
Il s’agit d’une catégorie représentant l’intention transmise par un groupe de phrases d’entrée. Nous pourrions avoir trois intentions pour régler la température :
- set_temperature : Augmenter la température de deux degrés
- get_temperature : Donnez-moi la température du salon
- apply_scenario : Passer la maison en mode nuit (par exemple)
Nous pouvons également choisir de diviser les actions de diminution et d’augmentation de la température en 5 intentions :
- set_temperature : mettre cette pièce à 18 degrés
- increase_temperature : augmente la température de la maison de 2 degrés
- decrease_temperature : il fait trop chaud ici, baissez la température
- get_temperature : combien de degrés fait-il ici ?
- apply_scenario : définir le scénario de vacances
Les deux solutions sont valables tant que les phrases de chaque intention ne se chevauchent pas. La multiplicité des intentions peut être source de confusion, c’est pourquoi il est essentiel d’équilibrer leur diversité et leur spécialisation.
Les entités sont des mots ou des groupes de mots spécifiques que vous souhaitez extraire de l’entrée. Elles sont souvent porteuses d’un sens sémantique et la combinaison des entités extraites permet de déduire le sens général de la phrase.
Dans notre exemple, nous devrions extraire des entités en tant que variables pour effectuer nos actions :
- pièce : chambre
- nombre : 20
- unité : degrés
- nom_du_scénario : mode nuit
Utilisez des données de formation diverses et représentatives pour votre modèle NLU
Pour garantir la précision et l’efficacité de votre modèle NLU, il est important d’utiliser des données de formation diverses et représentatives. Cela signifie qu’il faut inclure un large éventail d’exemples qui reflètent les différentes façons dont les utilisateurs peuvent formuler leurs demandes ou leurs questions. Il est également important d’inclure des exemples.
Un exemple doit être représentatif de l’intention.
L’exemple doit couvrir différentes manières d’expliquer la même intention.
Comme « Allumez le chauffage », « Pourriez-vous allumer le chauffage, s’il vous plaît ! » ou même « Il fait très froid ici… », ces trois exemples signifient la même intention « Allumez le chauffage ».
Des régions, des cultures et des données démographiques différentes garantissent que votre modèle NLU est inclusif et accessible à tous les utilisateurs. En utilisant des données de formation diverses et représentatives, vous pouvez aider votre modèle à apprendre à reconnaître et à répondre à un large éventail d’entrées utilisateur.
Équilibrer la quantité de données de formation pour les intentions et les entités
Lorsque vous entraînez votre modèle NLU, il est important d’équilibrer la quantité de données d’entraînement pour chaque intention et chaque entité. Si vous disposez de trop peu de données pour une intention ou une entité particulière, votre modèle risque d’avoir du mal à reconnaître avec précision les entrées des utilisateurs liées à ce sujet et à y répondre.
À l’inverse, si vous disposez de trop de données pour une intention ou une entité particulière, votre modèle risque d’être trop spécifique et d’avoir du mal à s’adapter à de nouvelles entrées. Essayez de disposer d’une quantité équilibrée de données de formation pour chaque intention et entité afin de garantir les performances optimales de votre NLU.
Exemple : Un exemple basé sur une quantité importante de données pour l’intention « Chauffage » est :
- « Allumer le chauffage »
- « Pourriez-vous allumer le chauffage ?
- « S’il vous plaît ! Allumez le chauffage »
- « Il fait très froid ici
- « Pouvons-nous allumer le chauffage »
- « Pouvez-vous allumer le chauffage »
- « Allumez le chauffage »
L’exemple de la mise en marche du ventilateur, basé sur moins de données, est le suivant :
- « Allumer le ventilateur »
- « Allumer le ventilateur »
Dans le deuxième exemple pour la mise en marche du ventilateur, le modèle n’est pas utilisé pour de nombreuses intentions.
Utiliser des modèles linguistiques préformés comme point de départ
L’une des meilleures pratiques pour la formation de modèles de compréhension du langage naturel (NLU) consiste à utiliser des modèles linguistiques pré-entraînés comme point de départ. Les modèles pré-entraînés ont déjà été entraînés sur de grandes quantités de données et peuvent constituer une base solide pour votre modèle NLU. Vous pouvez ainsi gagner du temps et économiser des ressources lors du processus de formation. Cependant, il est important d’adapter le modèle pré-entraîné à votre cas d’utilisation spécifique afin de garantir des performances optimales. Le réglage consiste à entraîner le modèle sur vos données et à ajuster les paramètres pour répondre à vos besoins spécifiques.
Choisissez l’algorithme NLU en fonction de vos données
Lorsqu’il s’agit d’entraîner votre modèle NLU, le choix du bon algorithme est crucial. Il existe de nombreux algorithmes, chacun ayant ses forces et ses faiblesses. Certains algorithmes sont mieux adaptés à certains types de données ou de tâches, tandis que d’autres peuvent être plus efficaces pour traiter un langage complexe ou nuancé. Il est important d’évaluer soigneusement vos options et de choisir un algorithme adapté à vos besoins et objectifs spécifiques. Il est important d’évaluer régulièrement votre algorithme et de le mettre à jour si nécessaire afin de s’assurer qu’il reste efficace au fil du temps.
« Si vous disposez d’un petit ensemble de données, il n’est pas judicieux de choisir un algorithme (modèle) de grande taille ».
« Si vous disposez d’un grand ensemble de données, il n’est pas recommandé de choisir un petit algorithme (modèle) ».
Régulièrement mettre à jour et réentraîner vos modèles.
Prétraitez et nettoyez vos données
Exemple d’un ensemble de données pour un bon modèle NLU
Action | Intent |
Nous pouvons démarrer le cuiseur | démarrer |
Nous pouvons arrêter le cuiseur | arrêter |
Nous pouvons augmenter la chaleur du cuiseur | augmenter_chaleur |
Nous pouvons diminuer la chaleur du cuiseur | diminuer_chaleur |
Nous pouvons verrouiller la sécurité du cuiseur | lock_security |
Nous pouvons déverrouiller la sécurité de la cuisinière | unlock_security |
Nous pouvons demander au cuiseur combien de temps il lui reste à faire | tell_remaining_time |
Tout ce que nous ne voulons pas gérer | aucun |
Cas à éviter lors de la construction de données pour votre modèle NLU
Négliger la quantité de données d’entraînement
Ne pas tester les données et ne pas procéder à des itérations
Ne pas définir clairement les intentions et les entités
L’un des aspects les plus importants de la construction des données est la définition d’intentions et d’entités claires. Les intentions sont les objectifs ou les actions qu’un utilisateur souhaite réaliser grâce à son interaction avec le modèle, tandis que les entités sont les éléments d’information spécifiques dont l’application finale a besoin pour répondre à ces intentions. Ne pas définir clairement ces éléments peut conduire à la confusion et à des réponses inexactes. Il est important de passer du temps à définir et à affiner ces éléments pour garantir la meilleure expérience possible à l’utilisateur.
Le modèle NLU : la pierre angulaire d’une bonne expérience utilisateur dans la technologie vocale
La compréhension du langage naturel a ouvert de nouvelles perspectives passionnantes dans le domaine du traitement du langage naturel. Leur capacité à comprendre et à interpréter le langage humain de manière contextuelle et nuancée a révolutionné de nombreux domaines. Pour y parvenir, les modèles de compréhension du langage naturel doivent être entraînés à l’aide de données de haute qualité. Il convient toutefois de noter que la compréhension du langage parlé est également cruciale dans de nombreux domaines, tels que la reconnaissance automatique de la parole (ASR).
La combinaison de modèles NLU avancés avec des systèmes ASR performants ouvre la voie à des interactions plus fluides et plus naturelles entre les humains et les machines. En explorant les synergies entre les modèles NLU et la reconnaissance automatique de la parole, nous sommes les témoins d’un avenir prometteur où les machines seront capables de comprendre et de répondre plus naturellement et plus efficacement à nos interactions vocales. Cela contribuera alors à améliorer l’expérience des utilisateurs de la voix et à réaliser des avancées technologiques significatives.