Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Stop-sanat | Osio
Practice
Projects
Quizzes & Challenges
Visat
Challenges
/
Luonnollisen Kielen Käsittely

bookStop-sanat

Pyyhkäise näyttääksesi valikon

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

Helpottamaan työskentelyä nltk tarjoaa kattavan stop-sanojen listan useilla kielillä, joka on helposti saatavilla ja käytettävissä tekstiaineiston suodattamiseen.

Näin saat englanninkielisten stop-sanojen listan NLTK:sta ja muunnettua 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
Huomautus

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

Tämän huomioiden 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 stop-sanat ja suorittaa tokenisointi. Seuraava vaihe on käyttää list comprehension -rakennetta luodaksesi listan, joka sisältää vain ne tokenit, jotka eivät ole stop-sanoja. word.lower() if-ehdossa on olennainen, jotta jokainen sana (tokeni) muunnetaan pieniksi kirjaimiksi, sillä nltk sisältää stop-sanat ainoastaan pienillä kirjaimilla.

Note
Huomio

Vaihtoehtoisesti voidaan käyttää tavallista for-silmukkaa list comprehension -rakenteen sijaan, mutta list comprehension on tässä tapauksessa 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

Osio 1. Luku 7
some-alt