P

FastText : Définition et Exemples

FastText est une bibliothèque open source développée par Facebook AI Research (FAIR) pour l'apprentissage de représentations vectorielles de mots et la classification de texte, capable de traiter efficacement des milliards de mots en quelques minutes.

Définition complète

FastText est une bibliothèque de traitement du langage naturel (NLP) créée par l'équipe Facebook AI Research en 2016. Contrairement aux approches classiques comme Word2Vec qui représentent chaque mot comme un vecteur unique, FastText décompose les mots en sous-chaînes de caractères (n-grammes) avant de les vectoriser. Cette approche permet de capturer la morphologie des mots et de générer des représentations même pour des mots jamais rencontrés lors de l'entraînement.

Le fonctionnement de FastText repose sur deux architectures principales : CBOW (Continuous Bag of Words) et Skip-gram, héritées de Word2Vec, mais enrichies par le traitement des sous-mots. Par exemple, le mot « apprentissage » sera décomposé en fragments comme « app », « ppr », « pre », etc. Le vecteur final du mot est la somme des vecteurs de tous ses n-grammes, ce qui confère au modèle une robustesse remarquable face aux fautes d'orthographe, aux néologismes et aux langues morphologiquement riches comme le français ou l'allemand.

En plus de la génération d'embeddings, FastText intègre un classificateur de texte supervisé extrêmement rapide. Ce classificateur peut être entraîné sur des millions d'exemples en quelques secondes tout en atteignant des performances comparables à des réseaux de neurones profonds bien plus complexes. C'est cette combinaison de vitesse et de précision qui a fait de FastText un outil de référence dans l'industrie.

Aujourd'hui, FastText propose des modèles pré-entraînés pour 157 langues, entraînés sur Wikipedia et Common Crawl. Bien que les grands modèles de langage (LLM) comme GPT ou Claude aient largement dépassé FastText en termes de compréhension contextuelle, FastText reste pertinent pour des tâches nécessitant rapidité, légèreté et déploiement sur des ressources limitées.

Étymologie

Le nom « FastText » est la contraction de « Fast » (rapide) et « Text » (texte), reflétant directement la philosophie du projet : traiter le texte à très grande vitesse. Le projet a été publié en 2016 par Piotr Bojanowski, Edouard Grave, Armand Joulin et Tomas Mikolov au sein de Facebook AI Research.

Exemples concrets

Classification automatique de tickets de support client en catégories (technique, facturation, livraison) avec un modèle léger déployable en production.

Tu es un expert en NLP. Je dispose de 50 000 tickets de support étiquetés. Propose-moi un pipeline FastText pour entraîner un classificateur, en incluant le prétraitement du texte français (tokenisation, suppression des accents ou non, lowercase) et les hyperparamètres recommandés.

Détection de la langue d'un texte parmi des dizaines de langues possibles, en utilisant le modèle pré-entraîné lid.176.bin de FastText.

Explique-moi comment utiliser le modèle de détection de langue de FastText (lid.176.bin) en Python pour identifier automatiquement la langue de chaque commentaire dans un fichier CSV contenant des avis clients multilingues.

Génération d'embeddings de mots pour alimenter un système de recommandation sémantique sur un catalogue produit e-commerce.

Usage pratique

En prompt engineering, comprendre FastText permet de mieux appréhender les notions d'embeddings et de représentation vectorielle du texte qui sous-tendent les modèles de langage modernes. On peut utiliser FastText pour pré-filtrer ou classifier des données avant de les soumettre à un LLM, réduisant ainsi les coûts et la latence. C'est aussi un excellent outil pédagogique pour expérimenter avec les vecteurs de mots sans nécessiter de GPU.

Concepts liés

Word2VecEmbeddingsNLP (Traitement du Langage Naturel)TF-IDF

FAQ

Quelle est la différence entre FastText et Word2Vec ?
Word2Vec attribue un vecteur unique à chaque mot du vocabulaire, tandis que FastText décompose chaque mot en sous-chaînes de caractères (n-grammes) et combine leurs vecteurs. Cela permet à FastText de générer des représentations pour des mots inconnus (hors vocabulaire) et de mieux gérer les langues à morphologie riche, les fautes d'orthographe et les néologismes.
FastText est-il encore utile à l'ère des LLM comme GPT et Claude ?
Oui, FastText reste pertinent pour des cas d'usage spécifiques. Sa légèreté permet un déploiement sur des appareils à ressources limitées (mobile, IoT). Sa vitesse d'entraînement et d'inférence le rend idéal pour la classification de texte à grande échelle quand la latence est critique. Il est aussi utilisé pour la détection de langue, le pré-filtrage de données et comme outil pédagogique pour comprendre les embeddings.
Comment entraîner un modèle FastText en français ?
Vous pouvez soit utiliser les modèles pré-entraînés sur Wikipedia française (cc.fr.300.bin), soit entraîner votre propre modèle avec la commande fasttext.train_unsupervised() en Python. Pour la classification supervisée, préparez vos données au format « __label__catégorie texte du document » puis utilisez fasttext.train_supervised(). Le prétraitement recommandé inclut la tokenisation, la mise en minuscules et éventuellement la suppression des stopwords.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.