Durée: 12 mois
Rubrique: Ingénieur IA
GloVe (Global Vectors for Word Representation) est une méthode de représentation vectorielle des mots qui combine les avantages des approches de cooccurrence globale et locale. Contrairement aux modèles purement prédictifs comme Word2Vec, GloVe se base sur la construction d'une matrice de cooccurrence qui capture la statistique globale des mots dans un large corpus de texte.
La méthode GloVe s'articule autour des étapes suivantes :
Collecte des cooccurrences : Pour chaque mot (i) dans le corpus, GloVe compile les fréquences de cooccurrence avec chaque mot (j) dans une matrice. Chaque cellule ((i, j)) contient le nombre de fois que les mots (i) et (j) apparaissent ensemble dans une fenêtre de contexte définie.
Normalisation des cooccurrences : Les fréquences cooccurrentes sont normalisées pour réduire l'influence des mots très fréquents ou très rares.
Factorisation de la matrice : Une fonction d'objectif est définie pour minimiser la différence entre les produits scalaires des vecteurs de mots et les logarithmes des comptes de cooccurrence. Des techniques de factorisation de matrice, telles que la décomposition en valeurs singulières (SVD), sont utilisées pour apprendre des représentations vectorielles compactes des mots.
Optimisation : L'optimisation est effectuée pour ajuster les vecteurs de mots afin que leurs points produits approchent les logcooccurrences dans la matrice. Les algorithmes d'optimisation courants comprennent AdaGrad et Adam.
La principale différence entre GloVe et Word2Vec réside dans leur approche de l'apprentissage des représentations vectorielles des mots :
Perspective Globale vs Locale : GloVe est basé sur une analyse globale de la cooccurrence des mots dans le corpus, tandis que Word2Vec utilise une approche locale en apprenant à partir des contextes immédiats des mots individuels via les architectures CBOW (Continuous Bag of Words) et Skipgram.
Construction de matrice de cooccurrence : GloVe explicite une matrice de cooccurrence dense et la factorise, ce qui peut être gourmand en mémoire pour de grands corpus. À l'inverse, Word2Vec fonctionne de façon plus efficace en termes de mémoire en utilisant des paires de mots et des échantillons négatifs.
Objectif de l'Optimisation : Word2Vec optimise ses vecteurs pour prédire le mot dans un contexte donné (ou vice versa). GloVe optimise les vecteurs pour qu'ils capturent les relations de cooccurrence globales dans la matrice.
En résumé, GloVe offre une approche matricielle globale pour la représentation des mots, se distinguant de l'approche prédictive locale de Word2Vec. Choisir entre GloVe et Word2Vec dépendra de la nature du projet NLP et des contraintes spécifiques, telles que la mémoire et la précision requises.