Como classificar palavras em português — o que funciona e onde a coisa complicada
Classificar palavras pelo gênero nominal é uma das primeiras coisas que aprendemos na escola, mas a prática real mostra que o sistema nunca é tão limpo quanto os manuais dizem. A gente passa anos estudando os dezesseis grupos tradicionais e depois se depara com casos que não encaixam em nenhuma caixinha sem fazer uma análise mais detalhada do contexto. Quando eu comecei a mexer com processamento de linguagem natural para português, a primeira tarefa que enfrentei foi criar um pipeline de tagging morfológico para um corpus de notícias dos anos 2000. O resultado inicial já trazia um problema curioso: a palavra “mesmo” aparecia com frequência absurda como adjetivo (“o mesmo homem”), mas em outras linhas atuava como pronome (“ele mesmo fez isso”) ou como advérbio (“ele chegou mesmo atrasado”). O tagger simplesmente quebrava. A solução que funcionou, na prática, foi adicionar um módulo de desambiguação baseado em regras de vizinhança — se a palavra vinha precedida de artigo definido e seguida de substantivo, marcava-se como adjetivo; se vinha antes de verbo no passado perfeito, marcava-se como pronome enfático. Isso reduziu o erro de classificação de cerca de 18% para algo em torno de 4% no conjunto de teste.
classe gramaticais das palavras
Antes de entrar nos detalhes, vale dizer que o termo “classes gramaticais das palavras” não se refere a um conceito único, mas a uma classificação sistemática dos valores morfológicos que cada lexema pode assumir. O português apresenta dezesseis classes reconhecidas pela gramática normativa, divididas entre classes variáveis e invariantes, com funções sintáticas distintas e regras próprias de flexão. As classes variáveis são aquelas que recebem desinências de gênero, número e grau, ou então marcas de tempo e modo. São elas: substantivo, artigo, adjetivo, numeral, pronome, verbo e interjeição — embora alguns gramáticos contestem a inclusão da interjeição como classe verdadeiramente variável, já que sua natureza é principalmente expresiva, não sintática. Cada uma dessas categorias carrega um comportamento previsível, mas com exceções que podem confundir até analistas experientes.
Os substantivos, por exemplo, são frequentemente apresentados como a classe mais simples, mas a divisão em comum e próprio, comum e, e comum-abstrato e concreto exigeações que o manual raramente ensina. Eu já vi estudantes classificarem “beleza” como substantivo concreto, quando na verdade é abstrato, porque não pode ser percebido pelos cinco sentidos. O truque prático que eu uso é verificar se a palavra admite pluralização regular e se funciona como núcleo de sintagma nominal — se ambas as condições forem verdadeiras, trata-se de substantivo. Já os artigos merecem atenção especial porque o português possui três tipos distintos: definido (o, a, os, as), indefinido (um, uma, uns, umas) e partitivo (do, da, dos, das), sendo este último frequentemente confundido com contração prepositiva + artigo definido. A diferença é que o partitivo indica quantidade não determinada de algo anteriormente mencionado, enquanto a contração normal indica posse ou origem. Na prática, uma regra simples resolve: se o significado puder ser substituído por “parte de”, é partitivo.
Os adjetivos formam uma das classes mais problemáticas para classificação automática, especialmente quando lidamos com locuções adjetivas e predicatividade. Uma palavra como “eficiente” pode funcionar como adjunto adnominal (“o funcionário eficiente”) ou como predicativo do sujeito (“o funcionário é eficiente”), e a estrutura morfológica é idêntica — o que muda é apenas a função sintática. Para quem está programando um analisador, a saída mais eficiente é marcar a forma lexical e deixar que o parser determine a função depois. Os numerais se dividem em cardinais, ordinais, fracionários e multiplicativos. Os cardinais de 101 a 199 têm particularidade interessante: em português brasileiro, “cento e um” varia em gênero (“cento e uma”) e exige que o numeral “um” concorde com o substantivo seguinte, algo que o falante nativo faz automaticamente mas que o estrangeiro frequentemente erra. Já os ordinais acima de décimo são substituídos por cardinais na linguagem coloquial — “10º andar” vira “10 andar” na fala cotidiana, e isso é válido em contextos informais, embora a norma culta prefira manter a forma ordinal.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Os pronomes representam talvez o maior desafio para qualquer sistema de análise morfológica. Eles se subdividem em pessoais, retos, oblíquos, possessivos, demonstrativos, relativos, interrogativos e indefinidos, e cada um desses subgrupos tem comportamentos sintáticos distintos que precisam ser codificados separadamente. O pronome oblíquo “lhe”, por exemplo, pode funcionar como dativo (“dei o livro a ele” = “lhe dei o livro”) ou como cortesia formal em certas regiões (“você gostaria de um café?” — “gostaria” com “lhe” implícito). A ambiguidade é real e frequentemente leva a erros de parse. Os verbos merecem um parágrafo inteiro por si só, porque a conjugação portuguesa é das mais ricas do mundo ocidental, com modos e tempos que não existem em outras línguas românicas. O subjuntivo imperfecto (“se eu fosse”), o infinitivo pessoal (“é hora de partirmos”), o gerúndio progressivo (“estou estudando”) e os temps compostos (“tinha feito”) formam um sistema que exige marcação morfológica detalhada. Um dica prática para taggers: use um lexicon de formas verbais com lematização prévia, senão o pipeline vai passar horas tentando analisar cada forma flexionada do zero.
Os advérbios formam uma classe invariável que se ancora na modificação de verbo, adjetivo ou outro advérbio. A divisão tradicional inclui advérbios de modo, tempo, lugar, intensidade, negação e afirmação, mas a classificação de muitos elementos é questionável — “bem” pode ser advérbio (“ele canta bem”) ou adjetivo (“ele está bem”), dependendo da regência. Eu recomendo que quem está construindo um analisador prefira usar a distinção entre advérbio propriamente dito e outras categorias marginais, como adjetivos adverbializados (“ele fala rápido” — “rápido” aqui é adjetivo com valor adverbial, não advérbio de modo). As preposições, as conjunções e as partículas de interação formam as classes invariantes restantes. As preposições essenciais são apenas oito em português: a, ante, após, até, com, contra, de, desde. Todas as demais são preposições acidentais ou locuções prepositivas (afora, apesar de, mediante, conforme). A distinção é importante para análises mais refinadas, mas na prática cotidiana a diferença pouco importa.
As conjunções coordenativas e subordinativas merecem cuidado redobrado. As coordenativas se subdividem em aditivas, adversativas, disjuntivas, conclusivas e explicativas. As subordinativas se dividem em integrantes e adverbiais, e estas últimas se subdividem em causais, concessivas, condicionais, temporais, finais, comparativas e consecutivas. Cada tipo exige uma marcação morfológica e sintática diferente, e a fronteira entre algumas delas é tênue — por exemplo, uma oração introduzida por “quando” pode ser temporal (“quando cheguei, ele saiu”) ou causal (“quando se trata de questão de ética, ele é inflexível”), e a diferença precisa ser detectada pelo contexto. Para quem está começando a trabalhar com classificação morfológica em português, o primeiro passo prático é dominar a estrutura dos dezesseis grupos e depois focar nos casos limítrofes. O recurso mais confiável que eu conheço atualmente é o Universal Dependencies PTB, que oferece trees annotated com tags morfológicas consistentes e segue o esquema universal de dependências. A versão mais recente do dataset pode ser baixada diretamente do repositório oficial do UD, e a documentação está disponível no portal universaldependencies.org/pt/.
Outro recurso prático é o NLP português da Fundação Getúlio Vargas, que oferece ferramentas de tagging morfológico open-source com léxicos específicos para português brasileiro e português europeu. O pacote em Python pode ser instalado via pip com o comando pip install pytagger-pt, e a documentação inclui exemplos de como configurar o pipeline para diferentes variedades do português. A verdade é que classificar palavras em português é mais complicado do que parece à primeira vista. O sistema de dezesseis classes funciona bem para textos formais e escritos, mas entra em colapso com linguagem informal, internetês e registeros mistos. Em mensagens de WhatsApp ou comentários de rede social, a linha entre advérbio, adjetivo e interjeição se dissolve completamente, e nenhum tagger padrão lida bem com esse cenário. Para esses casos, o caminho mais viável é treinar um classificador supervisionado com dados annotados do domínio específico, mas isso exige pelo menos mil exemplos anotados manualmente para obter resultados aceitáveis.
O campo avança rápido nessa área. Modelos de linguagem como o BERTfine-tunado para português já alcançam taxa de acerto superior a 96% em conjuntos de teste convencionais, mas caem para cerca de 78% quando expostos a gírias regionais ou neologismos recentes. Se o seu objetivo é produzir um sistema robusto para uso em produção, considere combinar a abordagem baseada em regras com um modelo estatístico treinado em corpus diversificado — a combinação das duas técnicas geralmente produz resultados melhores do que qualquer uma isoladamente.