Pular para o conteúdo principal

Textacy: introdução à limpeza e normalização de dados de texto em Python

Descubra como o Textacy, uma biblioteca Python, simplifica o pré-processamento de dados de texto para machine learning. Conheça recursos exclusivos como normalização de caracteres e mascaramento de dados, e veja como ele se compara a outras bibliotecas como NLTK e spaCy.
Atualizado 17 de set. de 2026  · 5 min lido

Explorar com IA

ChatGPTClaudePerplexity

Este tutorial é uma valiosa contribuição da nossa comunidade e foi editado pela DataCamp para garantir clareza e precisão.

Quer compartilhar sua experiência? A gente quer te ouvir! Envie seus artigos ou ideias pelo nosso formulário de contribuição da comunidade.

Se você trabalha com dados, provavelmente já sabe a importância de construir um pipeline sólido de limpeza e preparação de dados em qualquer projeto de machine learning. Mas, quando o assunto é dado textual, essa etapa fica ainda mais crítica por causa dos desafios específicos desse tipo de dado. Ruído, erros de ortografia, abreviações, gírias e problemas gramaticais podem comprometer o desempenho dos modelos.

Para garantir que os dados textuais usados em modelos de machine learning sejam precisos, consistentes e livres de erros, um pipeline bem desenhado de limpeza e preparação é essencial. Normalmente, isso envolve tarefas como normalização de texto, tokenização, remoção de stopwords, stemming, lematização e mascaramento de dados.

Embora bibliotecas populares como NLTK, gensim e spaCy ofereçam uma ampla variedade de ferramentas para processamento e limpeza de texto, lidar com dados textuais ainda traz desafios únicos que podem afetar diretamente a performance dos modelos. Esses desafios vão desde normalização de caracteres até mascaramento de dados e muito mais. Embora seja possível resolver esses pontos com as bibliotecas acima, isso costuma exigir tempo e esforço consideráveis.

É aí que o Textacy brilha. O Textacy é uma biblioteca Python que oferece uma forma simples e prática de resolver uma série de problemas comuns ao trabalhar com dados textuais. Embora outras bibliotecas tenham funcionalidades parecidas, o foco do Textacy em questões específicas, como normalização de caracteres e mascaramento de dados, o destaca nesse contexto.

Normalização de caracteres com Textacy

A normalização de caracteres é o processo de converter textos para um formato padrão, algo especialmente importante quando lidamos com dados multilíngues.

Text = ‘ the cafe “Saint-Raphaël” is loca-/nted on Cote d’Azur.’

Caracteres acentuados são um problema comum na normalização de texto e podem impactar bastante a acurácia de modelos de machine learning.

Isso acontece porque as pessoas não usam acentos de forma consistente, o que gera inconsistências nos dados.

Por exemplo, os tokens "Saint-Raphaël" e "Saint-Raphael" podem se referir à mesma entidade, mas sem normalização eles não serão reconhecidos como idênticos. Além disso, textos costumam trazer palavras separadas por hífen, e apóstrofos como os do exemplo acima podem atrapalhar a tokenização. Para todos esses casos, faz sentido normalizar o texto e substituir acentos e caracteres especiais por equivalentes ASCII.

Vamos usar o Textacy para isso, já que ele tem uma boa coleção de funções pré-definidas para resolver o problema de maneira simples e eficiente. A tabela a seguir traz uma seleção das funções de pré-processamento do Textacy que funcionam de forma independente de outras bibliotecas.

Função

Descrição

normalize _hyphentated_words

Remonta palavras que foram separadas por uma quebra de linha

normalize_quotation_marks

Substitui vários tipos de aspas estilizadas por um equivalente ASCII

normalize_unicode

Unifica diferentes códigos de caracteres acentuados em Unicode

remove_accents

Substitui caracteres acentuados por ASCII

replace_emails

Substitui e-mails por __EMAIL__

replace_urls

Substitui URLs por __URL__

text = "The café "Saint-Raphaël" is loca-\nted on Cote dʼAzur."


import textacy
import textacy.preprocessing as tprep


def normalize(text):
   text = tprep.normalize_hyphenated_words(text)
   text = tprep.normalize_quotation_marks(text)
   text = tprep.normalize_unicode(text)
   text = tprep.remove_accents(text)
   return text

Usar a função normalize acima, baseada nas funções pré-definidas de pré-processamento do Textacy, ajuda a resolver o problema de normalização com mínimo esforço.

print(normalize(text)

Saída:

The cafe Saint-Raphael is located in Cote d' Azure

Mascaramento de dados com Textacy

Dados textuais geralmente contêm não só palavras comuns, mas também vários tipos de identificadores, como URLs, endereços de e-mail ou números de telefone. Às vezes, nosso interesse está justamente nesses itens. Em muitos casos, porém, é melhor remover ou mascarar essas informações, seja por irrelevância, seja por questões de privacidade.

O Textacy oferece funções de substituição bem práticas para mascaramento de dados, como mostrado na tabela acima. Essas funções já vêm prontas, o que facilita mascarar informações sensíveis ou irrelevantes sem precisar escrever expressões regulares personalizadas.

text = "Check out https://spacy.io/usage/spacy-101"print(replace_urls(text))

Saída:

Check out __URL__

Resumo

Neste artigo, mostramos como o Textacy pode simplificar o pré-processamento de dados textuais. Com seu conjunto de funções nativas, o Textacy facilita lidar com desafios comuns de pré-processamento, como normalização de caracteres e mascaramento de dados.

Ao agilizar o pré-processamento, o Textacy abre caminho para você focar nas partes mais complexas e desafiadoras do processamento de linguagem natural. Seja em análise de sentimento, modelagem de tópicos ou qualquer outra tarefa de NLP, o Textacy ajuda a deixar seus dados prontos para análise de forma rápida e eficiente.

Então, da próxima vez que você se deparar com um desafio de pré-processamento, considere usar o Textacy para simplificar seu fluxo de trabalho e economizar tempo e esforço.

Se este guia sobre o Textacy foi útil e você quer se aprofundar em pré-processamento de texto e processamento de linguagem natural, considere se inscrever no curso Natural Language Processing Fundamentals in Python da DataCamp.

Tópicos
Python
Aprendizado de máquina
Relacionado

Tutorial

Entendendo a classificação de textos em Python

Descubra o que é a classificação de texto, como ela funciona e os casos de uso bem-sucedidos. Explore exemplos de ponta a ponta de como criar um pipeline de pré-processamento de texto seguido de um modelo de classificação de texto em Python.
Moez Ali's photo

Moez Ali

12 min

Tutorial

Stemming e lematização em Python

Este tutorial aborda o stemming e a lematização de um ponto de vista prático usando o pacote Python Natural Language ToolKit (NLTK).
Kurtis Pykes 's photo

Kurtis Pykes

12 min

Tutorial

Tutorial de análise de sentimentos com NLTK para iniciantes

Tutorial de análise de sentimentos com NLTK (Natural Language Toolkit) em Python. Aprenda a criar e desenvolver análises de sentimentos usando Python. Siga etapas específicas para realizar a mineração e análise de textos e fazer o processamento de linguagem natural.
Moez Ali's photo

Moez Ali

13 min

Tutorial

Tutorial de manipulação de dados categóricos de aprendizado de máquina com Python

Aprenda os truques comuns para lidar com dados categóricos e pré-processá-los para criar modelos de aprendizado de máquina!
Moez Ali's photo

Moez Ali

14 min

Tutorial

Otimização em Python: Técnicas, pacotes e práticas recomendadas

Este artigo ensina a você sobre otimização numérica, destacando diferentes técnicas. Ele discute os pacotes Python, como SciPy, CVXPY e Pyomo, e fornece um notebook DataLab prático para você executar exemplos de código.
Kurtis Pykes 's photo

Kurtis Pykes

11 min

Tutorial

Tiktoken Tutorial: Biblioteca Python da OpenAI para tokenização de texto

O Tiktoken é um tokenizador BPE rápido desenvolvido pela OpenAI, usado principalmente para contar tokens para seus grandes modelos de linguagem e garantir um processamento de texto eficiente dentro dos limites especificados.
Dimitri Didmanidze's photo

Dimitri Didmanidze

5 min

Ver MaisVer Mais