NLTK Tokenize : Tokenizer de mots et de phrases avec exemple

โšก Rรฉsumรฉ intelligent

NLTK Tokenize segmente les textes volumineux en unitรฉs plus petites appelรฉes tokens, une รฉtape fondamentale du traitement automatique du langage naturel. La boรฎte ร  outils propose word_tokenize pour dรฉcouper les phrases en mots et sent_tokenize pour diviser le texte en phrases individuelles.

  • โœ‚๏ธ Tokenisation: Divise les longs textes en unitรฉs plus petites appelรฉes jetons, pour analyse.
  • ๐Ÿง  PNL Foundation: Sert d'รฉtape de base pour la racinisation, la lemmatisation et la conversion texte-numรฉrique.
  • ๐Ÿ”ค word_tokenize() : Divise une phrase en mots individuels, en sรฉparant la ponctuation.
  • ๐Ÿ“ sent_tokenize(): Dรฉcompose un passage en phrases distinctes.
  • (I.e. Cas d'utilisation: La combinaison des deux permet de calculer des caractรฉristiques telles que le nombre moyen de mots par phrase pour l'apprentissage automatique.

Tokenisation NLTK

Qu'est-ce que la tokenisation?

tokenization est le processus par lequel une grande quantitรฉ de texte est divisรฉe en parties plus petites appelรฉes jetons. Ces jetons sont trรจs utiles pour trouver des modรจles et sont considรฉrรฉs comme une รฉtape de base pour la recherche de racines et la lemmatisation. La tokenisation permet รฉgalement de remplacer les รฉlรฉments de donnรฉes sensibles par des รฉlรฉments de donnรฉes non sensibles.

Le traitement du langage naturel est utilisรฉ pour crรฉer des applications telles que la classification de texte, chatbot intelligent, analyse sentimentale, traduction linguistique, etc. Il devient essentiel de comprendre le modรจle du texte pour atteindre lโ€™objectif indiquรฉ ci-dessus.

Pour le moment, ne vous inquiรฉtez pas de la radicalisation et de la lemmatisation, mais traitez-les comme des รฉtapes de nettoyage des donnรฉes textuelles ร  l'aide du NLP (Traitement du langage naturel). Nous discuterons de la radicalisation et de la lemmatisation plus tard dans le didacticiel. Des tรขches telles que Classification de texte ou filtrage anti-spam utilise le NLP avec des bibliothรจques d'apprentissage en profondeur telles que Keras et Tensorflow.

La boรฎte ร  outils de langage naturel contient un module NLTK trรจs important tokenize phrases qui comprennent en outre des sous-modules

  1. mot tokeniser
  2. phrase tokeniser

Tokenisation des mots

Nous utilisons la mรฉthode mot_tokenize() diviser une phrase en mots. Le rรฉsultat de la tokenisation de mots peut รชtre converti en Data Frame pour une meilleure comprรฉhension du texte dans les applications d'apprentissage automatique. Il peut รฉgalement รชtre fourni comme entrรฉe pour d'autres รฉtapes de nettoyage de texte telles que la suppression de la ponctuation, la suppression des caractรจres numรฉriques ou la recherche de radicaux. Les modรจles d'apprentissage automatique ont besoin de donnรฉes numรฉriques pour รชtre entraรฎnรฉs et effectuer une prรฉdiction. La tokenisation des mots devient une partie cruciale de la conversion du texte (chaรฎne) en donnรฉes numรฉriques. Veuillez lire ร  propos de Sac de mots ou CountVectorizer. Veuillez vous rรฉfรฉrer ร  l'exemple de tokenisation de mots NLTK ci-dessous pour mieux comprendre la thรฉorie.

from nltk.tokenize import word_tokenize
text = "God is Great! I won a lottery."
print(word_tokenize(text))

Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

Tokenisation des mots

Code Explication

  1. Le module word_tokenize est importรฉ de la bibliothรจque NLTK.
  2. Une variable ยซ texte ยป est initialisรฉe avec deux phrases.
  3. La variable texte est transmise dans le module word_tokenize et affiche le rรฉsultat. Ce module divise chaque mot avec une ponctuation que vous pouvez voir dans la sortie.

Tokenisation des phrases

Le sous-module disponible pour ce qui prรฉcรจde est sent_tokenize. Une question รฉvidente dans votre esprit serait pourquoi la tokenisation des phrases est nรฉcessaire alors que nous avons la possibilitรฉ de tokeniser les mots. Imaginez que vous deviez compter la moyenne des mots par phrase, comment allez-vous calculer ? Pour accomplir une telle tรขche, vous avez besoin ร  la fois d'un tokenizer de phrases NLTK et d'un tokenizer de mots NLTK pour calculer le rapport. Une telle sortie constitue une fonctionnalitรฉ importante pour la formation des machines, car la rรฉponse serait numรฉrique.

Consultez l'exemple de tokeniseur NLTK ci-dessous pour savoir en quoi la tokenisation des phrases est diffรฉrente de la tokenisation des mots.

from nltk.tokenize import sent_tokenize
text = "God is Great! I won a lottery."
print(sent_tokenize(text))

Output: ['God is Great!', 'I won a lottery ']

Nous avons 12 mots et deux phrases pour la mรชme entrรฉe.

Tokenisation des phrases

Explication du programme

  1. Dans une ligne comme le programme prรฉcรฉdent, importรฉ le module sent_tokenize.
  2. Nous avons repris la mรชme phrase. Un autre tokenizer de phrases dans le module NLTK a analysรฉ ces phrases et affichรฉ la sortie. Il est clair que cette fonction casse chaque phrase.

Au-dessus du tokenizer de mots Python des exemples sont de bonnes pierres de rรฉglage pour comprendre les mรฉcanismes de tokenisation des mots et des phrases.

FAQ

La tokenisation par mots (word_tokenize()) divise le texte en mots et signes de ponctuation individuels, tandis que la tokenisation par phrases (sent_tokenize()) le divise en phrases distinctes. Ces deux opรฉrations sont souvent combinรฉes pour obtenir des caractรฉristiques telles que le nombre de mots par phrase.

La tokenisation est la premiรจre รฉtape qui transforme le texte brut en unitรฉs gรฉrables, permettant la dรฉtection de modรจles, la racinisation, la lemmatisation et la conversion en caractรฉristiques numรฉriques dont les modรจles d'apprentissage automatique ont besoin pour des tรขches telles que la classification et la traduction.

Oui. NLTK prend en charge plusieurs langues en chargeant le modรจle Punkt appropriรฉ, par exemple `sent_tokenize(text, language='french')`. La prise en charge varie selon la langue, et certains scripts peuvent nรฉcessiter des tokenizers spรฉcialisรฉs.

Les grands modรจles de langage convertissent le texte en jetons, souvent des fragments de mots, avant traitement. Le modรจle prรฉdit le jeton suivant ร  partir des prรฉcรฉdents ; la tokenisation influe donc directement sur la longueur du contexte, le coรปt et la qualitรฉ du rรฉsultat.

Oui. Les tokeniseurs IA modernes utilisent des mรฉthodes de segmentation par sous-mots, comme l'encodage par paires d'octets (BPE) ou WordPiece, qui divisent les mots rares en segments plus petits. Cela permet de conserver des vocabulaires compacts tout en reprรฉsentant les mots peu courants ou composรฉs.

Rรฉsumez cet article avec :