Introdução a pré-processamento de dados textuais para mineração de textos

Já exploramos as capacidades da mineração de textos e vimos que existem muitos dados para serem analisados por aí. Agora você deve estar se perguntando, mas como começar?

Como a maioria das aplicações de ciência de dados, o caminho entre o problema e a solução não costuma ser direto, rápido ou fácil. Na mineração de textos não é diferente, precisamos tornar os nossos dados “analisáveis” e isso nos leva aos procedimentos de pré-processamento, que são vários.

De tokens até stop words, passando por procedimentos de stemming e lemmatizing, dentre outros, neste artigo introduzimos as principais técnicas e conceitos de mineração de textos, preparando os dados para a análise.

O que é pré-processamento de dados textuais?

O pré-processamento de dados na mineração de textos são rotinas de tratamento de dados, onde o objetivo é transformar os dados brutos (textos, arquivos, etc.) em uma representação analítica, ou seja, em um formato vetorial e/ou tabular. Estes pré-processamentos costumam envolver, dentre outros:

  • Tokenização do texto
  • Remoção de stop words
  • Remoção de números
  • Remoção de pontuações
  • Stemização
  • Lematização

Estes procedimentos costumam ser feitos via linguagem de programação, o que possibilita a automatização e escalabilidade do processo.

O que é tokenização?

“Tokenizar” significa separar um texto de modo a obter unidades do texto, ou seja, um token, para análise posteior. Um token geralmente é uma palavra, mas pode ser um conjunto de palavras, uma sentença, um parágrafo, etc. Esse processo é chamado de tokenização e facilita a análise dos dados, se o objetivo for contar, filtrar, categorizar ou agrupar tokens.

Para ilustrar, na frase abaixo os tokens são diferenciados por cores:

O que são stop words?

As chamadas stop words são palavras consideradas irrelevantes para a análise dos dados textuais, devido ao fato de não carregarem emoção, ou valor semântico ou não alterarem o sentido/essência do texto ao serem removidas.

Geralmente são definidas em uma lista de stop words as seguintes classes de palavras auxiliares:

  • Conjunções
  • Preprosições
  • Pronomes
  • Artigos
  • Advérbios

Para ilustrar, na frase abaixo as stop words são destacadas em azul:

Outros caracteres também costumam ser removidos, como: números, pontuações, caracteres especiais, etc.

O que é stemming?

Stemming, ou normalização morfológica, é o processo de eliminar variações morfológicas de uma palavra, visando reduzir as palavras ao seu radical/raiz. Assim, elimina-se os prefixos e sufixos, além de outras variações que podem estar presentes, como de gênero, número e grau.

Para ilustrar, na frase abaixo o radical das palavras, após o processo de stemming, são destacados em azul:

O que é lemmatizing?

Lemmatizing é o processo de transformar um token no lema correspondente da palavra, ou seja, na forma em que as variações de uma palavra são escritas no dicionário. O resultado do procedimento é um token que existe na gramática.

Para ilustrar, na frase abaixo o lema de cada token, após o processo de lemmatizing, é destacado em azul:

Exemplo completo em Python

Agora vamos aplicar estas técnicas de pré-processamento em dados textuais reais. Aqui vamos exemplificar com o texto da ata 264 do COPOM (BCB).

Primeiro, coletamos os dados:

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

nroReuniao dataReferencia dataPublicacao titulo urlPdfAta textoAta
264 264 2024-07-31 2024-08-06 264ª Reunião - 30-31 julho, 2024 https://www.bcb.gov.br/content/copom/atascopom... <div id="atacompleta"><div id="ataconteudo"><h...

Em seguida, aplicamos alguns tratamentos no texto para remover tags HTML e caracteres indesejados (pontuações, números, etc.). Este procedimento pode variar conforme a natureza e características do texto.

'a atualização da conjuntura econômica e do cenário do copom o ambiente externo mantémse adverso em f'

Com o texto pronto, aplicamos a tokenização:

['a',

 'atualização',
 'da',
 'conjuntura',
 'econômica',
 'e',
 'do',
 'cenário',
 'do',
 'copom']

Agora podemos remover as stop words da lista de tokens:

['atualização',

 'conjuntura',
 'econômica',
 'cenário',
 'copom',
 'ambiente',
 'externo',
 'mantémse',
 'adverso',
 'função']

Em seguida, demonstramos como aplicar o processo de stemming:

['atual',

 'conjunt',
 'econôm',
 'cen',
 'copom',
 'ambi',
 'extern',
 'mantéms',
 'advers',
 'funç']

Por fim, mostramos como aplicar o procedimento de lemmatizing:

['o',

 ')',
 'atualização',
 'de o',
 'conjuntura',
 'econômico',
 'e',
 'de o',
 'cenário',
 'de o']

Conclusão

De tokens até stop words, passando por procedimentos de stemming e lemmatizing, dentre outros, neste artigo introduzimos as principais técnicas e conceitos de mineração de textos, preparando os dados para a análise.

Tenha acesso ao código e suporte desse e de mais 500 exercícios no Clube AM!

Quer o código desse e de mais de 500 exercícios de análise de dados com ideias validadas por nossos especialistas em problemas reais de análise de dados do seu dia a dia? Além de acesso a vídeos, materiais extras e todo o suporte necessário para você reproduzir esses exercícios? Então, fale com a gente no Whatsapp e veja como fazer parte do Clube AM, clicando aqui.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise de Criptomoedas com Python

Aprenda a estruturar um pipeline de dados financeiros com Python. Ensinamos a construção de um dashboard automatizado para coleta, tratamento e visualização de criptomoedas via API.

Como Construir um Monitor de Política Monetária Automatizado com Python?

Descubra como transformar dados do Banco Central em inteligência de mercado com um Monitor de Política Monetária Automatizado. Neste artigo, exploramos o desenvolvimento de uma solução híbrida (Python + R) que integra análise de sentimento das atas do COPOM, cálculo da Regra de Taylor e monitoramento da taxa Selic. Aprenda a estruturar pipelines ETL eficientes e a visualizar insights econômicos em tempo real através de um dashboard interativo criado com Shiny, elevando o nível das suas decisões de investimento.

Qual o efeito de um choque de juros sobre a inadimplência?

Neste exercício, exploramos a relação dinâmica entre o custo do crédito (juros na ponta) e o risco realizado (taxa de inadimplência) através de uma análise exploratória de dados e modelagem econométrica utilizando a linguagem de programação R.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.