0Pricing
Learn AI with Python · Lección

Clasificación de texto con BERT

Transformers de HuggingFace, AutoTokenizer, AutoModelForSequenceClassification y ajuste fino.

Clasificación de texto con BERT es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

Los límites de los embeddings estáticos

Word2Vec y GloVe asignan a cada palabra un único vector fijo. Pero "bank" tiene significados diferentes en "river bank" y "savings bank". Los modelos contextuales, como BERT, resuelven este problema.

Qué es BERT

BERT es un modelo transformer que lee una oración completa de una vez y produce embeddings sensibles al contexto. Tras preentrenarse con grandes cantidades de texto, puede ajustarse para tareas como la clasificación.

La biblioteca transformers de Hugging Face

La biblioteca transformers proporciona acceso sencillo a BERT y a miles de modelos preentrenados, con clases coherentes para tokenizadores y modelos.

from transformers import AutoTokenizer, AutoModelForSequenceClassification

name = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForSequenceClassification.from_pretrained(name)

AutoTokenizer

AutoTokenizer carga el tokenizador correcto para un modelo. Divide el texto en tokens de subpalabras y los asigna a los ID que espera el modelo.

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
print(tokenizer.tokenize("unbelievable"))
# subwords like ["un", "##bel", "##ievable"]

AutoModelForSequenceClassification

AutoModelForSequenceClassification carga BERT con un cabezal de clasificación encima, que genera una puntuación por clase para toda la secuencia.

from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained(
    "distilbert-base-uncased-finetuned-sst-2-english"
)

Tokenización de la entrada

Llame al tokenizador con su texto y los parámetros truncation, padding y return_tensors para obtener tensores listos para el modelo. La truncación limita las entradas largas y el padding alinea las longitudes del lote.

inputs = tokenizer(
    "This movie was fantastic!",
    truncation=True,
    padding=True,
    return_tensors="pt",
)
print(inputs["input_ids"].shape)

Los tokens especiales

BERT añade automáticamente tokens especiales: [CLS] al principio (su estado oculto resume la secuencia) y [SEP] entre oraciones o después de ellas. El clasificador utiliza la representación de [CLS].

Ejecución del modelo

Pase las entradas tokenizadas al modelo para obtener los logits, las puntuaciones de clase sin procesar y sin normalizar.

import torch

with torch.no_grad():
    outputs = model(**inputs)
logits = outputs.logits
print(logits)

De logits a predicciones

Aplique softmax a los logits para obtener probabilidades y, después, argmax para obtener el índice de la clase predicha. Asigne ese índice a una etiqueta.

import torch

probs = torch.softmax(logits, dim=-1)
pred = torch.argmax(probs, dim=-1).item()
print(model.config.id2label[pred])

Ajuste fino para su tarea

Para un conjunto de datos personalizado, realice un ajuste fino de BERT entrenando el cabezal de clasificación (y, opcionalmente, el modelo completo) con sus ejemplos etiquetados. La API de Trainer gestiona el ciclo de entrenamiento.

from transformers import Trainer, TrainingArguments

args = TrainingArguments(output_dir="out", num_train_epochs=3)
trainer = Trainer(model=model, args=args, train_dataset=train_ds)
trainer.train()

El atajo pipeline

Para realizar inferencias rápidas, el asistente pipeline integra la tokenización, la ejecución y la decodificación en una sola llamada, ideal para crear prototipos.

from transformers import pipeline

clf = pipeline("sentiment-analysis")
print(clf("I love this product!"))
# [{"label": "POSITIVE", "score": 0.99...}]

Comprobación rápida

Compruebe sus conocimientos sobre BERT.

Resumen

Resumen: BERT produce embeddings sensibles al contexto mediante transformers. Utilice AutoTokenizer para tokenizar con truncation/padding/return_tensors, y AutoModelForSequenceClassification para obtener logits. Convierta los logits aplicando softmax y después argmax. Realice un ajuste fino con Trainer o cree prototipos rápidamente con pipeline.

Preguntas frecuentes

¿La lección «Clasificación de texto con BERT» es gratis?

Sí — el texto completo de «Clasificación de texto con BERT» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Clasificación de texto con BERT»?

Transformers de HuggingFace, AutoTokenizer, AutoModelForSequenceClassification y ajuste fino. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Clasificación de texto con BERT»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Word2Vec: Skip-gram y CBOW
  2. Embeddings de GloVe y FastText
  3. Clasificación de texto con BERT
  4. Similitud semántica y embeddings de oraciones
← Volver a Learn AI with Python