Accueil / Factory / Algos ML / BERT — factory / algos ML / traitement automatique du langage

MODÈLE BERT.

BERT est un modèle de langage publié par Google en 2018. Il lit chaque mot en tenant compte de ce qui le précède et de ce qui le suit, et produit une représentation fine de la phrase. Il n'écrit pas de texte : il sert à classer, extraire et rechercher, à partir d'un modèle déjà pré-entraîné qu'on spécialise avec peu d'exemples.

TexteClassificationTransformerModèle pré-entraînéNiveau : avancé

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceTrès bon en classification de texte une fois affiné
Interprétabilité110 millions de paramètres, aucune règle lisible
VitesseRapide sur GPU, plus lent sur gros volumes en CPU
Facilité de réglageRecette connue : 2 à 4 époques, petit pas d'apprentissage
Tolérance aux données brutesLit le texte brut, fautes et abréviations comprises
EN 30 SECONDES

Un texte à trous géant. Pendant son apprentissage, BERT a lu des milliards de mots dont une partie était cachée, et devait les deviner à partir du contexte, à gauche comme à droite.

1. On cache des mots

Au pré-entraînement, 15 % des tokens sont masqués. Le modèle apprend à les retrouver en regardant toute la phrase, dans les deux sens. Aucune annotation humaine n'est nécessaire.

2. Chaque mot reçoit un vecteur en contexte

Grâce au mécanisme d'attention, « avocat » n'a pas le même vecteur dans « un avocat mûr » et dans « un avocat au barreau ». Le modèle produit un vecteur par token.

3. On spécialise sur la tâche

On ajoute une petite couche de classification et on réentraîne le tout quelques époques sur des exemples annotés : c'est l'affinage (fine-tuning). Le modèle du code a déjà été affiné sur des avis produits.

LE CAS MÉTIER

avis clients · e-commerce / distribution
EN ENTRÉE

1 500 avis en français

Des avis courts rédigés par des clients, avec la note de 1 à 5 étoiles qu'ils ont donnée. Le modèle ne reçoit que le texte : aucune liste de mots-clés à maintenir.

EN SORTIE

Une note estimée pour chaque avis

Le modèle lit le texte et prédit un nombre d'étoiles. On compare avec la note réelle. Une fois validé, il note les messages qui n'en ont pas : e-mails, verbatims d'enquête, commentaires sur les réseaux sociaux.

CE QU'ON MESURE

L'écart d'une étoile toléré

L'exactitude stricte compte autant un 4 prédit au lieu de 5 qu'un 1 au lieu de 5. On suit aussi la part de prédictions à une étoile près, et la matrice de confusion pour repérer les avis très négatifs mal notés.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Classer des textes courts : avis, tickets, e-mails, verbatims d'enquête
  • Quelques centaines à quelques milliers d'exemples annotés disponibles
  • Gros volumes à traiter en interne, sans envoyer les textes à une API externe
  • Extraire des entités (noms, montants, dates) : BERT sert de base aux modèles de NER

NON

  • Générer du texte : BERT ne rédige pas, il faut un modèle génératif (GPT et LLM)
  • Textes longs : la version de base lit 512 tokens au plus, il faut découper ou changer de modèle
  • Aucun exemple annoté : un LLM guidé par une consigne donne un premier résultat sans entraînement
  • Décision à justifier mot à mot : préférer TF-IDF et une régression logistique
LES 4 RÉGLAGES QUI COMPTENT

Ils concernent l'affinage sur vos propres données. Noms donnés pour la bibliothèque transformers de Hugging Face.

Modèle de départ

Choisir un modèle pré-entraîné sur la bonne langue : CamemBERT ou FlauBERT pour le français, un BERT multilingue sinon. Ce choix pèse souvent plus que tous les autres réglages.

learning_rate

Petit, entre 2e-5 et 5e-5. Trop fort, le modèle perd ce qu'il a appris au pré-entraînement.

num_train_epochs

2 à 4 passages sur les données suffisent en général. Au-delà, le modèle récite les exemples d'entraînement.

max_length

Longueur maximale en tokens, 512 au plus. La réduire à 128 pour des avis courts accélère nettement le calcul.

LE CODE MINIMAL

jeu d'exemple : avis_clients.csv ↓
# Avis clients : BERT en Python
import pandas as pd
from transformers import pipeline

avis = pd.read_csv("avis_clients.csv")

# BERT multilingue public, déjà affiné par nlptown sur des avis produits (1 à 5 étoiles)
classifieur = pipeline("text-classification", model="nlptown/bert-base-multilingual-uncased-sentiment")

# Le modèle lit chaque avis en entier et prédit un nombre d'étoiles
resultats = classifieur(avis["texte"].tolist(), batch_size=32, truncation=True)
avis["note_predite"] = [int(r["label"][0]) for r in resultats]  # "4 stars" -> 4

# Exactitude stricte et exactitude à une étoile près
ecart = (avis["note_predite"] - avis["note"]).abs()
print("Note exacte       :", round((ecart == 0).mean(), 2))
print("À une étoile près :", round((ecart <= 1).mean(), 2))

# Matrice de confusion : notes réelles en ligne, notes prédites en colonne
print(pd.crosstab(avis["note"], avis["note_predite"]))

BERT se pratique en Python (transformers de Hugging Face) : en R, le package text passe lui-même par Python.

QUESTIONS FRÉQUENTES

Quelle différence entre BERT et GPT ?

Les deux reposent sur l'architecture Transformer. BERT est un encodeur : il lit la phrase entière dans les deux sens et produit des vecteurs, idéal pour classer ou extraire. GPT est un décodeur : il lit de gauche à droite et prédit le mot suivant, ce qui lui permet de générer du texte.

BERT fonctionne-t-il en français ?

Le BERT d'origine est anglais. Pour le français, on utilise CamemBERT ou FlauBERT, pré-entraînés sur des corpus français, ou un BERT multilingue comme celui du code, pré-entraîné sur une centaine de langues.

BERT est-il encore utile face aux LLM ?

Oui pour la classification à fort volume. Un BERT affiné tourne sur un seul serveur, coûte peu par texte et donne des résultats stables. Un LLM est plus souple, mais plus cher et plus lent par document.

LES ALGOS VOISINS

à comparer avant de choisir
l'architecture de base

Transformer

BERT est la partie encodeur du Transformer, pré-entraînée sur du texte à trous.

Voir la fiche →
l'autre branche

GPT et LLM

Lit de gauche à droite et prédit le mot suivant : il génère du texte, là où BERT l'analyse.

Voir la fiche →
la référence légère

TF-IDF

Compte les mots, sans comprendre le contexte. Moins précis, mais instantané et lisible.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →