Application de la Prétraitement de Texte en Pratique
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.
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 de texte é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 soit avec des fichiers CSV, soit avec des fichiers TXT, où chaque document commence sur une nouvelle ligne. Par conséquent, nous utiliserons la fonction read_csv() de la bibliothèque pandas pour charger un corpus textuel à partir d’un fichier.
123456import 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)
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, commençons par créer une fonction de prétraitement pour chacun des documents :
123456789101112131415161718import 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
Appliquons maintenant cette fonction à notre DataFrame pour chaque document et créons une colonne contenant les documents nettoyés :
123456789101112131415161718192021222324252627import 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)
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.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
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?
Awesome!
Completion rate improved to 3.45
Application de la Prétraitement de Texte en Pratique
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.
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 de texte é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 soit avec des fichiers CSV, soit avec des fichiers TXT, où chaque document commence sur une nouvelle ligne. Par conséquent, nous utiliserons la fonction read_csv() de la bibliothèque pandas pour charger un corpus textuel à partir d’un fichier.
123456import 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)
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, commençons par créer une fonction de prétraitement pour chacun des documents :
123456789101112131415161718import 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
Appliquons maintenant cette fonction à notre DataFrame pour chaque document et créons une colonne contenant les documents nettoyés :
123456789101112131415161718192021222324252627import 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)
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.
Merci pour vos commentaires !