O que são palavras intrusas e por que elas estragam seus dados
A gente chama de "palavras intrusas" os tokens, sequências ou termos que aparecem num texto e não pertencem ao domínio que você está processando. Pode ser um resíduo de formatação, uma tag HTML mal removida, um caracter de controle, um dicionário de spam se infiltrando num corpus limpo, ou até uma palavra de outro idioma que foi parar onde não deveria. O conceito é simples na teoria, mas na prática aparece em todo lugar quando você menos espera.
Como identificar o que são palavras intrusas no seu pipeline
O problema começa quando você acha que seu texto está "limpo" e não está. Eu trabalhava num projeto de NER para o português brasileiro e estávamos processando textos extraídos de PDFs governamentais antigos. O pipeline viajava bem até começar a aparecer entidades estranhas — "Artigo", "Parágrafo", " inciso" aparecendo como nomes próprios. Depois de um dia quebrando a cabeça, descobri que o texto vinha com marcações de formatação do Word Original (campo CHARFORMATTING) que o parser simplesmente havia transformado em palavras normais. O que pareciam ser palavras intrusas na verdade eram artefatos de OCR combinados com a conversão de tabelas em texto corrido. Se você quer uma checklist prática para caçar essas coisas, o caminho é:
Primeiro, extraia um amostra grande e analise a frequência dos tokens. Palavras intrusas normalmente têm distribuições estranhas — aparecem com frequência surpreendentemente alta em certos contextos e zero em outros, ou aparecem apenas em documentos de uma fonte específica dentro do seu corpus misto. Segundo, olhe para o comprimento. Tokens de um caractere só (exceto artigos e preposições do idioma alvo) muitas vezes são ruído. Terceiro, compare contra um dicionário de referência do seu domínio e marque o que não encaixa. Uma coisa que ninguém conta: palavras intrusas não são sempre um problema de limpeza. Às vezes elas são um sinal de que você tem fontes mistas no seu corpus e não percebeu. No projeto que citei, a solução não foi remover as palavras — foi separar os documentos por fonte e tratar cada grupo com regras diferentes. Isso reduziu o "ruído" em cerca de 73% sem precisar de nenhuma regex sofisticada.
Métodos práticos de remoção
O método mais direto é construir uma lista negra personalizada baseada no seu domínio. Para português, você pode começar com uma base de.stopwords padrão e expandir com termos específicos de formatação como "www.", "http", "https", "[", "]", "seção", "capítulo" quando aparecerem fora do contexto esperado. A vantagem é que você tem controle total. A desvantagem é que manutenção dessa lista vira um trabalho de formiguinha se o corpus crescer. Uma abordagem mais automatizada usa modelos estatísticos. Você treina um classificador simples — um TF-IDF com SVM ou um modelo de linguagem baseado em n-grams — para distinguir tokens legítimos do domínio de tokens intrusos. Isso funciona bem quando você tem um corpus de referência limpo para treinar. Com uns 10 mil documentos anotados, um modelo rápido consegue chegar a cerca de 94% de precisão na identificação, segundo minha experiência com dados similares.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Para casos onde as palavras intrusas vêm de fontes específicas conhecidas, o filtro por metadados é muito mais eficiente que qualquer processamento de texto. Se você sabe que certo arquivo vem de um scanner ruim ou de uma API específica que injeta metadata no corpo do texto, basta descartar ou tratar esse arquivo como um grupo à parte antes mesmo de processá-lo. Eu perdia horas tentando limpar texto que nunca deveria ter entrado no pipeline.
Parmetros que voc deve ajustar
Se voc estiver usando uma biblioteca como NLTK, SpaCy ou transformers, a maioria das ferramentas de limpeza j vem com parmetros configurveis. O problema que os valores padro so genricos demais para a maior parte dos casos reais. Por exemplo, o remover de stopwords do SpaCy para portugus no inclui termos como "PDF", "Scan", "Digitalizado" que aparecem constantemente em documentos institutionalizados. Ajustar isso leva menos de 5 minutos e evita problemas posteriores. Outro ponto importante: defina um limiar de tolerncia. Nem toda palavra que no est no dicionrio intrusa. Termos novos, neologismos, nomes prprios de pessoas e lugares especficos vo aparecer. Se voc for muito agressivo na remoo, comea a perder informao legtima junto com o rudo. Minha regra prtica manter tudo que aparece mais de 3 vezes no corpus e que no esteja em pelo menos uma lista de rudo conhecida, e descartar o resto aps reviso manual de uma amostra.
Dica de depurao: logue o que sobra
Antes de rodar qualquer limpeza em larga escala, faa um log detalhado do que est sendo removido e do que est sendo mantido. Salve os tokens removidos em um arquivo com contagem de frequncia. Depois de rodar o primeiro batch, abra esse arquivo e voc provavelmente vai achar padres que no estavam na sua lista inicial. No meu ltimo projeto, essa prtica revelou que cerca de 12% dos "tokens intrusos" eram na verdade abreviaes tcnicas do setor de infraestrutura que nosso dicionrio no cobria. Ajustamos e ganhamos preciso sem perda de cobertura.
Quando a abordagem falha
Nenhum mtodo de remoo de palavras intrusas perfeito. Os principais pontos de falha so: corpus com mistura de registro (formal e informal juntos), domnios muito especficos com vocabulrio prprio, e textos com intencionalidade estilstica (publicidade, literatura, redes sociais) onde o "rudo" faz parte do contedo. Nesses casos, em vez de remover, voc precisa segmentar e tratar grupos diferentes com modelos diferentes. Tentar aplicar uma limpeza uniforme nesse cenrio resulta em perda de informao real e vis nos dados resultantes. A soluo mais honesta, quando o problema grande o suficiente, investir em anotao manual de uma amostra representativa e treinar um modelo supervisionado. Pede mais tempo inicial, mas escala muito melhor do que listas negras infinitas e revises manuais contnuas. Num projeto com 500 mil documentos, a diferena foi de duas semanas de tratamento manual para trs dias de processamento automtico aps o treino.