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

Técnicas de extração de informação com text mining

Como quantificar sobre o que se trata um texto? Que tipo de informação podemos obter a partir destes dados? Como identificar a relevância das palavras? Neste artigo exploramos técnicas estatísticas de frequência de tokens para extrair informação de dados textuais.

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.