Les embeddings sémantiques, tels que Word2Vec et GloVe, constituent en réalité une première étape vers la modélisation du langage - créer des modèles qui comprennent (ou représentent) d'une certaine manière la nature du langage.
L'idée principale derrière la modélisation du langage est de les entraîner sur des ensembles de données non étiquetées de manière non supervisée. Cela est important car nous disposons de grandes quantités de texte non étiqueté, tandis que la quantité de texte étiqueté sera toujours limitée par l'effort nécessaire pour l'étiquetage. Le plus souvent, nous pouvons construire des modèles de langage capables de prédire les mots manquants dans un texte, car il est facile de masquer un mot aléatoire dans un texte et de l'utiliser comme exemple d'entraînement.
Dans nos exemples précédents, nous avons utilisé des embeddings sémantiques pré-entraînés, mais il est intéressant de voir comment ces embeddings peuvent être entraînés. Plusieurs idées peuvent être utilisées :
- Modélisation de langage N-Gram, où l'on prédit un token en se basant sur les N tokens précédents (N-gram).
-
Continuous Bag-of-Words (CBoW), où l'on prédit le token central
$W_0$ dans une séquence de tokens$W_{-N}$ , ...,$W_N$ . -
Skip-gram, où l'on prédit un ensemble de tokens voisins {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} à partir du token central
$W_0$ .
Image tirée de cet article
Poursuivez votre apprentissage avec les notebooks suivants :
Dans la leçon précédente, nous avons vu que les embeddings de mots fonctionnent comme par magie ! Nous savons maintenant que l'entraînement des embeddings de mots n'est pas une tâche très complexe, et nous devrions être capables d'entraîner nos propres embeddings pour des textes spécifiques à un domaine si nécessaire.
- Tutoriel officiel PyTorch sur la modélisation du langage.
- Tutoriel officiel TensorFlow sur l'entraînement du modèle Word2Vec.
- Utiliser le framework gensim pour entraîner les embeddings les plus couramment utilisés en quelques lignes de code est décrit dans cette documentation.
Dans le laboratoire, nous vous mettons au défi de modifier le code de cette leçon pour entraîner un modèle Skip-Gram à la place de CBoW. Lisez les détails
