POS címkézés NLTK-val és darabolás az NLP-ben (PÉLDÁK)

Tartalomjegyzék:

Anonim

POS címkézés

A POS-címkézés (a beszédcímkézés részei) egy olyan folyamat, amelynek során a szavakat szöveges formátumban jelöljük meg a beszéd egy bizonyos részén annak definíciója és kontextusa alapján. Felelős azért, hogy egy nyelven olvassa a szöveget, és minden egyes szóhoz hozzárendeljen egy speciális tokent (Beszédrészek). Nyelvtani címkézésnek is nevezik.

Tanuljunk egy NLTK beszédrész példával:

Input: Minden, ami lehetővé teszi számunkra.

Kimenet : [('Minden', NN), ('ide', TO), ('engedély', VB), ('mi', PRP)]

A POS címkézési példában szereplő lépések:

  • Tokenize szöveg (word_tokenize)
  • alkalmazza a pos_tag elemet a fenti lépésre, amely nltk.pos_tag (tokenize_text)

Az NLTK POS címkék példái az alábbiak:

Rövidítés Jelentése
CC koordináló kötőszó
CD kardinális számjegy
DT meghatározó
VOLT egzisztenciális ott
FW idegen szó
BAN BEN elöljárószó / alárendelő kötőszó
JJ Ez az NLTK POS tag egy melléknév (nagy)
JJR melléknév, összehasonlító (nagyobb)
JJS melléknév, felsőbbség (legnagyobb)
LS listapiac
MD modális (lehet, akarat)
NN főnév, egyes szám (macska, fa)
NNS többes számú főnév (desks)
NNP tulajdonnév, egyes szám (sarah)
NNPS többes számú főnév (indiánok vagy amerikaiak)
PDT előre meghatározó (mind, mindkettő, fele)
pozíció birtokos végződés (szülő)
PRP személyes névmás (övé, ő maga, ő, maga)
PRP $ birtokos névmás (ő, övé, enyém, én, mi)
RB határozószó (alkalmanként, gyorsan)
RBR határozószó, összehasonlító (nagyobb)
RBS határozószó, felsőbbség (legnagyobb)
RP részecske (kb.)
NAK NEK végtelen jelző (ig)
UH közbeszólás (viszlát)
VB ige (kérni)
VBG ige gerund (ítélkezve)
VBD ige múlt idő (könyörgött)
VBN ige múlt tagjel (egyesült)
VBP ige, jelen idejű, nem egyes személy 3. személy (burkolás)
VBZ ige, jelen idejű, egyes szám 3. személy (alapok)
WDT wh-meghatározó (ez, mi)
WP wh- névmás (ki)
WRB wh- határozószó (hogyan)

A fenti NLTK POS címkék listája tartalmazza az összes NLTK POS címkét. Az NLTK POS tagger segítségével a mondat egyes szavaihoz grammatikai információkat rendelünk. A POS NLTK összes csomagjának telepítése, importálása és letöltése befejeződött.

Mi a Chunking az NLP-ben?

Az NLP-ben való darabolás olyan folyamat, amely apró információkat gyűjt és nagy egységekbe csoportosítja őket. A Chunking elsődleges felhasználása a "főnévi kifejezések" csoportjainak létrehozása. Arra szolgál, hogy struktúrát adjon a mondathoz a POS címkézés követésével a reguláris kifejezésekkel. A kapott szavak csoportját "daraboknak" nevezzük. Sekély elemzésnek is nevezik.

A sekély elemzés során a gyökerek és a levelek között legfeljebb egy szint lehet, míg a mély elemzés egynél több szintet tartalmaz. A sekély elemzést könnyű elemzésnek vagy darabolásnak is nevezik.

A darabolás szabályai:

Nincsenek előre definiált szabályok, de az igény és az igény szerint kombinálhatja őket.

Például meg kell jelölnie a mondatból a főnév, az ige (múlt idő), a melléknevet és a koordináló csomópontot. Használhatja a szabályt az alábbiak szerint

darab: {*** ?}

Az alábbi táblázat bemutatja, mit jelent a különféle szimbólum:

A szimbólum neve Leírás
. Bármely karakter, kivéve az új sort
* 0 vagy több ismétlés egyeztetése
? 0 vagy 1 ismétlés egyeztetése

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:{***?}"""chunker = RegexpParser(patterns)print("After Regex:",chunker)output = chunker.parse(tokens_tag)print("After Chunking",output)

Kimenet

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

A Beszédcímkézés Python fenti részének következtetése: a "make" egy ige, amely nem szerepel a szabályban, ezért nincs címkézve mychunkként

Chunking esete

A darabolás az entitás felismerésére szolgál. Az entitás a mondatnak az a része, amely által a gép megkapja bármilyen szándék értékét

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

Más szavakkal, a tömbölést használják a tokenek részhalmazainak kiválasztására. Kövesse az alábbi kódot annak megértéséhez, hogy a darabolás miként használható a tokenek kiválasztásához. Ebben a példában azt a grafikont fogja látni, amely egy főnévi mondat darabjá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: {
?*}"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 :

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

Grafikon

Főnév Phrase chunking Graph

A grafikonból arra következtethetünk, hogy a "tanulni" és a "guru99" két különböző token, de a főnév kifejezés kategóriába vannak besorolva, míg a "tól" jelző nem tartozik a főnév kifejezéshez.

A darabolással a különböző tokenek ugyanabba a darabba kategorizálhatók. Az eredmény a kiválasztott nyelvtantól függ. A további Chunking NLTK a minták címkézésére és a szöveges korpuszok feltárására szolgál.

Összegzés

  • A POS-címkézés az NLTK-ban olyan folyamat, amelynek során a szavakat szöveges formátumban jelöljük meg a beszéd egy bizonyos részén annak definíciója és kontextusa alapján.
  • Néhány NLTK POS címkézési példa: CC, CD, EX, JJ, MD, NNP, PDT, PRP $, TO stb.
  • A POS tagger segítségével a mondat egyes szavaihoz grammatikai információkat rendelünk. A Part of Speech tagging NLTK-val összes csomagjának telepítése, importálása és letöltése befejeződött.
  • Az NLP-ben való darabolás olyan folyamat, amely apró információkat gyűjt és nagy egységekbe csoportosítja őket.
  • Nincsenek előre definiált szabályok, de az igény és az igény szerint kombinálhatja őket.
  • A darabolás az entitás felismerésére szolgál. Az entitás a mondatnak az a része, amely által a gép megkapja bármilyen szándék értékét
  • A darabolással a különböző tokenek ugyanabba a darabba kategorizálhatók.