Partea 1: Model de inversare a textului - Encoder
Crearea unui model simplu de inversare a textului este o metodă excelentă pentru a înțelege mecanica modelelor encoder-decoder și modul în care acestea se conectează. Vei implementa acum partea de encoder a unui model de inversare a textului.
Implementarea encoder-ului a fost împărțită în două exerciții. În acest exercițiu, vei defini funcția helper words2onehot(). Funcția words2onehot() ar trebui să primească o listă de cuvinte și un dicționar word2index, apoi să convertească lista de cuvinte într-un array de vectori one-hot. Dicționarul word2index este disponibil în spațiul de lucru.
Acest exercițiu face parte din cursul
Traducere automată cu Keras
Instrucțiuni pentru exercițiu
- Convertește cuvintele în ID-uri folosind dicționarul
word2indexîn funcțiawords2onehot(). - Convertește ID-urile cuvintelor în vectori one-hot cu lungimea
3(folosind argumentulnum_classes) și returnează array-ul rezultat. - Apelează funcția
words2onehot()cu cuvinteleI,likeșicatsși atribuie rezultatul variabileionehot. - Afișează cuvintele și vectorii one-hot corespunzători folosind funcțiile
print()șizip(). Funcțiazip()îți permite să iterezi mai multe liste în același timp.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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, ____)])