Cet ouvrage sur le traitement automatique du langage naturel (NLP) avec le langage Python est un guide pratique pour les professionnels, étudiants ou passionnés, ayant des bases minimales en Python, désireux d’explorer les horizons de l’intelligence artificielle et de la linguistique. Dès les premières pages, le livre vous donne de solides bases en IA et en linguistique, essentielles pour comprendre le NLP. Vous serez guidé à travers les concepts clés et les outils de NLP, comme l’analyse...
Cet ouvrage sur le traitement automatique du langage naturel (NLP) avec le langage Python est un guide pratique pour les professionnels, étudiants ou passionnés, ayant des bases minimales en Python, désireux d’explorer les horizons de l’intelligence artificielle et de la linguistique.
Dès les premières pages, le livre vous donne de solides bases en IA et en linguistique, essentielles pour comprendre le NLP. Vous serez guidé à travers les concepts clés et les outils de NLP, comme l’analyse syntaxique et le POS-tagging, qui sont présentés avec clarté et précision. Le support couvre ensuite une gamme étendue de domaines d’application en NLP : la traduction automatique et la génération de texte, l’extraction de caractéristiques, la classification de documents, la reconnaissance de la parole ou encore l’analyse de sentiments.
L’approche très pratique du support vous permet d’utiliser systématiquement spaCy ou NLTK au cours de mini-projets qui mobilisent également Jupyter, Gensim (Word2Vec), Scikit-Learn, Pytorch ou encore les modèles GPTs d’OpenAI. Le Web Scraping, un aspect crucial de la collecte de données en NLP, pour construire des jeux de données, est également abordé.
Que vous souhaitiez développer une application de reconnaissance vocale, analyser des sentiments sur les réseaux sociaux ou simplement approfondir vos connaissances en NLP, ce support constitue une ressource utile, voire indispensable.
7.2.3 GloVe (Global Vectors for Word Representation)
7.2.4 BERT (Bidirectional Encoder Representations from Transformers)
7.3 Exemple avec Word2Vec et NLTK
7.4 Exemple avec BERT et spaCy
8. Conclusion
Génération de texte
1. Introduction à la génération de texte
2. Les modèles de chaînes de Markov
2.1 Définition
2.2 Fonctionnement dans le cadre de la génération de texte
2.2.1 Modélisation des transitions
2.2.2 Calcul des probabilités
2.2.3 Génération de texte
2.3 Génération de texte avec des chaînes de Markov et NLTK
2.4 Génération de texte avec des chaînes de Markov et spaCy
3. Les modèles de langage neuronaux
3.1 Explication théorique
3.2 Exemple pratique
3.3 Utilisation de GPT-3 via l'API d'OpenAI
3.3.1 Introduction
3.3.2 Exemple pratique
Reconnaissance de la parole
1. Introduction et définition
1.1 La bibliothèque SpeechRecognition
2. Reconnaissance de la parole avec Python/NLTK
2.1 Contexte et outils nécessaires à l'exemple
2.2 Exemple en Python et NLTK
2.2.1 Explication du code
2.2.2 Fichier audio en anglais et plus long (1'35)
3. Reconnaissance de la parole avec Python/spaCy
3.1 Introduction
3.2 Le code adapté à spaCy
Traduction du texte et de la parole
1. Traduction de texte en NLP
1.1 Définition et mise en perspective
1.2 Processus théorique de la traduction de texte
2. Exemple pratique : traduction de l'anglais vers le français
2.1 Introduction
2.2 Le choix technologique
2.3 Implémentation avec Hugging Face/MarianMT
3. Traduction du français vers l'allemand et réciproquement
4. Reconnaissance de la langue utilisée
4.1 Introduction
4.2 Stratégie en NLP
4.3 Exemple simple à l'aide de NLTK
4.4 Exemple élaboré avec LangDetect et spaCy
Correction orthographique/syntaxique et pipelines
1. Introduction
1.1 Correction orthographique et syntaxique
1.2 Pipelines avec spaCy
2. Première approche de la correction orthographique
2.1 SpellChecker
2.2 Exemple avec SpellChecker/NLTK
3. Notion de pipeline dans spaCy
3.1 Présentation
3.2 Composantes du pipeline
3.2.1 Comment connaître le contenu par défaut du pipeline ?
3.2.2 Clés principales utilisables dans le pipeline
3.2.3 Exemple d'utilisation
3.2.4 Considération sur l'industrialisation des traitements
4. Correction orthographique et syntaxique avec spaCy
4.1 Contextual Spell Check
4.2 Utilisation avec pipeline
4.3 Utilisation de façon classique (sans pipeline)
5. Quelques éléments théoriques
5.1 Distance de Levenshtein
5.2 Distance de Damerau-Levenshtein
5.3 N-grammes et modèles de Markov
Exploration de données et analyse de sentiments
1. Introduction
2. Exploration approfondie du jeu de données
2.1 Lecture et découverte du dataset
2.2 Répartition des « sentiments »
2.3 Nettoyage du jeu de données
2.4 Nuage de mots
2.5 Analyse de la longueur des tweets
3. Analyse de sentiments
3.1 Entraînement du modèle
3.1.1 Imports de bibliothèques
3.1.2 TF-IDF
3.1.3 Division en données de test et d'entraînement
3.1.4 Entraînement du modèle
3.1.5 Prédiction sur l'ensemble de tests
3.1.6 Indicateurs relatifs à l'évaluation du modèle
3.2 Évaluation de la qualité du modèle entraîné
3.3 Utilisation du modèle de prédiction
3.3.1 Nettoyage des trois tweets
3.3.2 Vectorisation des trois tweets
3.3.3 Prédiction pour chacun des trois tweets
4. Ensemble du code du chapitre
Lettres de Fusillés 1940-1944 sur Le Maitron en ligne
1. Introduction
2. Problématique identifiée
3. Obtention d'un jeu de données
3.1 Contexte
3.2 Web scraping
3.3 Parsing de chaque lettre de Fusillé
3.4 Corrections manuelles
3.5 Nettoyage du jeu de données
4. Rapide exploration du jeu de données
5. Apprentissage du modèle, différentes approches
5.1 Approche KMeans
5.1.1 Code
5.1.2 Analyse
5.2 Approche LDA
5.2.1 Code
5.2.2 Analyse
5.3 Approche avec Word2Vec
5.3.1 Code
5.3.2 Analyse
6. Conclusion
Glossaire du NLP
Index
Benoît PRIEUR
Benoît PRIEUR est ingénieur logiciel et enseignant en informatique, diplômé de l'ISIMA de Clermont-Ferrand. Avec une expérience de vingt ans, il est spécialisé dans le développement logiciel, notamment avec les langages Python, C++, Rust et C#. Il est également expert en Machine Learning, en particulier dans le domaine du NLP et auteur de plusieurs ouvrages aux Éditions ENI depuis 2017, couvrant un large éventail de sujets tels que l'informatique quantique, l'industrie 4.0 et le Machine Learning. En tant que formateur et conférencier, il partage régulièrement ses connaissances sur ces technologies émergentes, et contribue à la communauté en écrivant des articles sur la programmation de logiciels. Benoît Prieur reverse 100 % de ses droits d'auteur du livre Traitement automatique du langage naturel avec Python à l'association AGBU (Union générale arménienne de bienfaisance).