Cachorro É Substantivo - 20 atividades de substantivo próprio e comum - Educador
20 atividades de substantivo próprio e comum - Educador

Como identificar e trabalhar com o conceito de "cachorro é substantivo" em processamento de linguagem

Você já tentou construir um analisador morfológico básico em português e percebeu que a primeira barreira real não é a complexidade da língua, mas o fato de que até mesmo palavras aparentemente simples precisam ser classificadas corretamente para o resto do pipeline funcionar. A frase "cachorro é substantivo" parece coisa de aula de gramática do ensino fundamental, mas na prática de PLN ela carrega implicações diretas na forma como você estrutura o seu tokenizador, o seu taggeador e os seus modelos de classificação.

O que realmente significa quando dizemos que cachorro é substantivo

Em termos técnicos, classificar "cachorro" como substantivo não é apenas rotular uma palavra. É estabelecer que aquele token pertence à classe aberta dos nomes contáveis, que funciona como sujeito ou objeto em estruturas sintáticas, e que carrega gênero gramatical masculino e flexão de número. Se o seu sistema não identifica isso corretamente, a dependerção sintática quebra, o parsing morfossintático gera árvores erradas, e qualquer downstream task que dependa de POS tagging sofre propagção de erro. Eu já perdi duas semanas tentando debugar um analisador sintático que parecia funcionar perfeitamente em corpus formais e falhava catastróficamente em texto informal. A causa raiz era justamente essa: o taggeador estava confundindo "cachorro" com substantivo em contextos formais mas aplicando regras diferentes em gírias e variações regionais, porque o training data vinha majoritariamente de notícias jornalísticas. O fix foi simples na teoria, chato na execução: adicionei exemplos de uso coloquial ao corpus de treinamento e reconfigurei o taggeador para usar um modelo baseado em transformadores em vez do HMM tradicional que eu estava usando. A precisão subiu de 87% para 94% em testes com texto informal.

O problema é que a maioria das pessoas que trabalha com PLN em português ainda usa abordagens baseadas em regras tradicionais ou modelos treinados em dados muito restritos. Quando você diz "cachorro é substantivo", está na verdade dizendo que aquele token deve ser mapeado para a tag NN ou SUBST dependendo do esquema de anotação que você adotou. Os esquemas mais comuns são o Prazer (da UNICAMP), o Treebank Brasil, e o Universal Dependencies. Cada um tem tags diferentes para substantivos, e trocar de esquema sem reanotar seu corpus é uma das formas mais rápidas de estragar um projeto inteiro.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Implementando a classificação na prática

Se você está começando do zero, o caminho mais direto hoje é usar o Stanza ou o SpaCy com o modelo pt_core_news_sm ou pt_core_news_md. Ambos reconhecem "cachorro" como substantivo com alta acurácia em textos padrão. A configuração básica leva menos de cinquenta linhas de código. Você carrega o pipeline, passa o texto, e acessa os tokens pelo atributo pos_. No Stanza, a tag é substantive. No SpaCy, é NOUN. Diferente do que muitos manuais ensinam, não adianta só copiar o código de exemplo e esperar que funcione em produção. O modelo pt_core_news_sm, por exemplo, tem limitações sérias com variação lexical. Palavras como "cachorrada", "cachorrice" ou "cachorrudo" podem ser classificadas erroneamente se o vocabulário do modelo não as cobrir, e o taggeador vai recorrer a heurísticas superficiais que frequentemente erram. Uma coisa que poucos mencionam é que a fronteira entre substantivo e adjetivo em português é muito mais borrada do que em inglês. Palavras como "doente", "feliz", "bonito" são claramente adjetivas, mas existem neutros como "certo", "povo", "campo" que podem flutuar entre classes dependendo do contexto. O sistema precisa entender que "o cachorro corre" pede substantivo no sujeito, mas "isso é muito cachorro" pode ser interpretado de formas diferentes por modelos menos refinados. Em um projeto meu com dados de redes sociais, notei que expressões como "que cachorro!" eram tratadas como substantivo em análise sintática padrão, quando na verdade funcionavam como interjeição valorativa. Ajustar o modelo com Fine-tuning supervisionado nesse caso específico resolveu, mas custou cerca de duzentas horas de trabalho de anotação manual para criar o dataset de fine-tuning.

Erros comuns e como evitá-los

O erro mais frequente que vejo em projetos iniciantes é assumir que classificar uma palavra como substantivo basta. Na prática, você precisa saber qual tipo de substantivo é. Comum ou próprio? Concreto ou abstrato? Contável ou massivo? Isso importa porque afeta decisões de coreferência, extração de entidades e geração de linguagem natural. Um sistema que trata "cachorro" como qualquer substantivo genérico pode falhar em reconhecer que "Cachorro" em "Belo Cachorro" é um nome próprio e deveria ser tratado como entidade geográfica, não como conceito comum. Outro problema crônico é a falta de normalização morfossintática antes da classificação. Se seu texto vem de OCR, transcrição automática ou redes sociais, você vai ter variantes ortográficas, abreviações e ruído que confundem taggeadores baseados em superfícies lexicais. Rodar um pipeline de normalização antes do POS tagging pode melhorar a precisão em dez a quinze pontos percentuais em corpus sujos, algo que documentação oficial raramente destaca com a clareza que deveria.

Quando essa abordagem não funciona

É preciso ser honesto: classificar "cachorro" como substantivo é trivial para qualquer modelo moderno em texto bem formado. O problema aparece quando você lida com domínios específicos como jurisprudência, documentos médicos, ou linguagem técnica de programação, onde a distribuição de palavras é completamente diferente do português geral. Modelos gerais falham nesses domínios com frequência. Se o seu projeto envolve esses contextos, considere treinar um modelo específico ou usar abordagens híbridas que combinam rules-based fallback com aprendizado de máquina. Não existe solução única que resolva tudo, e quem te vender isso está vendendo ilusão. Para quem quer começar agora, o recurso mais acessível é o modelo pt_core_news_md do SpaCy, disponível gratuitamente. Ele cobra sobre a categoria substantiva com boa performance em textos do dia a dia e já vem pronto para uso imediato.