Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Wortartenerkennung | Stemming und Lemmatisierung
Einführung in NLP
course content

Kursinhalt

Einführung in NLP

Einführung in NLP

1. Grundlagen der Textvorverarbeitung
2. Stemming und Lemmatisierung
3. Grundlegende Textmodelle
4. Wort-Einbettungen

book
Wortartenerkennung

Verständnis von POS-Tagging

Wir haben im vorherigen Kapitel erwähnt, dass das Part-of-Speech-Tagging vorteilhaft für die Lemmatisierung ist, was seine Hauptrolle in der Textvorverarbeitung darstellt. Lassen Sie uns diesen Prozess hier genauer besprechen.

Allerdings kann die Verwendung der vollständigen lexikalischen Begriffe ziemlich umständlich werden, insbesondere bei großen Korpora, daher werden stattdessen kurze Darstellungen, bekannt als Tags, verwendet. Zum Beispiel "VB" anstelle von Verb. In der Praxis verwenden jedoch verschiedene POS-Tagger möglicherweise etwas unterschiedliche Tags und detailliertere Tags wie "VBD" für Verben in der Vergangenheitsform.

POS mit NLTK

Um eine Part-of-Speech-Tagging mit NLTK durchzuführen, sollten Sie die Funktion pos_tag() direkt aus nltk importieren und sie auf die Liste von Strings (Tokens) anwenden, indem Sie sie als Argument übergeben.

Hier ist ein Beispiel:

123456789101112
from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) print(tagged_tokens)
copy

Wie Sie sehen können, gibt diese Funktion eine Liste von Tupeln zurück, die jeweils ein Token und dessen Tag enthalten. Die Zeile nltk.download('averaged_perceptron_tagger_eng') initiiert den Download des Datensatzes und der Modelle, die für den PerceptronTagger erforderlich sind, der der Standard-POS-Tagger von NLTK ist. Dies umfasst das trainierte Modell basierend auf dem durchschnittlichen Perzeptron-Algorithmus, das es den Benutzern ermöglicht, POS-Tagging auf Textdaten durchzuführen.

Für eine bessere visuelle Darstellung könnten wir das Ergebnis in ein pandas DataFrame umwandeln:

1234567891011121314
from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk import pandas as pd nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) # Convert to DataFrame print(pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']).T)
copy

Alternativ könnten wir pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) verwenden, ohne das DataFrame zu transponieren, sodass jede Zeile ein Token-Tag-Paar darstellt.

Aufgabe

Swipe to start coding

Ihre Aufgabe ist es, die Part-of-Speech-Tagging auf die Tokens des text-Strings durchzuführen und die resultierende Liste von Tupeln in ein DataFrame zu konvertieren.

  1. Importieren Sie die richtige Funktion für das POS-Tagging.
  2. Laden Sie das für das POS-Tagging von NLTK benötigte Modell herunter.
  3. Führen Sie das POS-Tagging durch.
  4. Konvertieren Sie das Ergebnis in ein DataFrame (nicht transponieren).

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
toggle bottom row

book
Wortartenerkennung

Verständnis von POS-Tagging

Wir haben im vorherigen Kapitel erwähnt, dass das Part-of-Speech-Tagging vorteilhaft für die Lemmatisierung ist, was seine Hauptrolle in der Textvorverarbeitung darstellt. Lassen Sie uns diesen Prozess hier genauer besprechen.

Allerdings kann die Verwendung der vollständigen lexikalischen Begriffe ziemlich umständlich werden, insbesondere bei großen Korpora, daher werden stattdessen kurze Darstellungen, bekannt als Tags, verwendet. Zum Beispiel "VB" anstelle von Verb. In der Praxis verwenden jedoch verschiedene POS-Tagger möglicherweise etwas unterschiedliche Tags und detailliertere Tags wie "VBD" für Verben in der Vergangenheitsform.

POS mit NLTK

Um eine Part-of-Speech-Tagging mit NLTK durchzuführen, sollten Sie die Funktion pos_tag() direkt aus nltk importieren und sie auf die Liste von Strings (Tokens) anwenden, indem Sie sie als Argument übergeben.

Hier ist ein Beispiel:

123456789101112
from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) print(tagged_tokens)
copy

Wie Sie sehen können, gibt diese Funktion eine Liste von Tupeln zurück, die jeweils ein Token und dessen Tag enthalten. Die Zeile nltk.download('averaged_perceptron_tagger_eng') initiiert den Download des Datensatzes und der Modelle, die für den PerceptronTagger erforderlich sind, der der Standard-POS-Tagger von NLTK ist. Dies umfasst das trainierte Modell basierend auf dem durchschnittlichen Perzeptron-Algorithmus, das es den Benutzern ermöglicht, POS-Tagging auf Textdaten durchzuführen.

Für eine bessere visuelle Darstellung könnten wir das Ergebnis in ein pandas DataFrame umwandeln:

1234567891011121314
from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk import pandas as pd nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) # Convert to DataFrame print(pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']).T)
copy

Alternativ könnten wir pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) verwenden, ohne das DataFrame zu transponieren, sodass jede Zeile ein Token-Tag-Paar darstellt.

Aufgabe

Swipe to start coding

Ihre Aufgabe ist es, die Part-of-Speech-Tagging auf die Tokens des text-Strings durchzuführen und die resultierende Liste von Tupeln in ein DataFrame zu konvertieren.

  1. Importieren Sie die richtige Funktion für das POS-Tagging.
  2. Laden Sie das für das POS-Tagging von NLTK benötigte Modell herunter.
  3. Führen Sie das POS-Tagging durch.
  4. Konvertieren Sie das Ergebnis in ein DataFrame (nicht transponieren).

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt