Lemmatizierung
Verständnis der Lemmatisierung
Lemmatisierung ist eine Textnormalisierungstechnik im NLP, die Wörter auf ihre Wörterbuchform, das sogenannte Lemma, reduziert.
Im Gegensatz zum Stemming, das grob Affixe abschneidet, berücksichtigt die Lemmatisierung den Kontext und wandelt das Wort in seine Wörterbuchform um. Beispielsweise werden 'am', 'are' und 'is' alle zu 'be' lemmatisiert. Dieser Ansatz kann die Größe des Vokabulars (die Anzahl der einzigartigen Wörter) in großen Textkorpora erheblich reduzieren und so die Effizienz beim Trainieren von Modellen steigern.
Allerdings ist die Lemmatisierung zwar genauer, aber auch rechenintensiver und kann bei großen Datensätzen zeitaufwendig sein. Für noch bessere Genauigkeit wird empfohlen, vor der Lemmatisierung eine morphologische Analyse und Wortartenerkennung durchzuführen.
Machen Sie sich vorerst keine Gedanken über das Part-of-Speech-Tagging, da dies das nächste Thema ist, das Sie kennenlernen werden.
Lemmatisierung mit NLTK
Der WordNet-Lemmatizer, bereitgestellt von der NLTK-Bibliothek, nutzt das WordNet-Korpus zur Durchführung der Lemmatisierung.
WordNet ist eine semantisch umfangreiche lexikalische Datenbank für Englisch, die weit über ein einfaches Korpus hinausgeht. Sie gruppiert Wörter in Synonymgruppen, sogenannte Synsets, von denen jede ein eigenes Konzept abbildet und mit Definitionen sowie Anwendungsbeispielen versehen ist. Darüber hinaus kodiert WordNet bedeutungsvolle Beziehungen zwischen diesen Synsets – wie Hyperonyme (übergeordnete, allgemeinere Begriffe) und Hyponyme (untergeordnete, spezifischere Begriffe) – und bietet damit ein leistungsfähiges Framework zur Erforschung und Disambiguierung von Wortbedeutungen.
Wenn Sie den WordNet-Lemmatizer verwenden, sucht er das Zielwort in der WordNet-Datenbank, um das passendste Lemma des Wortes zu finden.
Wie oben erwähnt, können Wörter je nach Kontext unterschiedliche Bedeutungen haben (z. B. „running“ als Verb vs. „running“ als Substantiv). Daher kann es erforderlich sein, die Wortart anzugeben (z. B. Verb, Substantiv, Adjektiv). Dies hilft dem Lemmatizer, das korrekte Lemma basierend auf der Rolle des Wortes im Satz auszuwählen.
1234567891011from 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)
Sie könnten die Angabe der Wortart weglassen, indem Sie lemmatizer.lemmatize("running") aufrufen, aber wie Sie sehen, liefern verschiedene Wortarten unterschiedliche Ergebnisse. Daher empfiehlt es sich, im Vorfeld ein Part-of-Speech-Tagging durchzuführen.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain the difference between stemming and lemmatization in more detail?
How does specifying the part of speech affect the lemmatization result?
Why is lemmatization considered more computationally expensive than stemming?
Awesome!
Completion rate improved to 3.45
Lemmatizierung
Swipe um das Menü anzuzeigen
Verständnis der Lemmatisierung
Lemmatisierung ist eine Textnormalisierungstechnik im NLP, die Wörter auf ihre Wörterbuchform, das sogenannte Lemma, reduziert.
Im Gegensatz zum Stemming, das grob Affixe abschneidet, berücksichtigt die Lemmatisierung den Kontext und wandelt das Wort in seine Wörterbuchform um. Beispielsweise werden 'am', 'are' und 'is' alle zu 'be' lemmatisiert. Dieser Ansatz kann die Größe des Vokabulars (die Anzahl der einzigartigen Wörter) in großen Textkorpora erheblich reduzieren und so die Effizienz beim Trainieren von Modellen steigern.
Allerdings ist die Lemmatisierung zwar genauer, aber auch rechenintensiver und kann bei großen Datensätzen zeitaufwendig sein. Für noch bessere Genauigkeit wird empfohlen, vor der Lemmatisierung eine morphologische Analyse und Wortartenerkennung durchzuführen.
Machen Sie sich vorerst keine Gedanken über das Part-of-Speech-Tagging, da dies das nächste Thema ist, das Sie kennenlernen werden.
Lemmatisierung mit NLTK
Der WordNet-Lemmatizer, bereitgestellt von der NLTK-Bibliothek, nutzt das WordNet-Korpus zur Durchführung der Lemmatisierung.
WordNet ist eine semantisch umfangreiche lexikalische Datenbank für Englisch, die weit über ein einfaches Korpus hinausgeht. Sie gruppiert Wörter in Synonymgruppen, sogenannte Synsets, von denen jede ein eigenes Konzept abbildet und mit Definitionen sowie Anwendungsbeispielen versehen ist. Darüber hinaus kodiert WordNet bedeutungsvolle Beziehungen zwischen diesen Synsets – wie Hyperonyme (übergeordnete, allgemeinere Begriffe) und Hyponyme (untergeordnete, spezifischere Begriffe) – und bietet damit ein leistungsfähiges Framework zur Erforschung und Disambiguierung von Wortbedeutungen.
Wenn Sie den WordNet-Lemmatizer verwenden, sucht er das Zielwort in der WordNet-Datenbank, um das passendste Lemma des Wortes zu finden.
Wie oben erwähnt, können Wörter je nach Kontext unterschiedliche Bedeutungen haben (z. B. „running“ als Verb vs. „running“ als Substantiv). Daher kann es erforderlich sein, die Wortart anzugeben (z. B. Verb, Substantiv, Adjektiv). Dies hilft dem Lemmatizer, das korrekte Lemma basierend auf der Rolle des Wortes im Satz auszuwählen.
1234567891011from 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)
Sie könnten die Angabe der Wortart weglassen, indem Sie lemmatizer.lemmatize("running") aufrufen, aber wie Sie sehen, liefern verschiedene Wortarten unterschiedliche Ergebnisse. Daher empfiehlt es sich, im Vorfeld ein Part-of-Speech-Tagging durchzuführen.
Danke für Ihr Feedback!