Kursinhalt
Einführung in NLP
Einführung in NLP
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:
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)
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:
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)
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.
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.
- Importieren Sie die richtige Funktion für das POS-Tagging.
- Laden Sie das für das POS-Tagging von NLTK benötigte Modell herunter.
- Führen Sie das POS-Tagging durch.
- Konvertieren Sie das Ergebnis in ein DataFrame (nicht transponieren).
Lösung
Danke für Ihr Feedback!
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:
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)
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:
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)
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.
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.
- Importieren Sie die richtige Funktion für das POS-Tagging.
- Laden Sie das für das POS-Tagging von NLTK benötigte Modell herunter.
- Führen Sie das POS-Tagging durch.
- Konvertieren Sie das Ergebnis in ein DataFrame (nicht transponieren).
Lösung
Danke für Ihr Feedback!