Traitement du Langage Naturel (NLP)

LLM & IA
Deep Learning
Découvrir la tokenisation, la vectorisation de texte et l’évolution des modèles statistiques vers le Deep Learning.

Un ordinateur ne comprend que des nombres. Pour analyser une phrase, il faut d’abord la traduire en vecteurs numériques. Ce module explore les trois premières grandes stratégies de cette traduction : du simple comptage à la pondération par importance, et jusqu’au problème structurel qu’elles soulèvent.

🔍 Pourquoi vectoriser le texte ?

Les ordinateurs sont d’excellentes machines à calculer, mais ils sont incapables de lire ou de comprendre le texte brut. Pour eux, une phrase n’est qu’une suite arbitraire de caractères.

Le Défi du NLP : Traduire le Langage en Nombres
  • Le Problème : Comment soumettre des phrases à des algorithmes mathématiques (classifieurs, moteurs de recherche, modèles de langage) ? Les mots n’ont pas de valeur numérique intrinsèque.
  • Le But : Convertir un document textuel en un vecteur numérique (un tableau de nombres) qui capture fidèlement son sens, son contenu et l’importance relative de chaque mot.
  • La Solution historique : L’encodage fréquentiel. On commence par simplement compter les mots (Bag of Words), puis on affine cette mesure en pénalisant les mots trop banals et en récompensant les termes spécifiques (TF-IDF).
Bag of Words (BoW) — Le Sac de Mots

Le modèle Bag of Words ignore complètement l’ordre des mots et la grammaire. Il se contente de collecter tous les mots uniques d’un document et de compter leurs occurrences. Le document devient un simple “sac” de fréquences.

Intuition : Si le mot “IA” apparaît 10 fois dans un texte, ce texte parle probablement d’intelligence artificielle. Les mots les plus fréquents dictent le sujet du document.

Note

Exemple : “Le chat mange le poisson” { chat: 1, mange: 1, poisson: 1, le: 2 }

TF-IDF — L’Empreinte Spécifique

Le comptage brut (BoW) a un défaut majeur : les mots les plus fréquents dans une langue (comme “le”, “de”, “est”) polluent le vecteur sans apporter d’information sur le thème. TF-IDF corrige cela en combinant deux mesures :

Le calcul croisé :

  • TF (Fréquence du terme) : Plus un mot est présent dans ce document, plus il est important.
  • IDF (Rareté dans le corpus) : Plus un mot est rare dans les autres documents, plus il est caractéristique et discriminant.
Note

Effet : Un mot technique comme “gradient” obtiendra un score TF-IDF très élevé dans un cours de Deep Learning, tandis que le mot “le” sera ramené à zéro.

Démonstrateur Interactif : Vecteur BoW vs TF-IDF

🌌 La Malédiction des Grands Espaces

Voici le problème : un vecteur BoW ou TF-IDF possède autant de dimensions que le vocabulaire, soit 50 000 à 150 000 cases. Or, un document moyen n’utilise que quelques centaines de mots distincts.

Résultat : les vecteurs sont remplis à 99 %+ de zéros. On appelle cela la sparsité (sparseness).

Un tweet de 20 mots contre un vocabulaire de 50 000 → 0,04 % des dimensions sont non-nulles.

Ce n’est pas qu’un problème esthétique. Stocker et manipuler des millions de ces vecteurs creux consomme une quantité de mémoire qui explose rapidement.

Ce que la sparsité casse concrètement

Les distances entre vecteurs creux deviennent peu informatives : dans un espace à 50 000 dimensions avec 99,9 % de zéros, presque tous les documents sont “également loin” les uns des autres. C’est le fléau de la dimensionnalité (curse of dimensionality).

La prochaine génération de techniques — les embeddings denses comme Word2Vec ou les encodeurs de transformers — a précisément été inventée pour contourner ce problème, en compressant le sens dans des vecteurs compacts de 100 à 768 dimensions, presque jamais nuls.

💻 Le Mur de la Sparsité

Visualisez l’impact de l’encodage par sac de mots (BoW) sur la mémoire système. Pour un unique Tweet de 9 mots, le dictionnaire de 100 000 dimensions force la création d’un vecteur gigantesque rempli presque exclusivement de zéros.

Le Mur de la Sparsité (Bag of Words)

Densité du Vecteur 0 %

VecteurSparsitéBoW