Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Palavras de Parada | Fundamentos do Pré-Processamento de Texto
Introdução ao PLN

bookPalavras de Parada

Compreendendo Stop Words

Note
Definição

Stop words são palavras comuns que geralmente não contribuem para o significado de uma frase, pelo menos para os propósitos da maioria das análises e algoritmos. Isso inclui palavras como "the", "is", "in" e "on".

Stop words geralmente são filtradas após a tokenização em tarefas de PLN, como análise de sentimento, modelagem de tópicos ou extração de palavras-chave. O motivo para remover stop words é diminuir o tamanho do conjunto de dados, melhorando a eficiência computacional, e aumentar a relevância da análise ao focar nas palavras que carregam significado significativo.

Remoção de Stop Words com NLTK

Para facilitar, o nltk fornece uma lista abrangente de stop words em vários idiomas, que pode ser facilmente acessada e utilizada para filtrar stop words de dados textuais.

Veja como obter a lista de stop words em inglês no NLTK e convertê-la em um 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

Converter essa lista para um set melhora a eficiência das buscas, pois verificar a existência de um elemento em um set é mais rápido do que em uma lista.

Com isso em mente, vejamos um exemplo completo de como filtrar stop words de um texto fornecido:

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

Como pode ser observado, é necessário primeiro baixar as stop words e realizar a tokenização. O próximo passo é utilizar uma list comprehension para criar uma lista contendo apenas os tokens que não são stop words. O uso de word.lower() na cláusula if é essencial para converter cada palavra (token) para minúsculas, já que o nltk contém as stop words exclusivamente em minúsculas.

Note
Nota

Alternativamente, poderíamos usar um laço for comum em vez de uma list comprehension, porém, utilizar list comprehension aqui é mais eficiente e conciso.

question mark

Qual das alternativas a seguir melhor descreve o que são stop words e por que elas são frequentemente removidas?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 7

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain why it's important to remove stop words in NLP tasks?

What are some common stop words in English?

Can you show how to remove stop words from a custom text?

Awesome!

Completion rate improved to 3.45

bookPalavras de Parada

Deslize para mostrar o menu

Compreendendo Stop Words

Note
Definição

Stop words são palavras comuns que geralmente não contribuem para o significado de uma frase, pelo menos para os propósitos da maioria das análises e algoritmos. Isso inclui palavras como "the", "is", "in" e "on".

Stop words geralmente são filtradas após a tokenização em tarefas de PLN, como análise de sentimento, modelagem de tópicos ou extração de palavras-chave. O motivo para remover stop words é diminuir o tamanho do conjunto de dados, melhorando a eficiência computacional, e aumentar a relevância da análise ao focar nas palavras que carregam significado significativo.

Remoção de Stop Words com NLTK

Para facilitar, o nltk fornece uma lista abrangente de stop words em vários idiomas, que pode ser facilmente acessada e utilizada para filtrar stop words de dados textuais.

Veja como obter a lista de stop words em inglês no NLTK e convertê-la em um 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

Converter essa lista para um set melhora a eficiência das buscas, pois verificar a existência de um elemento em um set é mais rápido do que em uma lista.

Com isso em mente, vejamos um exemplo completo de como filtrar stop words de um texto fornecido:

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

Como pode ser observado, é necessário primeiro baixar as stop words e realizar a tokenização. O próximo passo é utilizar uma list comprehension para criar uma lista contendo apenas os tokens que não são stop words. O uso de word.lower() na cláusula if é essencial para converter cada palavra (token) para minúsculas, já que o nltk contém as stop words exclusivamente em minúsculas.

Note
Nota

Alternativamente, poderíamos usar um laço for comum em vez de uma list comprehension, porém, utilizar list comprehension aqui é mais eficiente e conciso.

question mark

Qual das alternativas a seguir melhor descreve o que são stop words e por que elas são frequentemente removidas?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 7
some-alt