Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Application Pratique du Prétraitement de Texte | Fondamentaux du Prétraitement de Texte
Introduction au TALN avec Python

bookApplication Pratique du Prétraitement de Texte

Documents

Avant de passer à un exemple pratique de prétraitement de texte, il est important de comprendre les éléments clés d’un corpus textuel : les documents.

Note
Définition

Un document est une unité textuelle distincte au sein d’un corpus, par exemple, un courriel dans un corpus de courriels.

En résumé, chaque corpus textuel est un ensemble de documents, ainsi le prétraitement du corpus implique le prétraitement de chacun des documents.

Chargement du corpus

Précédemment, notre corpus textuel était constitué de variables de type chaîne de caractères. Cependant, dans des situations réelles, un corpus textuel est souvent stocké dans des fichiers TXT pour des données purement textuelles ou dans des fichiers CSV comportant plusieurs colonnes lorsque des données supplémentaires sont associées au texte.

Dans ce cours, nous travaillerons avec des fichiers CSV ou TXT, où chaque document commence sur une nouvelle ligne. Ainsi, nous utiliserons la fonction read_csv() de la bibliothèque pandas pour charger un corpus textuel à partir d'un fichier.

123456
import pandas as pd corpus = pd.read_csv( 'https://content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) print(corpus)
copy

Ici, nous lisons ce fichier TXT dans un DataFrame. Nous définissons sep='\r' pour utiliser le symbole de retour chariot comme séparateur, indiquant que chaque document commence sur une nouvelle ligne. Nous utilisons header=None afin que la première ligne ne soit pas considérée comme un en-tête, et nous spécifions names=['Document'] pour nommer l'unique colonne 'Document'. Ainsi, nous obtenons un DataFrame avec une seule colonne nommée 'Document' contenant 6 documents (phrases).

Prétraitement du corpus

Pour prétraiter le corpus, il convient d'abord de créer une fonction pour le prétraitement de chacun des documents :

123456789101112131415161718
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc
copy

Appliquer maintenant cette fonction à notre DataFrame pour chaque document et créer une colonne contenant les documents nettoyés :

123456789101112131415161718192021222324252627
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk import pandas as pd nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc corpus = pd.read_csv( 'https://content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) corpus['Cleaned_Document'] = corpus['Document'].apply(preprocess_document) print(corpus)
copy

Comme vous pouvez le constater, notre corpus a été prétraité avec succès ; nous utiliserons donc la version prétraitée de ce corpus plus tard dans le cours.

question mark

Sélectionnez la sortie correcte de l'extrait de code suivant.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 9

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain what each step in the preprocessing function does?

What are stop words and why are they removed?

How can I customize the preprocessing steps for my own dataset?

bookApplication Pratique du Prétraitement de Texte

Glissez pour afficher le menu

Documents

Avant de passer à un exemple pratique de prétraitement de texte, il est important de comprendre les éléments clés d’un corpus textuel : les documents.

Note
Définition

Un document est une unité textuelle distincte au sein d’un corpus, par exemple, un courriel dans un corpus de courriels.

En résumé, chaque corpus textuel est un ensemble de documents, ainsi le prétraitement du corpus implique le prétraitement de chacun des documents.

Chargement du corpus

Précédemment, notre corpus textuel était constitué de variables de type chaîne de caractères. Cependant, dans des situations réelles, un corpus textuel est souvent stocké dans des fichiers TXT pour des données purement textuelles ou dans des fichiers CSV comportant plusieurs colonnes lorsque des données supplémentaires sont associées au texte.

Dans ce cours, nous travaillerons avec des fichiers CSV ou TXT, où chaque document commence sur une nouvelle ligne. Ainsi, nous utiliserons la fonction read_csv() de la bibliothèque pandas pour charger un corpus textuel à partir d'un fichier.

123456
import pandas as pd corpus = pd.read_csv( 'https://content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) print(corpus)
copy

Ici, nous lisons ce fichier TXT dans un DataFrame. Nous définissons sep='\r' pour utiliser le symbole de retour chariot comme séparateur, indiquant que chaque document commence sur une nouvelle ligne. Nous utilisons header=None afin que la première ligne ne soit pas considérée comme un en-tête, et nous spécifions names=['Document'] pour nommer l'unique colonne 'Document'. Ainsi, nous obtenons un DataFrame avec une seule colonne nommée 'Document' contenant 6 documents (phrases).

Prétraitement du corpus

Pour prétraiter le corpus, il convient d'abord de créer une fonction pour le prétraitement de chacun des documents :

123456789101112131415161718
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc
copy

Appliquer maintenant cette fonction à notre DataFrame pour chaque document et créer une colonne contenant les documents nettoyés :

123456789101112131415161718192021222324252627
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk import pandas as pd nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc corpus = pd.read_csv( 'https://content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) corpus['Cleaned_Document'] = corpus['Document'].apply(preprocess_document) print(corpus)
copy

Comme vous pouvez le constater, notre corpus a été prétraité avec succès ; nous utiliserons donc la version prétraitée de ce corpus plus tard dans le cours.

question mark

Sélectionnez la sortie correcte de l'extrait de code suivant.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 9
some-alt