POS-merking med NLTK og Chunking i NLP (EKSEMPLER)

Innholdsfortegnelse:

Anonim

POS-merking

POS-tagging (Parts of Speech Tagging) er en prosess for å merke ordene i tekstformat for en bestemt del av en tale basert på definisjon og kontekst. Det er ansvarlig for tekstlesing på et språk og tilordne noe spesifikt token (del av tale) til hvert ord. Det kalles også grammatisk merking.

La oss lære med et NLTK del av taleeksempel:

Inngang: Alt for å tillate oss.

Utgang : [('Everything', NN), ('to', TO), ('permit', VB), ('us', PRP)]

Trinn involvert i POS-taggingeksemplet:

  • Tokenize tekst (word_tokenize)
  • bruk pos_tag til trinn ovenfor som er nltk.pos_tag (tokenize_text)

NLTK POS-koder Eksempler er som nedenfor:

Forkortelse Betydning
CC koordinerende forbindelse
CD kardinal siffer
DT bestemmer
EX eksistensiell der
FW fremmedord
I preposisjon / underordnet konjunktjon
JJ Denne NLTK POS-koden er et adjektiv (stor)
JJR adjektiv, komparativ (større)
JJS adjektiv, superlativ (størst)
LS listemarked
MD modal (kunne, vil)
NN substantiv, entall (katt, tre)
NNS substantiv flertall (pulter)
NNP egennavn, entall (sarah)
NNPS substantiv, flertall (indianere eller amerikanere)
PDT forhåndsbestemmer (alle, begge, halvparten)
POS besittende slutt (foreldres)
PRP personlig pronomen (hennes, seg selv, ham, seg selv)
PRP $ besittende pronomen (henne, hans, min, min, vår)
RB adverb (av og til, raskt)
RBR adverb, komparativ (større)
RBS adverb, superlativ (største)
RP partikkel (om)
TIL uendelig markør (til)
UH interjection (farvel)
VB verb (spør)
VBG verb gerund (bedømme)
VBD verb fortid (påkalt)
VBN verb partisipp (gjenforent)
VBP verb, presens ikke 3. person entall (wrap)
VBZ verb, presens med 3. person entall (baser)
WDT wh-determiner (det, hva)
WP wh- pronomen (hvem)
WRB wh- adverb (hvordan)

Ovennevnte NLTK POS-tagliste inneholder alle NLTK POS-tagger. NLTK POS-tagger brukes til å tildele grammatisk informasjon om hvert ord i setningen. Installasjon, import og nedlasting av alle pakkene til POS NLTK er fullført.

Hva er Chunking i NLP?

Chunking i NLP er en prosess for å ta små biter av informasjon og gruppere dem i store enheter. Den primære bruken av Chunking er å lage grupper med "substantivfraser." Den brukes til å legge til setningen ved å følge POS-merking kombinert med vanlige uttrykk. Den resulterte gruppen av ord kalles "biter". Det kalles også grunne analyser.

Ved grunne parsing er det maksimalt ett nivå mellom røtter og blader mens dyp parsing består av mer enn ett nivå. Grunn parsing kalles også lett parsing eller chunking.

Regler for Chunking:

Det er ingen forhåndsdefinerte regler, men du kan kombinere dem etter behov og krav.

For eksempel må du merke substantiv, verb (fortid), adjektiv og koordinerende kryss fra setningen. Du kan bruke regelen som nedenfor

klump: {*** ?}

Følgende tabell viser hva de forskjellige symbolene betyr:

Navn på symbol Beskrivelse
. Ethvert tegn unntatt ny linje
* Match 0 eller flere repetisjoner
? Match 0 eller 1 repetisjon

La oss nå skrive koden for å forstå regel bedre

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:{***?}"""chunker = RegexpParser(patterns)print("After Regex:",chunker)output = chunker.parse(tokens_tag)print("After Chunking",output)

Produksjon

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

Konklusjonen fra ovennevnte del av talemerking av Python-eksempel: "make" er et verb som ikke er inkludert i regelen, så det er ikke merket som mychunk

Bruk tilfelle av chunking

Chunking brukes til deteksjon av enheter. En enhet er den delen av setningen som maskinen får verdien for enhver intensjon

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

Med andre ord brukes chunking som valg av delmengder av tokens. Følg koden nedenfor for å forstå hvordan chunking brukes til å velge tokens. I dette eksemplet vil du se grafen som tilsvarer en del av et substantivuttrykk. Vi vil skrive koden og tegne grafen for bedre forståelse.

Kode for å demonstrere brukstilfelle

import nltktext = "learn php from guru99"tokens = nltk.word_tokenize(text)print(tokens)tag = nltk.pos_tag(tokens)print(tag)grammar = "NP: {
?*}"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

Utgang :

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

Kurve

Substantivuttrykk chunking Graf

Fra grafen kan vi konkludere med at "lære" og "guru99" er to forskjellige tokens, men er kategorisert som substantivfrase, mens token "fra" ikke tilhører substantivfrase.

Chunking brukes til å kategorisere forskjellige tokens i samme bit. Resultatet vil avhenge av hvilken grammatikk som er valgt. Videre Chunking NLTK brukes til å merke mønstre og til å utforske tekstkorpora.

Sammendrag

  • POS-merking i NLTK er en prosess for å merke ordene i tekstformat for en bestemt del av en tale basert på definisjon og kontekst.
  • Noen eksempler på NLTK POS-merking er: CC, CD, EX, JJ, MD, NNP, PDT, PRP $, TO, etc.
  • POS-tagger brukes til å tilordne grammatisk informasjon om hvert ord i setningen. Installasjon, import og nedlasting av alle pakkene med del av tale-merking med NLTK er fullført.
  • Chunking i NLP er en prosess for å ta små biter av informasjon og gruppere dem i store enheter.
  • Det er ingen forhåndsdefinerte regler, men du kan kombinere dem etter behov og krav.
  • Chunking brukes til deteksjon av enheter. En enhet er den delen av setningen som maskinen får verdien for enhver intensjon
  • Chunking brukes til å kategorisere forskjellige tokens i samme bit.