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:
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.