Notions de Base sur les Word Embeddings
Comprendre les Word Embeddings
Les méthodes traditionnelles de représentation de texte, telles que le sac de mots (bag of words) et le TF-IDF, présentent des limitations notables. Elles traitent les mots de manière isolée, ignorant les relations sémantiques, et produisent des vecteurs de grande dimension, clairsemés, qui deviennent inefficaces sur le plan computationnel avec de grands corpus.
Les word embeddings répondent à ces problématiques en prenant en compte le contexte dans lequel les mots apparaissent, offrant ainsi une compréhension plus nuancée du langage.
Les word embeddings sont des représentations vectorielles denses des mots dans un espace vectoriel continu où les mots sémantiquement similaires sont placés à des points proches.
Plusieurs modèles et techniques ont été développés pour générer des représentations vectorielles de mots pertinentes :
-
Word2Vec : développé par Google, Word2Vec représente les mots sous forme de vecteurs denses à l'aide de deux architectures : continuous bag of words (CBoW), qui prédit un mot à partir de son contexte environnant, et Skip-gram, qui prédit les mots environnants à partir d'un mot donné ;
-
GloVe : créé à Stanford, GloVe (global vectors) génère des embeddings de mots en analysant les statistiques globales de cooccurrence de mots sur l'ensemble du corpus, capturant les relations sémantiques en fonction de la fréquence à laquelle les paires de mots apparaissent ensemble ;
-
FastText : introduit par Facebook AI Research, FastText s'appuie sur Word2Vec en représentant les mots comme une collection de n-grammes de caractères. Cela lui permet de modéliser l'information sous-mot, améliorant sa capacité à gérer les mots rares, hors vocabulaire, ainsi que les langues morphologiquement riches.
Word2Vec et FastText sont les modèles les plus couramment utilisés pour générer des embeddings de mots. Cependant, puisque FastText n'est qu'une version améliorée de Word2Vec, nous l'ignorerons et nous concentrerons uniquement sur Word2Vec.
Comment fonctionne Word2Vec ?
Word2Vec transforme les mots en vecteurs à l'aide d'un processus qui commence par le one-hot encoding, où chaque mot d'un vocabulaire est représenté par un vecteur unique marqué par un seul 1 parmi des zéros. Examinons un exemple :
Ce vecteur sert d'entrée à un réseau de neurones, conçu pour « apprendre » les embeddings de mots. L'architecture du réseau peut suivre l'un des deux modèles :
- CBoW (continuous bag of words) : prédit un mot cible à partir du contexte fourni par les mots environnants ;
- Skip-gram : prédit les mots du contexte environnant à partir du mot cible.
Dans les deux architectures Word2Vec, à chaque itération d'entraînement, le modèle reçoit un mot cible et les mots qui l'entourent comme contexte, représentés sous forme de vecteurs one-hot encodés. L'ensemble de données d'entraînement est donc effectivement composé de ces paires ou groupes, où chaque mot cible est associé à ses mots de contexte environnants.
Chaque mot du vocabulaire prend tour à tour la place du mot cible, le modèle parcourant le texte à l'aide d'une fenêtre de contexte glissante. Cette technique se déplace systématiquement sur chaque mot, garantissant un apprentissage exhaustif à partir de tous les contextes possibles du corpus.
Une fenêtre de contexte est un nombre fixe de mots entourant un mot cible que le modèle utilise pour apprendre son contexte. Elle définit combien de mots avant et après le mot cible sont pris en compte lors de l'entraînement.
Prenons un exemple avec une taille de fenêtre égale à 2 pour clarifier les choses :
Une taille de fenêtre de contexte de 2 signifie que le modèle inclura jusqu'à 2 mots à gauche et à droite du mot cible, tant que ces mots sont disponibles dans les limites du texte. Comme vous pouvez le constater, s'il y a moins de 2 mots de chaque côté, le modèle inclura autant de mots que possible.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain the main differences between Word2Vec, GloVe, and FastText?
How does the sliding context window impact the quality of word embeddings?
Can you provide a simple example of how Word2Vec learns word relationships?
Awesome!
Completion rate improved to 3.45
Notions de Base sur les Word Embeddings
Glissez pour afficher le menu
Comprendre les Word Embeddings
Les méthodes traditionnelles de représentation de texte, telles que le sac de mots (bag of words) et le TF-IDF, présentent des limitations notables. Elles traitent les mots de manière isolée, ignorant les relations sémantiques, et produisent des vecteurs de grande dimension, clairsemés, qui deviennent inefficaces sur le plan computationnel avec de grands corpus.
Les word embeddings répondent à ces problématiques en prenant en compte le contexte dans lequel les mots apparaissent, offrant ainsi une compréhension plus nuancée du langage.
Les word embeddings sont des représentations vectorielles denses des mots dans un espace vectoriel continu où les mots sémantiquement similaires sont placés à des points proches.
Plusieurs modèles et techniques ont été développés pour générer des représentations vectorielles de mots pertinentes :
-
Word2Vec : développé par Google, Word2Vec représente les mots sous forme de vecteurs denses à l'aide de deux architectures : continuous bag of words (CBoW), qui prédit un mot à partir de son contexte environnant, et Skip-gram, qui prédit les mots environnants à partir d'un mot donné ;
-
GloVe : créé à Stanford, GloVe (global vectors) génère des embeddings de mots en analysant les statistiques globales de cooccurrence de mots sur l'ensemble du corpus, capturant les relations sémantiques en fonction de la fréquence à laquelle les paires de mots apparaissent ensemble ;
-
FastText : introduit par Facebook AI Research, FastText s'appuie sur Word2Vec en représentant les mots comme une collection de n-grammes de caractères. Cela lui permet de modéliser l'information sous-mot, améliorant sa capacité à gérer les mots rares, hors vocabulaire, ainsi que les langues morphologiquement riches.
Word2Vec et FastText sont les modèles les plus couramment utilisés pour générer des embeddings de mots. Cependant, puisque FastText n'est qu'une version améliorée de Word2Vec, nous l'ignorerons et nous concentrerons uniquement sur Word2Vec.
Comment fonctionne Word2Vec ?
Word2Vec transforme les mots en vecteurs à l'aide d'un processus qui commence par le one-hot encoding, où chaque mot d'un vocabulaire est représenté par un vecteur unique marqué par un seul 1 parmi des zéros. Examinons un exemple :
Ce vecteur sert d'entrée à un réseau de neurones, conçu pour « apprendre » les embeddings de mots. L'architecture du réseau peut suivre l'un des deux modèles :
- CBoW (continuous bag of words) : prédit un mot cible à partir du contexte fourni par les mots environnants ;
- Skip-gram : prédit les mots du contexte environnant à partir du mot cible.
Dans les deux architectures Word2Vec, à chaque itération d'entraînement, le modèle reçoit un mot cible et les mots qui l'entourent comme contexte, représentés sous forme de vecteurs one-hot encodés. L'ensemble de données d'entraînement est donc effectivement composé de ces paires ou groupes, où chaque mot cible est associé à ses mots de contexte environnants.
Chaque mot du vocabulaire prend tour à tour la place du mot cible, le modèle parcourant le texte à l'aide d'une fenêtre de contexte glissante. Cette technique se déplace systématiquement sur chaque mot, garantissant un apprentissage exhaustif à partir de tous les contextes possibles du corpus.
Une fenêtre de contexte est un nombre fixe de mots entourant un mot cible que le modèle utilise pour apprendre son contexte. Elle définit combien de mots avant et après le mot cible sont pris en compte lors de l'entraînement.
Prenons un exemple avec une taille de fenêtre égale à 2 pour clarifier les choses :
Une taille de fenêtre de contexte de 2 signifie que le modèle inclura jusqu'à 2 mots à gauche et à droite du mot cible, tant que ces mots sont disponibles dans les limites du texte. Comme vous pouvez le constater, s'il y a moins de 2 mots de chaque côté, le modèle inclura autant de mots que possible.
Merci pour vos commentaires !