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
Quizzes & Challenges
Quizzes
Challenges
/
Introdução ao PLN com Python

bookMarcação de Classe Gramatical

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

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

Marcação de parte do discurso (POS) é o processo de identificar uma palavra em um texto (corpus) como pertencente a uma determinada parte do discurso (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 de nomes completos das partes do discurso (por exemplo, "verbo" ou "substantivo") pode se tornar bastante trabalhoso, especialmente com grandes corpora. Por isso, representações abreviadas, conhecidas como tags, são utilizadas. Por exemplo, "VB" em vez de verbo. Na prática, porém, diferentes marcadores 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 à 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 classes gramaticais (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 classes gramaticais em textos não vistos.

Para melhor representação visual, podemos 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, pode-se 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 parte do discurso (POS) 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)

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

Marcação de parte do discurso (POS) é o processo de identificar uma palavra em um texto (corpus) como pertencente a uma determinada parte do discurso (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 de nomes completos das partes do discurso (por exemplo, "verbo" ou "substantivo") pode se tornar bastante trabalhoso, especialmente com grandes corpora. Por isso, representações abreviadas, conhecidas como tags, são utilizadas. Por exemplo, "VB" em vez de verbo. Na prática, porém, diferentes marcadores 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 à 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 classes gramaticais (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 classes gramaticais em textos não vistos.

Para melhor representação visual, podemos 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, pode-se 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 parte do discurso (POS) 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