Tworzenie wektorów zdań i kolejnych znaków
To ćwiczenie kładzie szczególny nacisk na wartość przygotowania danych. Jako dane wejściowe wykorzystasz teksty zawierające frazy wypowiadane przez Sheldona z serialu Teoria wielkiego podrywu, a następnie stworzysz wektory indeksów zdań i kolejnych znaków – niezbędne przed zbudowaniem modelu generowania tekstu.
Tekst jest dostępny w zmiennej sheldon, słownik (zbiór znaków) – w zmiennej vocabulary, a hiperparametry chars_window i step mają wartości odpowiednio 20 i 3. Oznacza to, że do przewidzenia kolejnego znaku używana jest sekwencja 20 znaków, a okno przesuwa się o 3 znaki w każdej iteracji.
W środowisku załadowana jest również biblioteka pandas jako pd.
To ćwiczenie jest częścią kursu
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras
Instrukcje do ćwiczenia
- Podziel tekst według znaku nowej linii, aby iterować po zdaniach.
- Przechodź pętlą do końca zdania pomniejszonego o
chars_window. - Dodaj do zmiennej
sentencesfragment zdania o długościchars_windowznaków, a do zmiennejnext_chars– kolejny znak. - Użyj uzyskanych wektorów, aby utworzyć
pd.DataFrame()i wydrukuj jego pierwsze wiersze.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Instantiate the vectors
sentences = []
next_chars = []
# Loop for every sentence
for sentence in sheldon.____:
# Get 20 previous chars and next char; then shift by step
for i in range(0, len(sentence) - ____, step):
sentences.append(sentence[i:i + ____])
next_chars.append(sentence[____ + chars_window])
# Define a Data Frame with the vectors
df = pd.DataFrame({'sentence': ____, 'next_char': ____})
# Print the initial rows
print(df.head())