Modele generowania tekstu

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

David Cecchini

Data Scientist

Podobny do modelu klasyfikacji

Model generowania tekstu:

  • Używa słownika jako klas
  • Ostatnia warstwa stosuje softmax z jednostkami o rozmiarze słownika
  • Używa categorical_crossentropy jako funkcji straty
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Przykładowy model w Keras

model = Sequential()

model.add(LSTM(units, input_shape=(chars_window, n_vocab), dropout=0.15, recurrent_dropout=0.15, return_sequences=True))
model.add(LSTM(units, dropout=dropout, recurrent_dropout=0.15, return_sequences=False))
model.add(Dense(n_vocab, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam')
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Ale nie jest to model klasyfikacji

Różnice wobec klasyfikacji:

  • Oblicza stratę, ale nie metryki wydajności (dokładność)
    • Wyniki oceniają ludzie.
    • Jeśli są niezadowalające, należy trenować dłużej lub zwiększyć złożoność modelu (więcej komórek pamięci, więcej warstw itd.).
  • Stosowany z regułami generowania zależnymi od zadania
    • Generowanie następnego znaku
    • Generowanie jednego słowa
    • Generowanie jednego zdania
    • Generowanie jednego akapitu
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Inne zastosowania

  • Tworzenie nazw
    • Imiona dla dzieci
    • Nazwy gwiazd itp.
  • Generowanie tekstu ze znacznikami
    • LaTeX
    • Markdown
    • XML itp.
    • Kod programistyczny
  • Artykuły prasowe
  • Chatboty
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Przygotowanie danych

Przedstawia proces przygotowania danych do zadania generowania tekstu. Przekształca tekst w ciąg liczb i dzieli zbiór treningowy na X i Y, przypisując sekwencje o stałej długości do X, a następny znak do Y.

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

Czas na ćwiczenia!

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

Preparing Video For Download...