El lenguaje humano es la forma de comunicación más compleja que existe; enseñárselo a una computadora es uno de los mayores desafíos de la IA.
Cuando lees la frase "Vi al hombre con el telescopio", tu cerebro la entiende sin esfuerzo, aunque es profundamente ambigua. ¿Usaste el telescopio para verlo? ¿O él llevaba el telescopio? Un humano resuelve esta ambiguedad en milisegundos usando contexto, conocimiento del mundo y modelos mentales sofisticados que desarrolló a lo largo de años. Para una computadora, esto es enormemente difícil.
El lenguaje humano presenta al menos seis tipos de complejidad que lo distinguen de cualquier lenguaje formal:
Antes del deep learning, el NLP se basaba en representaciones estadísticas simples que ignoraban el significado profundo pero capturaban patrones superficiales útiles.
Representa un documento como un vector de frecuencias de palabras, ignorando el orden. Un vocabulario de 10,000 palabras produce vectores de 10,000 dimensiones donde cada posición indica cuántas veces aparece esa palabra en el documento. Eficaz para clasificación de texto simple, pero pierde todo el contexto: "el perro muerde al hombre" y "el hombre muerde al perro" producen representaciones idénticas.
Term Frequency-Inverse Document Frequency mejora la bolsa de palabras ponderando las palabras: una palabra que aparece mucho en un documento pero raramente en el corpus tiene un peso alto (es "característica" de ese documento). Palabras como "el", "de", "la" aparecen en todos los documentos y reciben peso bajo. TF-IDF fue el estándar en motores de búsqueda durante décadas.
Captura secuencias de n palabras consecutivas. Los bigramas (n=2) de "el gato come pescado" son: "el gato", "gato come", "come pescado". Añade algo de contexto local pero escala mal: el número de posibles bigramas es el cuadrado del vocabulario.
En 2013, un equipo de Google liderado por Tomas Mikolov publicó Word2Vec, que revolucionó el NLP. La idea central: en lugar de representar palabras como vectores dispersos de frecuencias, aprender representaciones densas de 100-300 dimensiones donde palabras con significados similares tienen vectores similares.
Estas relaciones emergen de forma completamente no supervisada, simplemente de predecir palabras en su contexto en corpus de texto masivos. GloVe (Global Vectors, Stanford 2014) alcanzó resultados similares mediante un enfoque diferente basado en co-ocurrencia global de palabras.
El problema de los embeddings estáticos: la misma palabra siempre tiene el mismo vector, sin importar el contexto. "Banco" tiene un solo vector aunque signifique cosas muy diferentes en "Banco de México" y "me senté en el banco del parque". Los modelos modernos como BERT resuelven esto con embeddings contextualizados.
En 2017, investigadores de Google publicaron el paper "Attention Is All You Need", introduciendo la arquitectura Transformer. Hoy, prácticamente todos los modelos de NLP de última generación —BERT, GPT, T5, Claude, Gemini— son variantes de esta arquitectura.
El componente central es el mecanismo de atención. La intuición: al procesar cada palabra, el modelo "atiende" a otras palabras de la secuencia con pesos que indican su relevancia. Para entender "banco" en "el cliente entró al banco a depositar dinero", el modelo aprende a dar peso alto a "cliente", "depositar" y "dinero", y peso bajo a "entró" y "al".
La atención multi-cabeza (multi-head attention) ejecuta este proceso en paralelo múltiples veces (ej: 8 o 16 "cabezas"), cada una aprendiendo a atender a distintos tipos de relaciones: una cabeza puede enfocarse en relaciones sintácticas (sujeto-verbo), otra en correferencias, otra en negaciones semánticas.
BERT (Bidirectional Encoder Representations from Transformers) se preentrenó en 3,300 millones de palabras de Wikipedia y BookCorpus con dos tareas: predecir palabras enmascaradas aleatoriamente ("El gato [MASK] sobre la alfombra" → "estaba") y predecir si dos oraciones son consecutivas. Este preentrenamiento bidireccional le da a BERT un profundo entendimiento del contexto, tanto a izquierda como a derecha de cada palabra. BERT batió los récords del estado del arte en 11 tareas de NLP el mismo mes de su publicación.
Mientras BERT es un "encoder" (entiende texto), GPT es un "decoder" (genera texto). Se entrena para predecir la siguiente palabra dada la secuencia anterior. GPT-1 tenía 117 millones de parámetros; GPT-4 se estima en más de un billón. La diferencia en capacidad es exponencial y se manifiesta en habilidades emergentes: GPT-4 puede razonar, traducir, programar, componer poesía y mantener conversaciones coherentes sobre temas complejos.
| Tarea | Descripción | Aplicación real |
|---|---|---|
| Tokenización | Dividir texto en unidades mínimas (tokens) | Paso previo a cualquier procesamiento |
| POS Tagging | Etiquetar cada palabra con su categoría gramatical (sustantivo, verbo, etc.) | Análisis sintáctico, asistentes de escritura |
| NER | Reconocer entidades nombradas: personas, lugares, organizaciones, fechas | Extracción de información de contratos, noticias |
| Análisis de sentimiento | Clasificar si un texto expresa opinión positiva, negativa o neutra | Monitoreo de redes sociales, reseñas de productos |
| Traducción automática | Traducir texto entre idiomas | Google Translate, DeepL |
| Resumen automático | Condensar documentos largos en resúmenes | Resumen de noticias, documentos legales |
| Respuesta a preguntas (QA) | Responder preguntas basadas en un contexto dado | Asistentes virtuales, búsqueda empresarial |
| Clasificación de texto | Asignar categorías a textos | Clasificación de tickets de soporte, spam |
La puntuación BLEU (Bilingual Evaluation Understudy) mide la calidad de las traducciones comparando n-gramas entre la traducción automática y traducciones de referencia hechas por humanos. Un BLEU de 0.6 es considerado muy bueno; 0.4-0.5 es aceptable para usos prácticos. Para resúmenes se usa la métrica ROUGE; para modelos de lenguaje se usa la perplejidad (qué tan sorprendido está el modelo ante texto nuevo; menor perplejidad = mejor modelo).