Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Lemmatiseing | Stamme- og Lemmatisering
Introduktion til NLP med Python

Lemmatiseing

Stryg for at vise menuen

Forståelse af lemmatisering

Note
Definition

Lemmatisering er en teknik til tekstnormalisering, der anvendes i NLP for at reducere ord til deres ordbogsform, kendt som et lemma.

I modsætning til stemming, som groft fjerner affikser, tager lemmatisering hensyn til konteksten og omdanner ordet til dets ordbogsform. For eksempel bliver 'am', 'are' og 'is' alle lemmatiseret til 'be'. Denne tilgang kan markant reducere størrelsen på ordforrådet (antallet af unikke ord) i store tekstkorpora og dermed øge effektiviteten ved modellering.

På den anden side er lemmatisering mere præcis, men også mere computationalt krævende og kan være tidskrævende ved store datasæt. For endnu bedre nøjagtighed anbefales det desuden at udføre morfologisk analyse og ordklassemærkning før lemmatisering.

Note
Bemærk

Du behøver ikke bekymre dig om ordklasse-tagging lige nu, da dette er det næste, du vil lære om.

Lemmatisering med NLTK

WordNet Lemmatizer, som leveres af NLTK-biblioteket, udnytter WordNet-korpusset til at udføre lemmatisering.

Note
Læs mere

WordNet er en semantisk rig leksikalsk database for engelsk, der går langt ud over et simpelt korpus. Den grupperer ord i synonymgrupper, eller synsets, som hver repræsenterer et unikt begreb og ledsages af definitioner og eksempler på brug. Derudover koder WordNet meningsfulde relationer mellem disse synsets — såsom hyperonymer (bredere, mere generelle termer) og hyponymer (snævrere, mere specifikke termer) — hvilket giver en stærk ramme for at udforske og afklare ords betydning.

Når du bruger WordNet Lemmatizer, slår den det ønskede ord op i WordNet-databasen for at finde den mest passende lemma for ordet.

Som nævnt ovenfor kan ord have forskellige betydninger i forskellige sammenhænge (f.eks. "running" som verbum vs. "running" som substantiv), og derfor kan lemmatizeren kræve, at du angiver ordklassen (f.eks. verbum, substantiv, adjektiv). Dette hjælper den med at vælge den korrekte lemma baseret på ordets rolle i en sætning.

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)
Kodebeskrivelse
expand arrow
from nltk.stem import WordNetLemmatizer

Denne linje importerer WordNetLemmatizer-klassen.

nltk.download('wordnet')

Denne linje downloader WordNet-korpusset og sikrer dermed, at alle funktionaliteter relateret til WordNet, såsom lemmatisering, kan bruges.

lemmatizer = WordNetLemmatizer()

Denne linje opretter en instans af WordNetLemmatizer-klassen, som bruges til at udføre lemmatisering.

parts_of_speech = ['v', 'n']

Denne linje opretter en liste over ordklasser, der skal bruges i lemmatiseringen.

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

Denne linje opretter en liste over lemmatiserede ord ved hjælp af list comprehension. Processen med lemmatisering udføres via lemmatize()-metoden på lemmatizer-objektet. Strengen, der repræsenterer et ord, skal være det første argument, og den ønskede ordklasse som det andet valgfri argument ('v' for verbum, 'a' for adjektiv, 'n' for substantiv osv.).

Du kan undlade at angive ordklassen ved at kalde lemmatizer.lemmatize("running"), men som du kan se, giver forskellige ordklasser forskellige resultater. Derfor er det bedst at udføre ordklasse-tagging på forhånd.

question mark

Hvad er den primære fordel ved at bruge lemmatisering sammenlignet med stemming?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 3
some-alt