Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Stop Words | Sezione
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Elaborazione del Linguaggio Naturale

bookStop Words

Scorri per mostrare il menu

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 i 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 più 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

Convertire questa lista in un set migliora l'efficienza delle ricerche, poiché la verifica della presenza di un elemento in un set è più veloce rispetto a una lista.

Tenendo presente questo, esaminiamo un esempio completo su 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 si può vedere, è necessario prima scaricare le stop words 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 words. L'uso di word.lower() nella clausola if è fondamentale per convertire ogni parola (token) in minuscolo, poiché nltk contiene le stop words esclusivamente in minuscolo.

Note
Nota

In alternativa, si potrebbe utilizzare un normale for loop invece di una list comprehension; tuttavia, l'uso della list comprehension in questo caso è più efficiente e conciso.

question mark

Quale delle seguenti opzioni descrive meglio cosa sono le stop words 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

Sezione 1. Capitolo 7
some-alt