python - with - ¿Qué significa NN VBD IN DT NNS RB en NLTK?
nltk with python (3)
cuando particiono texto, obtengo muchos códigos en la salida como NN, VBD, IN, DT, NNS, RB
. ¿Hay una lista documentada en algún lugar que me diga el significado de estos? He intentado googlear nltk chunk code
nltk chunk grammar
nltk chunk tokens
.
Pero no puedo encontrar ninguna documentación que explique qué significan estos códigos.
A pesar de que los enlaces anteriores tienen todo tipo. Pero espero que esto todavía sea útil para alguien, agregaron algunos que se pierden en otros enlaces.
CC : conjunción coordinadora
CD : número cardinal
DT : determinante
EX : existencial hay
FW : palabra extranjera
EN : Preposición o conjunción subordinante.
JJ : Adjetivo
VP : Frase verbal
JJR : Adjetivo, comparativo
JJS : Adjetivo, superlativo.
LS : marcador de elemento de lista
MD : Modal
NN : Sustantivo, singular o masa.
NNS : Sustantivo, plural
PP : Frase de Preposición
NNP : nombre propio, frase singular
NNPS : Nombre propio, plural
PDT : pre determinante
POS : final posesivo
PRP : Frase del pronombre personal
PRP : Frase de pronombre posesivo
RB : Adverbio
RBR : Adverbio, comparativo
RBS : Adverbio, superlativo
RP : partícula
S : Cláusula declarativa simple
SBAR : Cláusula introducida por una conjunción subordinada (posiblemente vacía)
SBARQ : Pregunta directa introducida por una wh-word o una wh-frase.
SINV : oración declarativa invertida, es decir, una en la que el sujeto sigue el verbo tenso o modal.
SQ : Pregunta invertida de sí / no, o cláusula principal de una pregunta-wh, después de la frase wh en SBARQ.
SYM : Símbolo
VBD : Verbo, tiempo pasado
VBG : Verbo, gerundio o participio presente
VBN : verbo, participio pasado
VBP : Verbo, no-tercera persona singular presente
VBZ : Verbo, tercera persona singular presente
WDT : Wh-determiner
WP : wh-pronombre
WP : Posesivo wh-pronombre
WRB : wh-adverbio
Las etiquetas que ve no son el resultado de los fragmentos, sino el etiquetado de POS que se produce antes de la fragmentación. Es el conjunto de etiquetas Penn Treebank, vea https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html
>>> from nltk import word_tokenize, pos_tag, ne_chunk
>>> sent = "This is a Foo Bar sentence."
# POS tag.
>>> nltk.pos_tag(word_tokenize(sent))
[(''This'', ''DT''), (''is'', ''VBZ''), (''a'', ''DT''), (''Foo'', ''NNP''), (''Bar'', ''NNP''), (''sentence'', ''NN''), (''.'', ''.'')]
>>> tagged_sent = nltk.pos_tag(word_tokenize(sent))
# Chunk.
>>> ne_chunk(tagged_sent)
Tree(''S'', [(''This'', ''DT''), (''is'', ''VBZ''), (''a'', ''DT''), Tree(''ORGANIZATION'', [(''Foo'', ''NNP''), (''Bar'', ''NNP'')]), (''sentence'', ''NN''), (''.'', ''.'')])
Para obtener los fragmentos, busque subárboles dentro de los resultados fragmentados. De la salida anterior, el Tree(''ORGANIZATION'', [(''Foo'', ''NNP''), (''Bar'', ''NNP'')])
indica el fragmento.
Este sitio tutorial es bastante útil para explicar el proceso de fragmentación en NLTK: http://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/dongqing-chunking.pdf .
Para obtener documentación oficial, consulte http://www.nltk.org/howto/chunk.html
Según lo dicho por Alvas anteriormente, estas etiquetas son parte del discurso que indica si una palabra / frase es una frase Sustantiva, Adverbio, determinante, verbo, etc.
Aquí están los detalles de la etiqueta POS que puede consultar.
Chunking recovers the phrased from the Part of speech tags
Puede referirse a este link para leer acerca de fragmentación.