Vous êtes sur la page 1sur 20

Word Embedding

(Plongements de mots)

Azzeddine MAZROUI M2I 2023-2024


Introduction

❑ Le word embedding est une technique en traitement automatique du langage naturel


(TALN) et en apprentissage automatique qui permet de représenter des mots ou des
expressions sous forme de vecteurs de nombres réels dans un espace multidimensionnel.
❑ Ces vecteurs de mots sont conçus de manière à capturer les relations sémantiques et
syntaxiques entre les mots en fonction de leur contexte dans un vaste corpus de texte.
❑ Ainsi, chaque mot est attribué à un point dans un espace multidimensionnel, où les mots
similaires se trouvent plus près les uns des autres dans cet espace.
❑ Le word embedding a eu un impact profond sur un large éventail d'applications en
TALN et continue d'être un domaine de recherche actif.
2
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Encodage One-hot
❑ Un vocabulaire est un ensemble de mots sans répétition,
❑ Etant donné un vocabulaire 𝑉 = 𝑣1 , 𝑣2 , ⋯ , 𝑣𝑛 contenant n mots, l'encodage one-
hot1consiste à encoder chaque mot du vocabulaire V par un vecteur binaire de taille
n, où uniquement le coefficient se trouvant à la position du mot dans le vocabulaire
est égale à 1 et tous les autres coefficients sont nuls.
❑ Exemple : Si 𝑉 = 𝑗𝑒, 𝑡𝑢, 𝑚𝑎𝑛𝑔𝑒𝑟, 𝑙𝑖𝑟𝑒, 𝑡𝑎𝑏𝑙𝑒, 𝑙𝑖𝑣𝑟𝑒 alors
0 0 0
1 0 0
0 0 0
𝑡𝑢 → lire → livre →
0 1 0
0 0 0
2 0 0 1
Encodage One-hot

❑ Cette représentation présente deux inconvénients :


➢ La taille du vecteur est égale à celle du vocabulaire qui dans la pratique est très
grande (des dizaines de milliers).
➢ Les vecteurs sont creux (une seule valeur du vecteur est non nulle).
➢ La distance euclidienne entre n’importe quels deux vecteurs représentants deux
mots différents est toujours égale à 2.
❑ Il faut donc chercher une autre représentation vectorielle qui associe à deux mots
proches deux vecteurs proches.

2
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Word embedding dense

❑ L'idée générale est de projeter les mots du vocabulaire V de taille n dans un espace
vectoriel continu où les vecteurs associés à ces mots ont une dimension p relativement
petite (vecteurs denses) (en général 100 ≤ 𝑑 ≤ 300).
❑ La vectorisation des mots doit être réalisée de sorte que les mots apparaissant dans des
contextes similaires aient des représentations vectorielles proches. Par exemple, les
mots ‘’heureux’’ et ‘’content’’ doivent être représentés par des vecteurs proches.
❑ Les opérations arithmétiques élémentaires doivent conserver leurs sens lorsqu’elles sont
appliquées sur ces vecteurs :
➢ Par exemple, si 𝑉𝑟𝑜𝑖𝑠 , 𝑉𝑟𝑒𝑖𝑛𝑒 , 𝑉ℎ𝑜𝑚𝑚𝑒 et 𝑉𝑓𝑒𝑚𝑚𝑒 sont les vecteurs qui représentent
respectivement les mots rois, reine, homme et femme, alors on devrait avoir :
𝑉𝑟𝑜𝑖𝑠 − 𝑉ℎ𝑜𝑚𝑚𝑒 + 𝑉𝑓𝑒𝑚𝑚𝑒 ≈ 𝑉𝑟𝑒𝑖𝑛𝑒 .
3
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Encodage Word2vec

❑ Word2Vec est un algorithme très populaires pour apprendre les représentations


vectorielles (embeddings) des mots.
❑ Il a été développé en 2013 par Tomas Mikolov et son équipe chez Google.
❑ L'objectif principal de Word2Vec est de créer des représentations vectorielles de mots
qui capturent les similitudes sémantiques entre les mots en se basant sur la distribution
des mots dans un grand corpus de texte.
❑ Il utilise une architecture de réseau neuronal pour apprendre les vecteurs de mots en
prédisant un mot cible à partir de son contexte ou en prédisant les mots de contexte d'un
mot cible.
2
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Encodage Word2vec
❑ Word2Vec propose deux modèles principaux : CBOW (Continuous Bag of Words) et
Skip-gram qui sont basés sur des réseaux de neurones artificiels peu profonds.
CBOW : l'objectif est de prédire le mot cible à Skip-gram : l'objectif est de prédire les mots de contexte
partir d'un contexte donné. Par exemple, à partir (mots voisins) à partir d'un mot cible donné. Par
des mots "il faut" et "mes leçons", le modèle exemple, à partir du mot "apprendre", le modèle tente de
tente de prédire le mot cible "apprendre". prédire les mots environnants "il faut" et "mes leçons".

3
Encodage Word2vec
Modèle CBOW
❑ Ce modèle est entraîné sur un corpus non étiqueté très volumineux.
❑ On commence par choisir la taille k (en général 2 ≤ 𝑘 ≤ 10) de la fenêtre définissant le
contexte.
❑ Si k=3, alors le contexte d’un mot dans une phrase est les trois mots le précédant et les trois
mots les succédant dans la phrase.
❑ Dans la phrase ‘’J’ai suivi des cours d’informatique à l’université Mohammed Premier’’, le
contexte du mot ‘’cours’’ avec une fenêtre de taille 3 est ‘’ai – suivi – des – de –
informatique – à’’.
❑ Ensuite, on construit un réseau de neurones artificiel avec une seule couche cachée où le
contexte d’un mot représente l’entrée et le mot représente la sortie.
4
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Encodage Word2vec
Modèle CBOW : Apprentissage
❑ Soit 𝐶 un corpus constitué de m phrases 𝑃ℎ𝑖 1≤𝑖≤𝑚 .

❑ L’ensemble d’apprentissage est obtenu en considérant dans chaque phrase du corpus 𝐶


les contextes des mots comme entrées et les mots correspondants comme sorties.
❑ Exemple : la phrase ‘’Oujda est une ville frontière du Maroc’’ et k=2.
Phrase Entrées (Contexte) Sortie (Mot)
Oujda est une ville frontière du Maroc Est - une Oujda
Oujda est une ville frontière du Maroc Oujda – une - ville est
Oujda est une ville frontière du Maroc Oujda – est – ville - frontière une
Oujda est une ville frontière du Maroc est – une – frontière - du ville
Oujda est une ville frontière du Maroc une – ville – du - Maroc frontière
Oujda est une ville frontière du Maroc ville –frontière - Maroc du
4 Oujda est une ville frontière du Maroc ville –frontière Maroc
Encodage Word2vec
Modèle CBOW
❑ À partir de l’exemple 𝑚𝑡−2 , 𝑚𝑡−1 , 𝑚𝑡 , 𝑚𝑡+1 , 𝑚𝑡+2 , 𝑥𝑡−2
on considère le contexte 𝑚𝑡−2 , 𝑚𝑡−1 , 𝑚𝑡+1 , 𝑚𝑡+2 , 𝑚𝑡−2 ⋮

𝑊 𝑥𝑡−1
et le mot à prédire 𝑚𝑡 .

❑ Soit 𝑥𝑖 l’encodage one-hot du mot 𝑚𝑖 . 𝑚𝑡−1 ⋮


⋮ 𝑊
❑ Le modèle applique pour chaque vecteur de contexte

𝑥𝑖 une opération linéaire par la matrice des poids 𝑊 𝑊
𝑚𝑡+1 ⋮
(de taille 𝑛 × 𝑑 ) pour obtenir le vecteur 𝑓𝑖 = 𝑊𝑥𝑖 , ⋮ N-Dim

𝑥𝑡+1
où n est la taille de 𝑥𝑖 (taille du vocabulaire) et d est 𝑊
la taille des embeddings (à choisir entre 100 et 300). 𝑚𝑡+2 ⋮
⋮ 𝑥𝑡+2
4
Encodage Word2vec
Modèle CBOW
𝑥𝑡−2
𝑚𝑡−2 ⋮
❑ la couche cachée ℎ𝑡 est la somme pondérée des 𝑣𝑖 : ⋮
𝑓𝑡−2 + 𝑓𝑡−1 + 𝑓𝑡+1 + 𝑓𝑡+2 𝑊 𝑥𝑡−1
ℎ𝑡 = 𝑚𝑡
4
𝑦𝑡 𝑦෤𝑡
𝑚𝑡−1 ⋮ ℎ𝑡
❑ Ensuite, une opération linéaire par la matrice 𝑉 de ⋮ 𝑊
Softmax
taille (𝑑 × 𝑛) est appliquée à l’état cachée ℎ𝑡 pour ⋮ 𝑉 ⋮ ⋮
𝑊 ⋮ ⋮
obtenir le vecteur 𝑦𝑡 = 𝑉ℎ𝑡 . ⋮
𝑚𝑡+1
⋮ N-Dim V-Dim V-Dim
❑ Enfin, la fonction d’activation softmax est 𝑥𝑡+1
appliquée au vecteur 𝑦𝑡 pour obtenir le vecteur 𝑊
𝑚𝑡+2 ⋮
𝑦෤𝑡 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑦𝑡 . ⋮ 𝑥𝑡+2
4
Encodage Word2vec
Modèle CBOW : fonction softmax
❑ La fonction softmax prend en entrée un vecteur de nombres réels 𝑥 = 𝑥𝑖 1≤𝑖≤𝑘

et fournit un vecteur 𝑧 = 𝑧𝑖 1≤𝑖≤𝑘 de même taille de nombres réels positifs de


somme 1 définis par :
𝑒 𝑥𝑖
𝑧𝑖 = 𝑘
σ𝑗=1 𝑒 𝑥𝑗

❑ Exemple : Si 𝑥 = −2.31 ; 3.67 ; 0.11 ; −1.98 ; 1.62 , alors

𝑧 = 0.002174 ; 0.859683 ; 0.024448 ; 0.003024 ; 0.110671

13
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Encodage Word2vec
Modèle CBOW : Apprentissage
❑ Soit 𝐶 un corpus constitué de m phrases 𝑃ℎ𝑗 1≤𝑖≤𝑚
.

❑ L’ensemble d’apprentissage est obtenu en considérant dans chaque phrase du corpus 𝐶


les contextes des mots comme entrées et les mots correspondants comme sorties.
Phrase Entrées (Contexte) Sortie (Mot)
Oujda est une ville frontière du Maroc Est - une Oujda
Oujda est une ville frontière du Maroc Oujda – une - ville est
Oujda est une ville frontière du Maroc Oujda – est – ville - frontière une
Oujda est une ville frontière du Maroc est – une – frontière - du ville
Oujda est une ville frontière du Maroc une – ville – du - Maroc frontière
Oujda est une ville frontière du Maroc ville –frontière - Maroc du
4 Oujda est une ville frontière du Maroc ville –frontière Maroc
Encodage Word2vec
Modèle CBOW : Apprentissage
❑ On applique ce réseau à chaque exemple de
𝑚𝑡−2 ⋮
l’ensemble d’apprentissage, et on calcule l’erreur ⋮ Sortie
𝑊 obtenue
entre le vecteur sortie 𝑦෤𝑡 et la varie sortie 𝑥𝑡 de 𝑚𝑡
𝑦𝑡 𝑦෤𝑡
l’exemple (one-hot). 𝑚𝑡−1 ⋮ ℎ𝑡
⋮ 𝑊
Softmax
❑ L’erreur globale sur tout le corpus de l’ensemble ⋮ ⋮
⋮ 𝑉
⋮ ⋮
d’apprentissage est la somme des erreurs relatives à 𝑊
𝑚𝑡+1 ⋮
tous les exemples. ⋮ N-Dim 𝑥𝑡

❑ Ensuite on applique la méthode de la descente du 𝑊 Sortie


désirée
𝑚𝑡+2 ⋮
gradient pour estimer les matrices des poids W et V. ⋮
4
Encodage Word2vec
Modèle CBOW : Vectorisation des mots
❑ Une fois la phase d’apprentissage terminée, le jème mot 𝑣𝑗 du vocabulaire 𝑉 sera représenté par le la
jème colonne de la matrice des poids W.

𝑣1 𝑣2 𝑣𝑗 𝑣𝑛−1 𝑣𝑛

𝑤11 𝑤12 ⋯ 𝑤1𝑗 ⋯ 𝑤1𝑛−1 𝑤1𝑛


𝑤21 𝑤22 ⋯ 𝑤2𝑗 ⋯ 𝑤2𝑛−1 𝑤2𝑛
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
𝑊=
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
𝑤𝑑−11 𝑤𝑑−12 ⋯ 𝑤𝑑−1𝑗 ⋯ 𝑤𝑑−1𝑛−1 𝑤𝑑−1𝑛
𝑤𝑑1 𝑤𝑑2 ⋯ 𝑤𝑑𝑗 ⋯ 𝑤𝑑𝑛−1 𝑤𝑑𝑛

4
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Encodage Word2vec
Avantages
❑ Réduction de la dimensionnalité : Les vecteurs de Word2Vec ont généralement une
dimension ((en général 100 ≤ 𝑑 ≤ 300)) beaucoup plus faible que la représentation one-
hot traditionnelle des mots, ce qui réduit considérablement la complexité des données et
permet d'économiser des ressources computationnelles.
❑ Apprentissage non supervisé : Word2Vec utilise un modèle d'apprentissage non supervisé
pour apprendre les vecteurs de mots, ce qui rend son utilisation plus flexible et
économique.
❑ Capture des relations sémantiques : Word2Vec est capable de capturer des relations
sémantiques intéressantes entre les mots, telles que les relations de synonymie. En effet,
les mots synonymes sont en général présentés par des vecteurs proches.

4
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Encodage Word2vec
Inconvénients
❑ Incapacité à gérer la polysémie (un mot ayant plusieurs sens selon le contexte) :
Word2Vec ne peut pas différencier les différentes significations d'un mot qui a plusieurs
sens. Il attribue un seul vecteur au mot, ce qui peut entraîner des confusions dans les
contextes où le sens du mot varie.
❑ Manque de compréhension de la syntaxe : Bien que Word2Vec puisse capturer des
relations sémantiques simples entre les mots (synonymie), il a du mal à saisir des
relations plus complexes, telles que les relations syntaxiques.
❑ Nécessité d’une grandes quantités de données : Pour obtenir des vecteurs de mots de
haute qualité, Word2Vec nécessite des corpus de texte volumineux.
4
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Encodage Word2vec
Inconvénients

❑ Dépendance à l'hyperparamètre : La qualité des vecteurs de mots Word2Vec dépend de


divers hyperparamètres, tels que la fenêtre de contexte et la dimension des vecteurs.
Trouver les paramètres optimaux peut nécessiter des ajustements empiriques.
❑ Problème du OOV (out of vocabulary) : Word2Vec ne représente que les mots du
vocabulaire sur lequel il s’est entrainé. Les autres mots leur affecte le même vecteur ce
qui impactera les performances des applications basées sur Word2vec.

4
Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Word Embedding
Autres modèles
❑ FastText (2016) : il a été développé par Facebook AI Research. Il a introduit la notion de sous-mots
(subword embeddings) pour faire face au problème du OOV.
❑ ELMo (Embeddings from Language Models) (2018) : est basé sur des modèles de langage
bidirectionnels profonds, et peut gérer la polysémie (embedding contextuel).
❑ BERT (Bidirectional Encoder Representations from Transformers) (2018) : c’est un word embedding
contextuel développé par Google AI, et utilisé dans la grande majorité des tâches du TALN.
❑ GPT (Generative Pre-trained Transformer) (2018 et suivants) : GPT-2 et GPT-3 sont des word
embedding contextuels puissants. Ils ont été intégrés dans les différentes versions du ChatGPT.
❑ Transformers multilingues : des modèles transformer multilingues comme mBERT et XLM-R ont
été développés récemment pour traiter plusieurs langues simultanément. Ils permettent de transférer
4
des connaissances entre différentes langues. Ingénierie linguistique Master M2I 2023-2024 A. MAZROUI
Merci pour votre attention

Vous aimerez peut-être aussi