Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Stopord | Grundlæggende Tekstforbehandling
Introduktion til NLP

bookStopord

Forståelse af stopord

Note
Definition

Stopord er almindelige ord, der normalt ikke bidrager til meningen af en sætning, i det mindste for de fleste analyser og algoritmer. Disse inkluderer ord som "the", "is", "in" og "on".

Stopord filtreres typisk fra efter tokenisering til NLP-opgaver såsom sentimentanalyse, emnemodellering eller nøgleordsekstraktion. Formålet med at fjerne stopord er at mindske datasættets størrelse, hvilket forbedrer den beregningsmæssige effektivitet, og at øge relevansen af analysen ved at fokusere på de ord, der bærer væsentlig betydning.

Fjernelse af stopord med NLTK

For at gøre processen lettere tilbyder nltk en omfattende liste over stopord på flere sprog, som nemt kan tilgås og bruges til at filtrere stopord fra tekstdata.

Her vises, hvordan du kan hente listen over engelske stopord i NLTK og konvertere den til et 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
Bemærk

Konvertering af denne liste til et set øger effektiviteten ved opslag, da medlemskabskontrol i et set er hurtigere end i en liste.

Med dette in mente, lad os se på et komplet eksempel på, hvordan man filtrerer stopord fra en given 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 det fremgår, bør man først downloade stopordene og udføre tokenisering. Næste trin er at anvende en list comprehension til at oprette en liste, der kun indeholder tokens, som ikke er stopord. word.lower() i if-klausulen er afgørende for at konvertere hvert ord (token) til små bogstaver, da nltk kun indeholder stopord i små bogstaver.

Note
Bemærk

Alternativt kunne vi bruge et almindeligt for-loop i stedet for en list comprehension, men brugen af list comprehension her er mere effektiv og kortfattet.

question mark

Hvilket af følgende beskriver bedst, hvad stopord er, og hvorfor de ofte fjernes?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookStopord

Stryg for at vise menuen

Forståelse af stopord

Note
Definition

Stopord er almindelige ord, der normalt ikke bidrager til meningen af en sætning, i det mindste for de fleste analyser og algoritmer. Disse inkluderer ord som "the", "is", "in" og "on".

Stopord filtreres typisk fra efter tokenisering til NLP-opgaver såsom sentimentanalyse, emnemodellering eller nøgleordsekstraktion. Formålet med at fjerne stopord er at mindske datasættets størrelse, hvilket forbedrer den beregningsmæssige effektivitet, og at øge relevansen af analysen ved at fokusere på de ord, der bærer væsentlig betydning.

Fjernelse af stopord med NLTK

For at gøre processen lettere tilbyder nltk en omfattende liste over stopord på flere sprog, som nemt kan tilgås og bruges til at filtrere stopord fra tekstdata.

Her vises, hvordan du kan hente listen over engelske stopord i NLTK og konvertere den til et 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
Bemærk

Konvertering af denne liste til et set øger effektiviteten ved opslag, da medlemskabskontrol i et set er hurtigere end i en liste.

Med dette in mente, lad os se på et komplet eksempel på, hvordan man filtrerer stopord fra en given 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 det fremgår, bør man først downloade stopordene og udføre tokenisering. Næste trin er at anvende en list comprehension til at oprette en liste, der kun indeholder tokens, som ikke er stopord. word.lower() i if-klausulen er afgørende for at konvertere hvert ord (token) til små bogstaver, da nltk kun indeholder stopord i små bogstaver.

Note
Bemærk

Alternativt kunne vi bruge et almindeligt for-loop i stedet for en list comprehension, men brugen af list comprehension her er mere effektiv og kortfattet.

question mark

Hvilket af følgende beskriver bedst, hvad stopord er, og hvorfor de ofte fjernes?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 7
some-alt