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ä, joita voidaan helposti käyttää tekstidatan stop-sanojen suodattamiseen.
Näin saat englanninkielisten stop-sanojen listan NLTK:sta ja muunnet sen joukoksi:
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 joukoksi parantaa hakujen tehokkuutta, sillä jäsenyyden tarkistaminen joukossa on nopeampaa kuin listassa.
Tämän huomioiden tarkastellaan täydellistä esimerkkiä siitä, kuinka poistaa stop-sanat 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 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.
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
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ä, joita voidaan helposti käyttää tekstidatan stop-sanojen suodattamiseen.
Näin saat englanninkielisten stop-sanojen listan NLTK:sta ja muunnet sen joukoksi:
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 joukoksi parantaa hakujen tehokkuutta, sillä jäsenyyden tarkistaminen joukossa on nopeampaa kuin listassa.
Tämän huomioiden tarkastellaan täydellistä esimerkkiä siitä, kuinka poistaa stop-sanat 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 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.
Vaihtoehtoisesti voisimme käyttää tavallista for-silmukkaa list comprehensionin sijaan, mutta list comprehension on tässä tehokkaampi ja tiiviimpi ratkaisu.
Kiitos palautteestasi!