Aller au contenu

Tokeniser une phrase : L'art de découper pour mieux comprendre

Imaginez que vous deviez apprendre le français à un extraterrestre qui ne communique qu’avec des mathématiques. Si vous lui donnez le roman Les Misérables en un seul bloc, il sera submergé. Pour qu’il puisse analyser le texte, vous devez le découper en petits morceaux digestes, les classer et leur attribuer un numéro unique.

C’est exactement ce que fait la tokenisation.

Avant qu’une Intelligence Artificielle (IA) ne puisse “comprendre”, traduire ou résumer un texte, elle doit d’abord le briser. Elle ne lit pas des phrases fluides comme vous ; elle ingère des séquences de pièces détachées.

La tokenisation est le processus de segmentation d’un texte brut en unités atomiques appelées “tokens” (jetons). Ces tokens peuvent être des mots entiers, des parties de mots ou même de simples caractères. C’est l’étape zéro, la fondation invisible mais indispensable de tout traitement du langage naturel (TALN).

Le Problème : Pourquoi ne pas juste utiliser les espaces ?

Vous pourriez penser que découper une phrase est trivial : il suffit de couper à chaque espace, n’est-ce pas ? Pour l’anglais basique, cela fonctionne à peu près. Mais dès que l’on touche à la complexité du langage réel, cette méthode naïve s’effondre.

L’ambiguïté du langage humain

Le langage est “continu”, alors que les ordinateurs ont besoin de données “discrètes” (distinctes). Regardons les défis que la tokenisation doit résoudre :

  1. La ponctuation collante : Dans la phrase “L’IA, c’est génial !”, si on coupe aux espaces, on obtient ["L'IA,", "c'est", "génial", "!"]. Le mot “L’IA,” inclut une virgule. Pour l’ordinateur, “IA” et “IA,” seraient deux concepts totalement différents. Ce n’est pas efficace.
  2. Les contractions : En français, “J’aime” contient deux concepts : le sujet “Je” et le verbe “aimer”. Une tokenisation intelligente doit séparer J' et aime.
  3. Les mots composés et agglutinations : En allemand, Donaudampfschiffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft est un seul mot. Si l’IA ne l’a jamais vu, elle est bloquée. Une bonne tokenisation doit savoir le disséquer en sous-unités de sens.
  4. Le problème du vocabulaire inconnu (OOV) : C’est le défi majeur. Si votre modèle a appris 50 000 mots et que vous lui présentez le mot “HacktionWiki”, il ne le connaît pas. Sans une stratégie avancée, il le remplacera par un token générique [UNK] (Unknown), perdant toute l’information.

La tokenisation est à la linguistique computationnelle ce que la dissection anatomique est à la médecine. Comme un chirurgien sépare méticuleusement les tissus pour comprendre l’organe, l’algorithme isole les unités de sens pour permettre le calcul.

Comment ça Marche : Sous le capot

L’histoire de la tokenisation a évolué de règles simples vers des statistiques complexes. Aujourd’hui, les modèles comme GPT-4 ou Claude utilisent une approche hybride appelée tokenisation sous-lexicale (Subword Tokenization).

Le processus de transformation

Voici comment une phrase brute devient une suite de nombres pour un modèle de langage moderne.

graph LR
    A[Texte Brut] -->|"Normalisation (minuscules, accents)"| B(Texte Nettoyé)
    B -->|"Pré-tokenisation (espaces, ponctuation)"| C(Mots Bruts)
    C -->|"Modèle de Sous-mots (BPE/WordPiece)"| D[Tokens]
    D -->|"Mapping (Dictionnaire)"| E[IDs Numériques]
    
    style A fill:#f9f,stroke:#333,stroke-width:2px
    style E fill:#bbf,stroke:#333,stroke-width:2px

Les trois niveaux de granularité

Pour bien comprendre l’évolution technique, comparons les trois approches principales.

Le principe : On coupe à chaque espace.

  • Exemple : “L’IA est là.” → ["L'IA", "est", "là."]
  • Avantage : Intuitif pour les humains.
  • Inconvénient majeur : Le vocabulaire explose. Il faut apprendre “chat”, “chats”, “chaton”, “chatière” comme des entités distinctes. Les mots rares sont souvent ignorés.
  • Usage : Anciens systèmes (années 90-2000), bibliothèques simples comme spaCy (avec règles d’exceptions).

Zoom sur le BPE (Byte-Pair Encoding)

C’est l’algorithme roi actuel. Il fonctionne de manière statistique. Au début, il considère chaque caractère comme un token. Ensuite, il scanne un immense corpus de texte et fusionne les paires de caractères qui apparaissent le plus souvent ensemble.

  1. Il voit souvent “e” et “s” ensemble → crée le token “es”.
  2. Il voit souvent “t” et “est” ensemble → crée le token “test”.
  3. Il répète ce processus des milliers de fois jusqu’à atteindre une taille de vocabulaire définie.

C’est ainsi qu’un modèle apprend que “ing” (en anglais) ou “ment” (en français) sont des blocs de construction fondamentaux du langage, sans qu’on lui ait jamais enseigné la grammaire.

Applications Concrètes

La manière dont on découpe le texte change radicalement la performance de l’IA selon la tâche.

  1. Traduction Automatique (Google Translate, DeepL)

    La tokenisation résout le cauchemar des langues agglutinantes. Prenons une traduction Anglais vers Français.

    • Phrase source : “The New York City subway…”
    • Analyse : Si “New”, “York” et “City” sont traités séparément, le modèle pourrait traduire “York” littéralement (comme la ville anglaise).
    • Solution : Une tokenisation contextuelle ou par entités nommées identifie [New York City] comme un bloc sémantique fort, ou utilise des sous-tokens qui, une fois vectorisés, sont statistiquement liés à “New York”.
    • Résultat : Le système traduit “Le métro de New York”, et non “Le métro de la nouvelle ville de York”.
  2. Modération de Contenu (Réseaux Sociaux)

    Les modérateurs humains ne peuvent pas tout lire. Les IA doivent détecter la haine ou le spam.

    • Défi : Les utilisateurs tentent de contourner les filtres en écrivant “H.A.I.N.E” ou “H4INE”.
    • Rôle de la tokenisation : Un tokeniseur de caractères ou un BPE robuste (“Byte-Level BPE”) peut voir que H, 4, I, N, E forment une séquence probabiliste proche du mot interdit, là où un tokeniseur par mot ne verrait qu’une suite de déchets incompréhensibles.
    • Exemple Meta/Facebook : La phrase “J’ai adoré ce film ! 🎬” est découpée. L’emoji 🎬 devient un token unique. Cela permet au modèle de comprendre le contexte “cinéma” même si le mot “film” était mal orthographié.
  3. Recherche d’Information (RAG & Moteurs de recherche)

    Quand vous cherchez un document dans une base de connaissances d’entreprise.

    • Problème : Vous cherchez “dysfonctionnement”. Le document contient “dysfonctionnel”.
    • Solution : La tokenisation sous-lexicale découpe les deux en ["dys", "fonction", "..."]. La racine fonction et le préfixe dys sont communs. Le moteur de recherche comprend que les deux termes sont sémantiquement quasi-identiques grâce à leurs tokens partagés.

Les Pièges à Éviter

Même si les modèles modernes sont puissants, la tokenisation reste une source d’erreurs subtiles.

Le biais linguistique : La plupart des tokeniseurs (comme celui de GPT-4) sont optimisés pour l’anglais.

  • En anglais, un mot ≈ 1.3 tokens.
  • En français, un mot ≈ 1.5 à 2 tokens (à cause des conjugaisons et élisions).
  • En hindi ou arabe, cela peut être pire. Conséquence : Utiliser une IA coûte plus cher et est plus lent pour les langues autres que l’anglais, car la même phrase nécessite plus de tokens pour être représentée.

À Retenir

Pour maîtriser l’usage des LLM, gardez ces points en tête concernant la tokenisation :

  1. L’unité de base : L’IA ne lit pas des mots, elle lit des tokens (fragments de mots, caractères, ou mots entiers).
  2. La gestion de l’inconnu : Grâce au découpage en sous-mots (BPE), l’IA peut “deviner” le sens de mots qu’elle n’a jamais vus en analysant leurs racines et suffixes.
  3. L’impact économique : La longueur de vos prompts et des réponses est calculée en tokens. Une tokenisation inefficace (verbeuse) augmente la latence et la facture.
  4. La perte de sens : Une mauvaise tokenisation (couper au mauvais endroit) peut détruire le sens d’une phrase avant même que le réseau de neurones ne commence à réfléchir.
  5. L’universalité : C’est le pont universel qui transforme n’importe quel texte (code, poésie, mathématiques) en vecteurs mathématiques.

Notions Liées

Pour approfondir votre compréhension de la mécanique des IA :