Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Stammen | Stemming en Lemmatizatie
Introductie tot NLP

bookStammen

Inzicht in Stemming

Note
Definitie

Stemming is een tekstnormalisatietechniek die in NLP wordt gebruikt om verbogen woorden terug te brengen tot hun stam.

Meer specifiek houdt stemming in dat affixen (meestal alleen suffixen) van woorden worden verwijderd om hun stamvorm, de stam, te verkrijgen. Bijvoorbeeld, de stammen van "running", "runs" en "run" zijn allemaal "run."

Het doel van stemming is om de analyse te vereenvoudigen door vergelijkbare woorden als dezelfde entiteit te behandelen, wat uiteindelijk de efficiëntie bij verschillende NLP-taken verbetert.

Stemming met NLTK

NLTK biedt verschillende stemming-algoritmen, waarvan de meest populaire de Porter Stemmer en de Lancaster Stemmer zijn. Deze algoritmen passen specifieke regels toe om affixen te verwijderen en de stam van een woord af te leiden.

Alle stemmer-klassen in NLTK delen een gemeenschappelijke interface. Eerst moet een instantie van de stemmerklasse worden aangemaakt en vervolgens wordt de stem()-methode gebruikt voor elk van de tokens.

1234567891011121314151617181920212223242526272829
import nltk from nltk.stem import PorterStemmer, LancasterStemmer from nltk.tokenize import word_tokenize from nltk.corpus import stopwords nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) # Create a Porter Stemmer instance porter_stemmer = PorterStemmer() # Create a Lancaster Stemmer instance lancaster_stemmer = LancasterStemmer() text = "Stemming is an essential technique for natural language processing." text = text.lower() tokens = word_tokenize(text) # Filter out the stop words tokens = [token for token in tokens if token.lower() not in stop_words] # Apply stemming to each token porter_stemmed_tokens = [porter_stemmer.stem(token) for token in tokens] lancaster_stemmed_tokens = [lancaster_stemmer.stem(token) for token in tokens] # Display the results print("Original Tokens:", tokens) print("Stemmed Tokens (Porter Stemmer):", porter_stemmed_tokens) print("Stemmed Tokens (Lancaster Stemmer):", lancaster_stemmed_tokens)
copy

Eerst hebben we tokenisatie toegepast, vervolgens de stopwoorden gefilterd en ten slotte stemming toegepast op onze tokens met behulp van list comprehension. Wat betreft de resultaten, leverden deze twee stemmers behoorlijk verschillende uitkomsten op. Dit komt doordat de Lancaster Stemmer ongeveer twee keer zoveel regels heeft als de Porter Stemmer en een van de meest "agressieve" stemmers is.

Note
Opmerking

Over het algemeen is de Porter Stemmer de meest populaire optie en levert meer betekenisvolle resultaten op dan de Lancaster Stemmer, die de neiging heeft om woorden te veel te reduceren.

question mark

Welke van de volgende uitspraken over de Porter en Lancaster stemmers zijn waar?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 1

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

What are the main differences between the Porter and Lancaster stemmers?

Can you explain what stop words are and why we remove them?

How does stemming improve NLP tasks?

Awesome!

Completion rate improved to 3.45

bookStammen

Veeg om het menu te tonen

Inzicht in Stemming

Note
Definitie

Stemming is een tekstnormalisatietechniek die in NLP wordt gebruikt om verbogen woorden terug te brengen tot hun stam.

Meer specifiek houdt stemming in dat affixen (meestal alleen suffixen) van woorden worden verwijderd om hun stamvorm, de stam, te verkrijgen. Bijvoorbeeld, de stammen van "running", "runs" en "run" zijn allemaal "run."

Het doel van stemming is om de analyse te vereenvoudigen door vergelijkbare woorden als dezelfde entiteit te behandelen, wat uiteindelijk de efficiëntie bij verschillende NLP-taken verbetert.

Stemming met NLTK

NLTK biedt verschillende stemming-algoritmen, waarvan de meest populaire de Porter Stemmer en de Lancaster Stemmer zijn. Deze algoritmen passen specifieke regels toe om affixen te verwijderen en de stam van een woord af te leiden.

Alle stemmer-klassen in NLTK delen een gemeenschappelijke interface. Eerst moet een instantie van de stemmerklasse worden aangemaakt en vervolgens wordt de stem()-methode gebruikt voor elk van de tokens.

1234567891011121314151617181920212223242526272829
import nltk from nltk.stem import PorterStemmer, LancasterStemmer from nltk.tokenize import word_tokenize from nltk.corpus import stopwords nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) # Create a Porter Stemmer instance porter_stemmer = PorterStemmer() # Create a Lancaster Stemmer instance lancaster_stemmer = LancasterStemmer() text = "Stemming is an essential technique for natural language processing." text = text.lower() tokens = word_tokenize(text) # Filter out the stop words tokens = [token for token in tokens if token.lower() not in stop_words] # Apply stemming to each token porter_stemmed_tokens = [porter_stemmer.stem(token) for token in tokens] lancaster_stemmed_tokens = [lancaster_stemmer.stem(token) for token in tokens] # Display the results print("Original Tokens:", tokens) print("Stemmed Tokens (Porter Stemmer):", porter_stemmed_tokens) print("Stemmed Tokens (Lancaster Stemmer):", lancaster_stemmed_tokens)
copy

Eerst hebben we tokenisatie toegepast, vervolgens de stopwoorden gefilterd en ten slotte stemming toegepast op onze tokens met behulp van list comprehension. Wat betreft de resultaten, leverden deze twee stemmers behoorlijk verschillende uitkomsten op. Dit komt doordat de Lancaster Stemmer ongeveer twee keer zoveel regels heeft als de Porter Stemmer en een van de meest "agressieve" stemmers is.

Note
Opmerking

Over het algemeen is de Porter Stemmer de meest populaire optie en levert meer betekenisvolle resultaten op dan de Lancaster Stemmer, die de neiging heeft om woorden te veel te reduceren.

question mark

Welke van de volgende uitspraken over de Porter en Lancaster stemmers zijn waar?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 1
some-alt