Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Stoppord | Grunnleggende Tekstforbehandling
Introduksjon til NLP

bookStoppord

Forståelse av stoppord

Note
Definisjon

Stoppord er vanlige ord som vanligvis ikke bidrar til meningen i en setning, i hvert fall for de fleste analyser og algoritmer. Dette inkluderer ord som "the", "is", "in" og "on".

Stoppord blir vanligvis filtrert ut etter tokenisering for NLP-oppgaver, som sentimentanalyse, emnemodellering eller nøkkelorduttrekk. Begrunnelsen for å fjerne stoppord er å redusere datasettets størrelse, og dermed forbedre databehandlingseffektiviteten, samt å øke relevansen av analysen ved å fokusere på ordene som har betydelig mening.

Fjerning av stoppord med NLTK

For å forenkle prosessen, tilbyr nltk en omfattende liste over stoppord på flere språk, som enkelt kan brukes til å filtrere stoppord fra tekstdata.

Slik kan du hente listen over engelske stoppord i NLTK og konvertere den til et sett:

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
Merk

Å konvertere denne listen til et sett øker effektiviteten ved oppslag, siden medlemskapssjekk i et sett er raskere enn i en liste.

Med dette i tankene, la oss se på et komplett eksempel på hvordan man kan filtrere ut stoppord fra en gitt tekst:

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 laste ned stoppordene og utføre tokenisering. Neste steg er å bruke en list comprehension for å lage en liste som kun inneholder tokens som ikke er stoppord. word.lower() i if-setningen er essensiell for å konvertere hvert ord (token) til små bokstaver, siden nltk kun inneholder stoppord i små bokstaver.

Note
Merk

Alternativt kan vi bruke en vanlig for-løkke i stedet for en list comprehension, men bruk av list comprehension her er mer effektivt og konsist.

question mark

Hvilket av følgende beskriver best hva stoppord er og hvorfor de ofte fjernes?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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

Sveip for å vise menyen

Forståelse av stoppord

Note
Definisjon

Stoppord er vanlige ord som vanligvis ikke bidrar til meningen i en setning, i hvert fall for de fleste analyser og algoritmer. Dette inkluderer ord som "the", "is", "in" og "on".

Stoppord blir vanligvis filtrert ut etter tokenisering for NLP-oppgaver, som sentimentanalyse, emnemodellering eller nøkkelorduttrekk. Begrunnelsen for å fjerne stoppord er å redusere datasettets størrelse, og dermed forbedre databehandlingseffektiviteten, samt å øke relevansen av analysen ved å fokusere på ordene som har betydelig mening.

Fjerning av stoppord med NLTK

For å forenkle prosessen, tilbyr nltk en omfattende liste over stoppord på flere språk, som enkelt kan brukes til å filtrere stoppord fra tekstdata.

Slik kan du hente listen over engelske stoppord i NLTK og konvertere den til et sett:

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
Merk

Å konvertere denne listen til et sett øker effektiviteten ved oppslag, siden medlemskapssjekk i et sett er raskere enn i en liste.

Med dette i tankene, la oss se på et komplett eksempel på hvordan man kan filtrere ut stoppord fra en gitt tekst:

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 laste ned stoppordene og utføre tokenisering. Neste steg er å bruke en list comprehension for å lage en liste som kun inneholder tokens som ikke er stoppord. word.lower() i if-setningen er essensiell for å konvertere hvert ord (token) til små bokstaver, siden nltk kun inneholder stoppord i små bokstaver.

Note
Merk

Alternativt kan vi bruke en vanlig for-løkke i stedet for en list comprehension, men bruk av list comprehension her er mer effektivt og konsist.

question mark

Hvilket av følgende beskriver best hva stoppord er og hvorfor de ofte fjernes?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7
some-alt