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