Bien que la question soit un peu ancienne, voici une nouvelle bibliothèque, qui mérite d'être mentionnée, et qui peut effectuer des tâches supplémentaires.
Dans certains cas, vous ne voulez pas seulement supprimer les mots vides. Vous souhaitez plutôt trouver les mots d'arrêt dans les données textuelles et les stocker dans une liste afin de pouvoir trouver le bruit dans les données et les rendre plus interactives.
La bibliothèque s'appelle 'textfeatures'
. Vous pouvez l'utiliser comme suit :
! pip install textfeatures
import textfeatures as tf
import pandas as pd
Par exemple, supposons que vous ayez l'ensemble de chaînes de caractères suivant :
texts = [
"blue car and blue window",
"black crow in the window",
"i see my reflection in the window"]
df = pd.DataFrame(texts) # Convert to a dataframe
df.columns = ['text'] # give a name to the column
df
Maintenant, appelez la fonction stopwords() et passez les paramètres que vous voulez :
tf.stopwords(df,"text","stopwords") # extract stop words
df[["text","stopwords"]].head() # give names to columns
Le résultat sera :
text stopwords
0 blue car and blue window [and]
1 black crow in the window [in, the]
2 i see my reflection in the window [i, my, in, the]
Comme vous pouvez le voir, la dernière colonne contient les mots vides inclus dans ce document (record).
4 votes
Où avez-vous trouvé les mots-clés ? Est-ce que ça vient de NLTK ?
41 votes
@MattO'Brien
from nltk.corpus import stopwords
pour les futurs googlers13 votes
Il est également nécessaire d'exécuter
nltk.download("stopwords")
afin de rendre le dictionnaire de mots vides disponible.0 votes
Voir aussi stackoverflow.com/questions/19130512/stopword-removal-with-nltk
6 votes
Faites attention qu'un mot comme "not" est aussi considéré comme un mot d'arrêt dans nltk. Si vous faites quelque chose comme l'analyse des sentiments, le filtrage du spam, une négation peut changer le sens entier de la phrase et si vous la supprimez de la phase de traitement, vous risquez de ne pas obtenir des résultats précis.