Označovanie POS s NLTK a blokovanie v NLP (PRÍKLADY)

Obsah:

Anonim

Označovanie POS

POS tagovanie ( označovanie častí reči) je proces označovania slov v textovom formáte pre konkrétnu časť reči na základe jej definície a kontextu. Je zodpovedný za čítanie textu v jazyku a za priradenie každého konkrétneho tokenu (časti reči) ku každému slovu. Nazýva sa to aj gramatické značkovanie.

Naučme sa na príklade časti prejavu NLTK:

Vstup: Všetko, čo nám umožňuje.

Výstup : [('Všetko', NN), ('do', TO), ('povolenie', VB), ('nás', PRP)]

Kroky zapojené do príkladu označovania POS:

  • Tokenizovať text (word_tokenize)
  • použiť pos_tag na vyššie uvedený krok, ktorý je nltk.pos_tag (tokenize_text)

Príklady značiek NLTK POS sú uvedené nižšie:

Skratka Význam
CC koordinačná spojka
CD kardinálna číslica
DT determinant
EX existenčné tam
FW cudzie slovo
IN predložková / podraďovacia spojka
J J Táto značka NLTK POS je prídavné meno (veľké)
JJR prídavné meno, komparatívne (väčšie)
JJS prídavné meno, superlatív (najväčší)
LS zoznamový trh
MUDr modálne (môže, bude)
NN podstatné meno, jednotné číslo (mačka, strom)
NNS podstatné meno množné číslo (stoly)
NNP vlastné meno, jednotné číslo (sarah)
NNPS vlastné podstatné meno, množné číslo (Indiáni alebo Američania)
PDT predurčovateľ (všetci, obaja, polovica)
POS privlastňovací koniec (rodič)
PRP osobné zámeno (ona, ona, on, on)
PRP $ privlastňovacie zámeno (ona, jeho, moje, moje, naše)
RB príslovka (príležitostne, rýchlo)
RBR príslovka, komparatívna (väčšia)
RBS príslovka, superlatív (najväčší)
RP častica (asi)
TO nekonečná značka (do)
UH citoslovce (dovidenia)
VB sloveso (opýtať sa)
VBG sloveso gerund (súdenie)
VBD sloveso minulý čas (prosba)
VBN sloveso minulé príčastie (zjednotené)
VBP sloveso, prítomný čas nie 3. osoba jednotného čísla (zabaliť)
VBZ sloveso, prítomný čas s 3. osobou singulárneho (základy)
WDT wh-determinátor (to, čo)
WP wh- zámeno (kto)
WRB wh- príslovka (ako)

Vyššie uvedený zoznam značiek NLTK POS obsahuje všetky značky NLTK POS. Značkovač NLTK POS sa používa na priradenie gramatických informácií ku každému slovu vety. Inštalácia, import a sťahovanie všetkých balíkov POS NLTK je dokončené.

Čo je to Chunking v NLP?

Chunking v NLP je proces, ktorý berie malé kúsky informácií a zoskupuje ich do veľkých jednotiek. Primárne využitie funkcie Chunking je vytváranie skupín „podstatných fráz“. Používa sa na pridanie štruktúry do vety sledovaním označovania POS v kombinácii s regulárnymi výrazmi. Výsledná skupina slov sa nazýva „kúsky“. Hovorí sa mu aj plytká analýza.

Pri plytkej analýze je medzi koreňmi a listami maximálne jedna úroveň, zatiaľ čo hlboká analýza pozostáva z viac ako jednej úrovne. Plytká syntaktická analýza sa nazýva aj ľahká syntaktická analýza alebo chunking.

Pravidlá pre chunking:

Neexistujú žiadne vopred definované pravidlá, môžete ich však kombinovať podľa potreby a požiadavky.

Napríklad je potrebné z vety označiť podstatné meno, sloveso (minulý čas), prídavné meno a koordinačný spoj. Môžete použiť pravidlo uvedené nižšie

časť: {*** ?}

Nasledujúca tabuľka ukazuje, čo jednotlivé symboly znamenajú:

Názov symbolu Popis
. Akýkoľvek znak okrem nového riadku
* Zhodte 0 alebo viac opakovaní
? Zhodte 0 alebo 1 opakovanie

Teraz napíšme kód, aby sme lepšie pochopili pravidlo

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)

Výkon

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

Záver z vyššie uvedeného príkladu Pythonu značkovania reči: „make“ je sloveso, ktoré nie je zahrnuté v pravidle, takže nie je označené ako mychunk.

Use Case of Chunking

Chunking sa používa na detekciu entít. Entita je tá časť vety, pomocou ktorej stroj získa hodnotu pre akýkoľvek úmysel

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

Inými slovami, chunking sa používa ako výber podmnožín tokenov. Postupujte podľa nasledujúceho kódu, aby ste pochopili, ako sa chunking používa na výber tokenov. V tomto príklade uvidíte graf, ktorý bude zodpovedať množstvu podstatnej frázy. Pre lepšie pochopenie napíšeme kód a nakreslíme graf.

Kód na preukázanie prípadu použitia

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

Výstup :

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

Graf

Blokovanie podstatnej frázy Graf

Z grafu môžeme vyvodiť záver, že výrazy „learn“ a „guru99“ sú dva rôzne tokeny, ale sú kategorizované ako podstatná fráza, zatiaľ čo token „from“ nepatrí k podstatnej fráze.

Chunking sa používa na kategorizáciu rôznych tokenov do rovnakého chunku. Výsledok bude závisieť od vybranej gramatiky. Ďalej Chunking NLTK sa používa na označovanie vzorov a na skúmanie textových korpusov.

Zhrnutie

  • Označovanie POS v NLTK je proces označovania slov v textovom formáte pre konkrétnu časť reči na základe jej definície a kontextu.
  • Niektoré príklady označovania NLTK POS sú: CC, CD, EX, JJ, MD, NNP, PDT, PRP $, TO atď.
  • Značkovač POS sa používa na priradenie gramatických informácií ku každému slovu vety. Inštalácia, import a sťahovanie všetkých balíkov označovania časti reči pomocou NLTK je dokončené.
  • Chunking v NLP je proces, ktorý berie malé kúsky informácií a zoskupuje ich do veľkých jednotiek.
  • Neexistujú žiadne vopred definované pravidlá, môžete ich však kombinovať podľa potreby a požiadavky.
  • Chunking sa používa na detekciu entít. Entita je tá časť vety, pomocou ktorej stroj získa hodnotu pre akýkoľvek úmysel
  • Chunking sa používa na kategorizáciu rôznych tokenov do rovnakého chunku.