Transfert d'apprentissage pour les modèles de langue

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

David Cecchini

Data Scientist

L'idée derrière le transfert d'apprentissage

Transfert d'apprentissage :

  • Partir de poids initiaux meilleurs qu'aléatoires
  • Utiliser des modèles entraînés sur d'immenses ensembles de données
  • Modèles de science des données « ouverts »
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Architectures disponibles

Exemple de base : I really loved this movie

  • Word2Vec
    • Continuous Bag of Words (CBOW) X = [I, really, this, movie], y = loved
    • Skip-gram X = loved, y = [I, really, this, movie]
  • FastText X = [I, rea, eal, all, lly, really, ...], y = loved
    • Utilise des mots et des n-grammes de caractères
  • ELMo X = [I, really, loved, this], y = movie
    • Utilise des mots, des plongements selon le contexte
    • Utilise des modèles de langue profonds bidirectionnels (biLM)
  • Word2Vec et FastText sont offerts dans le paquet gensim et ELMo dans tensorflow_hub
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Exemple avec Word2Vec

from gensim.models import word2vec

# Entraîner le modèle w2v_model = word2vec.Word2Vec(tokenized_corpus, size=embedding_dim, window=neighbor_words_num, iter=100)
# Obtenir les 3 mots les plus similaires à "captain" w2v_model.wv.most_similar(["captain"], topn=3)
[('sweatpants', 0.7249663472175598),
('kirk', 0.7083336114883423),
('larry', 0.6495886445045471)]
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Exemple avec FastText

from gensim.models import fasttext

# Instancier le modèle ft_model = fasttext.FastText(size=embedding_dim, window=neighbor_words_num)
# Construire le vocabulaire ft_model.build_vocab(sentences=tokenized_corpus)
# Entraîner le modèle ft_model.train(sentences=tokenized_corpus, total_examples=len(tokenized_corpus), epochs=100)
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Passons à la pratique !

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Preparing Video For Download...