POS Tagging with NLTK and Chunking in NLP [EXAMPLES]

POS Tagging

POS Tagging (Parts of Speech Tagging) jest procesem oznaczania słów w formacie tekstowym dla konkretnej części mowy na podstawie jej definicji i kontekstu. Jest on odpowiedzialny za czytanie tekstu w danym języku i przypisanie do każdego słowa określonego tokena (Części mowy). Jest to również nazywane tagowaniem gramatycznym.

Poznajmy się na przykładzie NLTK Part of Speech:

Wprowadzenie: Wszystko, co ma nam pozwolić.

Wyjście:

Kroki zaangażowane w przykład POS tagging:

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

NLTK POS Tags Examples are as Below:

.

skrót znaczenie
CC koniunkcja współrzędnych
CD cyfra kardynalna
DT determinator
EX egzystencjalny tam
FW słowo obce
IN przyimek/podporządkowanie
JJ Ten znacznik POS NLTK to przymiotnik (duży)
JR przymiotnik, porównawczy (większy)
JS przymiotnik, superlative (największy)
LS list market
MD modal (could, will)
NN nounnoun, w liczbie pojedynczej (kot, drzewo)
NNS rzeczownik w liczbie mnogiej (biurka)
NNP rzeczownik, singular (sarah)
NNNPS proper noun, plural (indians or americans)
PDT predeterminer (all, both, half)
POS końcówka posesywna (rodz. 's)
PRP zaimek osobowy (hers, herself, him,himself)
PRP$ zaimek dzierżawczy (her, his, mine, my, our )
RB przysłówek (occasionally, szybko)
RBR adverb, comparative (większy)
RBS adverb, superlatywny (największy)
RP członowy (o)
TO nieokreślony znacznik (do)
UH wtrącenie (pożegnanie)
VB czasownik (pytać)
VBG verb gerund (oceniać)
VBD verb czas przeszły (pleaded)
VBN verb past participle (reunified)
VBP verb, present tense not 3rd person singular(wrap)
VBZ verb, present tense with 3rd person singular (bases)
WDT wh-determiner (that, co)
WP wh- zaimek (kto)
WRB wh- przysłówek (jak)

Powyższa lista znaczników POS NLTK zawiera wszystkie znaczniki POS NLTK. NLTK POS tagger jest używany do przypisania informacji gramatycznej każdego słowa w zdaniu. Instalowanie, importowanie i pobieranie wszystkich pakietów POS NLTK jest zakończone.

Co to jest Chunking w NLP?

Chunking w NLP jest procesem polegającym na pobieraniu małych fragmentów informacji i grupowaniu ich w duże jednostki. Podstawowym zastosowaniem Chunking jest tworzenie grup „fraz rzeczownikowych”. Jest on używany w celu dodania struktury do zdania przez POS tagging w połączeniu z wyrażeniami regularnymi. Powstałe w ten sposób grupy słów nazywane są „chunks”. Jest to również nazywane płytkim parsowaniem.

W płytkim parsowaniu, jest maksymalnie jeden poziom między korzeniami i liśćmi, podczas gdy głębokie parsowanie składa się z więcej niż jednego poziomu. Parsowanie płytkie nazywane jest również parsowaniem lekkim lub chunkingiem.

Reguły dla Chunking:

Nie ma żadnych predefiniowanych reguł, ale można je łączyć w zależności od potrzeb i wymagań.

Na przykład, musisz oznaczyć rzeczownik, czasownik (czas przeszły), przymiotnik i węzeł koordynacyjny ze zdania. Możesz użyć reguły jak poniżej

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

Następująca tabela pokazuje, co oznaczają poszczególne symbole:

Nazwa symbolu Opis
. Dowolny znak z wyjątkiem nowej linii
* Dopasuj 0 lub więcej powtórzeń
? Zapasuj 0 lub 1 powtórzenie

Teraz napiszmy kod, aby lepiej zrozumieć regułę

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)

Wyjście

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

Wniosek z powyższego przykładu Part of Speech tagging Python: „make” to czasownik, który nie jest objęty regułą, więc nie jest tagowany jako mychunk

Use Case of Chunking

Chunking jest używany do wykrywania encji. Podmiot jest ta część zdania, przez które maszyna uzyskać wartość dla każdej intencji

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

Innymi słowy, chunking jest używany jako wybór podzbiorów tokenów. Proszę postępować zgodnie z poniższym kodem, aby zrozumieć, jak chunking jest używany do wyboru tokenów. W tym przykładzie, zobaczysz wykres, który będzie odpowiadał fragmentowi frazy rzeczownikowej. Napiszemy kod i narysujemy wykres dla lepszego zrozumienia.

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

Graph

Noun Phrase chunking Graph

Z grafu możemy wywnioskować, że „learn” i „guru99” to dwa różne tokeny, ale są skategoryzowane jako Noun Phrase, podczas gdy token „from” nie należy do Noun Phrase.

Chunking jest używany do kategoryzowania różnych tokenów do tego samego kawałka. Wynik będzie zależał od gramatyki, która została wybrana. Dalsze Chunking NLTK jest używany do tagowania wzorców i do eksploracji korpusów tekstowych.

Podsumowanie

  • Tagowanie POS w NLTK jest procesem oznaczania słów w formacie tekstowym dla konkretnej części mowy w oparciu o jej definicję i kontekst.
  • Niektóre przykłady tagowania POS w NLTK to: CC, CD, EX, JJ, MD, NNP, PDT, PRP$, TO, etc.
  • Tagger POS jest używany do przypisywania informacji gramatycznych każdemu słowu w zdaniu. Instalowanie, importowanie i pobieranie wszystkich pakietów tagowania części mowy z NLTK jest zakończone.
  • Chunking w NLP jest procesem pobierania małych fragmentów informacji i grupowania ich w duże jednostki.
  • Nie ma predefiniowanych reguł, ale można je łączyć w zależności od potrzeb i wymagań.
  • Chunking jest używany do wykrywania encji. Podmiot jest tą częścią zdania, przez którą maszyna uzyskuje wartość dla dowolnej intencji
  • Chunking jest używany do kategoryzacji różnych tokenów do tego samego chunk.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.