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
Fine tuning de Roberta para reseñas en español
Resumen
El fine tuning te permite tomar un modelo base preentrenado y ajustarlo con tu propio dataset para resolver una tarea específica, en este caso la clasificación binaria de reseñas en español como positivas o negativas. Es una técnica clave de transfer learning que ahorra tiempo, recursos y mejora la precisión cuando trabajas con datos de tu negocio.
¿Qué es el fine tuning y por qué usarlo en NLP?
En lugar de entrenar una red neuronal desde cero, partes de un modelo que ya entiende el idioma y solo lo especializas en tu problema. Aprovechas el contexto previo y reduces drásticamente el tiempo de entrenamiento.
¿Qué es fine tuning? Es el proceso de tomar un modelo preentrenado y reentrenarlo con un dataset específico para resolver una tarea concreta, como clasificar reseñas positivas o negativas.
El modelo base elegido es Roberta entrenado con la Biblioteca Nacional de España, lo que le da un contexto amplio del idioma español, incluyendo emojis, signos de interrogación y caracteres especiales [1:00].
¿Cómo preparar el dataset para entrenar un modelo de clasificación?
Antes de entrenar, necesitas estructurar tu información en tres bloques. La división recomendada es clara y se hace con Scikit Learn [3:30]:
- 70% para entrenamiento, equivalente a 147 mil ejemplos.
- 20% para test, alrededor de 42 mil registros.
- 10% para validación, con 21 mil documentos.
Después viene la normalización del rating: las reseñas con más de tres stars se etiquetan como positivas y las menores como negativas. Así conviertes una escala de 1 a 5 en una clasificación binaria mucho más fácil de modelar.
¿Cómo convertir un dataframe a Dataset de Hugging Face?
Un dataframe de pandas no basta. Transformer requiere un objeto tipo Dataset, así que usas Dataset.from_pandas y armas un diccionario con las tres particiones: entrenamiento, validación y test [4:30]. Con esa estructura ya puedes pasar al tokenizer.
El tokenizer se define a partir del modelo Roberta español y se aplica exclusivamente sobre el review_body, es decir, el texto de la reseña. Este paso transforma cada palabra en tokens numéricos que la red neuronal puede procesar.
¿Cómo configurar el fine tuning de la red neuronal?
Aquí entra la parte central: ajustar la Convolution Neural Network para que clasifique en dos labels. Le pasas el modelo Roberta base y especificas que la salida tiene dos categorías [6:00].
Los parámetros de entrenamiento son los siguientes:
- Batch size de 8, ajustado a la GPU gratuita de Google Colab.
- 2 epochs, suficientes porque el dataset está bien diferenciado entre positivas y negativas.
- 20 000 ejemplos de entrenamiento, una muestra que rinde muy bien.
- Métrica de accuracy para medir el rendimiento.
¿Cuántos epochs necesito para fine tuning? Depende del dataset. Si las clases están bien separadas, 2 epochs bastan. Si hay ambigüedad, conviene aumentar.
¿Cómo conectar Hugging Face Hub para subir el modelo?
Necesitas un token con permiso de escritura. Lo creas desde tu cuenta de Hugging Face, le das un nombre (por ejemplo, Demo Platzi Project), seleccionas write y lo pegas en el notebook al hacer login [7:30]. Esto permite que, una vez entrenado, el modelo se publique automáticamente y cualquier persona en el mundo pueda usarlo.
Además, las métricas del entrenamiento se registran en Weights & Biases, una plataforma gratuita donde se procesan los logs. Al ejecutar trainer.train(), el sistema te pide credenciales de esta cuenta.
¿Qué resultados entrega el modelo entrenado?
El entrenamiento dura aproximadamente 31 minutos en Colab y alcanza una accuracy entre 84% y 85%, un valor que supera el umbral aceptable del 70% [9:30]. El modelo queda guardado en Hugging Face con su loss, su accuracy y la referencia al modelo base.
¿Cómo se mide el rendimiento de un modelo de clasificación? Con el accuracy, que indica el porcentaje de predicciones correctas sobre el total. Un valor superior al 70% se considera funcional.
¿Cómo usar el modelo en producción con un pipeline?
Para hacer inferencia, defines un pipeline de análisis de sentimiento, le pasas el nombre de tu modelo publicado y lo descargas. Tres ejemplos reales muestran su comportamiento [11:00]:
- Me encantó el pantalón: clasifica como positivo con 99% de confianza.
- Te obligan a comprar dos unidades: clasifica como negativo con 94% de confianza.
- La peor compra de mi vida, no recomiendo: clasifica como negativo con 99% de confianza.
Lo interesante es que, al entrenar con tu propia información, el modelo entiende el contexto de tu negocio. No es un clasificador genérico, sino uno alineado a cómo tus clientes escriben reseñas.
Ahora te toca a ti: entrena tu propio modelo con fine tuning y comparte el enlace de tu modelo en Hugging Face en los comentarios.