Contenu du cours
Introduction au NLP
Introduction au NLP
Principes de Base des Plongements de Mots
Comprendre les Word Embeddings
Les modèles traditionnels de représentation de texte comme Bag of Words et TF-IDF ont fait progresser le traitement du langage naturel mais présentent des limitations significatives. Ils ne parviennent pas à capturer les relations sémantiques entre les mots en traitant chaque mot indépendamment de son contexte et produisent des matrices de haute dimension, éparses, qui sont inefficaces sur le plan computationnel pour de grands corpus de texte.
Les word embeddings résolvent ces problèmes en considérant le contexte dans lequel les mots apparaissent, offrant une compréhension plus nuancée de la langue.
Plusieurs modèles et techniques ont été développés pour générer des embeddings de mots efficaces :
-
Word2Vec : Cet outil, créé par des chercheurs de Google, transforme les mots en vecteurs numériques. Il utilise deux méthodes : Continuous Bag of Words (CBoW), qui prédit un mot basé sur son contexte, et Skip-Gram, qui fait l'inverse en prédisant le contexte environnant à partir d'un mot ;
-
GloVe : Développé par l'Université de Stanford, GloVe transforme les mots en vecteurs en utilisant une approche différente. Il analyse la fréquence à laquelle des paires de mots apparaissent ensemble dans l'ensemble du corpus textuel pour apprendre leurs relations ;
-
FastText : Créé par Facebook AI Research, FastText améliore Word2Vec en décomposant les mots en plus petites parties appelées n-grammes de caractères. Cela permet au modèle de mieux gérer les langues morphologiquement riches et les mots non vus pendant l'entraînement.
En fait, Word2Vec et FastText sont les modèles les plus couramment utilisés pour générer des embeddings de mots. Cependant, puisque FastText est essentiellement une version améliorée de Word2Vec, nous nous concentrerons exclusivement sur Word2Vec dans notre cours.
Comment fonctionne Word2Vec ?
Word2Vec transforme les mots en vecteurs en utilisant un processus qui commence par l'encodage one-hot, où chaque mot d'un vocabulaire est représenté par un vecteur unique marqué par un seul '1' parmi des zéros. Jetons un coup d'œil à un exemple :
Ce vecteur sert d'entrée à un réseau de neurones, qui est 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), qui prédit un mot cible basé sur le contexte fourni par les mots environnants, ou Skip-Gram, qui, inversement, prédit les mots du contexte environnant en se basant sur le mot cible.
Dans les deux architectures Word2Vec, lors de chaque itération d'entraînement, le modèle reçoit un mot cible et les mots qui l'entourent comme contexte représenté sous forme de vecteurs encodés en one-hot. Le jeu 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 de rôle la place de mot cible tandis que le modèle parcourt le texte en utilisant une technique de fenêtre de contexte glissante. Cette technique se déplace systématiquement à travers chaque mot, garantissant un apprentissage complet de tous les contextes possibles au sein du corpus.
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 à la fois à gauche et à droite du mot cible, tant que ces mots sont disponibles dans les limites de la phrase. Comme vous pouvez le voir, 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 !