LLM

Les jetons en PNL : qu'est-ce qu'ils sont et comment ils sont utilisés pour les analyses linguistiques

LE'traitement du langage naturel (NLP) est une branche de l'intelligence artificielle qui consiste à permettre aux ordinateurs de comprendre et de générer le langage humain. L'un des concepts clés de la PNL est la des jetons, qui joue un rôle fondamental en permettant aux modèles d’apprendre et d’interpréter des textes.

Qu'est-ce qu'un jeton ?

UN jeton est la plus petite unité d'un texte ayant une signification pour un modèle PNL. Concrètement, cela implique de segmenter une chaîne de texte en parties plus petites telles que des mots, des phrases ou même des caractères, qui sont ensuite analysées individuellement par des modèles de traitement linguistique. Nous verrons plus tard comment une phrase est interprétée et comment une LLM est incapable de compter correctement les lettres d’un mot.

Jetons contre mots : quelle est la différence ?

Une confusion courante consiste à considérer les jetons et les mots comme synonymes. Il existe cependant une distinction importante : je jeton il peut s'agir de mots entiers, de parties de mots ou de symboles, tandis que le mots ce sont des unités linguistiques bien définies avec une signification sémantique. Par exemple, en PNL, un mot complexe peut être divisé en plusieurs jetons pour faciliter le traitement.

Exemples de tokenisation

Pour mieux comprendre la tokenisation, on peut prendre la phrase : «L'intelligence artificielle change le monde« . Une simple approche de tokenisation pourrait diviser la phrase en mots individuels. Il faut savoir que chaque modèle possède son propre « tokenizer » qui transforme une phrase en token. Voici une représentation de la façon dont la phrase est interprétée.

Pour faciliter la lecture, chaque « carré » coloré est un jeton.

jeton

En cliquant sur le bouton « Afficher le texte tokenisé » nous pouvons voir l'ID attribué à chaque jeton. Il s'agit essentiellement de l'entrée qui voit, par exemple, ChatGPT ou tout autre chatbot.

jetonjeton

Il est utile de savoir qu'il a été choisi de développer avec le mode token car ces derniers sont réutilisables, alors que l'utilisation du système « caractère par caractère » ou « mot par mot » aurait entraîné un apprentissage plus complexe. Par exemple, le mot « rapidement » est interprété comme « rapidement » par « esprit » afin que nous puissions également utiliser le mot « esprit » dans d'autres contextes. Il y a évidemment un inconvénient à utiliser des jetons puisque le Grand modèle de langage n'a aucune connaissance du nombre de caractères ni des lettres qui composent un mot. En fait, si vous essayez de demander d’écrire une phrase ou un paragraphe d’une longueur maximale de « x » caractères, vous n’y parviendrez pas.

Mais que se passerait-il si nous demandions à GPT de compter les « i » dans le mot ? « supercalifragilisticexpialidocious »? Le système répond par « 7 », renvoyant évidemment une réponse (sortie) incorrecte. Pour contourner ce problème, demandez simplement de générer le code Python et comptez les « i » dans le mot « supercalifragilisticexpialidocious » et le résultat sera 6, ce qui est le bon.

jetonjeton

L'importance des jetons en PNL

Les jetons sont au cœur de la PNL car ils permettent de transformer un texte non structuré en une forme qui modélise apprentissage automatique ils peuvent manipuler et comprendre. La segmentation du texte en jetons permet de créer des représentations numériques que les modèles peuvent utiliser pour faire des inférences.

Comment les modèles de langage utilisent les jetons

Les modèles de langage, tels que BERT ou GPT, utilisent des jetons pour construire des représentations vectorielles de textes. Les jetons sont convertis en nombres (grâce à des techniques telles queintégration) et traités pour identifier des modèles, des relations sémantiques et structurelles dans le texte. Ce processus permet aux modèles de faire des prédictions ou de générer de nouvelles phrases basées sur une saisie textuelle.

Avantages de la tokenisation

La tokenisation permet une gestion plus granulaire et flexible des textes. Parmi les principaux avantages on retrouve :

  • Efficacité: réduit la complexité informatique en transformant le texte en une séquence d'éléments simples.
  • Généralisation: Permet aux modèles de mieux répondre à la variabilité des langues, en segmentant même les mots rares ou complexes en composants plus courants.
  • Compatibilité: Facilite l'intégration de données multilingues ou de textes comportant des caractères spéciaux.

Le processus de tokenisation

Le processus de tokenisation consiste à segmenter un texte en unités logiques qui peuvent être des mots, des phrases ou des sous-parties de mots. Selon le contexte et les objectifs, le processus de tokenisation peut varier considérablement.

Techniques de tokenisation

Il existe plusieurs techniques de tokenisation, telles que :

  • Tokenisation basée sur l'espace: fractionnement simple basé sur les espaces.
  • Tokenisation basée sur des règles: Utilisez des modèles grammaticaux pour séparer les jetons.
  • Tokenisation basée sur des modèles statistiques: Utilisez des fréquences et des probabilités pour identifier les jetons.

Types de tokenisation

Selon le niveau de granularité, il existe différents types de tokenisation :

  • Tokenisation de mots: Segmente le texte en mots.
  • Tokenisation des sous-mots: Divise les mots en unités plus petites, telles que des préfixes et des suffixes.
  • Tokenisation des personnages: Traitez les personnages individuels comme des jetons.

Outils de tokenisation

De nombreux outils existent pour effectuer la tokenisation, les plus courants étant :

  • NLTK: une bibliothèque Python qui offre des fonctions pour tokeniser des textes dans différentes langues.
  • SpaCy: Une bibliothèque avancée pour le NLP qui inclut une tokenisation efficace et personnalisable.
  • Tokenizers câlins pour le visage: Outils optimisés pour la tokenisation de modèles comme BERT ou GPT.

Les défis de la tokenisation

La tokenisation n’est pas sans défis. Certains des défis majeurs comprennent :

  • Ambiguïté linguistique: Différentes langues présentent des difficultés particulières (par exemple, en chinois ou en japonais, où il n'y a pas d'espaces entre les mots).
  • Gestion des mots composés: Les langues comme l'allemand peuvent avoir des mots extrêmement longs, qui doivent être symbolisés en plusieurs parties.
  • Pertinence sémantique: Conserver la signification originale lors de la tokenisation est crucial pour la précision des modèles.

Applications des jetons en PNL

Les jetons sont essentiels pour plusieurs applications pratiques du PNL, améliorant l’efficacité et la précision des modèles de langage avancés. Voici quelques exemples :
Traduction automatique : dans le contexte de la traduction automatique, les jetons permettent de segmenter les phrases en unités pouvant être traduites individuellement ou par blocs, améliorant ainsi la qualité des traductions entre des langues très différentes.

Analyse des sentiments : Pour l'analyse des sentiments, la tokenisation permet d'identifier des mots ou des expressions clés qui indiquent des émotions ou des opinions. En segmentant le texte en jetons, un modèle peut déterminer si une expression est positive, négative ou neutre.

Génération de texte : Dans la génération de texte, les jetons permettent aux modèles de prédire le prochain mot ou fragment en fonction des précédents, améliorant ainsi la fluidité et la cohérence des textes produits.

Reconnaissance d'entité nommée : Reconnaissance d'entité nommée (NER) utilise des jetons pour identifier et classer des entités telles que des noms de personnes, de lieux ou d'organisations, en segmentant le texte pour isoler ces éléments.

Marquage d'une partie du discours : Le Marquage d'une partie du discours Il est basé sur la tokenisation pour attribuer à chaque token une catégorie grammaticale, telle que des verbes, des noms ou des adjectifs, ce qui est fondamental pour l'analyse syntaxique.

Résumé du texte : synthèse de texte automatique dépend de la tokenisation pour extraire les informations les plus pertinentes d'un document, en segmentant le texte pour obtenir un résumé cohérent.

Techniques avancées : tokenisation des sous-mots

L'une des techniques avancées de la PNL est tokenisation des sous-motsqui divise les mots en unités encore plus petites. Cette approche est particulièrement utile pour traiter des mots inconnus ou rares. Des algorithmes comme Codage par paire d'octets (BPE) Et Morceau de mots ils sont couramment utilisés dans les modèles de langage avancés, tels que BERT et GPT, car ils améliorent la capacité du modèle à généraliser et à gérer un vocabulaire complexe.