Lemmatisierung
Verständnis der Lemmatisierung
Lemmatisierung ist eine Textnormalisierungstechnik, die in der NLP verwendet wird, um Wörter auf ihre Wörterbuchform, das sogenannte Lemma, zu reduzieren.
Im Gegensatz zum Stemming, das grob Affixe abschneidet, berücksichtigt die Lemmatisierung den Kontext und wandelt das Wort in seine Wörterbuchform um. Zum Beispiel 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.
Auf der anderen Seite 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 einen leistungsstarken Rahmen zur Erforschung und Disambiguierung von Wortbedeutungen.
Bei der Verwendung des WordNet-Lemmatizers wird das Zielwort in der WordNet-Datenbank nachgeschlagen, um das passendste Lemma des Wortes zu finden.
Wie oben erwähnt, können Wörter in unterschiedlichen Kontexten verschiedene 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 unterstützt die Auswahl des korrekten Lemmas entsprechend der Rolle des Wortes im Satz.
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)
Es ist möglich, die Angabe der Wortart wegzulassen, indem lemmatizer.lemmatize("running") aufgerufen wird. Wie jedoch ersichtlich ist, führen verschiedene Wortarten zu unterschiedlichen Ergebnissen. 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
Lemmatisierung
Swipe um das Menü anzuzeigen
Verständnis der Lemmatisierung
Lemmatisierung ist eine Textnormalisierungstechnik, die in der NLP verwendet wird, um Wörter auf ihre Wörterbuchform, das sogenannte Lemma, zu reduzieren.
Im Gegensatz zum Stemming, das grob Affixe abschneidet, berücksichtigt die Lemmatisierung den Kontext und wandelt das Wort in seine Wörterbuchform um. Zum Beispiel 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.
Auf der anderen Seite 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 einen leistungsstarken Rahmen zur Erforschung und Disambiguierung von Wortbedeutungen.
Bei der Verwendung des WordNet-Lemmatizers wird das Zielwort in der WordNet-Datenbank nachgeschlagen, um das passendste Lemma des Wortes zu finden.
Wie oben erwähnt, können Wörter in unterschiedlichen Kontexten verschiedene 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 unterstützt die Auswahl des korrekten Lemmas entsprechend der Rolle des Wortes im Satz.
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)
Es ist möglich, die Angabe der Wortart wegzulassen, indem lemmatizer.lemmatize("running") aufgerufen wird. Wie jedoch ersichtlich ist, führen verschiedene Wortarten zu unterschiedlichen Ergebnissen. Daher empfiehlt es sich, im Vorfeld ein Part-of-Speech-Tagging durchzuführen.
Danke für Ihr Feedback!