Stoppord
Sveip for å vise menyen
Stoppord er vanlige ord som vanligvis ikke bidrar til meningen i en setning, i hvert fall for de fleste analyser og algoritmer. Dette inkluderer ord som "the", "is", "in" og "on".
Stoppord blir vanligvis filtrert ut etter tokenisering for NLP-oppgaver, som sentimentanalyse, emnemodellering eller nøkkelorduttrekking. Begrunnelsen for å fjerne stoppord er å redusere datasettets størrelse, og dermed forbedre beregningseffektiviteten, samt å øke relevansen av analysen ved å fokusere på ordene som har betydningsfullt innhold.
Fjerning av stoppord med NLTK
For å gjøre dette enklere, tilbyr nltk en omfattende liste over stoppord på flere språk, som enkelt kan brukes til å filtrere stoppord fra tekstdata.
Slik får du listen over English stoppord i NLTK og konverterer den til set:
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)
Å konvertere denne listen til et sett forbedrer effektiviteten ved oppslag, siden medlemskapssjekk i et sett er raskere enn i en liste.
Med dette i tankene, la oss se på et komplett eksempel på hvordan man kan filtrere bort stoppord fra en gitt tekst:
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)
Som du kan se, bør vi først laste ned stoppordene og utføre tokenisering. Neste steg er å bruke en list comprehension for å lage en liste som kun inneholder tokens som ikke er stoppord. word.lower() i if-setningen er avgjørende for å konvertere hvert ord (token) til små bokstaver, siden nltk kun inneholder stoppord i små bokstaver.
Alternativt kan vi bruke en vanlig for-løkke i stedet for en list comprehension, men bruk av list comprehension her er mer effektivt og konsist.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår