Sobre MíQué hagoProyectosLabContacto
CursoLección 3/518 min

Texto que se convierte en números

Todo lo anterior asumía que la entrada del modelo ya eran números. El texto no lo es. Esta lección cuenta cómo una palabra se convierte en algo que una red puede multiplicar — y por qué esa conversión decide, en parte, lo que el modelo puede llegar a entender.

Una red neuronal solo sabe multiplicar y sumar números; no lee. Así que antes de que cualquier modelo de lenguaje pueda hacer nada con una frase, esa frase tiene que convertirse en números, y esa conversión tiene dos pasos separados que se confunden con facilidad: primero trocear el texto en piezas — tokenizar —, y después convertir cada pieza en una lista de números con significado — el embedding. Esta lección va de los dos, por orden.

El primer paso decide qué cuenta como una unidad. Lo más simple sería trocear por palabras, pero eso se rompe rápido: cualquier palabra que el modelo no haya visto en su vocabulario — un nombre propio, una errata, una palabra en otro idioma — queda fuera, sin representación posible. La alternativa que ganó es trocear en subpalabras: piezas más pequeñas que una palabra pero más grandes que una letra, elegidas para que las palabras frecuentes queden en pocos trozos y las raras se puedan seguir construyendo letra a letra si hace falta.

El algoritmo que aprende ese troceado se llama BPE, byte pair encoding, y su lógica es puro conteo. Se empieza con el texto partido en caracteres sueltos. En cada paso, se busca el par de símbolos adyacentes que más veces aparece junto en todo el corpus, y se fusiona en un símbolo nuevo — "e" y "s" se convierten en "es" si esa pareja es la más frecuente. Se repite miles de veces, y el vocabulario crece pieza a pieza: primero fusiones de letras comunes, después sílabas, después palabras enteras si son frecuentes. En la demo del tokenizador BPE puedes pegar cualquier texto y ver esas fusiones ocurrir una a una, con el vocabulario creciendo y el texto comprimiéndose fusión tras fusión — es exactamente el algoritmo que hay debajo del tokenizador de mi transformer hecho a mano.

Con el texto ya troceado en tokens, cada token necesita convertirse en una lista de números — su embedding — y aquí es donde entra la parte interesante. Esos números no los elige nadie a mano: salen de entrenar un modelo sobre cantidades enormes de texto con una única señal, la hipótesis distribucional — palabras que aparecen en compañías parecidas tienden a significar cosas parecidas. "Perro" y "gato" comparten frases, dueños y veterinarios; sus vectores acaban pareciéndose. "Lavadora" vive en frases distintas, y su vector queda lejos.

En la demo de word2vec ese entrenamiento ocurre delante de ti: sesenta y nueve palabras arrancan en posiciones aleatorias del plano, y en menos de un minuto de entrenamiento real, animales, comida, lugares y clima se han separado solos en el mapa. A nadie se le dijo qué era un animal; el modelo solo vio qué palabras aparecían rodeadas de cuáles, y eso bastó.

Con las palabras convertidas en listas de números, comparar significados se vuelve geometría: dos palabras se parecen si sus vectores apuntan en direcciones parecidas, algo que se mide con una fórmula llamada similitud coseno. De pronto se puede ordenar, agrupar y buscar por significado con la misma maquinaria con la que se calcula cualquier distancia. En el mapa de embeddings puedes escribir cualquier palabra y verla caer en un plano de dos dimensiones junto a las que el modelo considera parecidas — y a veces sorprenderte con dónde cae.

Esta geometría tiene una trampa que conviene conocer antes de confiar en ella a ciegas. Dos frases que comparten una palabra ambigua — "banco", que puede ser mueble o entidad financiera — pueden puntuar como muy parecidas globalmente aunque hablen de cosas distintas, mientras que una paráfrasis real, sin palabras compartidas, puede puntuar más baja de lo que merece. En el comparador de frases se ve ese fallo en directo: junto al número global de similitud hay una matriz palabra por palabra que enseña qué token respondió a cuál, y ahí es donde se nota cuándo el resumen global está mintiendo.

Con tokens y embeddings resueltos, ya hay algo que multiplicar. Lo que falta es la pieza que decide qué hacer con esa secuencia de vectores — cómo una palabra sabe a cuáles otras prestar atención dentro de la frase — y esa pieza es el transformer, el protagonista de la próxima lección.

Práctica

Antes del cuestionario, toca estas demos del laboratorio:

Comprueba lo que has aprendido

1. ¿Qué es un token?

2. ¿Por qué BPE fusiona primero los pares de símbolos más frecuentes?

3. Dos frases comparten la palabra "banco" con significados distintos (mueble y entidad financiera). ¿Qué puede pasar con su similitud global?

hola@jmwebsoluciones.com