Kursinhalt
Einführung in NLP
Einführung in NLP
Lemmatisierung
Lemmatisierung vs. Stemming
Zuerst definieren wir, was Lemmatisierung ist und wie sie sich vom Stemming unterscheidet.
Im Gegensatz zum Stemming, das grob Wortendungen abschneidet, berücksichtigt die Lemmatisierung den Kontext und wandelt das Wort in seine bedeutungsvolle Basisform um. Zum Beispiel werden 'am', 'are' und 'is' alle in 'be' lemmatisiert. Dieser Ansatz kann die Größe des Vokabulars (die Anzahl der einzigartigen Wörter) in großen Textkorpora erheblich reduzieren und dadurch die Effizienz beim Trainieren von Modellen erhöhen.
Andererseits 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 Wortartentagging durchzuführen.
Lemmatisierung mit NLTK
Der WordNet-Lemmatizer, bereitgestellt von der NLTK-Bibliothek, nutzt das WordNet-Korpus, um Lemmatisierung durchzuführen.
Wenn Sie den WordNet-Lemmatizer verwenden, sucht er das Zielwort in der WordNet-Datenbank, um das am besten geeignete Lemma (Grundform) des Wortes zu finden.
Wie oben erwähnt, da Wörter in verschiedenen Kontexten unterschiedliche Bedeutungen haben können (z.B. "running" als Verb vs. "running" als Substantiv), kann es erforderlich sein, dass Sie den Wortart (z.B. Verb, Substantiv, Adjektiv) angeben. Dies hilft ihm, das richtige Lemma basierend auf der Rolle des Wortes in einem Satz auszuwählen.
Schauen wir uns nun ein Beispiel an:
from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() words = ["running", "bested"] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize(word, 'v') for word in words] # 'v' for verb print("Lemmatized words:", lemmatized_words)
Wie Sie sehen können, ist der Ansatz aus der Perspektive des Codierens ziemlich einfach. Um Wörter jedoch genau über ein gesamtes Korpus zu lemmatisieren, wäre es am besten, zuerst eine Part-of-Speech (POS) Tagging durchzuführen, die wir im folgenden Kapitel behandeln werden.
Swipe to start coding
Ihre Aufgabe ist es, die Tokens zu lemmatisieren, gegeben den text
String. Die Tokenisierung ist bereits angewendet und Stoppwörter sind herausgefiltert.
-
Importieren Sie den WordNet-Lemmatizer.
-
Laden Sie das WordNet-Korpus herunter.
-
Initialisieren Sie den WordNet-Lemmatizer.
-
Lemmatisieren Sie die Tokens mit List Comprehension.
Lösung
Danke für Ihr Feedback!
Lemmatisierung
Lemmatisierung vs. Stemming
Zuerst definieren wir, was Lemmatisierung ist und wie sie sich vom Stemming unterscheidet.
Im Gegensatz zum Stemming, das grob Wortendungen abschneidet, berücksichtigt die Lemmatisierung den Kontext und wandelt das Wort in seine bedeutungsvolle Basisform um. Zum Beispiel werden 'am', 'are' und 'is' alle in 'be' lemmatisiert. Dieser Ansatz kann die Größe des Vokabulars (die Anzahl der einzigartigen Wörter) in großen Textkorpora erheblich reduzieren und dadurch die Effizienz beim Trainieren von Modellen erhöhen.
Andererseits 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 Wortartentagging durchzuführen.
Lemmatisierung mit NLTK
Der WordNet-Lemmatizer, bereitgestellt von der NLTK-Bibliothek, nutzt das WordNet-Korpus, um Lemmatisierung durchzuführen.
Wenn Sie den WordNet-Lemmatizer verwenden, sucht er das Zielwort in der WordNet-Datenbank, um das am besten geeignete Lemma (Grundform) des Wortes zu finden.
Wie oben erwähnt, da Wörter in verschiedenen Kontexten unterschiedliche Bedeutungen haben können (z.B. "running" als Verb vs. "running" als Substantiv), kann es erforderlich sein, dass Sie den Wortart (z.B. Verb, Substantiv, Adjektiv) angeben. Dies hilft ihm, das richtige Lemma basierend auf der Rolle des Wortes in einem Satz auszuwählen.
Schauen wir uns nun ein Beispiel an:
from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() words = ["running", "bested"] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize(word, 'v') for word in words] # 'v' for verb print("Lemmatized words:", lemmatized_words)
Wie Sie sehen können, ist der Ansatz aus der Perspektive des Codierens ziemlich einfach. Um Wörter jedoch genau über ein gesamtes Korpus zu lemmatisieren, wäre es am besten, zuerst eine Part-of-Speech (POS) Tagging durchzuführen, die wir im folgenden Kapitel behandeln werden.
Swipe to start coding
Ihre Aufgabe ist es, die Tokens zu lemmatisieren, gegeben den text
String. Die Tokenisierung ist bereits angewendet und Stoppwörter sind herausgefiltert.
-
Importieren Sie den WordNet-Lemmatizer.
-
Laden Sie das WordNet-Korpus herunter.
-
Initialisieren Sie den WordNet-Lemmatizer.
-
Lemmatisieren Sie die Tokens mit List Comprehension.
Lösung
Danke für Ihr Feedback!