Ir al contenido principal

Textacy: introducción a la limpieza y normalización de datos de texto en Python

Descubre cómo Textacy, una biblioteca de Python, simplifica el preprocesamiento de texto para aprendizaje automático. Conoce sus funciones diferenciales como la normalización de caracteres y el enmascaramiento de datos, y compárala con otras bibliotecas como NLTK y spaCy.
Actualizado 17 sept 2026  · 5 min leer

Explorar con IA

ChatGPTClaudePerplexity

Este tutorial es una valiosa contribución de nuestra comunidad y ha sido editado por DataCamp por motivos de claridad y precisión.

¿Te gustaría compartir tu experiencia? ¡Nos encantará leerte! Envía tus artículos o ideas a través de nuestro formulario de contribuciones de la comunidad.

Como profesional de datos, sabes bien lo importante que es construir un sólido flujo de limpieza y preparación de datos en cualquier proyecto de aprendizaje automático. Sin embargo, al trabajar con texto, la importancia de este flujo es aún mayor por los retos específicos que presenta. Problemas como ruido, errores ortográficos, abreviaturas, jerga y fallos gramaticales pueden perjudicar el rendimiento de los modelos.

Para garantizar que el texto que utilizan los modelos de aprendizaje automático sea preciso, coherente y esté libre de errores, resulta clave contar con un flujo de limpieza y preparación bien diseñado. Suele incluir tareas como normalización de texto, tokenización, eliminación de stopwords, stemming, lematización y enmascaramiento de datos.

Aunque bibliotecas populares como NLTK, gensim y spaCy ofrecen muchas herramientas para procesar y limpiar texto, trabajar con datos textuales sigue planteando desafíos que pueden afectar de forma notable al rendimiento de los modelos. Estos retos van desde la normalización de caracteres hasta el enmascaramiento de datos y más. Aunque se pueden abordar con las bibliotecas anteriores, a menudo exigen mucho tiempo y esfuerzo.

Aquí es donde brilla Textacy. Textacy es una biblioteca de Python que ofrece una forma sencilla y cómoda de abordar problemas habituales al trabajar con texto. Aunque otras bibliotecas tienen funciones similares, el foco de Textacy en resolver problemas específicos, como la normalización de caracteres y el enmascaramiento de datos, la diferencia en este contexto.

Normalización de caracteres con Textacy

La normalización de caracteres consiste en convertir el texto a un formato estándar, algo especialmente importante cuando se trabaja con datos multilingües.

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

Los caracteres acentuados son un problema común en la normalización de texto que puede afectar significativamente a la precisión de los modelos.

El problema surge porque las personas no usan los acentos de forma consistente, lo que genera incoherencias en los datos.

Por ejemplo, los tokens "Saint-Raphaël" y "Saint-Raphael" pueden referirse a la misma entidad, pero sin normalización no se reconocerán como idénticos. Además, los textos suelen incluir palabras separadas por guiones y apóstrofos como los del ejemplo anterior, que pueden complicar la tokenización. Para todo esto, tiene sentido normalizar el texto y sustituir acentos y caracteres tipográficos por equivalentes ASCII.

Usaremos Textacy para este fin, ya que incluye una buena colección de funciones predefinidas que resuelven el problema de forma fácil y eficiente. La siguiente tabla muestra una selección de funciones de preprocesamiento de Textacy que pueden funcionar de manera independiente de otras bibliotecas.

Función

Descripción

normalize _hyphentated_words

Reconstruye palabras que se separaron por un salto de línea

normalize_quotation_marks

Sustituye comillas tipográficas por su equivalente en ASCII

normalize_unicode

Unifica distintos códigos de caracteres acentuados en Unicode

remove_accents

Reemplaza caracteres acentuados por ASCII

replace_emails

Sustituye correos electrónicos por __EMAIL__

replace_urls

Sustituye 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 la función anterior, normalize, basada en las funciones de preprocesamiento de Textacy, nos ayuda a abordar la normalización con un esfuerzo mínimo.

print(normalize(text)

Salida:

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

Enmascaramiento de datos con Textacy

El texto suele contener no solo palabras corrientes, sino también identificadores como URLs, direcciones de correo o números de teléfono. A veces nos interesan especialmente estos elementos. En muchos casos, sin embargo, conviene eliminarlos o enmascararlos, ya sea porque no aportan valor o por motivos de privacidad.

Textacy ofrece prácticas funciones de reemplazo para el enmascaramiento de datos, como se muestra en la tabla anterior. Estas funciones están predefinidas, lo que facilita ocultar información sensible o irrelevante sin tener que escribir expresiones regulares a medida.

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

Salida:

Check out __URL__

Resumen

En este artículo hemos visto cómo usar Textacy para simplificar el preprocesamiento de datos textuales. Gracias a sus funciones integradas, Textacy facilita resolver retos habituales como la normalización de caracteres y el enmascaramiento de datos.

Al agilizar el preprocesamiento, Textacy te permite centrarte en las partes más complejas y desafiantes del procesamiento del lenguaje natural. Ya trabajes en análisis de sentimiento, modelado de temas u otra tarea de PLN, Textacy te ayuda a preparar tus datos para el análisis de forma rápida y eficiente.

La próxima vez que te enfrentes a un reto de preprocesamiento, plantéate usar Textacy para simplificar tu flujo de trabajo y ahorrarte tiempo y esfuerzo.

Si esta guía sobre Textacy te ha resultado útil y quieres profundizar en el preprocesamiento de texto y el procesamiento del lenguaje natural, plantéate inscribirte en el curso de DataCamp Natural Language Processing Fundamentals in Python.

Temas
Python
Aprendizaje automático
Relacionado

Tutorial

Clasificación de textos en Python

Descubra qué es la clasificación de textos, cómo funciona y casos de uso con éxito. Explore ejemplos de principio a fin sobre cómo crear un canal de preprocesamiento de texto seguido de un modelo de clasificación de texto en Python.
Moez Ali's photo

Moez Ali

12 min

Tutorial

Stemming y lematización en Python

En este tutorial se abordan de forma práctica las funciones de stemming y lematización mediante el paquete Python Natural Language ToolKit (NLTK).
Kurtis Pykes 's photo

Kurtis Pykes

12 min

Tutorial

Tutorial de análisis NLTK del sentimiento para principiantes

Tutorial de análisis del sentimiento NLTK (natural language toolkit) de Python. Aprende a crear y desarrollar análisis del sentimiento utilizando Python. Sigue pasos específicos para extraer y analizar texto para el procesamiento del lenguaje natural.
Moez Ali's photo

Moez Ali

13 min

Tutorial

Aprendizaje automático de datos categóricos con el tutorial de Python

Aprenda los trucos más comunes para manejar datos categóricos y preprocesarlos para construir modelos de aprendizaje automático.
Moez Ali's photo

Moez Ali

14 min

Tutorial

Tutorial de Generación de nubes de palabras en Python

Aprende a realizar Análisis exploratorios de datos para el Procesamiento del lenguaje natural utilizando WordCloud en Python.
Duong Vu's photo

Duong Vu

11 min

Tutorial

Tutorial de Tiktoken: Biblioteca Python de OpenAI para tokenizar texto

Tiktoken es un rápido tokenizador BPE desarrollado por OpenAI, utilizado principalmente para contar tokens para sus grandes modelos lingüísticos y garantizar un procesamiento eficaz del texto dentro de unos límites especificados.
Dimitri Didmanidze's photo

Dimitri Didmanidze

5 min

Ver MásVer Más