Classification de texte avec BERT
Transformers HuggingFace, AutoTokenizer, AutoModelForSequenceClassification, ajustement fin.
Classification de texte avec BERT est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Les limites des représentations vectorielles statiques
Word2Vec et GloVe attribuent à chaque mot un vecteur fixe. Mais « banque » a des significations différentes dans « rive d'une rivière » et « banque d'épargne ». Les modèles contextuels comme BERT résolvent ce problème.
Qu'est-ce que BERT
BERT est un modèle transformeur qui lit une phrase entière en une seule fois et produit des représentations vectorielles tenant compte du contexte. Préentraîné sur d'immenses volumes de texte, il peut être affiné pour des tâches comme la classification.
La bibliothèque transformers de Hugging Face
La bibliothèque transformers permet d'accéder facilement à BERT et à des milliers de modèles préentraînés, grâce à des classes cohérentes pour les tokeniseurs et les modèles.
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 charge le tokeniseur approprié pour un modèle. Il découpe le texte en jetons de sous-mots et les associe aux identifiants attendus par le modèle.
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
print(tokenizer.tokenize("unbelievable"))
# subwords like ["un", "##bel", "##ievable"]AutoModelForSequenceClassification
AutoModelForSequenceClassification charge BERT avec une tête de classification, qui produit un score par classe pour l'ensemble de la séquence.
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(
"distilbert-base-uncased-finetuned-sst-2-english"
)Tokeniser l'entrée
Appelez le tokeniseur sur votre texte avec truncation, padding et return_tensors pour obtenir des tenseurs prêts pour le modèle. La troncature limite la longueur des entrées ; le remplissage aligne les longueurs des lots.
inputs = tokenizer(
"This movie was fantastic!",
truncation=True,
padding=True,
return_tensors="pt",
)
print(inputs["input_ids"].shape)Les jetons spéciaux
BERT ajoute automatiquement des jetons spéciaux : [CLS] au début (son état caché résume la séquence) et [SEP] entre les phrases ou après celles-ci. Le classifieur lit la représentation [CLS].
Exécuter le modèle
Transmettez les entrées tokenisées au modèle pour obtenir des scores bruts, c'est-à-dire les scores de classe non normalisés.
import torch
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
print(logits)Des scores bruts aux prédictions
Appliquez softmax aux scores bruts pour obtenir les probabilités, puis argmax pour obtenir l'indice de la classe prédite. Associez cet indice à une étiquette.
import torch
probs = torch.softmax(logits, dim=-1)
pred = torch.argmax(probs, dim=-1).item()
print(model.config.id2label[pred])Affiner le modèle pour votre tâche
Pour un jeu de données personnalisé, affinez BERT en entraînant la tête de classification (et éventuellement le modèle entier) sur vos exemples étiquetés. L'interface Trainer gère la boucle d'entraînement.
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()Le raccourci de la chaîne de traitement
Pour effectuer rapidement des inférences, l'utilitaire pipeline regroupe la tokenisation, l'exécution et le décodage en un seul appel, ce qui est idéal pour le prototypage.
from transformers import pipeline
clf = pipeline("sentiment-analysis")
print(clf("I love this product!"))
# [{"label": "POSITIVE", "score": 0.99...}]Vérification rapide
Évaluez vos connaissances sur BERT.
Récapitulatif
Récapitulatif : BERT produit des représentations vectorielles tenant compte du contexte grâce aux transformeurs. Utilisez AutoTokenizer pour tokeniser avec truncation/padding/return_tensors, et AutoModelForSequenceClassification pour obtenir des scores bruts. Convertissez les scores bruts avec softmax, puis argmax. Affinez le modèle avec Trainer ou prototypez rapidement avec pipeline.
Questions Fréquemment Posées
La leçon « Classification de texte avec BERT » est-elle gratuite ?
Oui — le texte complet de « Classification de texte avec BERT » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Classification de texte avec BERT » ?
Transformers HuggingFace, AutoTokenizer, AutoModelForSequenceClassification, ajustement fin. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Classification de texte avec BERT » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Word2Vec : Skip-gram et CBOW
- Plongements GloVe et FastText
- Classification de texte avec BERT
- Similarité sémantique et plongements de phrases