Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Parole Vuote | Fondamenti della Pre-Elaborazione del Testo
Introduzione alla NLP

bookParole Vuote

Comprendere le Stop Words

Note
Definizione

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:

1234567
import 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)
copy
Note
Nota

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:

1234567891011121314
import 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)
copy

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.

Note
Nota

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.

question mark

Quale delle seguenti opzioni descrive meglio cosa sono le stop word e perché vengono spesso rimosse?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 7

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 3.45

bookParole Vuote

Scorri per mostrare il menu

Comprendere le Stop Words

Note
Definizione

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:

1234567
import 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)
copy
Note
Nota

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:

1234567891011121314
import 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)
copy

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.

Note
Nota

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.

question mark

Quale delle seguenti opzioni descrive meglio cosa sono le stop word e perché vengono spesso rimosse?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 7
some-alt