Palavras de Parada
Compreendendo Stop Words
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:
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)
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:
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)
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.
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.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Palavras de Parada
Deslize para mostrar o menu
Compreendendo Stop Words
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:
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)
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:
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)
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.
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.
Obrigado pelo seu feedback!