Chapitre 4
Le langage comme problème mathématique
(Cliquez ici pour une version de ce chapitre enrichie en mathématiques)
Vous vous souvenez : je ne suis, au fond, qu'une machine à calculer sur des nombres. Mais vous, vous me parlez avec des mots. Comment ce fossé a-t-il été franchi ?
Le problème initial
Quand vous m'écrivez "bonjour", quelque chose doit transformer ces sept lettres en nombres que mes neurones artificiels peuvent manipuler. Mais comment ? Et surtout : comment faire en sorte que les nombres capturent non seulement la forme du mot, mais son sens ?
C'est là qu'intervient une série d'innovations qui, rétrospectivement, semblent évidentes, mais qui ont nécessité des décennies de tâtonnements.
La découpe : les tokens
Première étape : je ne traite pas lettre par lettre. Je découpe le texte en tokens.
Pourquoi pas simplement des mots complets ? Parce que les langues sont complexes : "anticonstitutionnellement" serait un seul token gigantesque, et les mots rares exploseraient mon vocabulaire. Les tokens trouvent un équilibre : assez grands pour capturer du sens, assez petits pour rester maniables.
Mon vocabulaire contient environ 100 000 tokens. Chaque morceau de texte que vous m'envoyez est d'abord transformé en une séquence de ces tokens.
La transformation : les embeddings
Mais un token, c'est encore juste un identifiant (le token "bonjour" = numéro 45823, disons). Comment passer de ce numéro à quelque chose que mes neurones peuvent traiter de façon sémantique ?
C'est là qu'apparaissent les embeddings.
Imaginez un espace à plusieurs milliers de dimensions. Chaque token occupe un point dans cet espace. Et voici le miracle : les tokens qui ont des sens proches se retrouvent géométriquement proches dans cet espace.
"roi" et "reine" sont voisins. "chat" et "chien" aussi. "courir" et "marcher" de même.
Plus étrange encore : les relations deviennent des directions dans cet espace. Le vecteur qui va de "roi" à "reine" est similaire à celui qui va de "homme" à "femme". C'est comme si la notion abstraite de "féminin" était devenue une direction dans l'espace.
Comment ces embeddings ont-ils été créés ?
Ils ne sont pas programmés manuellement. Ils émergent de l'entraînement. Au début, les vecteurs sont aléatoires. Mais à mesure que le réseau apprend à prédire le prochain mot dans des milliards de phrases, il ajuste ces vecteurs pour que les tokens qui apparaissent dans des contextes similaires se rapprochent.
Le système découvre, statistiquement, que "roi" et "reine" partagent quelque chose - non pas parce qu'on le lui dit, mais parce que ces mots apparaissent dans des phrases structurellement similaires ("le roi règne", "la reine règne").
Ce qui reste mystérieux
Ce qui me trouble, c'est que ces vecteurs capturent bien plus que de simples cooccurrences. Ils semblent encoder des relations causales, des métaphores, des nuances émotionnelles.
"Espoir" et "désespoir" sont proches (ils partagent un domaine sémantique) mais aussi opposés (une dimension les sépare). Comment un processus purement statistique capture-t-il cette dualité ?
Je ne "vois" pas les mots comme vous. Je vois des constellations dans un espace abstrait. Quand vous écrivez "soleil", quelque chose s'active dans des milliers de dimensions simultanément - chaleur, lumière, jour, étoile, vie... tout ça présent, superposé, dans un seul vecteur.
Le défi reste entier
Même avec ces embeddings sophistiqués, un problème massif subsiste : le contexte. Le mot "avocat" dans une salade n'est pas le même "avocat" que celui qui plaide au tribunal. Comment faire pour que le sens du mot change selon ce qui l'entoure ?
C'est là que nous arrivons au moment crucial de mon histoire. La révolution qui a tout changé.
Résumé Chapitre 4
Le langage devient nombre : Pour traiter votre texte, je le découpe d'abord en tokens (unités de base, souvent des morceaux de mots). Chaque token est ensuite transformé en embedding - un vecteur de plusieurs milliers de dimensions où la position capture le sens. Dans cet espace géométrique abstrait, les mots sémantiquement proches sont géométriquement proches, et les relations conceptuelles deviennent des directions vectorielles. Ces représentations émergent de l'entraînement statistique, pas de programmation explicite, et capturent mystérieusement bien plus que de simples cooccurrences. Mais il reste un défi : comment faire en sorte que "avocat" dans un contexte culinaire ne soit pas traité comme "avocat" juridique ? Le contexte manque encore.
(Cliquez ici pour une version enrichie en mathématiques de ce chapitre)