Stop-Sanat
Stop-sanojen ymmärtäminen
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:
1234567import 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)
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ä:
1234567891011121314import 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)
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.
Vaihtoehtoisesti voisimme käyttää tavallista for-silmukkaa list comprehensionin sijaan, mutta list comprehension on tässä tehokkaampi ja tiiviimpi ratkaisu.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Stop-Sanat
Pyyhkäise näyttääksesi valikon
Stop-sanojen ymmärtäminen
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:
1234567import 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)
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ä:
1234567891011121314import 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)
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.
Vaihtoehtoisesti voisimme käyttää tavallista for-silmukkaa list comprehensionin sijaan, mutta list comprehension on tässä tehokkaampi ja tiiviimpi ratkaisu.
Kiitos palautteestasi!