Aller au contenu

LexiqueÉtage 1 · Le Modèleun bloc plein, seul : la machine à prédireÉtage 1 · Le Modèle

embedding (plongement)

Nº 053 · v2026-08EN : embedding

Un embedding est la traduction d’un texte en une longue liste de nombres, arrangée de sorte que deux textes de sens voisin donnent des listes voisines. Comme des coordonnées sur une carte, où les villes proches parlent de choses proches.

Ce que ce n’est pas

Un embedding n’est pas un résumé : on ne peut pas le relire, et rien ne permet de reconstituer le texte d’origine à partir de lui. Ce n’est pas non plus une base de données : il ne stocke rien, il représente ; c’est la base vectorielle qui range ces représentations et sait retrouver les plus proches. Et ce n’est pas un moteur de recherche par mots-clés déguisé : il ignore les mots exacts au profit du sens, ce qui est sa force et parfois son défaut.

En profondeur

La géométrie

Le principe tient dans la géométrie. Chaque texte devient un point dans un espace à plusieurs centaines ou milliers de dimensions, et la distance entre deux points mesure leur parenté de sens. Une question et le paragraphe qui y répond se retrouvent ainsi voisins même sans partager un seul mot : « comment résilier mon abonnement » trouve « procédure de fin de contrat ». C’est exactement ce qu’une recherche par mots-clés ne sait pas faire, et c’est ce qui rend le procédé si utile pour retrouver de l’information mal indexée.

Ressemblance et pertinence

La contrepartie est que la ressemblance de sens n’est pas la pertinence. Deux textes peuvent être très proches et pourtant sans rapport avec le besoin : une clause qui interdit quelque chose et une clause qui l’autorise se ressemblent beaucoup, puisqu’elles parlent du même objet. C’est pourquoi les systèmes sérieux ne s’arrêtent pas au plus proche voisin : ils combinent la recherche par sens et la recherche par mots exacts, puis font trier les résultats une seconde fois par un modèle plus coûteux mais plus fin.

Deux règles pratiques

Deux règles pratiques évitent les erreurs les plus fréquentes. La première : les embeddings d’un modèle ne sont comparables qu’entre eux ; changer de modèle oblige à tout recalculer, car les espaces n’ont aucune raison de coïncider. La seconde : le découpage du texte avant calcul détermine la qualité de la recherche autant que le modèle lui-même. Un paragraphe entier donne un point moyen, donc flou ; un fragment trop court perd son contexte. C’est un réglage éditorial autant que technique.

Sous le capot2 temps · la forme réelle des objets

Un embedding est un vecteur, et « proche » est une opération arithmétique sur ce vecteur. Rien d’autre : aucune compréhension n’intervient, ce qui explique aussi bien ce que le procédé réussit que ce qu’il rate.

  1. 01

    Un texte devient un point

    Le texte est remplacé par une liste de nombres de longueur fixe, la même pour un mot et pour un paragraphe. La parenté se mesure ensuite par l’angle entre deux listes, ce qui permet de rapprocher deux textes ne partageant aucun mot.

    js
    plonger("comment résilier mon abonnement")
    // → [0.021, -0.184, 0.077, 0.003, ...]   1 024 nombres, toujours 1 024
    
    // la parenté est un angle, pas un recouvrement de vocabulaire
    const cos = (a, b) => produit(a, b) / (norme(a) * norme(b));
    
    cos(plonger("comment résilier mon abonnement"),
        plonger("procédure de fin de contrat"));      // 0.83  aucun mot commun
    
    cos(plonger("comment résilier mon abonnement"),
        plonger("le chat dort sur le canapé"));       // 0.04
    
    1 024
    La dimension, fixée par le modèle d’embedding. Un mot et un rapport de trente pages donnent une liste de même longueur : plus le texte est long, plus le point est un résumé moyen, donc flou.
    cos
    Une similarité cosinus : produit scalaire divisé par les normes. C’est tout le calcul, et il ne consulte rien.

    Le piègeLes valeurs ci-dessus n’ont de sens qu’à l’intérieur d’un seul espace. C’est la première des deux règles pratiques de la couche 2, et elle se voit ici : un score de 0,83 ne se compare à rien qui vienne d’un autre modèle.

  2. 02

    Pourquoi le plus proche n’est pas le bon

    Voici le contre-exemple qui gouverne toute la conception d’une recherche sérieuse. Deux clauses opposées parlent du même objet, avec presque les mêmes mots : elles sont donc très proches, et le voisinage seul choisira mal.

    js
    cos(plonger("le télétravail est autorisé deux jours par semaine"),
        plonger("le télétravail n'est pas autorisé"));     // 0.91  <- opposées
    
    // d'où le tri en deux passes : rappeler large, puis juger cher
    const candidats = dedoublonner([
      ...index.parSens(question, { k: 50 }),   // voisinage : attrape les reformulations
      ...index.parMots(question, { k: 50 }),   // lexical : attrape sigles et références
    ]);
    
    // le reclassement lit la question ET le passage ensemble, par paire :
    // beaucoup plus coûteux, donc réservé aux 100 candidats, pas au corpus.
    const retenus = (await reclasser(question, candidats)).slice(0, 5);
    
    parMots
    La recherche lexicale, que le voisinage ne remplace pas : un numéro de référence, un sigle maison ou un nom propre rare se retrouvent par les caractères, pas par le sens.
    reclasser
    Un second modèle qui note la paire question/passage au lieu de comparer deux points calculés séparément. C’est ce qui rattrape le cas ci-dessus, parce qu’il lit la négation.

    Le piègeLe découpage en amont pèse autant que le modèle, et la fiche `découpage` en traite. Ce qu’il faut retenir ici : le vecteur ne rattrape jamais une coupe mal placée, il en hérite.

Montré ailleurs
  • RAGce que deviennent les passages retenus, une fois retrouvés
  • tokenl’autre traduction du texte en nombres, sans aucun rapport avec celle ci

Ce qui varieLa dimension, les seuils et les noms d’interface varient d’un modèle d’embedding à l’autre, et les valeurs de similarité montrées ici sont illustratives : un score n’a de sens qu’à l’intérieur d’un même espace, jamais comparé à celui d’un autre modèle. Ce qui ne varie pas : un vecteur de longueur fixe, une similarité qui mesure une proximité de sens sans juger la pertinence, et un index qu’il faut recalculer entièrement dès qu’on change de modèle.

Relations où vivent les voisins

Vérifier 3 questions · cliquez votre réponse

Niveau 1 · Reconnaître

Peut-on retrouver le texte d’origine à partir de son embedding ?

Niveau 2 · Distinguer

Une recherche vectorielle remonte une clause qui interdit exactement ce que l’utilisateur voulait autoriser. Pourquoi ?

Niveau 2 · Distinguer

Vous changez de modèle d’embedding. Que devez-vous faire de vos vecteurs existants ?

Qui manipule ça 1 métier

Les postes dont ce terme fait partie du travail ordinaire.

Nº 053 · v2026-08 · première rédaction en · responsabilité éditoriale Anthony Capirchio

Lexigraph, « Embedding (plongement) », v2026-08, https://www.lexigraph.org/fr/embedding/, CC BY 4.0.

Signaler

Ce qui part avec votre message

Fiche · Embedding (plongement)
Nº 053 · v2026-08 · /fr/embedding

De quoi s’agit-il
0 / 600

Elle ne sert qu’à vous répondre, et à rien d’autre. Ce qui est enregistré