POS žymėjimas naudojant NLTK ir suskaidymas NLP (PAVYZDŽIAI)

POS žymėjimas

POS žymėjimas (kalbos žymėjimo dalys) yra procesas, skirtas pažymėti žodžius teksto formatu tam tikrai kalbos daliai, atsižvelgiant į jo apibrėžimą ir kontekstą. Ji yra atsakinga už teksto skaitymą kalba ir kiekvienam žodžiui priskyrimą tam tikro ženklo (Kalbos dalys). Jis taip pat vadinamas gramatiniu žymėjimu.

Mokykimės su NLTK kalbos dalies pavyzdžiu:

Įvestis: viskas, kas mums leidžia.

Rezultatas : [(„viskas“, NN), („į“, TO), („leidimas“, VB), („mes“, PRP)]

Veiksmai, susiję su POS žymėjimo pavyzdžiu:

  • Tokenize tekstas (word_tokenize)
  • taikyti pos_tag aukščiau nurodytam žingsniui, kuris yra nltk.pos_tag (tokenize_text)

Toliau pateikiami NLTK POS žymių pavyzdžiai:

Santrumpa Reikšmė
CC koordinuojantis jungtukas
Kompaktinis diskas kardinolas
DT nustatytojas
PAVYZDYS egzistencinis ten
FW svetimas žodis
IN prielinksnis / subordinacinis jungtukas
JJ Ši NLTK POS žymė yra būdvardis (didelis)
JJR būdvardis, lyginamasis (didesnis)
JJS būdvardis, viršutinis (didžiausias)
LS sąrašo rinka
MD modalinis (galėtų, bus)
NN vienaskaitos daiktavardis (katė, medis)
NNS daiktavardis daugiskaita (desks)
NNP tikrinis daiktavardis, vienaskaita (sarah)
NNPS tikrinis daiktavardis, daugiskaita (indėnai ar amerikiečiai)
PDT išankstinis nustatytojas (visi, abu, pusė)
POS savininko galūnė (tėvų)
PRP asmenvardis (jos, jos, jo, jo paties)
PRP $ turimas įvardis (ji, jo, mano, mano, mūsų)
RB prieveiksmis (kartais, greitai)
RBR prieveiksmis, lyginamasis (didesnis)
RBS prieveiksmis, viršutinis (didžiausias)
RP dalelė (apie)
Į begalinis žymeklis (iki)
UH įsiterpimas (atsisveikinimas)
VB veiksmažodis (klausti)
VBG veiksmažodis gerundas (teisėjavimas)
VBD veiksmažodis praeities laikas (maldavo)
VBN veiksmažodis praeities dalyvis (susijungęs)
VBP veiksmažodis, esamasis laikas, ne vienas asmuo, vienas asmuo (įvyniojimas)
VBZ veiksmažodis, esamasis laikas su vienaskaitos trečiuoju asmeniu (pagrindai)
WDT wh-determineris (tai, kas)
WP wh- įvardis (kas)
WRB wh- prieveiksmis (kaip)

Aukščiau pateiktame NLTK POS žymų sąraše yra visos NLTK POS žymos. NLTK POS žymeklis naudojamas priskirti gramatinę informaciją apie kiekvieną sakinio žodį. Visi POS NLTK paketai įdiegti, importuoti ir atsisiųsti.

Kas yra „Chunking“ NLP?

NLP kaupimas yra procesas, skirtas surinkti nedideles informacijos dalis ir sugrupuoti jas į didelius vienetus. Pagrindinis „Chunking“ naudojimas yra „daiktavardžių frazių“ grupių sudarymas. Jis naudojamas struktūrai pridėti prie sakinio sekant POS žymėjimą kartu su reguliariomis išraiškomis. Gauta žodžių grupė vadinama „gabaliukais“. Tai dar vadinama negiliu analizavimu.

Sekliai analizuojant tarp šaknų ir lapų yra ne daugiau kaip vienas lygis, o giliai analizuojant - daugiau nei vieną lygį. Seklus analizavimas taip pat vadinamas lengvu analizavimu arba gabalėliais.

„Chunking“ taisyklės:

Iš anksto apibrėžtų taisyklių nėra, tačiau jas galite sujungti pagal poreikį ir reikalavimus.

Pvz., Iš sakinio turite pažymėti daiktavardį, veiksmažodį (praeities laiką), būdvardį ir koordinuojančią jungtį. Galite naudoti taisyklę, kaip nurodyta toliau

gabalas: {*** ?}

Šioje lentelėje parodyta, ką reiškia įvairus simbolis:

Simbolio pavadinimas apibūdinimas
. Bet koks simbolis, išskyrus naują eilutę
* Suderinkite 0 ar daugiau pakartojimų
? Suderinkite 0 arba 1 pakartojimą

Dabar parašykime kodą, kad geriau suprastume taisyklę

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)

Rezultatas

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

Išvada iš aukščiau pateiktos „Python“ kalbos žymėjimo dalies pavyzdžio: „make“ yra veiksmažodis, kuris nėra įtrauktas į taisyklę, todėl jis nėra pažymėtas kaip mychunk

Naudokite „Chunking“ atvejį

„Chunking“ naudojamas objektų aptikimui. Esybė yra ta sakinio dalis, kuria mašina gauna bet kokio ketinimo vertę

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

Kitaip tariant, suskirstymas naudojamas kaip žetonų pogrupių pasirinkimas. Vykdykite žemiau pateiktą kodą, kad suprastumėte, kaip suskirstymas naudojamas renkant žetonus. Šiame pavyzdyje pamatysite grafiką, kuris atitiks daiktavardžio frazės dalį. Parašysime kodą ir nupiešsime grafiką, kad geriau suprastume.

Naudojimo atvejo demonstravimo kodas

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

Išvestis :

['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

Grafikas

Daiktavardžio frazės suskaidymo grafikas

Iš grafiko galime daryti išvadą, kad „mokytis“ ir „guru99“ yra du skirtingi žetonai, tačiau jie priskiriami daiktavardžio frazei, o ženklas „nuo“ nepriklauso daiktavardžio frazei.

Skaldymas naudojamas skirtingų žetonų skirstymui į tą patį gabalą. Rezultatas priklausys nuo pasirinktos gramatikos. Tolesnis „Chunking NLTK“ yra naudojamas šablonams žymėti ir teksto korpusams tirti.

Santrauka

  • POS žymėjimas NLTK yra procesas, skirtas pažymėti žodžius teksto formatu tam tikrai kalbos daliai, atsižvelgiant į jo apibrėžimą ir kontekstą.
  • Kai kurie NLTK POS žymėjimo pavyzdžiai yra: CC, CD, EX, JJ, MD, NNP, PDT, PRP $, TO ir kt.
  • POS žymeklis naudojamas priskirti gramatinę informaciją apie kiekvieną sakinio žodį. Baigta įdiegti, importuoti ir atsisiųsti visus kalbos žymėjimo „NLTK“ paketus.
  • NLP kaupimas yra procesas, skirtas surinkti nedideles informacijos dalis ir sugrupuoti jas į didelius vienetus.
  • Iš anksto apibrėžtų taisyklių nėra, tačiau jas galite sujungti pagal poreikį ir reikalavimus.
  • „Chunking“ naudojamas objektų aptikimui. Esybė yra ta sakinio dalis, kuria mašina gauna bet kokio ketinimo vertę
  • Skaldymas naudojamas skirtingų žetonų skirstymui į tą patį gabalą.

Įdomios straipsniai...