Procesamiento de Lenguaje Natural · Inteligencia Artificial

Tokenización y normalización

Dividir el texto en unidades, normalizarlo y limpiarlo para poder modelarlo computacionalmente.

Tokenización y normalización

Trocear bien es medio camino Un modelo no entiende frases, entiende tokens. Cómo se parte el texto decide qué verá la máquina: demasiado fino dispersa, demasiado grueso no generaliza. Es la primera decisión de todo sistema de lenguaje.

Qué es un token

Un token es la unidad mínima que el modelo trata como símbolo: una palabra, un subfijo o un carácter. Tokenizar es convertir texto en una secuencia de esos símbolos identificables.

Por palabras

Normalizar

Pasar a minúsculas, acentuar o no, unificar espacios y eliminar ruido reduce variantes que serían tokens distintos. La normalización conviene decidirla según la tarea: en algunos idiomas perder matices cuesta exactitud.

Lematización y stemming

Reducir palabras a su raíz agrupa flexiones: «corriendo» y «corre» comparten base. El stemming corta de forma mecánica y barata; la lematización usa diccionario y contexto y da formas válidas.

Una banda de texto dividida en bloques rectangulares de distinto ancho, y algunos bloques subdivididos en piezas menores.
Tokenizar convierte el texto en unidades; las subpalabras parten los términos raros en piezas frecuentes.

Por subpalabras

Métodos como BPE o WordPiece dividen palabras raras en piezas frecuentes vistas en el entrenamiento. Así el vocabulario se mantiene acotado y ninguna palabra es completamente desconocida.

Tokens especiales

Se añaden símbolos para inicio, fin, relleno o incógnito. Gestionarlos bien es crucial: un modelo confunde relleno con contenido si no se enmascara.

El coste del vocabulario

Un vocabulario grande aumenta los parámetros de la capa de embedding. Subpalabras equilibran cobertura y tamaño, sobre todo en idiomas morfológicamente ricos.

Tokenizadores modernos

Los grandes modelos de lenguaje usan tokenizadores de subpalabras entrenados con datos masivos. Una misma frase puede partirse de forma distinta según el tokenizador, cambiando coste y comportamiento.

Errores frecuentes

Ejemplo resuelto: tokenizar una frase

Quieres pasar una frase a un modelo y decides cómo trocearla:

  1. Limpias la frase de ruido y espacios sobrantes.
  2. Normalizas mayúsculas según convenga a la tarea.
  3. Segmentas con un tokenizador de subpalabras tipo BPE.
  4. Añades los tokens especiales de inicio y fin.
  5. Verificas que ninguna palabra caiga como desconocida.

¿Para qué sirve en la realidad?

Todo sistema de lenguaje —buscadores, traductores, chatbots— empieza tokenizando; cómo partes el texto afecta al coste, al vocabulario y a si el modelo entiende o no una palabra nueva.

La tokenización por subpalabras (BPE, WordPiece) se prefiere a la por palabras sobre todo porque:

El stemming y la lematización son exactamente equivalentes y dan siempre los mismos resultados.

Tokenización

Unidad mínima que el modelo trata como símbolo
token
Reducir una palabra a su raíz con diccionario
lematizacion
Dividir palabras raras en piezas frecuentes
subpalabras
Convertir todo a minúsculas es parte de la...
normalizacion
Símbolos para inicio, fin o relleno son tokens...
especiales

Ordena las etapas típicas de preprocesar un texto:

Limpiar
Normalizar
Segmentar
Reducir

Análisis léxico
Tokenización y procesamiento de texto.

Une cada término de tokenización con su definición.

Trocear bien es medio camino

# Tokenización y normalización
## Normalizar
### minúsculas
### unificar espacios
## Reducir
### stemming
### lematizacion
## Segmentar
### por palabra
### por subpalabra
## Especiales
### inicio y fin
### relleno y enmascarado

Tokenizer
Componente que convierte el texto en tokens para el modelo.

Vas a clasificar tweets en español. ¿Normalizarías las tildes y las mayúsculas? Razona qué ganas y qué podrías perder para esa tarea concreta.