Parte 1: Modelo de reversão de texto - Encoder
Criar um modelo simples de reversão de texto é uma ótima maneira de entender a mecânica dos modelos encoder-decoder e como eles se conectam. Agora você vai implementar a parte do encoder de um modelo de reversão de texto.
A implementação do encoder foi dividida em dois exercícios. Neste exercício, você vai definir a função auxiliar words2onehot(). A função words2onehot() deve receber uma lista de palavras e um dicionário word2index e converter a lista de palavras em um array de vetores one-hot. O dicionário word2index está disponível no workspace.
Este exercício faz parte do curso
Machine Translation with Keras
Instruções do exercício
- Converta palavras em IDs usando o dicionário
word2indexna funçãowords2onehot() - Converta os IDs de palavras em vetores one-hot de comprimento
3(usando o argumentonum_classes) e retorne o array resultante. - Chame a função
words2onehot()com as palavrasI,likeecatse atribua o resultado aonehot. - Imprima as palavras e seus vetores one-hot correspondentes usando as funções
print()ezip(). A funçãozip()permite iterar várias listas ao mesmo tempo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
import numpy as np
def words2onehot(word_list, word2index):
# Convert words to word IDs
word_ids = [____[w] for w in ____]
# Convert word IDs to onehot vectors and return the onehot array
onehot = ____(____, num_classes=3)
return ____
words = ["I", "like", "cats"]
# Convert words to onehot vectors using words2onehot
onehot = ____(____, ____)
# Print the result as (, ) tuples
print([(w,ohe.tolist()) for ____,____ in zip(words, ____)])