POS Tagging
POS Tagging (Parts of Speech Tagging) on prosessi, jossa sanat merkitään tekstimuodossa tiettyyn puheen osaan sen määritelmän ja asiayhteyden perusteella. Se vastaa tekstin lukemisesta kielessä ja määrittää jokaiselle sanalle tietyn merkin (Parts of Speech). Sitä kutsutaan myös kieliopilliseksi merkinnäksi.
Oppikaamme NLTK:n Part of Speech -esimerkin avulla:
Syöttö: Kaikkea sallia meille.
Output:
Steps Involved in the POS tagging example:
- Tokenize text (word_tokenize)
- apply pos_tag to above step that is nltk.pos_tag(tokenize_text)
NLTK:n POS-tunnisteiden esimerkit ovat seuraavat:
Lyhenne | Merkitys |
---|---|
CC | koordinoiva konjunktio |
CD | kardinaaliluku |
DT | determinaali |
EX | eksistentiaali siellä |
FW | vieras sana |
IN | prepositio/subordinoiva konjunktio |
JJ | Tämä NLTK POS Tag on adjektiivi (suuri) |
JJR | adjektiivi, komparatiivi (suurempi) |
JJS | adjektiivi, superlatiivi (suurin) |
LS | listamarkkinat |
MD | modaalinen (voisi, tulee) |
NN | subst, yksikössä (kissa, puu) |
NNS | substantiivi monikossa (pöydät) |
NNP | substantiivi, yksikössä (sarah) |
NNPS | substantiivi, monikko (intiaanit tai amerikkalaiset) |
PDT | predeterminer (all, molemmat, puolet) |
POS | posessiivipääte (parent\ ’s) |
PRP | persoonapronomini (hers, herself, him,himself) |
PRP$ | posessiivipronomini (her, his, mine, my, my, our ) |
RB | adverbiaali (toisinaan, nopeasti) |
RBR | adverbi, komparatiivi (suurempi) |
RBS | adverb, superlatiivi (suurin) |
RP | partikkeli (noin) |
TO | infinitiivi. marker (to) |
UH | interjektio (goodbye) |
VB | verbi (ask) |
VBG | verbi gerundi (tuomitseminen) |
VBD | verbi mennyttä aikaa (vetosi) |
VBN | verbi menneen ajan partitiivi (yhdistyi) |
VBP | verbi, preesens ei 3. persoona yksikössä (wrap) |
VBZ | verbi, preesens 3. persoona yksikössä (emäkset) |
WDT | wh-määrite (that, what) |
WP | wh- pronomini (who) |
WRB | wh- adverbi (how) |
Yllä oleva NLTK:n POS-tunnisteiden luettelo sisältää kaikki NLTK:n POS-tunnisteet. NLTK POS taggeria käytetään osoittamaan kieliopillista tietoa jokaiselle lauseen sanalle. Kaikkien POS NLTK:n pakettien asentaminen, tuonti ja lataaminen on valmis.
Mikä on Chunking NLP:ssä?
Chunking NLP:ssä on prosessi, jossa otetaan pieniä informaation palasia ja ryhmitellään ne suuriksi yksiköiksi. Chunkingin ensisijainen käyttö on ”substantiivilauseiden” ryhmien muodostaminen. Sitä käytetään lisäämään lauseeseen rakennetta noudattamalla POS-taggausta yhdistettynä säännöllisiin lausekkeisiin. Tuloksena syntyneitä sanaryhmiä kutsutaan ”chunkeiksi”. Sitä kutsutaan myös pinnalliseksi jäsennykseksi.
Matalassa jäsennyksessä juurten ja lehtien välillä on enintään yksi taso, kun taas syvä jäsennys käsittää useamman tason. Shallow parsingia kutsutaan myös kevyeksi parsingiksi tai chunkingiksi.
Säännöt pilkkomista varten:
Esimääriteltyjä sääntöjä ei ole, vaan niitä voi yhdistellä tarpeen ja vaatimuksen mukaan.
Esimerkiksi sinun täytyy merkitä lauseesta substantiivi, verbi (mennyt aika), adjektiivi ja koordinoiva yhdyssana. Voit käyttää sääntöä seuraavasti
chunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}
Seuraavasta taulukosta selviää, mitä eri symbolit tarkoittavat:
Symbolin nimi | Kuvaus |
---|---|
. | Mikä tahansa merkki paitsi uusi rivi |
* | Match 0 tai useampia toistoja |
? | Match 0 or 1 repetitions |
Now Let us write the code to understand rule better
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)
Output
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))
Johtopäätös yllä olevasta Part of Speech tagging Python esimerkistä: ”make” on verbi, joka ei sisälly sääntöön, joten sitä ei merkitä mychunkiksi
Use Case of Chunking
Chunkingia käytetään entiteettien tunnistamiseen. Entiteetti on se lauseen osa, jonka avulla kone saa arvon jollekin aikomukselle
Example: Temperature of New York. Here Temperature is the intention and New York is an entity.
Toisin sanoen chunkingia käytetään merkkien osajoukkojen valintaan. Seuraa alla olevaa koodia ymmärtääksesi, miten chunkingia käytetään merkkien valintaan. Tässä esimerkissä näet kuvaajan, joka vastaa substantiivilauseen chunkia. Kirjoitamme koodin ja piirrämme kuvaajan paremman ymmärtämisen vuoksi.
Koodi käyttötapauksen havainnollistamiseksi
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
Tulos:
-- These are the tokens -- These are the pos_tag(S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking
Graafi
Noun Phrase chunking Graph
Graafista voimme päätellä, että ”learn” ja ”guru99” ovat kaksi erilaista tokenia, mutta ne on kategorisoitu Noun Phrase -kategoriaan, kun taas tokeni ”from” ei kuulu Noun Phrase -kategoriaan.
Chunkingia käytetään luokittelemaan eri tokenit samaan chunkiin. Tulos riippuu valitusta kieliopista. Lisäksi Chunking NLTK:ta käytetään mallien merkitsemiseen ja tekstikorpusten tutkimiseen.
Yhteenveto
- POS-tagaus NLTK:ssa on prosessi, jolla merkitään sanat tekstimuodossa tiettyyn puheen osaan sen määritelmän ja asiayhteyden perusteella.
- Joitakin NLTK:n POS-tagaus esimerkkejä ovat:
- POS-taggeria käytetään osoittamaan kieliopillista tietoa jokaiselle lauseen sanalle. Kaikkien Part of Speech tagging -pakettien asentaminen, tuonti ja lataaminen NLTK:lla on valmis.
- Chunking NLP:ssä on prosessi, jossa otetaan pieniä informaation palasia ja ryhmitellään ne suuriksi kokonaisuuksiksi.
- Ennalta määriteltyjä sääntöjä ei ole, vaan niitä voi yhdistellä tarpeen ja vaatimuksen mukaan.
- Chunkingia käytetään entiteettien tunnistamiseen. Entiteetti on se lauseen osa, jonka avulla kone saa arvon jollekin aikomukselle
- Chunkingia käytetään luokittelemaan erilaiset tokenit samaan chunkiin.