POS-Tagging mit NLTK und Chunking in NLP [BEISPIELE]

POS-Tagging

POS-Tagging (Parts of Speech Tagging) ist ein Prozess zur Markierung von Wörtern im Textformat für einen bestimmten Teil einer Rede auf der Grundlage ihrer Definition und ihres Kontexts. Es ist verantwortlich für das Lesen von Texten in einer Sprache und ordnet jedem Wort ein bestimmtes Token (Parts of Speech) zu. Es wird auch als grammatisches Tagging bezeichnet.

Lassen Sie uns mit einem NLTK Part of Speech Beispiel lernen:

Eingabe: Alles, um uns zu erlauben.

Output:

Schritte im POS-Tagging-Beispiel:

  • Tokenize text (word_tokenize)
  • apply pos_tag to above step that is nltk.pos_tag(tokenize_text)

NLTK POS Tags Examples are as Below:

Abkürzung Bedeutung
CC koordinierende Konjunktion
CD Kardinalziffer
DT Determinator
EX existentiell dort
FW Fremdwort
IN Präposition/unterordnende Konjunktion
JJ Dieser NLTK POS-Tag ist ein Adjektiv (groß)
JJR Adjektiv, Komparativ (größer)
JJS Adjektiv, Superlativ (größte)
LS Listenmarkt
MD modal (könnte, wird)
NNN Nomen, Singular (Katze, Baum)
NNS Nomen Plural (Schreibtische)
NNP Echtes Substantiv, Singular (Sarah)
NNPS Proper Nomen, Plural (Indianer oder Amerikaner)
PDT Prädeterminator (alle, beide, die Hälfte)
POS Possessivendung (parent\ ’s)
PRP Personalpronomen (ihr, herself, him,himself)
PRP$ Positivpronomen (her, his, mine, my, our )
RB Adverb (gelegentlich, schnell)
RBR Adverb, Komparativ (größer)
RBS Adverb, Superlativ (größte)
RP Partikel (über)
TO unbestimmt Markierung (zu)
UH Injektion (auf Wiedersehen)
VB Verben (fragen)
VBG verb gerund (urteilen)
VBD verb Vergangenheitsform (plädieren)
VBN verb Partizip Perfekt (wiedervereinigen)
VBP verb, Präsens nicht 3. Person Singular (umhüllen)
VBZ Verb, Präsens mit 3. Person Singular (Basen)
WDT wh-Bestimmer (das, was)
WP wh- Pronomen (wer)
WRB wh- Adverb (wie)

Die obige NLTK POS Tag-Liste enthält alle NLTK POS Tags. Der NLTK POS-Tagger wird verwendet, um jedem Wort des Satzes grammatikalische Informationen zuzuordnen. Die Installation, der Import und das Herunterladen aller Pakete von NLTK POS ist abgeschlossen.

Was ist Chunking in NLP?

Chunking in NLP ist ein Prozess, bei dem kleine Informationseinheiten zu großen Einheiten zusammengefasst werden. Die Hauptanwendung von Chunking ist die Bildung von Gruppen von „Substantivphrasen“. Es wird verwendet, um dem Satz Struktur zu verleihen, indem POS-Tagging mit regulären Ausdrücken kombiniert wird. Die daraus resultierenden Wortgruppen werden „Chunks“ genannt. Es wird auch als „shallow parsing“ bezeichnet.

Beim shallow parsing gibt es maximal eine Ebene zwischen Wurzeln und Blättern, während deep parsing mehr als eine Ebene umfasst. Shallow Parsing wird auch als Light Parsing oder Chunking bezeichnet.

Regeln für Chunking:

Es gibt keine vordefinierten Regeln, aber man kann sie je nach Bedarf und Anforderung kombinieren.

Zum Beispiel müssen Sie Substantiv, Verb (Vergangenheitsform), Adjektiv und koordinierende Verbindung aus dem Satz markieren. Sie können die folgende Regel verwenden

chunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}

Die folgende Tabelle zeigt, was die verschiedenen Symbole bedeuten:

Name des Symbols Beschreibung
. beliebiges Zeichen außer neue Zeile
* Match 0 oder mehr Wiederholungen
? Match 0 oder 1 Wiederholungen

Nun schreiben wir den Code, um die Regel besser zu verstehen

from nltk import pos_tagfrom nltk import RegexpParsertext ="learn php from guru99 and make study easy".split()print("After Split:",text)tokens_tag = pos_tag(text)print("After Token:",tokens_tag)patterns= """mychunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}"""chunker = RegexpParser(patterns)print("After Regex:",chunker)output = chunker.parse(tokens_tag)print("After Chunking",output)

Output

After Split: After Token: After Regex: chunk.RegexpParser with 1 stages:RegexpChunkParser with 1 rules: <ChunkRule: '<NN.?>*<VBD.?>*<JJ.?>*<CC>?'>After Chunking (S (mychunk learn/JJ) (mychunk php/NN) from/IN (mychunk guru99/NN and/CC) make/VB (mychunk study/NN easy/JJ))

Die Schlussfolgerung aus dem obigen Part of Speech Tagging Python Beispiel: „make“ ist ein Verb, das nicht in der Regel enthalten ist, also wird es nicht als mychunk getaggt

Use Case of Chunking

Chunking wird zur Entitätserkennung verwendet. Eine Entität ist der Teil des Satzes, durch den die Maschine den Wert für eine beliebige Absicht erhält

Example: Temperature of New York. Here Temperature is the intention and New York is an entity. 

Mit anderen Worten, Chunking wird zur Auswahl der Teilmengen von Token verwendet. Bitte folgen Sie dem unten stehenden Code, um zu verstehen, wie Chunking zur Auswahl der Token verwendet wird. In diesem Beispiel sehen Sie den Graphen, der einem Chunk einer Substantivphrase entspricht. Zum besseren Verständnis werden wir den Code schreiben und den Graphen zeichnen.

Code zur Demonstration des Anwendungsfalls

 import nltktext = "learn php from guru99"tokens = nltk.word_tokenize(text)print(tokens)tag = nltk.pos_tag(tokens)print(tag)grammar = "NP: {<DT>?<JJ>*<NN>}"cp =nltk.RegexpParser(grammar)result = cp.parse(tag)print(result)result.draw() # It will draw the pattern graphically which can be seen in Noun Phrase chunking 

Ausgabe:

 -- These are the tokens -- These are the pos_tag(S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking

Graph

Noun Phrase chunking Graph

Aus dem Graphen können wir schließen, dass „learn“ und „guru99“ zwei verschiedene Token sind, aber als Noun Phrase kategorisiert werden, während das Token „from“ nicht zur Noun Phrase gehört.

Chunking wird verwendet, um verschiedene Token in ein und denselben Chunk zu kategorisieren. Das Ergebnis hängt von der gewählten Grammatik ab. Weiteres Chunking NLTK wird verwendet, um Muster zu markieren und Textkorpora zu untersuchen.

Zusammenfassung

  • POS-Tagging in NLTK ist ein Prozess zur Markierung von Wörtern im Textformat für einen bestimmten Teil einer Rede, basierend auf seiner Definition und seinem Kontext.
  • Einige NLTK POS-Tagging Beispiele sind: CC, CD, EX, JJ, MD, NNP, PDT, PRP$, TO, etc.
  • POS-Tagger wird verwendet, um jedem Wort des Satzes grammatikalische Informationen zuzuordnen. Das Installieren, Importieren und Herunterladen aller Pakete des Part of Speech Tagging mit NLTK ist abgeschlossen.
  • Chunking in NLP ist ein Prozess, um kleine Informationen zu nehmen und sie in große Einheiten zu gruppieren.
  • Es gibt keine vordefinierten Regeln, aber man kann sie je nach Bedarf und Anforderung kombinieren.
  • Chunking wird zur Entitätserkennung verwendet. Eine Entität ist der Teil des Satzes, durch den die Maschine den Wert für irgendeine Absicht erhält.
  • Chunking wird verwendet, um verschiedene Token in denselben Chunk zu kategorisieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.