 Etiquetado de Partes del Discurso
Etiquetado de Partes del Discurso
Comprensión del etiquetado POS
Hemos mencionado que el etiquetado de partes del discurso es beneficioso para la lematización, que es su función principal en el preprocesamiento de texto, así que analicemos este proceso con más detalle.
El etiquetado de partes del discurso (POS) es el proceso de marcar una palabra en un texto (corpus) como correspondiente a una parte del discurso en particular (por ejemplo, sustantivo o verbo), basándose tanto en su definición como en su contexto, es decir, su relación con palabras adyacentes y relacionadas en una frase, oración o párrafo.
El uso de nombres completos de partes del discurso (por ejemplo, "verbo" o "sustantivo") puede volverse bastante engorroso, especialmente con un corpus grande. Por eso se utilizan representaciones cortas, conocidas como etiquetas. Por ejemplo, "VB" en lugar de verbo. Sin embargo, en la práctica, diferentes etiquetadores POS pueden usar etiquetas algo diferentes y etiquetas más detalladas como "VBD" para verbos en pasado.
Etiquetado de Partes del Discurso con NLTK
Para realizar el etiquetado de partes del discurso con NLTK, se debe importar la función pos_tag() directamente desde nltk y aplicarla a la lista de cadenas (tokens) pasándola como argumento.
123456789101112from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) print(tagged_tokens)
Esta función devuelve una lista de tuplas, cada una conteniendo un token y su etiqueta. La línea nltk.download('averaged_perceptron_tagger_eng') inicia la descarga del conjunto de datos y modelos necesarios para el PerceptronTagger, que es el etiquetador de partes del discurso predeterminado utilizado por NLTK.
Este etiquetador se basa en el modelo de perceptrón promediado, un algoritmo de aprendizaje supervisado eficaz para el procesamiento de texto a gran escala, incluyendo el etiquetado de partes del discurso (POS). El PerceptronTagger se elige por su equilibrio entre velocidad y precisión, lo que lo hace adecuado para una amplia gama de tareas de PLN que requieren etiquetado POS. Aprende los pesos de las características en función de los datos de entrenamiento proporcionados y utiliza estos pesos para predecir las etiquetas POS en textos no vistos.
Para una mejor representación visual, podemos convertir el resultado en un DataFrame de pandas:
1234567891011121314from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk import pandas as pd nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) # Convert to DataFrame print(pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']).T)
Alternativamente, podríamos usar pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) sin transponer el DataFrame, de modo que cada fila represente un par token-etiqueta.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 3.45 Etiquetado de Partes del Discurso
Etiquetado de Partes del Discurso
Desliza para mostrar el menú
Comprensión del etiquetado POS
Hemos mencionado que el etiquetado de partes del discurso es beneficioso para la lematización, que es su función principal en el preprocesamiento de texto, así que analicemos este proceso con más detalle.
El etiquetado de partes del discurso (POS) es el proceso de marcar una palabra en un texto (corpus) como correspondiente a una parte del discurso en particular (por ejemplo, sustantivo o verbo), basándose tanto en su definición como en su contexto, es decir, su relación con palabras adyacentes y relacionadas en una frase, oración o párrafo.
El uso de nombres completos de partes del discurso (por ejemplo, "verbo" o "sustantivo") puede volverse bastante engorroso, especialmente con un corpus grande. Por eso se utilizan representaciones cortas, conocidas como etiquetas. Por ejemplo, "VB" en lugar de verbo. Sin embargo, en la práctica, diferentes etiquetadores POS pueden usar etiquetas algo diferentes y etiquetas más detalladas como "VBD" para verbos en pasado.
Etiquetado de Partes del Discurso con NLTK
Para realizar el etiquetado de partes del discurso con NLTK, se debe importar la función pos_tag() directamente desde nltk y aplicarla a la lista de cadenas (tokens) pasándola como argumento.
123456789101112from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) print(tagged_tokens)
Esta función devuelve una lista de tuplas, cada una conteniendo un token y su etiqueta. La línea nltk.download('averaged_perceptron_tagger_eng') inicia la descarga del conjunto de datos y modelos necesarios para el PerceptronTagger, que es el etiquetador de partes del discurso predeterminado utilizado por NLTK.
Este etiquetador se basa en el modelo de perceptrón promediado, un algoritmo de aprendizaje supervisado eficaz para el procesamiento de texto a gran escala, incluyendo el etiquetado de partes del discurso (POS). El PerceptronTagger se elige por su equilibrio entre velocidad y precisión, lo que lo hace adecuado para una amplia gama de tareas de PLN que requieren etiquetado POS. Aprende los pesos de las características en función de los datos de entrenamiento proporcionados y utiliza estos pesos para predecir las etiquetas POS en textos no vistos.
Para una mejor representación visual, podemos convertir el resultado en un DataFrame de pandas:
1234567891011121314from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk import pandas as pd nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) # Convert to DataFrame print(pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']).T)
Alternativamente, podríamos usar pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) sin transponer el DataFrame, de modo que cada fila represente un par token-etiqueta.
¡Gracias por tus comentarios!