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.