Présentation du traitement en langage naturel avec TensorFlow
Dans ce module, nous allons explorer différentes architectures de réseau neuronal pour traiter le texte en langage naturel. Au cours des dernières années, le traitement en langage naturel (NLP, natural language processing) est un domaine qui a connu une croissance rapide, à la fois grâce aux améliorations des architectures de modèle de langage et aux entraînements sur des volumes de texte de plus en plus conséquents. Par conséquent, sa capacité à « comprendre » le texte s’est considérablement améliorée et les grands modèles préentraînés, tels que les BERT, sont devenus largement utilisés.
Nous allons nous concentrer sur les aspects fondamentaux de la représentation du NLP sous forme de tenseurs dans TensorFlow, et sur les architectures classiques de NLP, comme l’utilisation de sacs de mots, d'incorporations et de réseaux neuronaux récurrents.
Tâches en langage naturel
Nous pouvons résoudre plusieurs tâches NLP à l’aide de réseaux neuronaux :
- La Classification de texte est utilisée lorsque nous devons classifier un fragment de texte dans l’une des classes prédéfinies. Parmi les exemples, citons la détection des courriers indésirables, la catégorisation des infos, l’attribution d’une demande d’assistance à une catégorie et plus encore.
- La Classification d’intentions est un cas spécifique de classification de texte, où nous voulons faire correspondre un énoncé d’entrée dans le système d’IA conversationnelle à l’une des intentions qui représentent le sens réel de la phrase, ou l’intention de l’utilisateur.
- L’Analyse des sentiments est une tâche de régression, où nous voulons comprendre le degré de positivité d’un texte donné. Nous voudrons peut-être étiqueter le texte d’un jeu de données du plus négatif (-1) au plus positif (+1) et entraîner un modèle qui produira un chiffre représentant la positivité du texte d’entrée.
- La Reconnaissance d’entité nommée (NER, named entity recognition) est la tâche qui consiste à extraire des entités d’un texte, comme des dates, des adresses, des noms de personnes, etc. Avec la classification des intentions, la NER est souvent utilisée dans les systèmes de dialogue pour extraire les paramètres de l’énoncé de l’utilisateur.
- Une tâche similaire d’extraction de mots clés peut être utilisée pour rechercher les mots les plus significatifs à l’intérieur d’un texte, qui peuvent ensuite être utilisés en tant qu’étiquettes.
- Le Résumé de texte extrait les éléments les plus significatifs du texte pour donner à l’utilisateur une version compressée du texte d’origine.
- Les Réponses aux questions constituent la tâche d’extraction d’une réponse à partir d’une partie de texte. Ce modèle prend un fragment de texte et une question en entrée, et trouve dans le texte l’endroit exact qui contient la réponse. Par exemple, le texte « John est un étudiant de 22 ans qui aime utiliser Microsoft Learn », et la question Quel âge a John devraient nous fournir la réponse 22.
Dans ce module, nous aborderons principalement la tâche de Classification de texte. Toutefois, nous allons apprendre tous les concepts importants dont nous aurons besoin pour gérer des tâches plus difficiles.
Objectifs d’apprentissage
- Comprendre comment le texte est traité pour les tâches NLP
- Découvrir les réseaux neuronaux récurrents (RNN) et les réseaux neuronaux génératifs (GNN)
- En savoir plus sur les mécanismes d’attention
- Découvrez comment créer des modèles de classification de texte
Prérequis
- Connaître Python
- Notions de base sur le Machine Learning