AI Engineering

Comprendre les embeddings et la similarité vectorielle

Représentez le sens par des nombres, comparez les directions et distinguez similarité sémantique et preuve.

1 min de lecture Intermediate 20 min
AIVectorsC#

// vous allez apprendre

  • Décrire un embedding
  • Implémenter la similarité cosinus
  • Respecter la compatibilité des modèles

Le texte devient un vecteur

Un modèle d'embedding transforme le texte en un vecteur de longueur fixe. Des textes proches par le sens occupent souvent des directions voisines dans l'espace du modèle. Les coordonnées sont des représentations apprises, pas des étiquettes interprétables séparément.

Comparer les directions

Pour deux vecteurs non nuls, la similarité cosinus est le produit scalaire divisé par le produit des normes. Deux directions identiques donnent 1 ; des directions orthogonales donnent 0. Des scores négatifs sont possibles. Ce score n'est ni une probabilité ni une preuve de véracité.

public static double Cosine(double[] a, double[] b)
{
    if (a.Length == 0 || a.Length != b.Length)
        throw new ArgumentException("Equal non-empty dimensions required.");
    double dot = 0, aa = 0, bb = 0;
    for (int i = 0; i < a.Length; i++)
    {
        dot += a[i] * b[i];
        aa += a[i] * a[i];
        bb += b[i] * b[i];
    }
    if (aa == 0 || bb == 0) return 0;
    return dot / (Math.Sqrt(aa) * Math.Sqrt(bb));
}

Calculer des exemples simples

[1,0] et [1,0] donnent 1. [1,0] et [0,1] donnent 0. [1,0] et [-1,0] donnent -1. Notre convention renvoie 0 pour un vecteur nul, alors que le cosinus mathématique est indéfini. En production, rejetez ou traitez séparément ces vecteurs invalides.

Respecter les frontières du modèle

Utilisez le même modèle et un prétraitement compatible pour les documents et les requêtes. Mélanger des modèles ou des dimensions produit des comparaisons sans sens. Versionnez et reconstruisez l'index si le modèle change.

Exercice

Testez les vecteurs identiques, perpendiculaires, nuls et les dimensions différentes. Expliquez ensuite pourquoi deux documents proches sémantiquement peuvent se contredire.

// le carnet, par e-mail

Apprenez avec moi.

Des idées d'ingénierie qui méritent d'être comprises.