Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Tokenisation | Fondamentaux du Prétraitement de Texte
Introduction au NLP
course content

Contenu du cours

Introduction au NLP

Introduction au NLP

1. Fondamentaux du Prétraitement de Texte
2. Racine et Lemmatisation
3. Modèles de Texte de Base
4. Incorporations de Mots

book
Tokenisation

Avant de plonger réellement dans le processus de tokenisation, nous devons d'abord définir ce que sont les tokens.

Par conséquent, la tokenisation est le processus de division du texte en tokens. Par exemple, un paragraphe de texte, un document texte ou un corpus de texte se compose de plusieurs composants qui peuvent être divisés en phrases, expressions et mots. En fait, les méthodes de tokenisation les plus populaires incluent la tokenisation de phrases et de mots, qui est utilisée pour diviser un document texte (ou corpus) en phrases et chaque phrase en mots.

Tokenisation des phrases

Commençons par la tokenisation des phrases. Heureusement pour nous, nltk fournit la fonction sent_tokenize() dans le module tokenize. Le but principal de cette fonction est de diviser un texte donné en une liste de phrases.

sent_tokenize() utilise un modèle pré-entraîné, généralement un modèle d'apprentissage automatique qui a été entraîné sur un large corpus de texte, pour identifier les frontières entre les phrases. Il prend en compte divers indices dans le texte, tels que les signes de ponctuation (par exemple, les points, les points d'exclamation, les points d'interrogation), la capitalisation, et d'autres motifs linguistiques qui marquent généralement la fin d'une phrase et le début d'une autre.

Voyons un exemple pour clarifier les choses :

123456789
# Importing the sent_tokenize() function from nltk.tokenize import sent_tokenize import nltk # Downloading the "Punkt" tokenizer models nltk.download('punkt_tab') text = "Hello world. This is an example of sentence tokenization. NLTK makes it easy!" # Sentence tokenization sentences = sent_tokenize(text) print(sentences)
copy

Comme vous pouvez le voir, il n'y a rien de compliqué ici. Vous devez simplement passer une chaîne avec votre texte en tant qu'argument de sent_tokenize() pour obtenir une liste de phrases. En parlant de nltk.download('punkt_tab'), cette commande télécharge spécifiquement les modèles de tokenizer "Punkt". En téléchargeant les modèles de tokenizer Punkt, vous vous assurez que NLTK dispose des données nécessaires pour effectuer une tokenisation précise des phrases et des mots.

Tokenisation des mots

Dans la tokenisation des mots, il existe plusieurs méthodes courantes pour la réaliser ; cependant, dans ce chapitre, nous ne discuterons que des deux plus répandues.

La méthode la plus simple et la plus directe est d'utiliser la fonction split() de la classe string, qui utilise par défaut les symboles de nouvelle ligne, les espaces et les tabulations comme délimiteurs. Cependant, vous pouvez également passer une chaîne arbitraire en tant qu'argument pour servir de délimiteur.

Voici un exemple :

123456
text = "This is an example of word tokenization." # Convert the text to lowercase text = text.lower() # Word tokenization using split() words = text.split() print(words)
copy

Une approche plus flexible, cependant, est d'utiliser la fonction word_tokenize() dans le module tokenize de la bibliothèque nltk. Cette fonction identifie et sépare les mots en fonction des espaces et des signes de ponctuation, décomposant efficacement les phrases en leurs mots constituants. De même que sent_tokenize(), cette fonction nécessite une chaîne comme argument.

Comparons cette approche avec l'utilisation de la méthode split(). L'exemple ci-dessous utilise word_tokenize():

12345678
from nltk import word_tokenize import nltk nltk.download('punkt_tab') text = "Good muffins cost $3.88 in New York. Please buy me two of them. Thanks" text = text.lower() # Word tokenization using word_tokenize() words = word_tokenize(text) print(words)
copy

Voyons maintenant comment la méthode split() fonctionne avec le même texte :

12345
text = "Good muffins cost $3.88 in New York. Please buy me two of them. Thanks" text = text.lower() # Word tokenization using split() words = text.split() print(words)
copy

Dans notre exemple, word_tokenize(), contrairement à split(), identifie avec précision la ponctuation et les caractères spéciaux comme des tokens séparés. Il sépare correctement le signe dollar du chiffre et reconnaît les points comme des tokens autonomes. Cette tokenisation nuancée est cruciale pour de nombreuses tâches de NLP, où la délimitation précise des mots et de la ponctuation peut avoir un impact significatif sur la précision de l'analyse et les insights.

Étant donné la phrase "It wasn't me, I swear!", quel sera le résultat de l'application de la méthode `split()` sur celle-ci ?

Étant donné la phrase "It wasn't me, I swear!", quel sera le résultat de l'application de la méthode split() sur celle-ci ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 3
We're sorry to hear that something went wrong. What happened?
some-alt