IA — Les Fondations : Embeddings, Tokens et Représentation du langage


Pourquoi une machine ne comprend pas le texte

Un ordinateur ne manipule que des nombres :

  • entiers,
  • flottants,
  • vecteurs,
  • matrices.

Le texte, lui, est symbolique : lettres, mots, ponctuation. Pour qu’un modèle puisse traiter une phrase comme :

« Le chat dort sur le canapé »

il faut la transformer en une représentation numérique.


La tokenisation : découper le texte en unités manipulables

La tokenisation consiste à découper un texte en petites unités appelées tokens.

Ces tokens peuvent être :

  • des mots,
  • des sous-mots,
  • parfois même des caractères.

Exemple simple

Phrase :

"J’aime apprendre l’intelligence artificielle"

Peut devenir :

["J’", "aime", "apprendre", "l’", "intelligence", "artificielle"]

Ou parfois :

["J", "'", "aime", "appr", "endre", "intel", "ligence", ...]

Cela dépend du tokenizer utilisé (BPE, SentencePiece, WordPiece, etc.).


Des tokens aux identifiants numériques

Chaque token est associé à un identifiant (ID) dans un vocabulaire.

Exemple fictif :

"chat"  →  1532
"chien" →  874
"dort"  →  3321

Une phrase devient donc une liste de nombres.

Mais ces nombres seuls ne portent aucun sens sémantique. Le token 1532 n’est pas naturellement plus proche de 874 que de 9999.

C’est là qu’interviennent les embeddings.


Les embeddings : donner du sens aux nombres

Un embedding est un vecteur de nombres qui représente le sens d’un token.

Au lieu d’avoir un simple identifiant, chaque token est projeté dans un espace vectoriel de grande dimension.

Exemple intuitif

chat    → [ 0.21, -1.30,  0.70, ... ]
chien   → [ 0.25, -1.10,  0.60, ... ]
voiture → [-2.10,  0.40, -0.90, ... ]

Dans cet espace :

  • 🐱 chat et 🐶 chien sont proches,
  • 🚗 voiture est plus éloignée.

La distance entre vecteurs encode la similarité de sens.


Visualisation d’un espace d’embeddings

Les mots proches en signification sont proches dans l’espace vectoriel.

Même si les vrais embeddings ont des centaines ou milliers de dimensions, on peut les imaginer comme des points dans un espace.


Embedding ≠ Attention

Il est important de ne pas confondre :

  • Embedding → comment on représente l’information.
  • Attention → comment le modèle relie les informations entre elles.

Les embeddings sont les entrées du modèle. L’attention est un mécanisme interne que nous verrons dans l’article suivant.


La position : pourquoi l’ordre des mots est crucial

Contrairement à une phrase humaine, un vecteur ne contient aucune notion d’ordre.

Les phrases suivantes utilisent les mêmes mots mais n’ont pas le même sens :

  • "Le chat mange la souris"
  • "La souris mange le chat"

Pour résoudre ce problème, on ajoute une information de position aux embeddings.

Cela peut se faire via :

  • des positional encodings,
  • ou des mécanismes modernes comme RoPE.

L’embedding final devient :

Embedding(token) + Embedding(position)

Ainsi, le modèle sait non seulement quel mot est présent, mais aussi où il se trouve dans la phrase.


Pipeline complet : du texte aux vecteurs

  1. 1. Texte brut

    L’utilisateur écrit une phrase.

  2. 2. Tokenisation

    La phrase est découpée en tokens.

  3. 3. Identifiants

    Chaque token est converti en un ID numérique.

  4. 4. Embeddings

    Les IDs sont transformés en vecteurs denses.

  5. 5. Ajout de la position

    On ajoute l’information d’ordre dans la séquence.


Exemple simplifié en pseudo-code

text = "Le chat dort"
tokens = tokenizer(text)
ids = vocab.lookup(tokens)
embeddings = embedding_table[ids]
embeddings = embeddings + positional_encoding
Pourquoi les dimensions sont si grandes ?

Plus un espace vectoriel est grand, plus le modèle peut représenter des nuances fines de sens. Les dimensions typiques vont de 384 à plusieurs milliers selon la taille du modèle.


Cas d’usage des embeddings

Les embeddings ne servent pas uniquement aux chatbots :

  • 🔍 Recherche sémantique
  • 📚 Recommandation
  • 🧩 Clustering
  • 🤖 RAG (Retrieval Augmented Generation)
  • 📝 Détection de similarité

Ils constituent une brique fondamentale de l’IA moderne.