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

Lemmatisatie

Veeg om het menu te tonen

Inzicht in lemmatizatie

Note
Definitie

Lemmatizatie is een tekstnormalisatietechniek die in NLP wordt gebruikt om woorden terug te brengen naar hun woordenboekvorm, bekend als een lemma.

In tegenstelling tot stemming, waarbij simpelweg affixen worden verwijderd, houdt lemmatizatie rekening met de context en zet het woord om naar de woordenboekvorm. Bijvoorbeeld, 'am', 'are' en 'is' worden allemaal omgezet naar 'be'. Deze aanpak kan de omvang van de woordenschat (het aantal unieke woorden) in grote tekstcorpora aanzienlijk verkleinen, waardoor de efficiëntie bij het trainen van modellen toeneemt.

Aan de andere kant is lemmatizatie nauwkeuriger, maar ook computationeel intensiever en kan het tijdrovend zijn bij grote datasets. Voor nog betere nauwkeurigheid wordt bovendien aanbevolen om morfologische analyse en part-of-speech tagging uit te voeren vóór lemmatizatie.

Note
Opmerking

Maak je voorlopig geen zorgen over part-of-speech tagging, want dit is het volgende onderwerp dat aan bod komt.

Lemmatisatie met NLTK

De WordNet Lemmatizer, aangeboden door de NLTK-bibliotheek, maakt gebruik van het WordNet-corpus om lemmatisatie uit te voeren.

Note
Meer leren

WordNet is een semantisch rijke lexicale database voor het Engels die veel verder gaat dan een eenvoudig corpus. Het groepeert woorden in synoniemensets, of synsets, die elk een afzonderlijk concept weergeven en voorzien zijn van definities en gebruiksvoorbeelden. Daarnaast legt WordNet betekenisvolle relaties vast tussen deze synsets — zoals hyperoniemen (algemenere termen) en hyponiemen (specifiekere termen) — en biedt zo een krachtig kader voor het verkennen en disambigueren van woordbetekenissen.

Wanneer je de WordNet Lemmatizer gebruikt, zoekt deze het doelwoord op in de WordNet database om de meest geschikte lemma van het woord te vinden.

Zoals hierboven vermeld, kunnen woorden verschillende betekenissen hebben afhankelijk van de context (bijvoorbeeld "running" als werkwoord versus "running" als zelfstandig naamwoord). De lemmatizer kan daarom vereisen dat je de woordsoort specificeert (bijvoorbeeld werkwoord, zelfstandig naamwoord, bijvoeglijk naamwoord). Dit helpt om het juiste lemma te selecteren op basis van de rol van het woord in een zin.

1234567891011
from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() # Parts of speech, 'v' for verb and 'n' for noun parts_of_speech = ['v', 'n'] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech] print("Lemmatized words:", lemmatized_words)
Codebeschrijving
expand arrow
from nltk.stem import WordNetLemmatizer

Deze regel importeert de WordNetLemmatizer-klasse.

nltk.download('wordnet')

Deze regel downloadt het WordNet-corpus en zorgt er zo voor dat alle functionaliteiten met betrekking tot WordNet, zoals lemmatisatie, gebruikt kunnen worden.

lemmatizer = WordNetLemmatizer()

Deze regel maakt een instantie van de WordNetLemmatizer-klasse aan die wordt gebruikt om lemmatisatie uit te voeren.

parts_of_speech = ['v', 'n']

Deze regel maakt een lijst van woordsoorten die gebruikt zullen worden bij lemmatisatie.

lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech]

Deze regel maakt een lijst van lemmatisaties van woorden met behulp van list comprehension. Het proces van lemmatisatie wordt uitgevoerd via de lemmatize()-methode van het lemmatizer-object. De string die een woord voorstelt moet het eerste argument zijn en de gewenste woordsoort als het tweede optionele argument ('v' voor werkwoord, 'a' voor bijvoeglijk naamwoord, 'n' voor zelfstandig naamwoord, enz.).

Je kunt het specificeren van het woordsoort achterwege laten door lemmatizer.lemmatize("running") aan te roepen, maar zoals je ziet leveren verschillende woordsoorten verschillende resultaten op. Daarom is het aan te raden om vooraf woordsoort-tagging toe te passen.

question mark

Wat is het belangrijkste voordeel van lemmatisatie ten opzichte van stemming?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

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

Lemmatisatie

Inzicht in lemmatizatie

Note
Definitie

Lemmatizatie is een tekstnormalisatietechniek die in NLP wordt gebruikt om woorden terug te brengen naar hun woordenboekvorm, bekend als een lemma.

In tegenstelling tot stemming, waarbij simpelweg affixen worden verwijderd, houdt lemmatizatie rekening met de context en zet het woord om naar de woordenboekvorm. Bijvoorbeeld, 'am', 'are' en 'is' worden allemaal omgezet naar 'be'. Deze aanpak kan de omvang van de woordenschat (het aantal unieke woorden) in grote tekstcorpora aanzienlijk verkleinen, waardoor de efficiëntie bij het trainen van modellen toeneemt.

Aan de andere kant is lemmatizatie nauwkeuriger, maar ook computationeel intensiever en kan het tijdrovend zijn bij grote datasets. Voor nog betere nauwkeurigheid wordt bovendien aanbevolen om morfologische analyse en part-of-speech tagging uit te voeren vóór lemmatizatie.

Note
Opmerking

Maak je voorlopig geen zorgen over part-of-speech tagging, want dit is het volgende onderwerp dat aan bod komt.

Lemmatisatie met NLTK

De WordNet Lemmatizer, aangeboden door de NLTK-bibliotheek, maakt gebruik van het WordNet-corpus om lemmatisatie uit te voeren.

Note
Meer leren

WordNet is een semantisch rijke lexicale database voor het Engels die veel verder gaat dan een eenvoudig corpus. Het groepeert woorden in synoniemensets, of synsets, die elk een afzonderlijk concept weergeven en voorzien zijn van definities en gebruiksvoorbeelden. Daarnaast legt WordNet betekenisvolle relaties vast tussen deze synsets — zoals hyperoniemen (algemenere termen) en hyponiemen (specifiekere termen) — en biedt zo een krachtig kader voor het verkennen en disambigueren van woordbetekenissen.

Wanneer je de WordNet Lemmatizer gebruikt, zoekt deze het doelwoord op in de WordNet database om de meest geschikte lemma van het woord te vinden.

Zoals hierboven vermeld, kunnen woorden verschillende betekenissen hebben afhankelijk van de context (bijvoorbeeld "running" als werkwoord versus "running" als zelfstandig naamwoord). De lemmatizer kan daarom vereisen dat je de woordsoort specificeert (bijvoorbeeld werkwoord, zelfstandig naamwoord, bijvoeglijk naamwoord). Dit helpt om het juiste lemma te selecteren op basis van de rol van het woord in een zin.

1234567891011
from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() # Parts of speech, 'v' for verb and 'n' for noun parts_of_speech = ['v', 'n'] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech] print("Lemmatized words:", lemmatized_words)
Codebeschrijving
expand arrow
from nltk.stem import WordNetLemmatizer

Deze regel importeert de WordNetLemmatizer-klasse.

nltk.download('wordnet')

Deze regel downloadt het WordNet-corpus en zorgt er zo voor dat alle functionaliteiten met betrekking tot WordNet, zoals lemmatisatie, gebruikt kunnen worden.

lemmatizer = WordNetLemmatizer()

Deze regel maakt een instantie van de WordNetLemmatizer-klasse aan die wordt gebruikt om lemmatisatie uit te voeren.

parts_of_speech = ['v', 'n']

Deze regel maakt een lijst van woordsoorten die gebruikt zullen worden bij lemmatisatie.

lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech]

Deze regel maakt een lijst van lemmatisaties van woorden met behulp van list comprehension. Het proces van lemmatisatie wordt uitgevoerd via de lemmatize()-methode van het lemmatizer-object. De string die een woord voorstelt moet het eerste argument zijn en de gewenste woordsoort als het tweede optionele argument ('v' voor werkwoord, 'a' voor bijvoeglijk naamwoord, 'n' voor zelfstandig naamwoord, enz.).

Je kunt het specificeren van het woordsoort achterwege laten door lemmatizer.lemmatize("running") aan te roepen, maar zoals je ziet leveren verschillende woordsoorten verschillende resultaten op. Daarom is het aan te raden om vooraf woordsoort-tagging toe te passen.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 3
some-alt