CommencerCommencer 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

Introduction au Deep Learning avec Keras

Afficher le cours

Instructions

  • 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 cet exemple de code.

# 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