tokenisationPNLtraitement automatique du langage naturelapprentissage automatiqueintelligence artificielletraitement de texte
Tokenisation par sous-mots vs tokenisation au niveau des mots
La tokenisation par sous-mots divise le texte en unités plus petites, comme les caractères ou les séquences de caractères, tandis que la tokenisation par mots le divise aux limites des espaces et de la ponctuation. Ces deux approches sont au cœur des systèmes de traitement automatique du langage naturel (TALN) modernes, mais elles gèrent très différemment la taille du vocabulaire, les mots inconnus et la richesse morphologique.
Points forts
Les méthodes de sous-mots réduisent considérablement la taille du vocabulaire tout en préservant l'information sémantique grâce à des fragments réutilisables.
La tokenisation au niveau des mots ne fonctionne correctement que dans des domaines limités où le vocabulaire peut être énuméré de manière exhaustive.
L'encodage par paires d'octets et ses variantes sous-tendent la quasi-totalité des grands modèles de langage modernes, y compris GPT et BERT.
Le choix entre les approches dépend de plus en plus des contraintes de déploiement plutôt que des seules performances du modèle.
Qu'est-ce que Tokenisation des sous-mots ?
Divise le texte en unités de longueur variable plus petites que les mots, telles que les jetons d'encodage par paires d'octets ou les segments WordPiece.
L'encodage par paires d'octets (BPE) a été initialement développé pour la compression de données avant d'être adapté au traitement automatique du langage naturel (TALN) par Sennrich et al. en 2016.
L'algorithme WordPiece, utilisé par BERT et d'autres modèles Google, fusionne les symboles en fonction de leur probabilité plutôt que de leur fréquence.
SentencePiece met en œuvre la tokenisation par sous-mots de manière indépendante de la langue, traitant le texte comme un flux brut de caractères
Les méthodes par sous-mots limitent généralement la taille du vocabulaire à 8 000 à 100 000 jetons, soit nettement moins que les approches au niveau du mot.
Un seul mot rare comme « antidisestablishmentarianism » se transforme en plusieurs sous-mots familiers, préservant ainsi le sens au-delà des frontières entre les mots.
Qu'est-ce que Tokenisation au niveau des mots ?
Divise le texte aux limites des mots en utilisant les espaces et la ponctuation, en traitant chaque mot distinct comme un seul jeton.
La tokenisation au niveau des mots était l'approche dominante dans les premières applications de traitement automatique du langage naturel statistique et reste courante dans les applications plus simples.
Cette méthode nécessite des vocabulaires de plus de 100 000 jetons pour couvrir correctement le langage naturel.
Tout mot absent du vocabulaire devient un jeton inconnu, représenté par « UNK » ou un terme similaire, et perd toute information sémantique.
Les langues à morphologie riche comme le turc ou le finnois génèrent des vocabulaires énormes, rendant les méthodes au niveau du mot impraticables.
La simplicité de la tokenisation au niveau des mots la rend efficace en termes de calcul et facile à interpréter pour les tâches de base.
Tableau comparatif
Fonctionnalité
Tokenisation des sous-mots
Tokenisation au niveau des mots
Taille du vocabulaire
8K à 100K jetons
Plus de 100 000 jetons en général
Gestion des mots inconnus
Se décompose en sous-mots connus
Cartes vers jeton UNK, perte d'informations
Langues morphologiquement riches
Gère l'agglutination et la composition naturellement
Difficultés liées à une croissance exponentielle du vocabulaire
Efficacité des données d'entraînement
Apprend à partir des cooccurrences de sous-mots dans les mots.
Nécessite des corpus massifs pour la couverture des mots rares
Surcharge de calcul
Encodage et décodage plus complexes
tokenisation plus simple et plus rapide
Granularité de représentation
Capture la signification au niveau du morphème
Fonctionne au niveau de la sémantique du mot entier
Cas d'utilisation typiques
Traduction automatique neuronale, grands modèles de langage
classificateurs simples, extraction de mots-clés, systèmes existants
Comparaison détaillée
Gestion et évolutivité du vocabulaire
Les méthodes par sous-mots excellent lorsque la croissance du vocabulaire devient ingérable. En décomposant les mots en éléments réutilisables, un modèle peut représenter « marcher », « marché », « marchant » et « marcheur » par des sous-unités partagées plutôt que par quatre entrées indépendantes. Les systèmes au niveau du mot sont confrontés à une explosion combinatoire à chaque variante morphologique, ce qui impose soit des vocabulaires énormes qui sollicitent fortement la mémoire, soit un élagage drastique qui compromet la couverture.
Gestion des termes rares et hors vocabulaire
Face à un mot nouveau comme « Covfefe » ou à un néologisme technique, les analyseurs lexicaux de sous-mots le décomposent en fragments reconnaissables porteurs d'un sens partiel. Un analyseur lexical de mots, quant à lui, se contente de produire un jeton « UNK », traitant ainsi le nom d'une maladie rare comme une simple faute de frappe. Cette lacune devient critique dans des domaines tels que la médecine ou le droit, où la terminologie spécialisée abonde mais apparaît rarement dans les données d'entraînement.
Applicabilité interlinguistique
Les langues construisent le sens différemment, et les approches par sous-mots s'adaptent plus harmonieusement à cette diversité. Les longs noms composés allemands, l'entrelacement des racines et des structures arabes, et les systèmes d'écriture mixtes du japonais remettent tous en question les hypothèses au niveau du mot. La segmentation par sous-mots ne supprime pas ces difficultés, mais offre un cadre plus uniforme qui nécessite moins d'ingénierie spécifique à chaque langue.
Compromis informatiques
Dans les environnements de production, la simplicité est primordiale. La tokenisation au niveau du mot exige un prétraitement minimal et se traduit facilement par des recherches d'embeddings. Les méthodes par sous-mots introduisent une complexité d'encodage, des séquences plus longues pour un même texte et la nécessité de reconstruire les mots originaux à partir de fragments. Pour les applications à haut débit avec des vocabulaires limités, ces coûts supplémentaires peuvent ne pas justifier les avantages.
Interprétabilité et débogage
Il est intuitivement satisfaisant de voir « king » comme un seul mot plutôt que ['k', 'ing'] ou ['kin', 'g']. Les frontières entre les mots correspondent à la perception humaine du langage, ce qui simplifie l'analyse des erreurs. Les résultats concernant les sous-mots peuvent déconcerter même les praticiens expérimentés lorsque les divisions surviennent à des endroits inattendus, bien que les outils de visualisation se soient considérablement améliorés.
Avantages et inconvénients
Tokenisation des sous-mots
Avantages
+Gère les mots inconnus avec élégance
+Empreinte de vocabulaire réduite
+Fonctionne dans plusieurs langues
+Capture les modèles morphologiques
+Meilleur pour les termes rares
Contenu
−Séquences de jetons plus longues
−Mise en œuvre plus complexe
−Vitesse de tokenisation plus lente
−Les divisions peuvent être contre-intuitives.
−Reconstruction aérienne
Tokenisation au niveau des mots
Avantages
+Simple à mettre en œuvre
+Traitement rapide
+Limites intuitives
+Intégrations de mots directes
+Débogage facile
Contenu
−Développement massif du vocabulaire
−perte d'informations sur le jeton UNK
−Mauvaise pour les langues morphologiques
−Nécessite d'énormes quantités de données d'entraînement
−Transfert interdomaines limité
Idées reçues courantes
Mythe
La tokenisation par sous-mots est simplement une tokenisation au niveau des caractères avec des étapes supplémentaires.
Réalité
Bien que les deux méthodes opèrent à un niveau inférieur à celui du mot, les méthodes de segmentation par sous-mots comme BPE et WordPiece identifient des unités statistiquement significatives qui correspondent souvent à des morphèmes ou des syllabes. La tokenisation par caractères traite les sons « th » et « ing » comme des séquences arbitraires, tandis que les méthodes de segmentation par sous-mots les appréhendent comme des unités fonctionnelles grâce à l'analyse de corpus.
Mythe
La tokenisation au niveau des mots est obsolète et ne devrait jamais être utilisée.
Réalité
De nombreux systèmes de production s'appuient encore sur des approches au niveau du mot, notamment dans des domaines spécifiques dotés de vocabulaires contrôlés, comme le codage médical ou la classification juridique. La simplicité et la rapidité de ces approches restent pertinentes lorsque le contexte ne requiert pas la flexibilité des méthodes au niveau du sous-mot.
Mythe
La tokenisation par sous-mots résout complètement le problème des mots hors vocabulaire.
Réalité
Les méthodes par sous-mots réduisent les problèmes de mots hors vocabulaire, sans toutefois les éliminer complètement. Les noms extrêmement rares, les combinaisons d'émojis originales ou les orthographes particulières peuvent encore se fragmenter en fragments incompréhensibles. L'amélioration est substantielle par rapport aux approches au niveau du mot, mais une couverture parfaite reste hors d'atteinte.
Mythe
Tous les modèles NLP modernes utilisent le même algorithme de sous-mots.
Réalité
Le paysage des méthodes de génération de nombres aléatoires (GPT) comprend BPE, WordPiece, SentencePiece, la tokenisation unigramme et des approches plus récentes comme BPE-dropout. Chacune d'elles établit des compromis différents entre la taille du vocabulaire, la longueur des séquences et la plausibilité linguistique. Les modèles GPT utilisent généralement BPE, BERT utilise WordPiece et T5 utilise SentencePiece.
Mythe
Le choix de la tokenisation a un impact minimal sur les performances du modèle.
Réalité
La tokenisation influe directement sur ce qu'un modèle peut apprendre, sur l'efficacité de son entraînement et sur sa capacité de généralisation. Une tokenisation de mauvaise qualité peut fragmenter des concepts apparentés ou confondre des significations distinctes, créant ainsi des limitations de représentation fondamentales qu'aucune capacité de modèle, aussi importante soit-elle, ne peut entièrement surmonter.
Questions fréquemment posées
Qu’est-ce que la tokenisation en NLP et pourquoi est-ce important ?
La tokenisation transforme le texte brut en unités discrètes que les modèles d'apprentissage automatique peuvent traiter. C'est l'étape fondamentale qui détermine la représentation numérique du langage, influençant tout, de la taille du vocabulaire aux relations sémantiques qu'un modèle peut saisir. Une tokenisation de mauvaise qualité génère du bruit et de l'ambiguïté qui se propagent tout au long du processus.
Comment fonctionne concrètement le codage par paires d'octets ?
BPE part d'un vocabulaire de caractères et fusionne itérativement les paires adjacentes les plus fréquentes dans un corpus d'entraînement. Après des milliers de fusions, les sous-chaînes courantes comme « th » ou « ing » apparaissent comme des jetons uniques, tandis que les mots rares restent décomposables. Cette approche gloutonne basée sur la fréquence identifie efficacement les motifs réutilisables sans supervision linguistique.
Pourquoi la tokenisation par sous-mots est-elle devenue dominante après 2016 ?
Les architectures de réseaux neuronaux ont gagné en puissance, mais leur succès reposait sur la gestion du vocabulaire dans le cadre des contraintes de la matrice d'intégration. La démonstration par Sennrich que l'intégration binaire (BPE) permettait d'atteindre des performances équivalentes au niveau du mot avec une fraction du vocabulaire a coïncidé avec l'essor de l'apprentissage profond pour la traduction, créant ainsi une convergence entre besoin et solution.
Peut-on utiliser la tokenisation au niveau des mots avec les modèles de transformateurs ?
Techniquement, oui, bien que ce soit rare. L'architecture du transformeur est indépendante de la tokenisation, mais les points de contrôle pré-entraînés utilisent systématiquement des méthodes de segmentation par sous-mots. Revenir à une segmentation au niveau du mot nécessiterait un entraînement complet avec des hyperparamètres ajustés et les performances seraient probablement inférieures en raison des limitations du vocabulaire.
Comment choisir la taille du vocabulaire pour la tokenisation des sous-mots ?
Il s'agit d'équilibrer la longueur des séquences et leur granularité. Les vocabulaires restreints produisent des séquences plus longues avec davantage de jetons partagés, tandis que les vocabulaires étendus tendent vers un comportement similaire à celui des mots. On utilise généralement entre 32 000 et 50 000 mots pour les modèles généraux, bien que les systèmes multilingues puissent en employer plus de 100 000 pour prendre en charge la diversité des systèmes d'écriture et des structures morphologiques.
Que se passe-t-il lorsque la tokenisation par sous-mots rencontre un système d'écriture ou un symbole totalement nouveau ?
Les implémentations modernes comme SentencePiece utilisent une représentation binaire ou encodée en UTF-8 pour garantir que chaque entrée corresponde à un jeton connu. Ce mécanisme assure la continuité du traitement, mais la représentation sémantique des symboles véritablement nouveaux reste limitée jusqu'à ce qu'ils soient suffisamment exposés lors de l'entraînement ou de l'ajustement.
Existe-t-il une différence entre la tokenisation pour l'anglais et pour le chinois ?
En anglais, les conventions d'espacement rendent les frontières entre les mots relativement claires, tandis qu'en chinois, une segmentation explicite ou des approches basées sur les caractères sont nécessaires. Les méthodes d'analyse de sous-mots s'adaptent aux deux, mais les schémas statistiques appris diffèrent considérablement. Les vocabulaires de sous-mots chinois comprennent souvent de nombreux caractères uniques, compte tenu de la nature logographique de ce système d'écriture.
Comment la tokenisation affecte-t-elle l'équité et les biais des modèles ?
La tokenisation peut encoder ou amplifier les biais liés à la représentation des noms, des dialectes ou des termes culturels. Par exemple, l'anglais vernaculaire afro-américain peut être tokenisé moins efficacement que l'anglais américain standard dans les modèles entraînés principalement sur des corpus dominants, ce qui a pour effet de surcharger le traitement de certaines variétés linguistiques.
Quelles sont les différences pratiques entre BPE et WordPiece ?
BPE effectue des fusions basées sur le comptage brut des fréquences, tandis que WordPiece sélectionne les fusions qui maximisent la vraisemblance avec les données d'entraînement. En pratique, les deux méthodes produisent un vocabulaire globalement similaire, mais WordPiece tend à éviter les combinaisons extrêmement rares. L'implémentation de WordPiece dans BERT inclut également une gestion spécifique des sous-mots consécutifs précédés de « ## ».
Comment gérez-vous la tokenisation dans les systèmes de production ?
La production exige une cohérence entre la tokenisation d'entraînement et d'inférence, un contrôle de version des artefacts du tokenizer et une gestion rigoureuse du prétraitement (normalisation, mise en minuscules, etc.). Tout décalage à ce niveau peut entraîner des erreurs subtiles et difficiles à déboguer. Des bibliothèques comme Hugging Face Transformers proposent une sérialisation standardisée pour atténuer ces risques.
Existe-t-il des alternatives à la tokenisation au niveau des sous-mots et des mots ?
Des recherches récentes explorent les modèles au niveau octet, les analyseurs morphologiques, et même des approches sans tokenisation qui opèrent directement sur les octets ou les pixels bruts du texte. Ces approches restent encore largement expérimentales, mais promettent d'éliminer certaines décisions arbitraires dans les chaînes de traitement actuelles. Le domaine continue d'évoluer au gré des contraintes de calcul.
Quel est l'impact de la tokenisation sur l'interprétabilité du modèle ?
Les résultats au niveau du mot correspondent à l'intuition linguistique humaine, ce qui facilite la visualisation de l'attention et l'analyse des caractéristiques. Les résultats au niveau des sous-mots nécessitent des outils supplémentaires pour agréger les informations au niveau du token et reconstituer le sens du mot. Cette agrégation introduit de la complexité, mais elle est devenue une pratique courante dans les cadres d'explication de modèles.
Verdict
Privilégiez la tokenisation par sous-mots pour les architectures neuronales modernes, les applications multilingues et les domaines dont le vocabulaire évolue. Optez pour une approche au niveau du mot pour les systèmes existants, les environnements aux ressources limitées ou les problèmes où le vocabulaire est naturellement restreint et où l'interprétabilité est primordiale.