Моделі генерації тексту

Recurrent Neural Networks (RNNs) для моделювання мови з Keras

David Cecchini

Data Scientist

Подібна до моделі класифікації

Модель генерації тексту:

  • Використовує словник як класи
  • Останній шар застосовує softmax з кількістю одиниць, що дорівнює розміру словника
  • Використовує categorical_crossentropy як функцію втрат
Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Приклад моделі на 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')
Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Але це не зовсім класифікація

Відмінності від класифікації:

  • Обчислює втрати, але не метрики якості (accuracy)
    • Люди переглядають результати й оцінюють якість.
    • Якщо результат слабкий, тренуйте більше епох або ускладніть модель (більше осередків пам'яті, більше шарів тощо).
  • Використовується з правилами генерації під задачу
    • Згенерувати наступний символ
    • Згенерувати одне слово
    • Згенерувати одне речення
    • Згенерувати один абзац
Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Інші застосування

  • Створення назв
    • Імена для немовлят
    • Нові назви зірок тощо
  • Генерація розміченого тексту
    • LaTeX
    • Markdown
    • XML тощо
    • Програмний код
  • Новинні статті
  • Чат-боти
Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Підготовка даних

Показує підготовку даних для задачі генерації тексту. Перетворює текст на послідовність чисел і розбиває тренувальний набір на X та Y: у X — фіксованої довжини послідовності, у Y — наступний символ.

Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Давайте потренуємось!

Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Preparing Video For Download...