POS Tagging met NLTK en Chunking in NLP [VOORBEELDEN]

POS Tagging

POS Tagging (Parts of Speech Tagging) is een proces om de woorden in tekstformaat te markeren voor een bepaald deel van een toespraak op basis van de definitie en context ervan. Het is verantwoordelijk voor het lezen van tekst in een taal en het toewijzen van een aantal specifieke token (Parts of Speech) aan elk woord. Het wordt ook wel grammaticale tagging genoemd.

Laten we leren met een NLTK Part of Speech voorbeeld:

Input: Alles om ons toe te staan.

Uitvoer:

Stappen die betrokken zijn bij het POS tagging voorbeeld:

  • Tokenize tekst (word_tokenize)
  • toepassen pos_tag op bovenstaande stap dat is nltk.pos_tag(tokenize_text)

NLTK POS Tags Voorbeelden zijn zoals hieronder:

Afkorting Betekenis
CC coordinerende voegwoord
CD kardinaal cijfer
DT determiner
EX existentieel er
FW buitenlands woord
IN voorzetsel/ondergeschikt voegwoord
JJ Deze NLTK POS Tag is een bijvoeglijk naamwoord (groot)
JJR bijvoeglijk naamwoord, vergelijkend (groter)
JJS adjectief, superlatief (grootste)
LS lijst markt
MD modaal (zou kunnen, zullen)
NN zelfstandig naamwoord, enkelvoud (kat, boom)
NNS zelfstandig meervoud (bureaus)
NNP zelfstandig naamwoord, enkelvoud (sarah)
NNPS Precies zelfstandig naamwoord, meervoud (indianen of amerikanen)
PDT predeterminer (all, beide, de helft)
POS possessieve uitgang (ouder ‘s)
PRP persoonlijk voornaamwoord (haar, haar, hem, zichzelf) persoonlijk voornaamwoord (haar, haarzelf, hem,zichzelf)
PRP$ Persoonlijk voornaamwoord (haar, zijn, mijn, mijn, onze )
RB spreekwoord (af en toe, snel)
RBR werkwoord, vergelijkend (groter)
RBS werkwoord, superlatief (grootste)
RP partikel (over)
TO infiniet marker (naar)
UH interjectie (afscheid)
VB werkwoord (vragen)
VBG werkwoord gerundium (oordelen)
VBD werkwoord verleden tijd (pleitte)
VBN werkwoord voltooid deelwoord (herenigd)
VBP werkwoord, tegenwoordige tijd niet 3e persoon enkelvoud (wikkelen)
VBZ werkwoord, tegenwoordige tijd met 3e persoon enkelvoud (basen)
WDT wh-bepaler (dat, wat)
WP wh- voornaamwoord (wie)
WRB wh- bijwoord (hoe)

De bovenstaande NLTK POS tag lijst bevat alle NLTK POS Tags. NLTK POS tagger wordt gebruikt om grammaticale informatie toe te kennen aan elk woord van de zin. Het installeren, importeren en downloaden van alle pakketten van POS NLTK is voltooid.

Wat is Chunking in NLP?

Chunking in NLP is een proces om kleine stukjes informatie te nemen en ze te groeperen in grote eenheden. Het primaire gebruik van Chunking is het maken van groepen van “zelfstandig naamwoord zinnen.” Het wordt gebruikt om structuur toe te voegen aan de zin door het volgen van POS tagging gecombineerd met reguliere expressies. De resulterende groep woorden worden “chunks” genoemd. Het wordt ook wel ondiepe parsing genoemd.

In shallow parsing is er maximaal één niveau tussen wortels en bladeren, terwijl deep parsing uit meer dan één niveau bestaat. Shallow parsing wordt ook wel light parsing of chunking genoemd.

Regels voor Chunking:

Er zijn geen vooraf gedefinieerde regels, maar u kunt ze combineren op basis van behoefte en eis.

Zo moet u bijvoorbeeld het zelfstandig naamwoord, het werkwoord (verleden tijd), het bijvoeglijk naamwoord en de coördinerende verbinding uit de zin markeren. U kunt de regel als volgt gebruiken

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

De volgende tabel laat zien wat de verschillende symbolen betekenen:

Naam van symbool Beschrijving
. Elk teken behalve nieuwe regel
* Match 0 of meer herhalingen
? Match 0 of 1 herhalingen

Nu Laten we de code schrijven om regel beter te begrijpen

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)

Uitvoer

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))

De conclusie uit het bovenstaande Part of Speech tagging Python voorbeeld: “make” is een werkwoord dat niet in de regel is opgenomen, dus wordt het niet getagd als mychunk

Use Case of Chunking

Chunking wordt gebruikt voor het opsporen van entiteiten. Een entiteit is dat deel van de zin door welke machine de waarde voor een intentie

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

In andere woorden, chunking wordt gebruikt als het selecteren van de subsets van tokens. Volg de onderstaande code om te begrijpen hoe chunking wordt gebruikt om de tokens te selecteren. In dit voorbeeld zult u de grafiek zien die overeenkomt met een chunk van een zelfstandig naamwoord zinsdeel. We zullen de code schrijven en de grafiek tekenen voor een beter begrip.

Code to Demonstrate Use Case

 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 

Output:

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

Grafiek

Noun Phrase chunking Graph

Uit de grafiek kunnen we concluderen dat “learn” en “guru99” twee verschillende tokens zijn, maar worden gecategoriseerd als Noun Phrase, terwijl het token “from” niet tot het Noun Phrase behoort.

Chunking wordt gebruikt om verschillende tokens in dezelfde chunk te categoriseren. Het resultaat zal afhangen van grammatica die is geselecteerd. Verdere Chunking NLTK wordt gebruikt om patronen te taggen en om tekst corpora te verkennen.

Samenvatting

  • POS Tagging in NLTK is een proces om de woorden in tekstformaat te markeren voor een bepaald deel van een toespraak op basis van de definitie en context.
  • Enkele NLTK POS tagging voorbeelden zijn: CC, CD, EX, JJ, MD, NNP, PDT, PRP$, TO, enz.
  • POS tagger wordt gebruikt om grammaticale informatie van elk woord van de zin toe te wijzen. Installeren, importeren en downloaden van alle pakketten van Part of Speech tagging met NLTK is voltooid.
  • Chunking in NLP is een proces om kleine stukjes informatie te nemen en ze te groeperen in grote eenheden.
  • Er zijn geen vooraf gedefinieerde regels, maar je kunt ze combineren op basis van behoefte en vereiste.
  • Chunking wordt gebruikt voor entiteit detectie. Een entiteit is dat deel van de zin door welke machine de waarde voor een intentie
  • Chunking wordt gebruikt om verschillende tokens categoriseren in dezelfde chunk.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.