0Pricing
Learn AI with Python · Leçon

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

  1. Word2Vec : Skip-gram et CBOW
  2. Plongements GloVe et FastText
  3. Classification de texte avec BERT
  4. Similarité sémantique et plongements de phrases
← Retour à Learn AI with Python