Modèles de génération de texte

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

David Cecchini

Data Scientist

Semblable à un modèle de classification

Le modèle de génération de texte :

  • Utilise le vocabulaire comme classes
  • La dernière couche applique un softmax avec un nombre d'unités égal à la taille du vocabulaire
  • Utilise categorical_crossentropy comme fonction de perte
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Exemple de modèle avec keras

model = Sequential()

model.add(LSTM(units, input_shape=(chars_window, n_vocab), dropout=0.15, recurrent_dropout=0.15, return_sequences=True))
model.add(LSTM(units, dropout=dropout, recurrent_dropout=0.15, return_sequences=False))
model.add(Dense(n_vocab, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam')
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Mais pas vraiment un modèle de classification

Différence avec la classification :

  • Calcule la perte, mais pas les mesures de performance (exactitude)
    • Les humains voient les résultats et évaluent la performance.
    • Si ce n'est pas satisfaisant, entraînez plus d'époques ou ajoutez de la complexité (plus de cellules mémoire, plus de couches, etc.).
  • Utilisé avec des règles de génération selon la tâche
    • Générer le prochain caractère
    • Générer un mot
    • Générer une phrase
    • Générer un paragraphe
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Autres applications

  • Création de noms
    • Prénoms de bébé
    • Nouveaux noms d'étoiles, etc.
  • Génération de texte balisé
    • LaTeX
    • Markdown
    • XML, etc.
    • Code de programmation
  • Articles de nouvelles
  • Agent conversationnel (chatbot)
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Préparation des données

Montre la préparation des données pour la génération de texte : transformer le texte en séquences de nombres et scinder l'ensemble d'entraînement en X et Y en gardant des séquences de longueur fixe pour X et le caractère suivant pour Y.

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...