es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué NLTK etiqueta “there” como “Determiner” cuando se utiliza el conjunto de etiquetas universales?

Al utilizar el conjunto de etiquetas universal con NLTK, identifica “there” como un determinante, pero eso no tiene sentido. Por ejemplo,

import nltk 
from nltk import word_tokenize

sentence = 'If there is a cat under the table' 
tokens = word_tokenize(sentence) 
tags = nltk.pos_tag(tokens, tagset='universal')

La salida es:

[('If', 'ADP'), ('there', 'DET'), ('is', 'VERB'), ('a', 'DET'), ('cat', 'NOUN'), ('under', 'ADP'), ('the', 'DET'), ('table', 'NOUN')]

La segunda palabra es “there”, y está etiquetada como un ‘DET’, pero debería ser simplemente un pronombre. ¿Es un problema del etiquetador POS de NLTK o es que estoy malinterpretando la etiqueta?

(Nota: si utilizamos el conjunto de etiquetas predeterminado, identifica correctamente “there” como un “there existencial”, o “EX”).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    No necesariamente es un problema con el etiquetador POS de NLTK, sino más bien una diferencia en la interpretación del conjunto de etiquetas universales. En el conjunto de etiquetas universales, “there” se considera un determinante cuando se utiliza en el contexto de “there is/are” como una construcción existencial. Esto puede ser confuso cuando “there” se usa como pronombre en otros contextos, como en el ejemplo dado.

    Por lo tanto, en este caso, puede ser más apropiado utilizar el conjunto de etiquetas predeterminado, que tiene un conjunto de etiquetas más detallado que puede distinguir mejor entre los diferentes usos de “there”. Alternativamente, podrías modificar manualmente la salida de etiquetado para reflejar la etiqueta POS correcta para “there” según el contexto en el que se esté utilizando.

Comments are closed.