01 75 60 34 00 | conseil@ensae.fr | Prenez RDV |

Python expert — Traitement du langage naturel

LANGAGES & LOGICIELS 2 jours (12 h) Avancé 1 585 € HT
Prochaine session 14 et 15 oct. 2027
S'inscrire
Python expert — Traitement du langage naturel

Objectifs pédagogiques

  • Acquérir les compétences nécessaires pour utiliser les bibliothèques Python les plus populaires pour le NLP (NLTK, SpaCy, PyTorch…)
  • Comprendre les concepts de base et les techniques avancées du NLP.
  • Utiliser les techniques de traitement automatique de la langue naturelle pour résoudre des problèmes concrets dans son propre domaine d’application.

Programme détaillé

Cette formation en NLP (traitement automatique du langage naturel) avec Python est conçue pour aider les participants à monter en compétence en utilisant les bibliothèques Python les plus populaires du NLP, telles que NLTK, SpaCy et PyTorch.

Introduction et principales applications du NLP 1h

Les techniques du prétraitement et de normalisation du texte 2h

  • Tokenization
  • Lemmatization
  • Stemming
  • Réduction de la dimension

L’inventaire des méthodes de représentation du texte et des algorithmes canoniques du NLP 3h

  • Bag-Of-Word
  • TF-IDF
  • Word2Vec

Les cas d’application classiques du NLP 3h

  • Classification de texte
  • Extraction d’information
  • Analyse de sentiment

Une introduction aux méthodes de Deep Learning appliquées au texte 3h


Les participants auront l’occasion de mettre en pratique ces concepts en utilisant des jeux de données réels et en développant leurs propres modèles de NLP.

Public visé

Toute personne souhaitant développer une utilisation avancée de Python dans le domaine du NLP, notamment les data scientists et data analysts déjà utilisateurs de Python.

Prérequis

Parmi nos formations au langage Python, cette formation est le niveau 3. Elle requiert une bonne maîtrise et une utilisation régulière de Python (contenu des formations niveau 1 - Python initiation et niveau 2 - Python intermédiaire).

En vous inscrivant aux deux autres modules Python expert (Machine learning engineer et Développement d’interfaces graphiques et dataviz avancé), bénéficiez d’un tarif réduit sur le prix total des 3 modules : 4200 € au lieu de 4590 €, pour 6 jours de formation.

Voir les 3 modules Python expert

Approche pédagogique

Moyens pédagogiques
Exposé théorique de concepts Démonstration Expérimentation Applications pratiques sur ordinateur Étude de cas concrets Échanges sur les pratiques et expériences des participants Suivi pédagogique individualisé Temps de questions / réponses Exercices, quiz, etc.
Méthodes pédagogiques
Méthode expositive Méthode démonstrative

NLP : du sac de mots à Word2Vec, comment un ordinateur représente un texte

Un algorithme ne manipule que des nombres. Tout le traitement automatique du langage (NLP) commence donc par la même question : comment transformer un texte en vecteur ? Les réponses successives, des années 1970 à 2013, structurent encore les méthodes classiques.

Normaliser : racinisation ou lemmatisation

Avant de compter les mots, on les ramène à une forme commune. La racinisation (stemming) coupe les terminaisons à l’aide de règles : c’est l’algorithme publié par Martin Porter en 1980 pour l’anglais, décliné au début des années 2000 pour d’autres langues dans le projet Snowball, qui comprend un racinisateur français. Rapide, elle ignore pourtant la grammaire :

from nltk.stem.snowball import FrenchStemmer

stemmer = FrenchStemmer()
[stemmer.stem(m) for m in ["économie", "économiques", "mangeons", "mangé"]]
# ['économ', 'économ', 'mangeon', 'mang']

« Économie » et « économiques » sont regroupés, mais pas deux formes du verbe manger. La lemmatisation, qui ramène chaque mot à son entrée de dictionnaire (« manger ») grâce à une analyse morphologique, est plus juste et plus coûteuse. En français, langue riche en flexions, l’écart entre les deux approches se voit vite.

Compter, puis pondérer : TF-IDF

Le sac de mots (bag-of-words) représente un document par le nombre d’occurrences de chaque mot, sans tenir compte de leur ordre. Or les mots les plus fréquents, comme « le » ou « de », sont les moins informatifs. En 1972, l’informaticienne britannique Karen Spärck Jones propose de pondérer chaque terme selon l’inverse du nombre de documents qui le contiennent : un mot présent partout ne distingue aucun document. Combinée à la fréquence du terme dans le document, cette pondération donne le TF-IDF. Sur trois phrases contenant toutes « le », le TfidfVectorizer de scikit-learn attribue à ce mot le poids IDF minimal (1), contre 1,69 à un mot présent dans une seule phrase.

Des vecteurs qui portent le sens : Word2Vec

Le sac de mots ignore que « chômage » et « emploi » parlent du même sujet. En 2013, Tomas Mikolov et ses collègues de Google publient Word2Vec, qui apprend pour chaque mot un vecteur dense de quelques centaines de dimensions à partir des mots qui l’entourent. C’est l’application de l’hypothèse distributionnelle, résumée en 1957 par le linguiste John Firth : « You shall know a word by the company it keeps » (on connaît un mot à ses fréquentations). Des mots employés dans des contextes proches reçoivent des vecteurs proches, et certaines relations deviennent des opérations : le vecteur de « roi », moins celui d’« homme », plus celui de « femme », est proche de celui de « reine ».

Les méthodes de deep learning appliquées au texte ont prolongé cette idée en calculant un vecteur qui dépend de la phrase où le mot apparaît. Les grands modèles de langage font l’objet d’une formation dédiée, Comprendre et adapter un LLM ; l’approche statistique française de l’analyse des textes est présentée dans Statistique textuelle pour le text mining.