FastText est une bibliothèque open source développée par Facebook AI Research (FAIR) pour apprendre des représentations de mots et effectuer de la classification de textes. Elle a été publiée publiquement en 2016. La bibliothèque combine des techniques d'apprentissage automatique avec un accent sur l'efficacité computationnelle, ce qui la rend adaptée aux tâches de traitement du langage naturel à grande échelle. Son dépôt GitHub a été archivé le 19 mars 2024, marquant la fin du développement actif, bien que le code source et les modèles pré-entraînés restent disponibles.
Représentations de mots
FastText s'appuie sur le modèle skip-gram utilisé dans word2vec, mais prend également en compte la structure interne des mots. Au lieu d'apprendre une représentation pour chaque mot uniquement dans son ensemble, il représente les mots à l'aide de n-grammes de caractères. Les mots qui partagent des séquences de caractères peuvent donc partager une partie des informations apprises.
Cette utilisation de l'information sous-lexicale est particulièrement utile pour les mots rares et les langues à morphologie complexe, et permet également à fastText de construire des représentations pour des mots non vus lors de l'entraînement. Facebook AI Research a ensuite publié des vecteurs fastText pré-entraînés pour de nombreuses langues, notamment une collection pour 157 langues entraînée sur Common Crawl et Wikipédia. Ces vecteurs ont été largement adoptés dans des applications en aval telles que les classifieurs de machine learning et les tâches de similarité sémantique.
Classification de textes
FastText peut également être utilisé pour la classification supervisée de textes. Il combine les informations issues des mots et des n-grammes de mots dans un texte pour prédire une étiquette de classe. La méthode a été conçue pour être efficace sur le plan computationnel et, dans son évaluation originale, a atteint une précision comparable à plusieurs modèles d'apprentissage profond contemporains tout en étant beaucoup plus rapide à l'entraînement et à la prédiction. Le mode supervisé utilise un softmax hiérarchique pour gérer efficacement de grands ensembles d'étiquettes, ce qui le rend pratique pour des tâches comme l'analyse des sentiments et l'étiquetage de documents.
Architecture et entraînement
Le modèle central est un réseau de neurones peu profond avec une seule couche cachée, ce qui contraste avec les architectures plus profondes courantes dans l'apprentissage profond moderne. Dans le mode non supervisé, chaque mot est représenté comme la somme de ses vecteurs de n-grammes de caractères plus un vecteur de mot entier optionnel. Dans le mode supervisé, le texte d'entrée est intégré comme la moyenne de ses vecteurs de mots, puis passé à travers un classifieur linéaire. L'entraînement est effectué avec une descente de gradient stochastique et un échantillonnage négatif, ce qui réduit le coût computationnel. Cette simplicité permet à fastText de passer à l'échelle sur des milliards de mots sur une seule machine en quelques minutes.
Héritage et influence
FastText a influencé les développements ultérieurs dans la représentation et la classification de textes, en particulier dans les scénarios avec des ressources computationnelles limitées. Son approche sous-lexicale a éclairé la recherche sur les langues morphologiquement riches et la gestion des mots hors vocabulaire, et il reste une référence courante pour évaluer des modèles plus complexes tels que les grands modèles de langage. Le dépôt archivé et les vecteurs pré-entraînés publiés continuent d'être utilisés par les chercheurs et les praticiens dans le monde académique et industriel, y compris au sein de plateformes cloud comme Amazon Web Services et Google Cloud pour des pipelines d'intelligence artificielle personnalisés.
Voir aussi
- word2vec (concept connexe, non inclus dans la liste fournie, mais mentionné comme texte)
- Word2vec
- GloVe
- Réseau de neurones (apprentissage automatique)
- Traitement du langage naturel