Suppression des stopwords avec nltk
La suppression des stopwords avec nltk consiste à éliminer les mots fréquents et peu informatifs (comme « le », « et », « à », « de », etc.) d’un texte. Ces mots, bien qu’importants pour la structure de la langue, n’apportent généralement pas de valeur analytique dans des tâches de traitement de texte, comme l’analyse de sentiments ou la classification. Avec la bibliothèque nltk (Natural Language Toolkit), vous pouvez facilement accéder à une liste de stopwords pré-définis dans différentes langues et les supprimer des textes pour réduire leur complexité et améliorer les performances des modèles de traitement du langage naturel.
Fonctions :
-
stopwords()
Les stopwords sont des mots fréquents et généralement peu informatifs, comme "le", "la", "et", "en", qui n'apportent pas beaucoup d'information à une analyse de texte. La suppression de ces mots est une étape importante dans le prétraitement des textes, notamment en analyse de texte et en traitement du langage naturel (NLP). nltk fournit une liste de stopwords pour plusieurs langues. Cette méthode consiste à filtrer les tokens d'un texte en supprimant ceux qui sont présents dans la liste des stopwords.
Importation :
from nltk.corpus import stopwords
Attributs :
Paramètre Description stopwords.words(language)
Liste des stopwords pour la langue spécifiée. Par exemple, stopwords.words('english')
retourne la liste des stopwords en anglais.Exemple de code :
import nltk from nltk.corpus import stopwords from nltk.tokenize import word_tokenize # Télécharger les ressources nécessaires (une seule fois) nltk.download('stopwords') nltk.download('punkt') # Texte à analyser texte = "Ceci est un exemple simple pour démontrer la suppression des stopwords." # Tokenisation du texte tokens = word_tokenize(texte) # Charger la liste des stopwords en français stop_words = set(stopwords.words('french')) # Filtrer les tokens pour enlever les stopwords tokens_filtrés = [mot for mot in tokens if mot.lower() not in stop_words] print(tokens_filtrés)
Explication du code :
- Importation des modules : On importe la bibliothèque
nltk
, ainsi que les modulesstopwords
etword_tokenize
nécessaires pour gérer les mots vides (stopwords) et pour découper le texte en mots (tokenisation). - Téléchargement des ressources : Les fonctions
nltk.download('stopwords')
etnltk.download('punkt')
permettent de télécharger les fichiers nécessaires pour la liste des mots vides en français et pour la tokenisation. Cette étape est indispensable avant d’utiliser ces fonctions. - Définition du texte : La variable
texte
contient une phrase que l’on souhaite analyser. - Tokenisation : La fonction
word_tokenize(texte)
découpe le texte en une liste de mots (tokens), en séparant la ponctuation et les mots. - Chargement des stopwords : La liste des mots vides en français est chargée via
stopwords.words('french')
et convertie en ensemble (set
) pour optimiser la recherche. - Filtrage des tokens : On crée une nouvelle liste
tokens_filtrés
qui contient uniquement les mots ne faisant pas partie des stopwords. La méthodemot.lower()
assure que la comparaison se fait en minuscules, pour éviter de rater des mots à cause de la casse. - Affichage du résultat : Le
print
affiche la liste des mots importants du texte, débarrassée des mots vides.
- Importation des modules : On importe la bibliothèque