Pré-processamento Keras
O segundo módulo mais importante do Keras é o keras.preprocessing. Você vai ver como usar os módulos e funções mais importantes pra preparar dados brutos pra forma de entrada correta. O Keras tem funcionalidades que substituem a abordagem de dicionário que você aprendeu antes.
Você vai usar o módulo keras.preprocessing.text.Tokenizer pra criar um dicionário de palavras usando o método .fit_on_texts() e transformar os textos em IDs numéricos que representam o índice de cada palavra no dicionário usando o método .texts_to_sequences().
Depois, usa a função “ .pad_sequences() ” (tamanho de sequência) em keras.preprocessing.sequence pra deixar todas as sequências com o mesmo tamanho (necessário pro modelo), adicionando zeros nos textos pequenos e cortando os grandes.
Este exercício faz parte do curso
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras
Instruções do exercício
- Importa
Tokenizerepad_sequencesdos módulos relevantes. - Ajuste o objeto “
tokenizer” nos dados de amostra que estão emtexts. - Transforme os textos em sequências de índices numéricos usando o método
.texts_to_sequences(). - Ajuste o tamanho dos textos preenchendo-os.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Import relevant classes/functions
from tensorflow.keras.preprocessing.text import ____
from tensorflow.keras.preprocessing.sequence import ____
# Build the dictionary of indexes
tokenizer = Tokenizer()
tokenizer.fit_on_texts(____)
# Change texts into sequence of indexes
texts_numeric = tokenizer.____(texts)
print("Number of words in the sample texts: ({0}, {1})".format(len(texts_numeric[0]), len(texts_numeric[1])))
# Pad the sequences
texts_pad = ____(texts_numeric, 60)
print("Now the texts have fixed length: 60. Let's see the first one: \n{0}".format(texts_pad[0]))