39 lines
3.5 KiB
Markdown
39 lines
3.5 KiB
Markdown
# Лабораторная работа №7
|
||
|
||
### Рекуррентная нейронная сеть и задача генерации текста
|
||
|
||
## ПИбд-41 Абанин Даниил
|
||
|
||
### Как запустить лабораторную работу:
|
||
|
||
* установить python, numpy, keras, tensorflow
|
||
* запустить проект (стартовая точка lab7)
|
||
|
||
### Какие технологии использовались:
|
||
|
||
* Язык программирования `Python`, библиотеки numpy, keras, tensorflow
|
||
* Среда разработки `PyCharm`
|
||
|
||
### Что делает лабораторная работа:
|
||
* На основе выбранных художественных текстов происходит обучение рекуррентной нейронной сети для решения задачи генерации.
|
||
* Необходимо подобрать архитектуру и параметры так, чтобы приблизиться к максимально осмысленному результату.
|
||
|
||
### Тест
|
||
* Чтение текста из файлов .txt (eng_text.txt, rus_text.txt)
|
||
* Вызов функция get_model_data, из которой мы получаем входные, выходные данные (X, y), размер словаря и токенайзер. Используем Tokenizer с настройкой char_level=True, что позволяет упразднить использование Embedding слоя далее
|
||
* Создание объекта Sequential (последовательная рекуррентная нейронная сеть) и добавление двух слоёв LSTM. LSTM (Long Short-Term Memory) представляет собой разновидность рекуррентной нейронной сети, которая эффективно работает с последовательными данными. Использование нескольких слоёв даёт большую гибкость. Dropout — это метод регуляризации для нейронных сетей и моделей глубокого обучения, решение проблемы переобучения. Слой Dense с функцией активации softmax используется для предсказания следующего слова
|
||
* Компилирование модели с использованием sparse_categorical_crossentropy
|
||
* Обучение модели на 100 эпохах (оптимальный вариант)
|
||
* Генерация текста
|
||
|
||
Сгенерированные тексты
|
||
|
||
* ENG: I must be getting somewhere near the centre of the earth. how funny it'll seem to come out among the people that walk with their heads downward! the antipathies, i think—' (for, you see, alice had learnt several things of this
|
||
|
||
* RUS: господин осматривал свою комнату, внесены были его пожитки: прежде всего чемодан из белой кожи, несколько поистасканный, показывавший, что был не в первый раз в дороге. чемодан внесли кучер селифан отправился на конюшню вози
|
||
|
||
![Rus](result_rus.png)
|
||
|
||
![Eng](result_eng.png)
|
||
|
||
По итогу, программа способна сгенерировать осмысленный текст в каждом из случаев |