Token
En el contexto de la IA y la NLP, un token es una unidad fundamental de texto, como una palabra, parte de una palabra, o una marca de puntuación, utilizada para el procesamiento y el análisis.
La tokenización es el proceso de dividir un texto en estos tokens. Este es un paso crucial en la preparación de datos de texto para modelos de aprendizaje automático, lo que permite a los modelos comprender y procesar el texto. Las reglas específicas para la tokenización pueden variar según la tarea y el modelo que se utilice, y los diferentes tokenizadores producen resultados diferentes.
Los métodos de tokenización van desde la simple división por espacios en blanco hasta técnicas más sofisticadas que consideran unidades de subpalabras o representaciones a nivel de caracteres. La elección del tokenizador impacta significativamente en el rendimiento de los modelos de PNL. Por ejemplo, un tokenizador basado en palabras podría tratar 'gato' y 'gatos' como tokens separados, mientras que un tokenizador de subpalabras podría dividir 'gatos' en 'gato' y 's'.
graph LR
Center["Token"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Rel_machine_learning["machine-learning"]:::related -.-> Center
click Rel_machine_learning "/terms/machine-learning"
Rel_token["token"]:::related -.-> Center
click Rel_token "/terms/token"
Rel_tokenizer["tokenizer"]:::related -.-> Center
click Rel_tokenizer "/terms/tokenizer"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Prueba de conocimiento
🧒 Explícalo como si tuviera 5 años
A [token](/es/terms/token) is like a single Lego brick that makes up a sentence. AI breaks sentences into these bricks (words, parts of words, or punctuation) so it can understand and build new sentences.
🤓 Expert Deep Dive
Tokenization is a critical preprocessing step in NLP pipelines. Subword tokenization algorithms like BPE, WordPiece, and SentencePiece have become dominant because they balance vocabulary size with the ability to represent rare words and morphology. BPE iteratively merges frequent pairs of characters or bytes, while WordPiece uses a likelihood-based approach. SentencePiece treats text as a sequence of Unicode characters and learns subword units directly, making it language-agnostic. The choice of tokenizer impacts downstream tasks: a word-level tokenizer struggles with OOV words, while character-level tokenizers result in very long sequences. Subword tokenizers offer a compromise, allowing models to handle morphology (e.g., 'running' -> 'run', '##ing') and unknown words by composing them from known subwords. The mapping from tokens to numerical IDs and then to dense vector embeddings (e.g., Word2Vec, GloVe, or contextual embeddings from Transformers) is where semantic meaning is encoded for the model.