Zacznij terazZacznij za darmo

Przygotowanie danych do trenowania

W tym ćwiczeniu będziesz kontynuować przygotowanie danych do trenowania modelu. Po utworzeniu tablic zdań i kolejnych znaków musisz przekształcić je na wartości liczbowe, które można wykorzystać w modelu.

Ten krok jest niezbędny, ponieważ modele RNN operują wyłącznie na liczbach, a nie na ciągach znaków. Utworzysz tablice numeryczne, które zawierają zera lub jedynki na pozycjach odpowiadających znakom obecnym w zdaniach. Jedynki (lub True) oznaczają, że dany znak jest obecny, natomiast zera (lub False) wskazują na jego brak na danej pozycji w zdaniu.

Zmienne sentences, next_char, n_vocab, chars_window, num_seqs (liczba zdań w danych treningowych) są już wczytane do środowiska, podobnie jak numpy pod aliasem np.

To ćwiczenie jest częścią kursu

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz np.array() wypełnioną zerami o kształcie (liczba zdań, okno znaków, rozmiar słownika).
  • Użyj słownika char_to_index, aby ustawić pozycję bieżącego znaku na 1.
  • Ustaw bieżący następny znak na 1.
  • Wyświetl pierwszą pozycję każdej tablicy.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)

# Loop for every sentence
for i, sentence in enumerate(sentences):
  # Loop for every character in sentence
  for t, char in enumerate(sentence):
    # Set position of the character to 1
    numerical_sentences[i, t, ____] = ____
    # Set next character to 1
    ____[i, char_to_index[next_chars[i]]] = 1

# Print the first position of each
print(____, ____, sep="\n")
Edytuj i uruchom kod