Začněte nyníZačněte zdarma

Generování překladů z angličtiny do francouzštiny

Věděl/a jsi, že banka HSBC jednou utratila 10 milionů dolarů za rebranding svého sloganu kvůli chybě v překladu?

Natrénovaný model použijeme k předpovědi francouzského překladu anglické věty pomocí model.predict(). K dispozici máš natrénovaný model (model), který byl trénován po dobu 50 epoch na 100 000 větách a dosáhl přibližně 90% přesnosti na validační sadě čítající více než 35 000 slov. Načítání tohoto cvičení může trvat déle, protože se před jeho spuštěním nahrává natrénovaný model. Dále máš k dispozici slovník (fr_id2word), který slouží k převodu indexů slov na slova samotná. Nakonec využiješ funkci sents2seqs, kterou jsi implementoval/a dříve, k předzpracování dat před jejich předáním modelu.

Pomocí help(sents2seqs) si můžeš připomenout, jaké vstupy funkce sents2seqs() přijímá.

Toto cvičení je součástí kurzu

Machine Translation with Keras

Zobrazit kurz

Pokyny k cvičení

  • Předzpracuj zdrojovou větu en_st tak, aby byla převedena na onehot zakódované pole numpy pomocí dříve definované funkce sents2seqs.
  • Předpověz výstup pro en_seq pomocí poskytnutého natrénovaného modelu model.
  • Extrahuj index s nejvyšší hodnotou pro každou předpověď v fr_pred pomocí np.argmax a výsledek ulož do fr_seq.
  • Pomocí list comprehension převeď ID francouzské sekvence na větu (nezapomeň ignorovat 0) a výsledek ulož do fr_sent.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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")
Upravit a spustit kód