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

Coletando dados regionais do CAGED no Python

Os dados regionais do CAGED permitem analisar o mercado de trabalho de forma detalhada, em termos de setores, educação, rendimento e características pessoais dos trabalhadores brasileiros. Neste exercício mostramos como acessar estas informações online via Python.

Coletando dados de Setores Censitários do Censo 2022 no Python

Dados sobre a demografia e o território são primordiais para definir e implementar políticas públicas, áreas de atuação comercial e/ou estratégias de marketing. Sendo assim, saber usar os dados do Censo 2022 pode trazer vantagens competitivas. Neste exercício mostramos como obter os dados da Malha de Setores Censitários no formato vetorial (GeoJson) usando o Python.

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.