POS marķēšana ar NLTK un sasmalcināšana NLP (PIEMĒRI)

Satura rādītājs:

Anonim

POS marķēšana

POS marķēšana (runas marķēšanas daļas) ir process, lai vārdus iezīmētu teksta formātā noteiktai runas daļai, pamatojoties uz tā definīciju un kontekstu. Tas ir atbildīgs par teksta lasīšanu valodā un katram vārdam dažu īpašu marķieru (runas daļas) piešķiršanu. To sauc arī par gramatisko marķēšanu.

Mācīsimies, izmantojot NLTK runas daļas piemēru:

Ievads: Viss, kas mums ļauj.

Rezultāts : [('viss', NN), ('līdz', TO), ('atļauja', VB), ('mums', PRP)]

POS marķēšanas piemērā iesaistītie soļi:

  • Tokenizēt tekstu (word_tokenize)
  • lietojiet pos_tag iepriekšējam solim, kas ir nltk.pos_tag (tokenize_text)

NLTK POS tagu piemēri ir šādi:

Abreviatūra Nozīme
CC koordinējošais savienojums
CD kardināls cipars
DT noteicējs
EX eksistenciāls tur
FW svešvārds
IN prievārds / pakārtots savienojums
Šis NLTK POS tags ir īpašības vārds (liels)
JJR īpašības vārds, salīdzinošs (lielāks)
JJS īpašības vārds, visaugstākais (lielākais)
LS saraksta tirgus
MD modāls (varētu, būs)
NN lietvārds, vienskaitlis (kaķis, koks)
NNS lietvārds daudzskaitlī (desks)
NNP īpašvārds, vienskaitlis (sarah)
NNPS lietvārds, daudzskaitlis (indiāņi vai amerikāņi)
PDT iepriekšējs (visi, abi, puse)
POS īpašnieka beigas (vecāku vārdi)
PRP personīgais vietniekvārds (viņa, viņa pati, viņš, pats)
PRP $ īpašniekvārds (viņa, viņa, mans, mans, mūsu)
RB apstākļa vārds (laiku pa laikam, ātri)
RBR apstākļa vārds, salīdzinošs (lielāks)
RBS apstākļa vārds, augstākais (lielākais)
RP daļiņa (apmēram)
TO bezgalīgs marķieris (līdz)
UH starpsauciens (uz redzēšanos)
VB darbības vārds (jautāt)
VBG darbības vārds gerund (spriežot)
VBD darbības vārds pagātnes laiks (lūdza)
VBN darbības vārds pagātnes divdabis (atkalapvienots)
VBP darbības vārds, tagadnes laiks, nevis vienskaitļa 3. persona (iesaiņojums)
VBZ darbības vārds, tagadnes laiks ar vienskaitļa 3. personu (bāzes)
WDT wh-noteicējs (tas, ko)
WP wh- vietniekvārds (kurš)
WRB wh- apstākļa vārds (kā)

Iepriekš minētajā NLTK POS tagu sarakstā ir visi NLTK POS tagi. NLTK POS tagger tiek izmantots, lai piešķirtu gramatisko informāciju par katru teikuma vārdu. Visu POS NLTK pakotņu instalēšana, importēšana un lejupielāde ir pabeigta.

Kas ir Chunking NLP?

Sadalīšana ar NLP ir process veikt nelielus informācijas fragmentus un grupu tos lielās vienībās. Galvenais Chunking izmantojums ir "lietvārdu frāžu" grupu veidošana. To lieto, lai teikumam pievienotu struktūru, sekojot POS marķēšanai kopā ar regulārām izteiksmēm. Iegūto vārdu grupu sauc par "gabaliņiem". To sauc arī par seklu parsēšanu.

Seklā parsēšanā starp saknēm un lapām ir ne vairāk kā viens līmenis, savukārt dziļā parsēšanā ir vairāk nekā viens līmenis. Seklu parsēšanu sauc arī par vieglu parsēšanu vai riecienu.

Chunking noteikumi:

Iepriekš nav noteiktu noteikumu, taču tos var apvienot atbilstoši vajadzībām un prasībām.

Piemēram, no teikuma jums jāatzīmē lietvārds, darbības vārds (pagātnes laiks), īpašības vārds un koordinējošais savienojums. Jūs varat izmantot kārtulu, kā norādīts zemāk

gabals: {*** ?}

Šajā tabulā parādīts, ko nozīmē dažādais simbols:

Simbola nosaukums Apraksts
. Jebkurš raksturs, izņemot jaunu līniju
* Atbilst 0 vai vairāk atkārtojumiem
? Atbilst 0 vai 1 atkārtojumam

Tagad uzrakstīsim kodu, lai labāk izprastu likumu

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)

Rezultāts

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

Secinājums no iepriekš minētās runas marķēšanas Python daļas piemēra: "make" ir darbības vārds, kas nav iekļauts kārtulā, tāpēc tas nav atzīmēts kā mychunk

Izmantošanas gadījums

Chunking tiek izmantots entītiju noteikšanai. Uzņēmums ir tā teikuma daļa, ar kuru mašīna iegūst jebkura nodoma vērtību

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

Citiem vārdiem sakot, chunking tiek izmantots kā žetonu apakškopa izvēle. Lūdzu, izpildiet zemāk redzamo kodu, lai saprastu, kā čekošana tiek izmantota, lai izvēlētos marķierus. Šajā piemērā jūs redzēsiet diagrammu, kas atbildīs lietvārda frāzes daļām. Lai labāk saprastu, mēs uzrakstīsim kodu un uzzīmēsim diagrammu.

Kods, lai parādītu lietošanas gadījumu

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

Izeja :

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

Grafiks

Lietvārda frāzes sakopošanas grafiks

Pēc diagrammas mēs varam secināt, ka "mācīties" un "guru99" ir divi dažādi marķieri, taču tie tiek klasificēti kā lietvārda frāze, bet marķieris "no" nepieder vārda frāzei.

Chunking tiek izmantots dažādu marķieru kategorizēšanai vienā gabalā. Rezultāts būs atkarīgs no izvēlētās gramatikas. Tālāk Chunking NLTK tiek izmantots, lai iezīmētu modeļus un izpētītu teksta korpusus.

Kopsavilkums

  • POS iezīmēšana NLTK ir process, lai vārdus iezīmētu teksta formātā noteiktai runas daļai, pamatojoties uz tā definīciju un kontekstu.
  • Daži NLTK POS marķēšanas piemēri ir: CC, CD, EX, JJ, MD, NNP, PDT, PRP $, TO utt.
  • POS tagger tiek izmantots, lai piešķirtu gramatisko informāciju par katru teikuma vārdu. Ir pabeigta visu runas tagu daļas ar NLTK pakotņu instalēšana, importēšana un lejupielāde.
  • NLP sadalīšana ir process, kurā tiek ņemti nelieli informācijas gabali un grupēti tie lielās vienībās.
  • Iepriekš nav noteiktu noteikumu, taču tos var apvienot atbilstoši vajadzībām un prasībām.
  • Chunking tiek izmantots entītiju noteikšanai. Uzņēmums ir tā teikuma daļa, ar kuru mašīna iegūst jebkura nodoma vērtību
  • Chunking tiek izmantots dažādu marķieru kategorizēšanai vienā gabalā.