Aller au contenu principal

Qu'est-ce qu'un embedding : l'intuition

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. Pour qu’une machine puisse comparer, rechercher ou raisonner sur du texte, il faut d’abord le convertir en une représentation numérique exploitable.

L’approche naïve : le sac de mots

La méthode la plus simple consiste à compter les occurrences de chaque mot. Mais cette approche ignore complètement le sens :

  • « Le chat mange la souris » et « La souris mange le chat » ont exactement la même représentation
  • « Automobile » et « Voiture » sont traités comme deux concepts sans rapport

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.

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 capture un aspect différent de la sémantique.

L’intuition géométrique

Imaginez un espace à trois dimensions. Chaque mot ou phrase est un point dans cet espace :

  • « Roi » et « Reine » sont proches l’un de l’autre
  • « Pomme » et « Orange » sont proches entre eux, mais loin de « Roi »
  • « Chien » et « Chat » forment leur propre cluster

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 très fines.

L’analogie célèbre

Les embeddings capturent des relations sémantiques régulières. L’exemple classique :

vecteur("Roi") - vecteur("Homme") + vecteur("Femme") ≈ vecteur("Reine")

Cette propriété arithmétique montre que les embeddings encodent des concepts abstraits comme le genre, la royauté ou la taille de manière structurée.

À quoi servent les embeddings ?

Les embeddings débloquent de nombreuses applications :

Recherche sémantique

Au lieu de chercher des mots-clés exacts, vous comparez le sens des requêtes et des documents. « Comment nourrir mon chiot ? » trouvera un article intitulé « Alimentation du jeune chien ».

Classification

Regroupez automatiquement des tickets de support, des emails ou des articles par thème, sans définir de règles manuelles.

Recommandation

Suggérez du contenu similaire à ce qu’un utilisateur a déjà consulté en trouvant les vecteurs les plus proches.

RAG (Retrieval-Augmented Generation)

Enrichissez les réponses d’un LLM avec des documents pertinents trouvés par similarité sémantique. C’est le cas d’usage phare de ce cours.

Ce qui a changé en 2025-2026

L’API Embeddings d’OpenAI propose aujourd’hui deux modèles principaux :

ModèleDimensionsUsage recommandé
text-embedding-3-large3 072Haute précision, RAG, recherche
text-embedding-3-small1 536Coût réduit, classification, recommandation

Ces modèles supportent la réduction de dimensions : vous pouvez demander un vecteur plus court (ex. 256 dimensions) pour économiser du stockage, avec une perte de qualité maîtrisée.

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) et text-embedding-3-small (1 536 dim)