ComeçarComece de graça

Gerando traduções de inglês para francês

Você sabia que o banco HSBC já gastou US$ 10 milhões para refazer seu slogan por causa de um erro de tradução?

Vamos usar o modelo treinado para prever a tradução em francês de uma frase em inglês usando model.predict(). Você receberá o modelo treinado (model). Ele foi treinado por 50 épocas em 100.000 sentenças e alcançou cerca de 90% de acurácia em um conjunto de validação com mais de 35.000 palavras. Este exercício pode demorar um pouco mais para carregar, pois o modelo treinado é carregado antes do início. Além disso, você também terá um dicionário (fr_id2word) que pode usar para converter índices de palavras em palavras. Por fim, você usará a função sents2seqs que implementou antes para pré-processar os dados antes de alimentar o modelo.

Você pode usar help(sents2seqs) para relembrar o que a função sents2seqs() aceita.

Este exercício faz parte do curso

Machine Translation with Keras

Ver curso

Instruções do exercício

  • Pré-processe a fonte en_st para convertê-la em um array numpy one-hot usando a função sents2seqs definida anteriormente.
  • Faça a previsão da saída para en_seq usando o model treinado fornecido.
  • Extraia o índice máximo de cada previsão de fr_pred usando np.argmax e atribua a fr_seq.
  • Converta os IDs da sequência em francês em uma sentença usando compreensão de listas (lembre-se de ignorar os 0s) e atribua a fr_sent.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

en_st = ['the united states is sometimes chilly during december , but it is sometimes freezing in june .']
print('English: {}'.format(en_st))

# Convert the English sentence to a sequence
en_seq = ____(____, en_st, ____=True, reverse=____)

# Predict probabilities of words using en_seq
fr_pred = ____.____(en_seq)

# Get the sequence indices (max argument) of fr_pred
fr_seq = ____.____(fr_pred, axis=____)[0]

# Convert the sequence of IDs to a sentence and print
fr_sent = [____[i] for i in ____ if i != ____]
print("French (Custom): {}".format(' '.join(fr_sent)))
print("French (Google Translate): les etats-unis sont parfois froids en décembre, mais parfois gelés en juin")
Editar e executar o código