Textgenereringsmodeller

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

David Cecchini

Data Scientist

Liknar en klassificeringsmodell

Textgenereringsmodellen:

  • Använder vokabulären som klasser
  • Det sista lagret tillämpar softmax med antal enheter = vokabulärstorleken
  • Använder categorical_crossentropy som förlustfunktion
Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Exempelmodell med 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')
Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Men inte en ren klassificeringsmodell

Skillnad mot klassificering:

  • Beräknar förlust, men inte prestandamått (noggrannhet)
    • Människor granskar resultaten och utvärderar prestandan.
    • Om resultatet inte är tillräckligt bra, träna fler epoker eller öka modellens komplexitet (fler minnesceller, fler lager, osv.).
  • Används med genereringsregler anpassade efter uppgiften
    • Generera nästa tecken
    • Generera ett ord
    • Generera en mening
    • Generera ett stycke
Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Andra tillämpningar

  • Namnsskapande
    • Barnnamn
    • Nya stjärnnamn, m.m.
  • Generera formaterad text
    • LaTeX
    • Markdown
    • XML, m.m.
    • Programkod
  • Nyhetsartiklar
  • Chattbotar
Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Dataförberedelse

Illustrerar dataförberedelsen för textgenerering. Texten omvandlas till en sifferserie och träningsdatan delas upp i X och Y, där X innehåller sekvenser med fast längd och Y innehåller nästa tecken.

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Nu kör vi en övning!

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Preparing Video For Download...