Preparando o texto final
Neste exercício, você vai preparar os textos de saída que serão usados no modelo de tradução. Além de transformar o texto em sequências de índices, você também precisa codificar cada índice como um único valor.
Os textos em inglês estão carregados na variável en_sentences, o tokenizador ajustado na variável output_tokenizer e o tamanho do vocabulário em inglês na variável en_vocab_size.
Além disso, já tem uma função pra dar os primeiros passos na transformação do idioma de saída (transformar textos em uma sequência de índices). A função é carregada no ambiente como “ transform_text_to_sequences() ” e tem dois parâmetros: “ sentences ”, que espera uma lista de frases em inglês, e “ tokenizer ”, que espera um objeto “ Tokenizer ” ajustado do módulo “ keras.preprocessing.text ”.
numpy é carregado como np.
Este exercício faz parte do curso
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras
Instruções do exercício
- Passa as variáveis “
en_sentences” e “output_tokenizer” para a função “transform_text_to_sequences()” para inicializar a variável “Y”. - Use a função “
to_categorical()” para codificar as frases como one-hot. Use a variávelen_vocab_sizecomo número de classes. - Transforme a lista temporária em uma matriz numpy e remodele para ter a forma igual a
(num_sentences, sentences_len, en_vocab_size). - Imprima o texto bruto e o transformado.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Initialize the variable
Y = transform_text_to_sequences(____, ____)
# Temporary list
ylist = list()
for sequence in Y:
# One-hot encode sentence and append to list
ylist.append(____(sequence, num_classes=____))
# Update the variable
Y = np.array(ylist).reshape(____, Y.shape[1], en_vocab_size)
# Print the raw sentence and its transformed version
print("Raw sentence: {0}\nTransformed: {1}".format(____, Y[0]))