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.
Actualizado 17 de set. de 2026  · 5 min leer

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

Temas
Python
Aprendizado de máquina
Relacionado

{count, plural, one {Tutorial} other {Tutoriais}}

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

{count, plural, one {Tutorial} other {Tutoriais}}

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

{count, plural, one {Tutorial} other {Tutoriais}}

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

{count, plural, one {Tutorial} other {Tutoriais}}

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

{count, plural, one {Tutorial} other {Tutoriais}}

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

{count, plural, one {Tutorial} other {Tutoriais}}

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