POS Tagging
POS Tagging (Parts of Speech Tagging) è un processo per contrassegnare le parole in formato testo per una particolare parte di un discorso basato sulla sua definizione e sul contesto. È responsabile della lettura del testo in una lingua e dell’assegnazione di alcuni token specifici (parti del discorso) ad ogni parola. È anche chiamato tagging grammaticale.
Impariamo con un esempio di NLTK Part of Speech:
Input: Tutto per permetterci.
Output:
Passi coinvolti nell’esempio di POS tagging:
- Tokenize text (word_tokenize)
- applica pos_tag al passo precedente che è nltk.pos_tag(tokenize_text)
NLTK POS Tags Examples are as Below:
Abbreviazione | Significato |
---|---|
CC | congiunzione coordinante |
CD | cifra cardinale |
DT | determinante |
EX | esistenziale ci |
FW | parola straniera |
IN | preposizione/congiunzione subordinante |
JJ | Questo tag POS NLTK è un aggettivo (grande) |
JJR | aggettivo, comparativo (più grande) |
JJS | aggettivo, superlativo (più grande) |
LS | lista mercato |
MD | modale (potrebbe, farà) |
NN | nome, singolare (gatto, albero) |
NNS | nome plurale (scrivanie) |
NNP | nome proprio, singolare (sarah) |
NNPS | nome proprio, plurale (indiani o americani) |
PDT | predeterminante (tutti, entrambi, metà) |
POS | finale possessivo (genitore ‘s) |
PRP | pronome personale (hers, se stessa, lui, se stesso) |
PRP$ | pronome possessivo (lei, suo, mio, nostro) |
RB | adverbio (occasionalmente, rapidamente) |
RBR | adverbio, comparativo (maggiore) |
RBS | adverbio, superlativo (più grande) |
RP | particella (circa) |
TO | infinito marcatore (a) |
UH | interiezione (addio) |
VB | verbo (chiedere) |
VBG | verbo gerundio (giudicare) |
VBD | verbo passato (supplicare) |
VBN | verbo participio passato (riunificare) |
VBP | verbo, presente non in 3a persona singolare (involucro) |
VBZ | verbo, presente con 3a persona singolare (basi) |
WDT | determinatore di cosa (che, cosa) |
WP | wh- pronome (chi) |
WRB | wh- avverbio (come) |
L’elenco di tag NLTK POS qui sopra contiene tutti i tag NLTK POS. NLTK POS tagger è usato per assegnare le informazioni grammaticali di ogni parola della frase. Installare, importare e scaricare tutti i pacchetti di POS NLTK è completo.
Cos’è il Chunking in NLP?
Chunking in NLP è un processo per prendere piccoli pezzi di informazione e raggrupparli in grandi unità. L’uso primario del Chunking è fare gruppi di “frasi sostantive”. Viene utilizzato per aggiungere struttura alla frase seguendo il POS tagging combinato con le espressioni regolari. Il gruppo di parole risultante è chiamato “chunks”. È anche chiamato parsing superficiale.
Nel parsing superficiale, c’è al massimo un livello tra radici e foglie mentre il parsing profondo comprende più di un livello. Il parsing superficiale è anche chiamato parsing leggero o chunking.
Regole per il chunking:
Non ci sono regole predefinite, ma è possibile combinarle secondo le necessità e i requisiti.
Per esempio, hai bisogno di taggare il nome, il verbo (passato), l’aggettivo e la giunzione di coordinazione dalla frase. Puoi usare la regola come segue
chunk:{<NN.?>*<VBD.?>*<JJ.?>*<CC>?}
La seguente tabella mostra il significato dei vari simboli:
Nome del simbolo | Descrizione |
---|---|
. | Qualsiasi carattere eccetto la nuova linea |
* | Risponde a 0 o più ripetizioni |
? | Risponde a 0 o 1 ripetizione |
Ora scriviamo il codice per capire meglio la regola
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))
La conclusione di questo esempio Python di etichettatura di parte del discorso: “make” è un verbo che non è incluso nella regola, quindi non è taggato come mychunk
Caso d’uso di Chunking
Chunking è usato per il rilevamento di entità. Un’entità è quella parte della frase da cui la macchina ottiene il valore per qualsiasi intenzione
Example: Temperature of New York. Here Temperature is the intention and New York is an entity.
In altre parole, il chunking è usato per selezionare i sottoinsiemi di token. Seguite il codice qui sotto per capire come il chunking è usato per selezionare i token. In questo esempio, vedrete il grafico che corrisponderà a un chunk di una frase sostantiva. Scriveremo il codice e disegneremo il grafico per una migliore comprensione.
Codice per dimostrare il caso d’uso
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
Output:
-- These are the tokens -- These are the pos_tag(S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking
Grafico
Grafico della frase sostantiva
Dal grafico, possiamo concludere che “learn” e “guru99” sono due token diversi ma sono classificati come frase sostantiva mentre il token “from” non appartiene alla frase sostantiva.
Chunking è usato per categorizzare diversi token nello stesso chunk. Il risultato dipenderà dalla grammatica che è stata selezionata. Ulteriore Chunking NLTK è usato per etichettare i modelli e per esplorare i corpora di testo.
Sommario
- Il POS Tagging in NLTK è un processo per marcare le parole in formato testo per una particolare parte del discorso basata sulla sua definizione e sul contesto.
- Alcuni esempi di POS tagging in NLTK sono: CC, CD, EX, JJ, MD, NNP, PDT, PRP$, TO, ecc.
- Il POS tagger è usato per assegnare informazioni grammaticali di ogni parola della frase. Installare, importare e scaricare tutti i pacchetti di Part of Speech tagging con NLTK è completo.
- Chunking in NLP è un processo per prendere piccoli pezzi di informazione e raggrupparli in grandi unità.
- Non ci sono regole predefinite, ma è possibile combinarle secondo il bisogno e l’esigenza.
- Chunking è usato per il rilevamento di entità. Un’entità è quella parte della frase da cui la macchina ottiene il valore per qualsiasi intenzione
- Chunking è usato per categorizzare diversi token nello stesso chunk.