Qu'est-ce qu'un embedding : l'intuition
Mis à jour le 29 juillet 2026
Objectifs
- Comprendre ce qu’est un embedding et pourquoi c’est utile
- Saisir l’intuition géométrique derrière les vecteurs de mots
- Découvrir les cas d’usage principaux
Le problème : les machines ne comprennent pas le texte
Les modèles de langage travaillent avec des nombres, pas des mots. Avant qu’une machine puisse comparer, rechercher ou raisonner sur du texte, il faut donc convertir ce texte en une représentation numérique exploitable. Toute la question est de savoir laquelle.
L’approche naïve : le sac de mots
La méthode la plus simple consiste à compter les occurrences de chaque mot. Elle a le mérite d’être immédiate, mais elle ignore complètement le sens. Prenez « Le chat mange la souris » et « La souris mange le chat » : les deux phrases contiennent exactement les mêmes mots dans les mêmes proportions, donc elles produisent exactement la même représentation, alors qu’elles décrivent des scènes opposées. Le problème inverse existe aussi : « Automobile » et « Voiture » désignent la même chose, mais comme ce sont deux chaînes de caractères distinctes, le sac de mots les traite comme deux concepts sans le moindre rapport. L’ordre et les synonymes, deux piliers du langage, échappent à la méthode.
Les embeddings : capturer le sens
Un embedding est un vecteur dense — une liste de nombres à virgule flottante — qui capture le sens sémantique d’un texte. Deux textes ayant un sens proche auront des vecteurs proches dans l’espace, quels que soient les mots employés. Voici comment on en obtient un :
from openai import OpenAI
client = OpenAI()
# Générer un embedding
response = client.embeddings.create(
input="L'intelligence artificielle transforme l'industrie",
model="text-embedding-3-large"
)
vector = response.data[0].embedding
print(f"Dimension du vecteur : {len(vector)}") # 3072
print(f"Premiers éléments : {vector[:5]}")
Ce vecteur de 3 072 nombres encode le sens de la phrase, chaque dimension capturant un aspect différent de la sémantique. Vous n’avez pas à savoir ce que représente la dimension 417 : ce qui compte, c’est que la configuration d’ensemble soit stable et comparable d’un texte à l’autre.
L’intuition géométrique
Imaginez un espace à trois dimensions dans lequel chaque mot ou chaque phrase occupe un point. « Roi » et « Reine » se retrouvent côte à côte, parce qu’ils partagent l’essentiel de leur sens. « Pomme » et « Orange » forment un autre voisinage, très éloigné du premier. « Chien » et « Chat » constituent encore un autre regroupement. C’est cette organisation spatiale qui rend la comparaison possible : mesurer la proximité de deux points revient à mesurer la proximité de deux sens.
En réalité, les embeddings modernes utilisent des milliers de dimensions — 3 072 pour text-embedding-3-large — ce qui leur permet de capturer des nuances bien plus fines que le petit schéma mental à trois axes.
L’analogie célèbre
Les embeddings capturent aussi des relations sémantiques régulières, au point qu’on peut les manipuler par arithmétique. L’exemple classique est celui-ci :
vecteur("Roi") - vecteur("Homme") + vecteur("Femme") ≈ vecteur("Reine")
Autrement dit, retirer la composante « masculin » et ajouter la composante « féminin » déplace le point de « Roi » vers « Reine ». Cette propriété montre que des concepts abstraits comme le genre, la royauté ou la taille sont encodés de manière structurée, et non dispersés au hasard.
À quoi servent les embeddings ?
Le premier usage est la recherche sémantique : au lieu de chercher des mots-clés exacts, vous comparez le sens de la requête à celui des documents. Un visiteur qui tape « Comment nourrir mon chiot ? » trouvera un article intitulé « Alimentation du jeune chien », alors qu’aucun mot n’est commun aux deux formulations.
Le deuxième est la classification : parce que les textes d’un même thème se regroupent naturellement dans l’espace, vous pouvez trier automatiquement des tickets de support, des emails ou des articles sans écrire la moindre règle manuelle. La recommandation repose sur le même mécanisme vu depuis l’autre bout : pour suggérer un contenu à un utilisateur, on cherche les vecteurs les plus proches de ce qu’il a déjà consulté.
Vient enfin le RAG (Retrieval-Augmented Generation), qui consiste à enrichir la réponse d’un LLM avec les documents pertinents retrouvés par similarité sémantique. C’est le cas d’usage phare de ce cours, et il combine tous les autres : indexation, comparaison, classement.
Ce qui a changé en 2025-2026
L’API Embeddings d’OpenAI propose aujourd’hui deux modèles principaux :
| Modèle | Dimensions | Usage recommandé |
|---|---|---|
text-embedding-3-large | 3 072 | Haute précision, RAG, recherche |
text-embedding-3-small | 1 536 | Coût réduit, classification, recommandation |
Ces modèles supportent la réduction de dimensions : vous pouvez demander un vecteur plus court, par exemple 256 dimensions, pour économiser du stockage avec une perte de qualité maîtrisée. Un corpus d’un million de chunks passe ainsi de plusieurs dizaines de gigaoctets à quelques-uns, ce qui change la nature de l’infrastructure nécessaire.
Résumé
- Un embedding convertit du texte en vecteur numérique dense
- Des textes sémantiquement proches ont des vecteurs proches
- Les cas d’usage principaux sont la recherche, la classification, la recommandation et le RAG
- OpenAI propose
text-embedding-3-large(3 072 dim) ettext-embedding-3-small(1 536 dim)