Część 1: Model odwracania tekstu – enkoder
Tworzenie prostego modelu odwracania tekstu to świetny sposób, by zrozumieć mechanikę architektury enkoder-dekoder i zasadę działania połączeń między jej elementami. Teraz zaimplementujesz część enkodującą takiego modelu.
Implementacja enkodera została podzielona na dwa ćwiczenia. W tym ćwiczeniu zdefiniujesz pomocniczą funkcję words2onehot(). Funkcja words2onehot() powinna przyjmować listę słów oraz słownik word2index, a następnie konwertować listę słów na tablicę wektorów one-hot. Słownik word2index jest dostępny w przestrzeni roboczej.
To ćwiczenie jest częścią kursu
Tłumaczenie maszynowe z Keras
Instrukcje do ćwiczenia
- Przekonwertuj słowa na identyfikatory, używając słownika
word2indexw funkcjiwords2onehot(). - Przekonwertuj identyfikatory słów na wektory one-hot o długości
3(używając argumentunum_classes) i zwróć wynikową tablicę. - Wywołaj funkcję
words2onehot()ze słowamiI,likeicats, a wynik przypisz do zmiennejonehot. - Wyświetl słowa i odpowiadające im wektory one-hot, używając funkcji
print()izip(). Funkcjazip()pozwala iterować po wielu listach jednocześnie.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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, ____)])