Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Stoppord | Grunderna i Textförbehandling
Introduktion till NLP

bookStoppord

Förståelse av stoppord

Note
Definition

Stoppord är vanliga ord som vanligtvis inte bidrar till meningen i en mening, åtminstone för de flesta analyser och algoritmer. Dessa inkluderar ord som "the", "is", "in" och "on".

Stoppord filtreras vanligtvis bort efter tokenisering för NLP-uppgifter, såsom sentimentanalys, ämnesmodellering eller nyckelordsextraktion. Anledningen till att ta bort stoppord är att minska datamängden, vilket förbättrar beräkningseffektiviteten, samt att öka relevansen i analysen genom att fokusera på de ord som bär betydande innebörd.

Ta bort stoppord med NLTK

För att förenkla processen tillhandahåller nltk en omfattande lista över stoppord på flera språk, som enkelt kan användas för att filtrera bort stoppord från textdata.

Så här hämtas listan över engelska stoppord i NLTK och konverteras till en 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
Notering

Att konvertera denna lista till en set förbättrar effektiviteten vid uppslag, eftersom medlemskapskontroll i en set är snabbare än i en lista.

Med detta i åtanke, låt oss titta på ett komplett exempel på hur man filtrerar bort stoppord från en given text:

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

Som du kan se bör vi först ladda ner stopporden och utföra tokenisering. Nästa steg är att använda en listkomprehension för att skapa en lista som endast innehåller token som inte är stoppord. word.lower() i if-satsen är avgörande för att konvertera varje ord (token) till gemener, eftersom nltk endast innehåller stoppord i gemener.

Note
Notering

Alternativt kan en vanlig for-loop användas istället för en list comprehension, men att använda list comprehension här är mer effektivt och koncist.

question mark

Vilket av följande beskriver bäst vad stoppord är och varför de ofta tas bort?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 7

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookStoppord

Svep för att visa menyn

Förståelse av stoppord

Note
Definition

Stoppord är vanliga ord som vanligtvis inte bidrar till meningen i en mening, åtminstone för de flesta analyser och algoritmer. Dessa inkluderar ord som "the", "is", "in" och "on".

Stoppord filtreras vanligtvis bort efter tokenisering för NLP-uppgifter, såsom sentimentanalys, ämnesmodellering eller nyckelordsextraktion. Anledningen till att ta bort stoppord är att minska datamängden, vilket förbättrar beräkningseffektiviteten, samt att öka relevansen i analysen genom att fokusera på de ord som bär betydande innebörd.

Ta bort stoppord med NLTK

För att förenkla processen tillhandahåller nltk en omfattande lista över stoppord på flera språk, som enkelt kan användas för att filtrera bort stoppord från textdata.

Så här hämtas listan över engelska stoppord i NLTK och konverteras till en 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
Notering

Att konvertera denna lista till en set förbättrar effektiviteten vid uppslag, eftersom medlemskapskontroll i en set är snabbare än i en lista.

Med detta i åtanke, låt oss titta på ett komplett exempel på hur man filtrerar bort stoppord från en given text:

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

Som du kan se bör vi först ladda ner stopporden och utföra tokenisering. Nästa steg är att använda en listkomprehension för att skapa en lista som endast innehåller token som inte är stoppord. word.lower() i if-satsen är avgörande för att konvertera varje ord (token) till gemener, eftersom nltk endast innehåller stoppord i gemener.

Note
Notering

Alternativt kan en vanlig for-loop användas istället för en list comprehension, men att använda list comprehension här är mer effektivt och koncist.

question mark

Vilket av följande beskriver bäst vad stoppord är och varför de ofta tas bort?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 7
some-alt