CommencezCommencez gratuitement

Prédiction de texte avec des LSTM

Dans les prochains exercices, vous allez bâtir un petit modèle LSTM capable de prédire le prochain mot à partir d'un petit jeu de données textuelles. Ce jeu de données regroupe des répliques nettoyées tirées des films The Lord of the Ring. Vous les trouverez dans la variable text.

Vous convertirez ce text en sequences de longueur 4 et utiliserez le Tokenizer de Keras pour préparer les variables explicatives et les étiquettes de votre modèle!

Le Tokenizer de Keras est déjà importé pour vous. Il attribue un numéro unique à chaque mot unique et conserve les correspondances dans un dictionnaire. C'est essentiel, car le modèle travaille avec des nombres, mais nous voudrons ensuite décoder ces nombres de sortie en mots.

Cette activité fait partie du cours

Introduction à Deep Learning avec Keras

Voir le cours

Instructions de l’exercice

  • Divisez le texte en un tableau de mots avec .split().
  • Créez des phrases de 4 mots chacune, en vous déplaçant d'un mot à la fois.
  • Instanciez un Tokenizer(), puis ajustez-le sur les phrases avec .fit_on_texts().
  • Transformez sentences en une séquence de nombres en appelant .texts_to_sequences().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Split text into an array of words 
words = ____.____

# Make sentences of 4 words each, moving one word at a time
sentences = []
for i in range(4, len(words)):
  sentences.append(' '.join(words[i-____:i]))

# Instantiate a Tokenizer, then fit it on the sentences
tokenizer = ____
tokenizer.____(____)

# Turn sentences into a sequence of numbers
sequences = tokenizer.____(____)
print("Sentences: \n {} \n Sequences: \n {}".format(sentences[:5],sequences[:5]))
Modifier et exécuter le code