Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Stop-Sanat | Tekstin Esikäsittelyn Perusteet
Johdatus NLP:hen

bookStop-Sanat

Stop-sanojen ymmärtäminen

Note
Määritelmä

Stop-sanat ovat yleisiä sanoja, jotka eivät yleensä vaikuta lauseen merkitykseen, ainakaan useimpien analyysien ja algoritmien näkökulmasta. Näihin kuuluvat sanat kuten "the", "is", "in" ja "on".

Stop-sanat suodatetaan tyypillisesti pois tokenisoinnin jälkeen NLP-tehtävissä, kuten sentimenttianalyysissä, aiheiden mallinnuksessa tai avainsanojen poiminnassa. Stop-sanojen poistamisen tarkoituksena on pienentää aineiston kokoa, mikä parantaa laskennallista tehokkuutta, sekä lisätä analyysin osuvuutta keskittymällä sanoihin, joilla on merkittävä sisältö.

Stop-sanojen poistaminen NLTK:lla

Jotta prosessi olisi helpompaa, nltk tarjoaa kattavan stop-sanojen listan useilla kielillä, joka on helposti saatavilla ja käytettävissä tekstiaineiston stop-sanojen suodattamiseen.

Näin saat englanninkielisten stop-sanojen listan NLTK:sta ja muunnet sen set-muotoon:

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
Huomio

Tämän listan muuntaminen set-muotoon parantaa hakujen tehokkuutta, sillä jäsenyyden tarkistaminen setissä on nopeampaa kuin listassa.

Tämän perusteella tarkastellaan täydellistä esimerkkiä siitä, miten pysäytyssanat suodatetaan annetusta tekstistä:

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

Kuten huomaat, ensin tulee ladata pysäytyssanat ja suorittaa tokenisointi. Seuraava vaihe on käyttää list comprehension -rakennetta luodakseen listan, joka sisältää vain ne tokenit, jotka eivät ole pysäytyssanoja. word.lower() if-ehtolauseessa on olennainen, jotta jokainen sana (tokeni) muunnetaan pieniksi kirjaimiksi, koska nltk sisältää pysäytyssanat ainoastaan pienillä kirjaimilla.

Note
Huomio

Vaihtoehtoisesti voisimme käyttää tavallista for-silmukkaa list comprehensionin sijaan, mutta list comprehension on tässä tehokkaampi ja tiiviimpi ratkaisu.

question mark

Mikä seuraavista kuvaa parhaiten, mitä stop-sanat ovat ja miksi ne usein poistetaan?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

bookStop-Sanat

Pyyhkäise näyttääksesi valikon

Stop-sanojen ymmärtäminen

Note
Määritelmä

Stop-sanat ovat yleisiä sanoja, jotka eivät yleensä vaikuta lauseen merkitykseen, ainakaan useimpien analyysien ja algoritmien näkökulmasta. Näihin kuuluvat sanat kuten "the", "is", "in" ja "on".

Stop-sanat suodatetaan tyypillisesti pois tokenisoinnin jälkeen NLP-tehtävissä, kuten sentimenttianalyysissä, aiheiden mallinnuksessa tai avainsanojen poiminnassa. Stop-sanojen poistamisen tarkoituksena on pienentää aineiston kokoa, mikä parantaa laskennallista tehokkuutta, sekä lisätä analyysin osuvuutta keskittymällä sanoihin, joilla on merkittävä sisältö.

Stop-sanojen poistaminen NLTK:lla

Jotta prosessi olisi helpompaa, nltk tarjoaa kattavan stop-sanojen listan useilla kielillä, joka on helposti saatavilla ja käytettävissä tekstiaineiston stop-sanojen suodattamiseen.

Näin saat englanninkielisten stop-sanojen listan NLTK:sta ja muunnet sen set-muotoon:

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
Huomio

Tämän listan muuntaminen set-muotoon parantaa hakujen tehokkuutta, sillä jäsenyyden tarkistaminen setissä on nopeampaa kuin listassa.

Tämän perusteella tarkastellaan täydellistä esimerkkiä siitä, miten pysäytyssanat suodatetaan annetusta tekstistä:

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

Kuten huomaat, ensin tulee ladata pysäytyssanat ja suorittaa tokenisointi. Seuraava vaihe on käyttää list comprehension -rakennetta luodakseen listan, joka sisältää vain ne tokenit, jotka eivät ole pysäytyssanoja. word.lower() if-ehtolauseessa on olennainen, jotta jokainen sana (tokeni) muunnetaan pieniksi kirjaimiksi, koska nltk sisältää pysäytyssanat ainoastaan pienillä kirjaimilla.

Note
Huomio

Vaihtoehtoisesti voisimme käyttää tavallista for-silmukkaa list comprehensionin sijaan, mutta list comprehension on tässä tehokkaampi ja tiiviimpi ratkaisu.

question mark

Mikä seuraavista kuvaa parhaiten, mitä stop-sanat ovat ja miksi ne usein poistetaan?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7
some-alt