Parole Vuote
Comprendere le Stop Words
Le stop words sono parole comuni che di solito non contribuiscono al significato di una frase, almeno per quanto riguarda la maggior parte delle analisi e degli algoritmi. Queste includono parole come "the", "is", "in" e "on".
Le stop words vengono tipicamente filtrate dopo la tokenizzazione per compiti di NLP, come l'analisi del sentiment, il topic modeling o l'estrazione di parole chiave. La motivazione alla base della rimozione delle stop words è quella di ridurre la dimensione del dataset, migliorando così l'efficienza computazionale, e di aumentare la rilevanza dell'analisi concentrandosi sulle parole che portano un significato significativo.
Rimozione delle Stop Words con NLTK
Per semplificare il processo, nltk fornisce un elenco completo di stop words in diverse lingue, facilmente accessibile e utilizzabile per filtrare le stop words dai dati testuali.
Ecco come ottenere l'elenco delle stop words inglesi in NLTK e convertirlo in un 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 conversione di questo elenco in un set migliora l'efficienza delle ricerche, poiché la verifica della presenza in un set è più veloce rispetto a una lista.
Tenendo presente questo, esaminiamo un esempio completo di come filtrare le stop word da un testo dato:
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)
Come puoi vedere, è necessario prima scaricare le stop word ed eseguire la tokenizzazione. Il passo successivo consiste nell'utilizzare una list comprehension per creare una lista contenente solo i token che non sono stop word. Il word.lower() nella clausola if è fondamentale per convertire ogni parola (token) in minuscolo, poiché nltk contiene le stop word esclusivamente in minuscolo.
In alternativa, si potrebbe utilizzare un normale ciclo for invece di una list comprehension; tuttavia, l'uso della list comprehension in questo caso risulta più efficiente e conciso.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.45
Parole Vuote
Scorri per mostrare il menu
Comprendere le Stop Words
Le stop words sono parole comuni che di solito non contribuiscono al significato di una frase, almeno per quanto riguarda la maggior parte delle analisi e degli algoritmi. Queste includono parole come "the", "is", "in" e "on".
Le stop words vengono tipicamente filtrate dopo la tokenizzazione per compiti di NLP, come l'analisi del sentiment, il topic modeling o l'estrazione di parole chiave. La motivazione alla base della rimozione delle stop words è quella di ridurre la dimensione del dataset, migliorando così l'efficienza computazionale, e di aumentare la rilevanza dell'analisi concentrandosi sulle parole che portano un significato significativo.
Rimozione delle Stop Words con NLTK
Per semplificare il processo, nltk fornisce un elenco completo di stop words in diverse lingue, facilmente accessibile e utilizzabile per filtrare le stop words dai dati testuali.
Ecco come ottenere l'elenco delle stop words inglesi in NLTK e convertirlo in un 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 conversione di questo elenco in un set migliora l'efficienza delle ricerche, poiché la verifica della presenza in un set è più veloce rispetto a una lista.
Tenendo presente questo, esaminiamo un esempio completo di come filtrare le stop word da un testo dato:
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)
Come puoi vedere, è necessario prima scaricare le stop word ed eseguire la tokenizzazione. Il passo successivo consiste nell'utilizzare una list comprehension per creare una lista contenente solo i token che non sono stop word. Il word.lower() nella clausola if è fondamentale per convertire ogni parola (token) in minuscolo, poiché nltk contiene le stop word esclusivamente in minuscolo.
In alternativa, si potrebbe utilizzare un normale ciclo for invece di una list comprehension; tuttavia, l'uso della list comprehension in questo caso risulta più efficiente e conciso.
Grazie per i tuoi commenti!