Embedding (NLP) (FR)

From Systems analysis Wiki
Jump to navigation Jump to search

L' embedding (terme anglais signifiant « plongement » ou « incorporation ») est une technologie fondamentale dans le domaine de l'apprentissage automatique et du traitement automatique du langage naturel, qui transforme des objets discrets ou complexes (tels que des mots, des phrases, des images) en représentations vectorielles numériques de dimensionnalité fixe. Ces vecteurs, ou embeddings, sont positionnés dans un espace multidimensionnel de telle manière que les objets sémantiquement similaires se retrouvent proches les uns des autres.

Définition et concept

Formellement, un embedding est une fonction de mappage f:Xd, où X est l'espace source des objets (par exemple, un vocabulaire de mots), et d est un espace vectoriel multidimensionnel (l'espace des embeddings) de dimension d. La dimension d est significativement plus petite que la dimension de l'espace source, ce qui rend ces représentations denses (dense).

Le fondement théorique des représentations vectorielles de mots est la sémantique distributionnelle, qui postule que la signification d'un mot est déterminée par le contexte dans lequel il est utilisé. Autrement dit, les mots qui apparaissent dans des contextes similaires ont des significations proches et, par conséquent, des représentations vectorielles voisines.

Principes fondamentaux des embeddings

  • Dimensionnalité fixe : Tous les objets sont mappés sur des vecteurs de même longueur, indépendamment de la taille des données d'origine (par exemple, la longueur d'une phrase).
  • Proximité sémantique : La distance entre les vecteurs (souvent mesurée par la similarité cosinus) reflète la proximité sémantique des objets d'origine.
  • Support des opérations mathématiques : Les vecteurs préservent les relations sémantiques, ce qui permet d'effectuer des opérations algébriques sur eux. L'exemple classique est : vecteur(« roi »)vecteur(« homme »)+vecteur(« femme »)vecteur(« reine »).

Histoire et développement

Premières approches (années 1980-2000)

Les premières idées de représentations vectorielles sont apparues dans les années 1980 dans le cadre de la recherche sur les réseaux de neurones. Les premières méthodes reposaient sur l'analyse statistique de la cooccurrence des mots.

L'ère de Word2Vec (2013)

Un tournant révolutionnaire a été le développement de Word2Vec par une équipe de Google dirigée par Tomáš Mikolov en 2013. Word2Vec a proposé deux architectures efficaces et peu coûteuses en termes de calcul pour l'apprentissage des embeddings de mots :

  • CBOW (Continuous Bag of Words) : Prédit le mot central en fonction de son contexte environnant.
  • Skip-gram : Prédit les mots du contexte à partir du mot central.

Word2Vec est devenu la première implémentation populaire de représentations vectorielles, en grande partie grâce à son code open source et à sa grande vitesse d'exécution.

Développement d'approches alternatives

Après Word2Vec, d'autres modèles importants d'embeddings statiques ont vu le jour :

  • GloVe (2014) : Un modèle développé à l'Université de Stanford qui utilise les statistiques globales de cooccurrence des mots pour entraîner les vecteurs.
  • FastText (2015) : Un modèle de Facebook qui prend en compte la morphologie des mots en représentant chaque mot comme la somme des vecteurs de ses n-grammes de caractères. Cela permet de créer des embeddings même pour les mots qui ne figuraient pas dans le vocabulaire d'entraînement (mots hors vocabulaire ou Out-of-Vocabulary).

L'ère des transformeurs et des embeddings contextuels (2018–aujourd'hui)

Une avancée majeure s'est produite avec l'avènement de l'architecture des transformeurs et du modèle BERT (2018). Cela a conduit à l'émergence des embeddings contextuels, où la représentation vectorielle d'un mot dépend du contexte de son utilisation. Contrairement aux représentations statiques, où le mot « avocat » aurait le même vecteur dans les phrases « un avocat défend son client » et « j'aime manger de l'avocat », les modèles contextuels génèrent des embeddings différents pour chaque cas.

Types d'embeddings

Par niveau de représentation

  • Embeddings de mots : Le type de base, où chaque mot est représenté par un vecteur distinct (Word2Vec, GloVe).
  • Embeddings de phrases et de documents : Représentent des phrases entières, des propositions ou des documents par un seul vecteur (PV-DM, PV-DBOW).
  • Embeddings d'utilisateurs et d'objets : Utilisés dans les systèmes de recommandation pour représenter les intérêts des utilisateurs et les caractéristiques des produits.

Par contextualité

  • Embeddings statiques : Un vecteur fixe unique est attribué à chaque mot, indépendamment du contexte (Word2Vec, GloVe, FastText).
  • Embeddings contextuels : Génèrent des représentations différentes pour un même mot en fonction de son environnement. Les principaux représentants sont :
    • BERT : Un modèle bidirectionnel basé sur les transformeurs.
    • ELMo : Un modèle LSTM bidirectionnel.
    • RoBERTa, DistilBERT, ALBERT : Des variantes améliorées de BERT.

Par modalité

  • Embeddings textuels : Le type le plus courant, incluant les représentations de mots, de phrases et de documents.
  • Embeddings visuels : Représentations d'images pour les tâches de vision par ordinateur.
  • Embeddings multimodaux : Combinent différents types de données (texte, images, audio) en un seul espace vectoriel. Un exemple est ImageBind, capable de lier des données de six modalités différentes.

Architectures et méthodes d'apprentissage

Méthodes classiques

  • Encodage one-hot : La méthode la plus simple, où chaque mot est encodé par un vecteur de la taille du vocabulaire, avec un 1 à la position correspondante. Inconvénients : grande sparsité et absence d'information sémantique.
  • Factorisation de matrices : Méthodes de réduction de dimensionnalité (par exemple, LSA) appliquées aux matrices de cooccurrence de mots.

Architectures de réseaux de neurones

  • Réseaux de neurones peu profonds : Les architectures CBOW et Skip-gram de Word2Vec utilisent des réseaux de neurones à deux couches pour un apprentissage efficace.
  • Transformeurs : Une architecture qui a révolutionné le domaine grâce au mécanisme d'attention (attention).

Approches modernes

  • Auto-apprentissage masqué : BERT utilise la tâche de prédiction de mots masqués pour apprendre des représentations contextuelles.
  • Apprentissage contrastif : Méthodes qui maximisent la similarité des paires sémantiquement proches (positives) et minimisent la similarité des paires éloignées (négatives).

Applications des embeddings

Les embeddings trouvent une large application dans divers domaines :

Traitement automatique du langage naturel

  • Recherche et recherche d'information : Amélioration de la qualité de la recherche sémantique, permettant de trouver des documents par leur sens plutôt que par des mots-clés.
  • Classification de textes : Les représentations vectorielles servent de données d'entrée pour les classifieurs, augmentant leur précision.
  • Analyse de sentiments : Détermination de la connotation émotionnelle des textes en tenant compte du contexte.
  • Traduction automatique : Amélioration de la compréhension de la sémantique des langues source et cible.

Systèmes de recommandation

Les embeddings d'utilisateurs et de produits sont à la base des systèmes de recommandation personnalisée, notamment :

  • Filtrage collaboratif : basé sur les embeddings du comportement des utilisateurs.
  • Filtrage basé sur le contenu : utilisant les embeddings des caractéristiques des produits.

Vision par ordinateur

  • Classification et recherche d'images : Les réseaux de neurones convolutifs et les Vision Transformers créent des embeddings d'images pour leur classification et la recherche d'images visuellement similaires.

Bio-informatique et médecine

  • Analyse de données médicales : Analyse des dossiers cliniques et diagnostic de maladies.
  • Représentations moléculaires : Création d'embeddings pour prédire les propriétés des composés chimiques.

Aspects techniques et optimisation

  • Méthodes d'optimisation de la dimensionnalité : Le Matryoshka Representation Learning (MRL) est une approche innovante qui permet d'obtenir des embeddings de différentes dimensions à partir d'un seul modèle, en concentrant les informations importantes au début du vecteur.
  • Quantification des embeddings : Réduction de la précision de la représentation des nombres (par exemple, à 8 ou 4 bits) pour accélérer les calculs et économiser de la mémoire.
  • Intégration avec les bases de données : Les bases de données vectorielles modernes (par exemple, Milvus, Pinecone) et les extensions pour les SGBD traditionnels (par exemple, pgvector pour PostgreSQL) permettent de stocker et de rechercher efficacement des embeddings.

Références bibliographiques

  • Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
  • Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
  • Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
  • Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
  • Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
  • Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
  • Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
  • Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
  • Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.

Liens externes