Comprendre le Bag of Words et ses dérivés
Dans le monde de l’Intelligence Artificielle, nous avons vu plusieurs types de modèles évoluer au fil des années.
Comprendre le Bag of Words et ses dérivés

Dans le monde de l’Intelligence Artificielle, nous avons vu plusieurs types de modèles évoluer au fil des années.
Nous avons commencé par des modèles non-transformers comme le « Bag-of-Words », qui sont plus techniques et fondamentaux.
Puis est venue l’ère des Transformers : Modèles Encoder-only : Spécialisés dans la représentation mathématique des mots (compréhension du langage). Modèles Decoder-only : Spécialisés dans la génération de texte (comme GPT). Modèles Encoder-Decoder : Capables de faire les deux.
Les données textuelles étant « non structurées », elles sont difficiles à analyser directement pour les ordinateurs. Pour remédier à cela, ont établit des règles mathématiques pour représenter le texte de manière numérique.
L’une des toutes premières méthodes pour cette représentation est le Bag-of-Words (BoW) ou « Sac de mots ».
Comment ça marche ?
Prenons un exemple concret en utilisant ce petit corpus de texte : « I am a handsome boy. And I also have a handsome bike. »
Étape 1 : La tokenisation
Tokeniser un texte signifie le découper en petits morceaux appelés tokens. Un token peut être un mot ou une séquence de caractères. Ici, nous allons diviser le texte par mots : I — am — a — handsome — boy / And — I — also — have — a — handsome — bike
Étape 2 : Construction du vocabulaire
Le vocabulaire est la collection de mots uniques trouvés dans l’ensemble de notre corpus. Dans notre cas, le vocabulaire est : I — am — a — handsome — boy — And — also — have — bike
Étape 3 : La vectorisation
La vectorisation est le processus de transformation d’un document en une séquence de nombres (un vecteur).
Pour ce faire, nous prenons chaque phrase et la comparons à notre vocabulaire. Si un mot du vocabulaire est présent dans la phrase, nous le représentons par un 1. S’il est absent, nous utilisons un 0.
Phrase 1 : « I am a handsome boy »
I | am | a | handsome | boy | And | also | have | bike
1 | 1 | 1 |1 | 1 | 0 | 0 | 0 | 0
Phrase 2 : « And I also have a handsome bike »
I | am | a | handsome | boy | And | also | have | bike
1 | 0 | 1 | 1 | 0 | 1 | 1 |1 | 1
Le résultat
Nous avons maintenant une représentation numérique de notre texte qu’un ordinateur peut traiter :
Phrase 1 : [1, 1, 1, 1, 1, 0, 0, 0, 0] Phrase 2 : [1, 0, 1, 1, 0, 1, 1, 1, 1]
Comme vous pouvez le voir, chaque séquence de chiffres correspond à une phrase.
Cependant, remarquez une chose : avec cette méthode, bien que l’ordre du vocabulaire soit important pour le vecteur, l’ordre contextuel des mots dans la phrase est perdu.
C’est là tout le sens du « Sac » dans Bag-of-Words : on jette tout dans un sac et on compte ce qu’il y a à l’intérieur !
À quoi sert concrètement le Bag-of-Words ?
Voici quelques applications majeures du BoW :
Détection de spams
C’est l’usage le plus classique. Un algorithme regarde si des mots comme “argent”, “gratuit” ou “offre” apparaissent souvent.
S’ils sont présents en grand nombre, l’email est classé comme spam.
Analyse de sentiment
Pour trier des milliers d’avis clients, on compte les mots à forte charge émotionnelle.
Si “excellent” et “rapide” dominent, l’avis est positif. C’est simple, mais extrêmement rapide pour traiter de gros volumes de retours clients.
Classification thématique
Les sites de news utilisent le BoW pour classer automatiquement les articles.
Un texte contenant souvent les mots “ballon”, “arbitre” et “score” sera classé en “Sport”.
Pourquoi le BoW ne suffit pas ?
Malgré son efficacité, le Bag-of-Words présente quelques limites :
L’indifférence à l’ordre
Comme nous l’avons vu, il ne comprend pas l’ordre des mots. Pour lui, “Le chat mange la souris” est identique à “La souris mange le chat”.
L’absence de sémantique
Le BoW ne sait pas que “voiture” et “automobile” sont synonymes. Si votre dictionnaire contient “voiture”, il mettra un 0 pour le mot “automobile”.
Les vecteurs creux (Sparsity)
Si votre vocabulaire fait 10 000 mots, chaque phrase est représentée par une liste de 10 000 chiffres remplie de zéros. C’est un gaspillage de mémoire.
Des algorithmes plus avancés
Il existe des algorithmes plus évolués qui intègrent le BoW et qui viennent compenser ses limites.
1- Le TF-IDF (Term Frequency-Inverse Document Frequency)
Le Bag-of-Words est une méthode simple et efficace, mais elle a un défaut :
Pour le BoW, tous les mots sont égaux. Si le mot “le” apparaît 100 fois et le mot “algorithme” 5 fois, le modèle accordera mathématiquement plus d’importance au mot “le”.
Pourtant, c’est le mot “algorithme” qui porte le sens.
Le BoW est donc pollué par le bruit (les mots de liaison comme le, la, et, de) et échoue à représenter le véritable sens d’un document.
Le TF-IDF (Term Frequency-Inverse Document Frequency) a été inventé pour corriger cela. Son rôle est de pondérer les mots : donner un poids fort aux mots rares et significatifs, et un poids faible aux mots trop communs.
Comment ça fonctionne ?
Le TF-IDF est le résultat d’une multiplication entre deux scores. Prenons l’exemple d’un article sur l’histoire du roi Béhanzin au milieu d’une bibliothèque de 1 000 livres.
Étape A : Le TF (Term Frequency)
Le TF mesure la fréquence d’un mot dans un seul document. Plus un mot est présent, plus il est jugé important pour ce texte spécifique.
Calcul :

Exemple : Dans un article de 500 mots, le nom “Béhanzin” apparaît 10 fois. Son TF est de :
10/500=0,02
Étape B : L’IDF (Inverse Document Frequency)
L’IDF mesure la rareté d’un mot dans tout le corpus (votre bibliothèque).
Calcul :

Cas du mot “Le” : Il est dans les 1 000 livres.
IDF=log(1000/1000)=0
Le score s’annule.
Cas du mot “Béhanzin” : Il n’est que dans 2 livres sur 1 000. Son score IDF sera très élevé.
Le rôle du logarithme
- Si un mot comme “le” est présent dans tous les documents, la fraction devient N/N=1. Or, log(1)=0. Le score IDF tombe à zéro, annulant mathématiquement les mots inutiles.
- Il empêche un mot ultra-rare d’avoir un poids démesuré. Au lieu d’avoir un score 1 000 000 de fois plus élevé, le logarithme ramène cet écart à une échelle gérable (par exemple, 6 au lieu de 1 000 000).
Étape C : Le score final TF-IDF
On multiplie les deux :
Score = TF × IDF
Le résultat
Grâce au TF-IDF, l’ordinateur ne se contente plus de compter. Il distingue l’essentiel de l’accessoire. Il comprend que “Béhanzin” est le mot-clé qui définit un document, alors que “le” n’est qu’un outil grammatical sans valeur informative.
C’est cette capacité à prioriser l’information qui a permis aux premiers moteurs de recherche de devenir réellement performants.
Lorsque vous tapez une requête sur un moteur de recherche, l’algorithme :
- Calcule le score TF-IDF de vos mots-clés dans des millions de pages.
- Classe les résultats : les pages où vos mots-clés ont le score TF-IDF le plus élevé remontent en premier.
2- Les N-grams
Comme nous l’avons vu, le Bag-of-Words (BoW) traite les mots comme des unités totalement indépendantes (c’est ce qu’on appelle un unigram). Cette approche détruit la structure du langage.
Le contresens de la négation
Si vous écrivez “Ce n’est pas bon”, le BoW découpe “pas” et “bon”. Pour une IA de recommandation, le mot “bon” est positif. Elle risque donc de classer cet avis comme positif alors qu’il est l’inverse.
La perte des entités
Des concepts comme “Intelligence Artificielle” ou “République du Bénin” perdent leur sens s’ils sont découpés. “Intelligence” et “Artificielle” pris séparément ne décrivent pas la même chose.
La solution : Au lieu de regarder un mot, on regarde une séquence de NNN mots.
Comment ça fonctionne ?
Le fonctionnement repose sur une “fenêtre” qui glisse sur la phrase et capture un groupe de mots à chaque étape. Le chiffre N détermine la taille de cette fenêtre.
Prenons la phrase :
“Le chat dort sur le tapis”
Unigram (N=1) [“Le”, “chat”, “dort”, “sur”, “le”, “tapis”]
Bigram (N=2) [“Le chat”, “chat dort”, “dort sur”, “sur le”, “le tapis”]
Trigram (N=3) [“Le chat dort”, “chat dort sur”, “dort sur le”, “sur le tapis”]
L’une des applications les plus célèbres des N-grams est la prédiction du mot suivant (comme sur le clavier du smartphone ou dans la barre de recherche Google).
Comment ça marche ?
Le système analyse des milliards de textes et calcule des probabilités basées sur les N-grams.
Vous tapez: “Comment allez-…”
Le système regarde ses trigrams commençant par “Comment allez”.
Il constate statistiquement que dans 90 % des cas, le mot qui suit est “vous”.
Il te suggère “vous” instantanément.
3- BM25 : BM25 (Best Matching 25)
Dans le TF-IDF classique, quand on a 100 fois le mot “IA” dans un document, le score est 100 fois plus élevé que s’il y était une seule fois.
Si un utilisateur cherche “Recette”, un document qui contient le mot 3 fois est beaucoup plus pertinent qu’un document qui le contient 0 fois.
Mais un document qui contient le mot 30 fois n’est pas forcément 10 fois plus pertinent que celui qui le contient 3 fois.
La solution : le BM25 utilise un paramètre de saturation (k1, généralement réglé entre 1.2 et 2.0). Il fait en sorte que le score augmente vite au début, puis plafonne.
Le TF-IDF a un autre biais : il favorise les documents longs car ils contiennent naturellement plus de mots.
Un article de 20 pages qui mentionne “Bénin” 10 fois est peut-être moins pertinent qu’un tweet de 10 mots qui mentionne “Bénin” 2 fois.
La solution : le paramètre b (généralement 0.75) ajuste le score en fonction de la longueur du document par rapport à la longueur moyenne de tous les documents du corpus.
Si le document est plus long que la moyenne, on réduit son score. S’il est plus court, on booste son score.
Décomposition de la formule

Une application concrète : le moteur de recherche d’un site de news
Sur un site comme Le Monde, un utilisateur tape “Élections”.
Article A : Un flash info de 3 lignes qui contient 2 fois le mot “Élections”. Article B : Une archive immense de 50 pages sur l’histoire de la démocratie qui contient 25 fois le mot “Élections”.
Le TF-IDF va probablement ressortir l’article B en premier (score de fréquence brut plus élevé).
Le BM25 va détecter que l’article A est très court et que le mot-clé y est très dense. Grâce au paramètre b, il va propulser le flash info en tête des résultats.
En somme, le Bag-of-Words a posé les bases de l’IA en transformant le texte en vecteurs numériques, bien qu’il restait limité par son ignorance de l’ordre des mots et de la sémantique. Des algorithmes évolués comme le TF-IDF, les N-grams et le BM25 ont perfectionné ce modèle en apprenant à prioriser les mots-clés, à capturer des séquences de texte et à ajuster la pertinence selon la densité du contenu.
메타데이터
- post_id
- fc0e4c724b8f
- slug
- comprendre-le-bag-of-words-et-ses-dérivés-fc0e4c724b8f
- url
- https://medium.com/@ghilthg/comprendre-le-bag-of-words-et-ses-d%C3%A9riv%C3%A9s-fc0e4c724b8f
- canonical_url
- https://medium.com/@ghilthg/comprendre-le-bag-of-words-et-ses-d%C3%A9riv%C3%A9s-fc0e4c724b8f
- author_url
- https://medium.com/@ghilthg
- status
- ok
- fetched_at
- 2026-07-13 06:23:13