Retour au Blog
NLP 1 novembre 2024 7 min de lecture

Prétraitement de texte NLP : le guide complet pour 2025

Tokenisation, normalisation, stemming vs lemmatisation, encodage de sous-mots.

Quand utiliser quoi

TâchePrétraitement
BERT/TransformersUtilisez UNIQUEMENT leur tokenizer
TF-IDF + ML classiqueMinuscules, retirer les stopwords, lemmatiser
FastTextMinimal (il gère les sous-mots)
ArabeNormaliser alef/hamza, retirer les diacritiques
FrançaisGérer les accents, les élisions (l', d')

Pipeline universel

import re
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer

def preprocess(text, language='english'):
    text = text.lower().strip()
    text = re.sub(r'http\S+', '', text)  # Remove URLs
    text = re.sub(r'[^a-zA-Z0-9\s]', '', text)  # Remove special chars
    tokens = word_tokenize(text)
    lemmatizer = WordNetLemmatizer()
    tokens = [lemmatizer.lemmatize(t) for t in tokens if len(t) > 2]
    return ' '.join(tokens)

Pour BERT : faites confiance au tokenizer

Le WordPiece de BERT gère la casse, les sous-mots et les tokens spéciaux. N'appliquez pas de prétraitement personnalisé — cela nuirait aux performances.

NLPText PreprocessingTokenizationBERTLemmatization
O

Ossama Elhakki

Ingénieur IA & Systèmes ML — Maroc