Kom igångKom igång gratis

Generera engelsk-franska översättningar

Visste du att HSBC-banken en gång spenderade 10 miljoner dollar på att byta slogan – på grund av ett översättningsmisstag?

Vi använder den tränade modellen för att förutsäga den franska översättningen av en engelsk mening med hjälp av model.predict(). Du får tillgång till den tränade modellen (model). Den har tränats i 50 epoker på 100 000 meningar och uppnådde ungefär 90 % noggrannhet på ett valideringsset med över 35 000 ord. Det kan ta lite längre tid att ladda övningen eftersom den tränade modellen läses in i förväg. Du får också tillgång till en ordbok (fr_id2word) som du kan använda för att konvertera ordindex till ord. Slutligen använder du funktionen sents2seqs som du implementerade tidigare för att förbehandla datan innan den matas in i modellen.

Du kan använda help(sents2seqs) för att påminna dig om vad sents2seqs() accepterar som indata.

Den här övningen är en del av kursen

Maskinöversättning med Keras

Visa kurs

Övningsinstruktioner

  • Förbehandla källan en_st så att den konverteras till en one-hot-kodad numpy-array med den tidigare definierade funktionen sents2seqs.
  • Förutsäg utdata för en_seq med den tillhandahållna tränade model.
  • Extrahera det maximala indexet för varje förutsägelse i fr_pred med hjälp av np.argmax och tilldela resultatet till fr_seq.
  • Konvertera de franska sekvens-ID:na till en mening med listomfattning (kom ihåg att ignorera nollor) och tilldela resultatet till fr_sent.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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")
Redigera och kör kod