0Pricing
Learn AI with Python · Aula

Classificação de texto com BERT

Transformers da HuggingFace, AutoTokenizer, AutoModelForSequenceClassification e ajuste fino.

Classificação de texto com BERT é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Os limites das representações vetoriais estáticas

Word2Vec e GloVe atribuem um vetor fixo a cada palavra. Mas uma mesma palavra pode ter significados diferentes em "margem do rio" e "banco de poupança". Modelos contextuais como BERT resolvem esse problema.

O que é BERT

BERT é um modelo baseado em transformadores que lê uma frase inteira de uma vez e produz representações vetoriais contextuais. Pré-treinado com uma enorme quantidade de texto, ele pode ser ajustado para tarefas como classificação.

A biblioteca de transformadores da Hugging Face

A biblioteca transformers oferece acesso fácil ao BERT e a milhares de modelos pré-treinados, com classes consistentes para tokenizadores e 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 carrega o tokenizador correto para um modelo. Ele divide o texto em unidades de subpalavras e as mapeia para os identificadores que o modelo espera.

from transformers import AutoTokenizer

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

AutoModelForSequenceClassification

AutoModelForSequenceClassification carrega o BERT com uma camada de classificação sobre ele, produzindo uma pontuação por classe para toda a sequência.

from transformers import AutoModelForSequenceClassification

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

Tokenizando a entrada

Chame o tokenizador no seu texto com truncation, padding e return_tensors para obter tensores prontos para o modelo. O truncamento limita entradas longas; o preenchimento alinha os comprimentos dos lotes.

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

As unidades especiais

O BERT adiciona automaticamente unidades especiais: [CLS] no início (o seu estado oculto resume a sequência) e [SEP] entre ou depois das frases. O classificador lê a representação de [CLS].

Executando o modelo

Passe as entradas tokenizadas ao modelo para obter pontuações brutas, isto é, as pontuações de classe não normalizadas.

import torch

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

Das pontuações às previsões

Aplique softmax às pontuações para obter probabilidades e depois use argmax para obter o índice da classe prevista. Mapeie esse índice para um rótulo.

import torch

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

Ajuste fino para a sua tarefa

Para um conjunto de dados personalizado, ajuste o BERT treinando a camada de classificação (e, opcionalmente, o modelo inteiro) com os seus exemplos rotulados. A API Trainer gerencia o ciclo de treinamento.

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()

O atalho do fluxo de processamento

Para inferência rápida, o auxiliar pipeline reúne tokenização, execução e decodificação em uma única chamada, ideal para criar protótipos.

from transformers import pipeline

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

Verificação rápida

Teste os seus conhecimentos sobre BERT.

Recapitulação

Recapitulação: BERT produz representações vetoriais contextuais por meio de transformadores. Use AutoTokenizer para tokenizar com truncation/padding/return_tensors e AutoModelForSequenceClassification para obter pontuações brutas. Converta as pontuações usando softmax e depois argmax. Faça o ajuste fino com Trainer ou crie protótipos rapidamente com pipeline.

Perguntas Frequentes

A aula “Classificação de texto com BERT” é grátis?

Sim — o texto completo de “Classificação de texto com BERT” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Classificação de texto com BERT”?

Transformers da HuggingFace, AutoTokenizer, AutoModelForSequenceClassification e ajuste fino. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Classificação de texto com BERT”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Word2Vec: Skip-gram e CBOW
  2. Embeddings GloVe e FastText
  3. Classificação de texto com BERT
  4. Similaridade semântica e embeddings de sentenças
← Voltar para Learn AI with Python