POS Tagging
A POS Tagging (Parts of Speech Tagging) egy olyan folyamat, amely a szavak szöveges formátumban történő megjelölését jelenti a beszéd egy adott részének meghatározása és kontextusa alapján. Egy nyelvben a szövegolvasásért felelős, és minden egyes szóhoz hozzárendel egy bizonyos jelet (beszédrészek). Ezt nyelvtani címkézésnek is nevezik.
Tanuljunk egy NLTK Part of Speech példán keresztül:
Bemenet: Mindent, hogy megengedhessük magunknak.
Kimenet:
A POS tagging példában szereplő lépések:
- Tokenizálja a szöveget (word_tokenize)
- alkalmazza a pos_tagot a fenti lépésre, ami nltk.pos_tag(tokenize_text)
NLTK POS tagek példái az alábbiak:
Abbreviáció | Megjelölés |
---|---|
CC | koordinációs kötőszó |
CD | kardinális számjegy |
DT | meghatározó |
EX | lényeges. ott |
FW | idegen szó |
IN | prepozíció/alárendelő kötőszó. |
JJ | Ez az NLTK POS Tag egy melléknév (nagy) |
JJR | melléknév, Komparatív (nagyobb) |
JJS | melléknév, szuperlatívusz (legnagyobb) |
LS | listás piac |
MD | modális (lehetne, lesz) |
NN | főnév, Egyes szám (macska, fa) |
NNS | főnév többes szám (asztalok) |
NNP | tulajdonnév, egyes szám (sarah) |
NNPS | prope noun, plural (indians or americans) |
PDT | predetermininer (all, both, half) |
POS | birtokos végződés (parent\ ‘s) |
PRP | személyes névmás (hers, herself, him,himself) |
PRP$ | possessive pronoun (her, his, mine, my, my, our ) |
RB | adverb (occasionally, gyorsan) |
RBR | jelző, összehasonlító (nagyobb) |
RBS | jelző, szuperlatívusz (legnagyobb) |
RP | partikuláris (körülbelül) |
TO | infinit. marker (to) |
UH | interjekció (búcsú) |
VB | verb (kérdezni) |
VBG | verb gerundium (ítélkezik) |
VBD | verb múlt idő. (kérte) |
VBN | verb múlt idő (újraegyesült) |
VBP | verb, jelen idő nem egyes szám 3. személyben (wrap) |
VBZ | verb, jelen idő egyes szám 3. személyben (bases) |
WDT | wh-meghatározó (that, what) |
WP | wh- névmás (who) |
WRB | wh- határozószó (how) |
A fenti NLTK POS tag lista tartalmazza az összes NLTK POS taget. Az NLTK POS tagger a mondat egyes szavainak nyelvtani információinak hozzárendelésére szolgál. Az NLTK POS összes csomagjának telepítése, importálása és letöltése befejeződött.
Mi a Chunking az NLP-ben?
A Chunking az NLP-ben egy olyan folyamat, amelynek során kis információdarabokat veszünk és nagy egységekbe csoportosítjuk őket. A Chunking elsődleges felhasználási területe a “főnévi mondatok” csoportosítása. Arra használják, hogy a mondatnak struktúrát adjanak a reguláris kifejezésekkel kombinált POS tagging követésével. Az így kapott szócsoportot “chunks”-nak nevezzük. Ezt sekély elemzésnek is nevezik.
A sekély tagolásban a gyökerek és a levelek között legfeljebb egy szint van, míg a mély tagolás egynél több szintből áll. A sekély tagolást könnyű tagolásnak vagy chunkingnak is nevezik.
A chunking szabályai:
Nincsenek előre meghatározott szabályok, de szükség és követelmény szerint kombinálhatjuk őket.
Egy mondatból például főnevet, igét (múlt idejű), melléknevet és koordináló kötőszót kell megjelölni. Használhatja az alábbi szabályt
chunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}
Az alábbi táblázat mutatja, hogy mit jelentenek a különböző szimbólumok:
Szimbólum neve | Megnevezés |
---|---|
. | Minden karakter, kivéve új sor |
* | Találat 0 vagy több ismétlés |
? | Match 0 vagy 1 ismétlés |
Most írjuk meg a kódot, hogy jobban megértsük a szabályt
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)
Kimenet
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))
A fenti Part of Speech tagging Python példa következtetése: A “make” egy olyan ige, amely nem szerepel a szabályban, ezért nem címkézzük mychunknak
A chunking használati esete
A chunkingot az entitások felismerésére használjuk. Az entitás a mondatnak az a része, amellyel a gép bármely szándékhoz értéket kap
Example: Temperature of New York. Here Temperature is the intention and New York is an entity.
Más szóval a chunkingot a tokenek részhalmazainak kiválasztására használják. Kérjük, kövesse az alábbi kódot, hogy megértse, hogyan használják a chunkingot a tokenek kiválasztására. Ebben a példában azt a grafikont fogja látni, amely egy főnévi kifejezés egy darabkájának felel meg. A jobb megértés érdekében megírjuk a kódot és megrajzoljuk a grafikont.
Kód a használati eset bemutatásához
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
Kimenet:
-- These are the tokens -- These are the pos_tag(S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking
Gráf
Noun Phrase chunking Graph
A grafikonból megállapíthatjuk, hogy a “learn” és a “guru99” két különböző token, de a Noun Phrase kategóriába tartoznak, míg a “from” token nem tartozik a Noun Phrase-hoz.
A chunkingot arra használjuk, hogy a különböző tokeneket ugyanabba a chunkba kategorizáljuk. Az eredmény a kiválasztott nyelvtantól függ. A további Chunking NLTK-t a minták címkézésére és a szövegkorpuszok feltárására használják.
Összefoglaló
- A POS tagging az NLTK-ban egy olyan folyamat, amely a szavakat szöveges formátumban a beszéd egy adott részének jelölésére szolgál annak meghatározása és kontextusa alapján.
- Az NLTK POS tagging néhány példája:
- A POS-tagger a mondat egyes szavaihoz nyelvtani információk hozzárendelésére szolgál. A Part of Speech tagging összes csomagjának telepítése, importálása és letöltése az NLTK-val befejeződött.
- A chunking az NLP-ben egy olyan folyamat, amelynek során kis információdarabokat veszünk és nagy egységekbe csoportosítjuk őket.
- Nincsenek előre meghatározott szabályok, de szükség és követelmény szerint kombinálhatjuk őket.
- A chunkingot az entitások felismerésére használjuk. Az entitás a mondatnak az a része, amellyel a gép bármilyen szándékra értéket kap
- A chunkingot arra használják, hogy a különböző tokeneket ugyanabba a chunkba kategorizálják.