Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Marcação de Classe Gramatical | Stemming e Lematização
Introdução ao PLN

bookMarcação de Classe Gramatical

Compreendendo a Marcação de Partes do Discurso (POS Tagging)

Mencionamos que a marcação de partes do discurso é benéfica para a lematização, sendo essa sua principal função no pré-processamento de texto. Portanto, vamos discutir esse processo em mais detalhes.

Note
Definição

A marcação de partes do discurso (POS tagging) é o processo de identificar uma palavra em um texto (corpus) como pertencente a uma determinada classe gramatical (por exemplo, substantivo ou verbo), com base tanto em sua definição quanto em seu contexto — ou seja, sua relação com palavras adjacentes e relacionadas em uma frase, sentença ou parágrafo.

O uso dos nomes completos das classes gramaticais (por exemplo, "verbo" ou "substantivo") pode se tornar bastante trabalhoso, especialmente com grandes corpora. Por isso, utiliza-se representações abreviadas, conhecidas como tags. Por exemplo, "VB" em vez de verbo. Na prática, porém, diferentes marcadores de POS podem usar tags um pouco diferentes e mais detalhadas, como "VBD" para verbos no passado.

Etiquetagem de POS com NLTK

Para realizar a etiquetagem de partes do discurso com o NLTK, é necessário importar a função pos_tag() diretamente do nltk e aplicá-la sobre a lista de strings (tokens), passando-a como argumento.

123456789101112
from 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)
copy

Esta função retorna uma lista de tuplas, cada uma contendo um token e sua respectiva etiqueta. A linha nltk.download('averaged_perceptron_tagger_eng') inicia o download do conjunto de dados e dos modelos necessários para o PerceptronTagger, que é o etiquetador de POS padrão utilizado pelo NLTK.

Note
Estude Mais

Este etiquetador é baseado no modelo perceptron médio, um algoritmo de aprendizado supervisionado eficaz para processamento de texto em larga escala, incluindo a marcação de partes do discurso (POS). O PerceptronTagger é escolhido por seu equilíbrio entre velocidade e precisão, tornando-o adequado para uma ampla variedade de tarefas de PLN que exigem marcação de POS. Ele aprende pesos para características com base nos dados de treinamento fornecidos e utiliza esses pesos para prever as etiquetas de POS em textos não vistos.

Para melhor representação visual, é possível converter o resultado em um DataFrame do pandas:

1234567891011121314
from 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)
copy

Alternativamente, poderíamos usar pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) sem transpor o DataFrame, de modo que cada linha represente um par token-etiqueta.

question mark

Qual é o objetivo da rotulação de classe gramatical (POS tagging) em PLN?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain what each POS tag means in the output?

How does POS tagging help with lemmatization?

What are some common POS tag sets used in NLP?

Awesome!

Completion rate improved to 3.45

bookMarcação de Classe Gramatical

Deslize para mostrar o menu

Compreendendo a Marcação de Partes do Discurso (POS Tagging)

Mencionamos que a marcação de partes do discurso é benéfica para a lematização, sendo essa sua principal função no pré-processamento de texto. Portanto, vamos discutir esse processo em mais detalhes.

Note
Definição

A marcação de partes do discurso (POS tagging) é o processo de identificar uma palavra em um texto (corpus) como pertencente a uma determinada classe gramatical (por exemplo, substantivo ou verbo), com base tanto em sua definição quanto em seu contexto — ou seja, sua relação com palavras adjacentes e relacionadas em uma frase, sentença ou parágrafo.

O uso dos nomes completos das classes gramaticais (por exemplo, "verbo" ou "substantivo") pode se tornar bastante trabalhoso, especialmente com grandes corpora. Por isso, utiliza-se representações abreviadas, conhecidas como tags. Por exemplo, "VB" em vez de verbo. Na prática, porém, diferentes marcadores de POS podem usar tags um pouco diferentes e mais detalhadas, como "VBD" para verbos no passado.

Etiquetagem de POS com NLTK

Para realizar a etiquetagem de partes do discurso com o NLTK, é necessário importar a função pos_tag() diretamente do nltk e aplicá-la sobre a lista de strings (tokens), passando-a como argumento.

123456789101112
from 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)
copy

Esta função retorna uma lista de tuplas, cada uma contendo um token e sua respectiva etiqueta. A linha nltk.download('averaged_perceptron_tagger_eng') inicia o download do conjunto de dados e dos modelos necessários para o PerceptronTagger, que é o etiquetador de POS padrão utilizado pelo NLTK.

Note
Estude Mais

Este etiquetador é baseado no modelo perceptron médio, um algoritmo de aprendizado supervisionado eficaz para processamento de texto em larga escala, incluindo a marcação de partes do discurso (POS). O PerceptronTagger é escolhido por seu equilíbrio entre velocidade e precisão, tornando-o adequado para uma ampla variedade de tarefas de PLN que exigem marcação de POS. Ele aprende pesos para características com base nos dados de treinamento fornecidos e utiliza esses pesos para prever as etiquetas de POS em textos não vistos.

Para melhor representação visual, é possível converter o resultado em um DataFrame do pandas:

1234567891011121314
from 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)
copy

Alternativamente, poderíamos usar pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) sem transpor o DataFrame, de modo que cada linha represente um par token-etiqueta.

question mark

Qual é o objetivo da rotulação de classe gramatical (POS tagging) em PLN?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5
some-alt