Tokenisation
La tokenisation est une étape fondamentale du traitement automatique du langage naturel (TALN). Elle consiste à découper un texte brut en unités minimales significatives appelées tokens. Ces unités peuvent être des mots, des sous-mots, des caractères ou même des symboles, selon l’approche adoptée.
Exemples
- Phrase : « L’IA change le monde. »
- Tokenisation par mots → ["L’", "IA", "change", "le", "monde", "."]
- Tokenisation par sous-mots (subword tokenization, utilisée par BERT ou GPT) → ["L", "’", "IA", "chang", "e", "le", "monde", "."]
Applications
- Traduction automatique (découper pour aligner les unités linguistiques).
- Analyse de sentiments (associer chaque token à une polarité).
- Chatbots et assistants vocaux (reconnaissance d’intentions).
Enjeux et variantes
- Les langues comme le chinois ou le japonais nécessitent des algorithmes spécifiques (pas d’espaces entre les mots).
- Les modèles modernes (BPE – Byte Pair Encoding, WordPiece, SentencePiece) utilisent des sous-unités pour mieux gérer les langues morphologiquement riches et les mots inconnus (out-of-vocabulary).
La tokenisation n’est pas un processus universel : chaque langue présente des défis spécifiques. Par exemple, le chinois et le japonais n’utilisent pas d’espaces pour séparer les mots, ce qui nécessite des algorithmes de segmentation dédiés. Dans des langues très flexionnelles comme le turc ou le finnois, un seul mot peut contenir de nombreuses informations grammaticales et doit souvent être découpé en sous-unités plus petites.
Les méthodes de tokenisation par sous-mots, comme Byte Pair Encoding (BPE), WordPiece ou SentencePiece, dominent aujourd’hui le traitement automatique du langage. Elles permettent de réduire le problème des mots hors vocabulaire en découpant les termes rares en unités plus petites, tout en conservant intacts les mots fréquents. Cette approche offre un compromis efficace entre taille du vocabulaire et capacité de généralisation.
En apprentissage profond, la tokenisation est intimement liée à la couche d’embedding, qui associe chaque token à un vecteur numérique. Une mauvaise tokenisation peut fragmenter l’information sémantique et réduire la qualité des représentations, tandis qu’une segmentation optimisée améliore l’efficacité de l’entraînement et la performance des modèles, notamment en contexte multilingue.
De plus, la tokenisation au niveau des caractères ou des octets gagne en popularité. Bien qu’elle soit plus coûteuse en calcul, elle offre une robustesse accrue face aux entrées bruitées (fautes de frappe, mélange de langues) et permet d’éviter les vocabulaires prédéfinis, facilitant ainsi l’entraînement de modèles universels.
En définitive, la tokenisation ne se limite pas à une étape de prétraitement : elle conditionne la façon dont le langage est représenté et compris par les systèmes d’IA. Les choix de conception influencent directement la taille du modèle, le coût d’entraînement et les performances finales.
Références
- Jurafsky, D., & Martin, J. H. (2023). Speech and Language Processing.