Contenido del curso
Técnicas Tradicionales de NLP para Documentos Empresariales
- 4

Tokenización con NLTK y SpaCy en español
06:51 min - 5

Stemming vs lematización en nubes de palabras
05:07 min - 6

Bag of Words y TF-IDF para representación vectorial de texto
05:32 min - 7

Análisis LDA para detectar temas ocultos en reseñas de texto
03:08 min - 8

Naive Bayes para clasificar reseñas con TF-IDF
07:41 min
Introducción y Profundización en Transformers para Aplicaciones Empresariales
Proyecto Final y Estrategia Comercial B2B
Arquitectura Transformer y cómo funciona BERT
Resumen
La arquitectura Transformer cambió las reglas del juego en NLP al permitir que un modelo procese frases completas en paralelo, en lugar de leerlas palabra por palabra. Si trabajas con modelos como GPT, BERT, RoBERTa o ALBERT, entender Transformer es el primer paso para usarlos con criterio y elegir el adecuado según tu hardware y tu tarea.
Qué es Transformer y por qué revolucionó el NLP
Transformer nació en el paper Attention is all you need, publicado por Google, y vino a romper el paradigma de las redes neuronales recurrentes. En vez de analizar texto secuencialmente, lo procesa de forma paralela y captura relaciones de largo alcance dentro de toda la frase [0:18].
Esto se traduce en tres ventajas que vale la pena tener claras:
- Procesamiento de secuencias en paralelo, lo que acelera el entrenamiento.
- Captura de relaciones de largo alcance entre palabras lejanas.
- Memoria del contexto completo de la frase, no token aislado.
¿Qué es Transformer en inteligencia artificial? Es una arquitectura de red neuronal que procesa texto en paralelo usando un mecanismo llamado self-attention, lo que le permite entender el contexto completo de una frase en lugar de leerla palabra por palabra.
Cómo se relacionan BERT, RoBERTa, ALBERT y DistilBERT con Transformer
Todos estos modelos comparten la T de Transformer, pero cambian en cómo fueron entrenados y en cuántas capas tienen. BERT es un encoder bidireccional que utiliza Transformer y, en su versión popular para español, cuenta con 12 capas [1:35].
Las variantes responden a necesidades distintas:
- RoBERTa y ALBERT: cambian datos de entrenamiento y configuración interna.
- DistilBERT: usa 6 capas en lugar de 12, lo que lo hace más ligero y liviano [1:55].
- BERT base en español: 12 capas, ideal cuando tienes GPU disponible.
Elegir el modelo correcto depende de tu hardware, la cantidad de GPU y la tarea que quieras resolver.
Cómo explorar la arquitectura BERT con la librería Transformers
Para inspeccionar estos modelos se usa la librería Transformers de Hugging Face, que permite cargar y manipular modelos preentrenados. En Google Colab ya viene instalada; en local conviene correr pip install transformers y trabajar con GPU porque el costo computacional es alto [2:35].
Cómo ver la configuración del modelo BERT
Una vez instalada, puedes revisar la configuración del modelo preentrenado en español y consultar su número de capas ocultas:
python from transformers import BertConfig, BertModel
config = BertConfig.from_pretrained("dccuchile/bert-base-spanish-wwm-uncased") print(config.num_hidden_layers) # 12
Esas 12 capas ocultas son las capas intermedias entre el input y el output de la red neuronal. Cada una procesa una parte del texto y, a más capas, mayor complejidad y mejor accuracy potencial [3:30].
Qué componentes aparecen al visualizar el modelo
Al instanciar BertModel.from_pretrained(...) puedes ver la arquitectura completa. Aparecen los embeddings iniciales, las capas de atención, capas densas intermedias, una capa de dropout que evita el sobreajuste y, al final, una capa de activación lineal que entrega el output [4:15].
¿Para qué sirve el dropout en BERT? Apaga aleatoriamente conexiones durante el entrenamiento para evitar el sobreentrenamiento y mejorar la generalización del modelo en datos nuevos.
Cómo funciona el self-attention dentro de Transformer
El mecanismo de self-attention es el corazón de Transformer. Para cada token de la secuencia se calculan tres vectores: query (Q), key (K) y value (V), tal como aparecen en el paper original [6:10].
El proceso sigue estos pasos:
- Calcular Q, K y V para cada token mediante producto entre matrices.
- Calcular un puntaje de atención para cada par de tokens.
- Aplicar softmax a los puntajes para obtener los pesos.
- Generar la representación final de cada token con contexto de todos los demás.
Lo interesante es que ningún token queda aislado: cada uno se entiende en relación con el resto de la frase, y eso es lo que permite identificar cuáles tienen mayor peso semántico.
Cómo se tokeniza un texto en BERT
Cada modelo tiene su propio tokenizador. BERT convierte una frase como "El producto de Samsung Galaxy S21 llegó el 2 de marzo y superó mis expectativas" a una representación numérica con su formato específico. Al extraer los hidden states, se obtienen 13 capas: las 12 ocultas más la capa inicial de embeddings [5:40].
python from transformers import BertTokenizer, BertModel import torch
tokenizer = BertTokenizer.from_pretrained("bert-base-multilingual-cased") model = BertModel.from_pretrained("bert-base-multilingual-cased", output_hidden_states=True)
texto = "El producto de Samsung Galaxy S21 llegó el 2 de marzo y superó mis expectativas" inputs = tokenizer(texto, return_tensors="pt") outputs = model(**inputs) print(len(outputs.hidden_states)) # 13
Un detalle técnico que conviene recordar: la librería Transformers usa PyTorch por debajo, así que necesitas tenerlo instalado junto con torch.
Con estos fundamentos claros, ya tienes la base para pasar a la implementación práctica: clasificación de texto, detección de entidades y más casos donde Transformer brilla. ¿Qué tarea de NLP te gustaría resolver primero con BERT? Cuéntalo en los comentarios.