CommencerCommencez gratuitement

Prédiction de texte avec des LSTM

Dans les exercices suivants, vous allez construire un petit modèle LSTM capable de prédire le mot suivant à partir d’un petit jeu de données textuelles. Ce jeu de données est constitué de citations nettoyées des films The Lord of the Ring. Vous les trouverez dans la variable text.

Vous allez transformer ce text en sequences de longueur 4 et utiliser 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 stocke ces correspondances dans un dictionnaire. C’est important, car le modèle manipule des nombres, mais nous voudrons ensuite décoder les nombres de sortie en mots.

Cet exercice fait partie du cours

<cours>Introduction au Deep Learning avec Keras</cours>
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 avançant d’un mot à la fois.
  • Instanciez un Tokenizer(), puis ajustez-le sur les phrases avec .fit_on_texts().
  • Convertissez 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