Mots Vides
Glissez pour afficher le menu
Les mots vides sont des mots courants qui, généralement, n’apportent pas de signification à une phrase, du moins pour la plupart des analyses et des algorithmes. Ceux-ci incluent des mots tels que « the », « is », « in » et « on ».
Les mots vides sont généralement filtrés après la tokenisation pour les tâches de TAL, telles que l’analyse de sentiment, la modélisation de sujets ou l’extraction de mots-clés. L’objectif de la suppression des mots vides est de réduire la taille du jeu de données, ce qui améliore l’efficacité computationnelle, et d’augmenter la pertinence de l’analyse en se concentrant sur les mots porteurs de sens.
Suppression des mots vides avec NLTK
Pour simplifier le processus, nltk fournit une liste complète de mots vides dans plusieurs langues, facilement accessible et utilisable pour filtrer les mots vides des données textuelles.
Voici comment obtenir la liste des mots vides anglais dans NLTK et la convertir en set :
1234567import nltk from nltk.corpus import stopwords # Download the stop words list nltk.download('stopwords') # Load English stop words stop_words = set(stopwords.words('english')) print(stop_words)
La conversion de cette liste en un ensemble améliore l'efficacité des recherches, car la vérification de l'appartenance à un ensemble est plus rapide que dans une liste.
Dans cette optique, examinons un exemple complet de filtrage des stop words à partir d'un texte donné :
1234567891011121314import nltk from nltk.tokenize import word_tokenize from nltk.corpus import stopwords nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) text = "This is an example sentence demonstrating the removal of stop words." text = text.lower() # Tokenize the text tokens = word_tokenize(text) # Remove stop words filtered_tokens = [word for word in tokens if word not in stop_words] print("Original Tokens:", tokens) print("Filtered Tokens:", filtered_tokens)
Comme vous pouvez le constater, il est nécessaire de télécharger d'abord les stop words et d'effectuer la tokenisation. L'étape suivante consiste à utiliser une compréhension de liste pour créer une liste contenant uniquement les tokens qui ne sont pas des stop words. Le word.lower() dans la clause if est essentiel pour convertir chaque mot (token) en minuscules, car nltk contient les stop words exclusivement en minuscules.
Il est également possible d'utiliser une boucle for classique au lieu d'une compréhension de liste ; cependant, l'utilisation d'une compréhension de liste ici est plus efficace et concise.
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