2 · Tokenización
Divide texto crudo en palabras, oraciones y patrones regex — el primer paso indispensable de todo pipeline de NLP.
La tokenización divide el texto crudo en unidades discretas (palabras, subpalabras, oraciones) — todo paso posterior asume esta representación.
Sin esto:
Tu string crudo es un solo token gigante; ningún modelo puede extraer patrones significativos.
La tokenización es el proceso de dividir un flujo de texto en unidades más pequeñas llamadas tokens. Un token es el fragmento de texto más pequeño con significado con el que trabajará tu pipeline — en la mayoría de los casos una palabra, pero también puede ser una subpalabra, un carácter o una oración según la tarea.
¿Por qué importa la tokenización? Porque prácticamente toda técnica de NLP — TF-IDF, Naive Bayes, Word2Vec, BERT — opera sobre una secuencia de tokens, no sobre un string crudo. La tokenización es la interfaz entre el lenguaje humano y las representaciones legibles por máquina.
NLTK ofrece tres tokenizadores para diferentes necesidades:
| Tokenizador | Mejor para |
|---|---|
| word_tokenize | División de palabras con puntuación |
| sent_tokenize | Dividir un párrafo en oraciones |
| RegexpTokenizer | Reglas personalizadas (ej: eliminar toda puntuación) |
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Vista previa de tokenización de subpalabras — profundización en el track de Deep Learning
¿Qué produce `word_tokenize("don't")` en NLTK?
- `word_tokenize` es consciente de la puntuación y maneja contracciones; `sent_tokenize` divide en oraciones; `RegexpTokenizer(r'\w+')` elimina toda puntuación.
- Nunca uses `str.split()` para NLP — crea tokens ruidosos como `"Hello,"` que contaminan tu vocabulario.
- Los Transformers modernos usan tokenización de subpalabras (BPE, WordPiece, SentencePiece) para manejar palabras raras y desconocidas — profundización en el track de Deep Learning.
Cada modelo de Hugging Face tiene una clase `Tokenizer`; el `CountVectorizer` de sklearn hace su propia tokenización interna. Entender la tokenización te permite personalizar ambas.
Si lo quitas: Sin tokenización, tu texto es un string opaco — no es posible ningún conteo de frecuencia, ningún peso TF-IDF, ninguna búsqueda de embedding.