46 lines
2.2 KiB
Markdown
46 lines
2.2 KiB
Markdown
|
# Лабораторная работа №7
|
|||
|
|
|||
|
## Рекуррентная нейронная сеть и задача генерации текста
|
|||
|
|
|||
|
#### ПИбд-41 Арзамаскина Милана
|
|||
|
#### Вариант №2
|
|||
|
|
|||
|
### Какие технологии использовались:
|
|||
|
|
|||
|
Используемые библиотеки:
|
|||
|
* numpy
|
|||
|
* keras
|
|||
|
* tensorflow
|
|||
|
|
|||
|
### Как запустить:
|
|||
|
|
|||
|
* установить python, numpy, keras, tensorflow
|
|||
|
* запустить проект (стартовая точка - main.py)
|
|||
|
|
|||
|
### Что делает программа:
|
|||
|
|
|||
|
На основе выбранных художественных текстов происходит обучение рекуррентной нейронной сети для решения задачи генерации.
|
|||
|
Необходимо подобрать архитектуру и параметры так, чтобы приблизиться к максимально осмысленному результату.
|
|||
|
|
|||
|
* Читает текст из файлов (english.txt, russian.txt)
|
|||
|
* Получает входные, выходные данные (X, y), размер словаря и токенайзер. Используем Tokenizer с настройкой char_level=True
|
|||
|
* Создаёт объект Sequential (последовательная рекуррентная нейронная сеть) и добавление двух слоёв LSTM. Dropout — это метод регуляризации для нейронных сетей и моделей глубокого обучения, решение проблемы переобучения. Слой Dense с функцией активации softmax используется для предсказания следующего слова
|
|||
|
* Компилирует модель
|
|||
|
* Обучает модель
|
|||
|
* Генерирует текст
|
|||
|
|
|||
|
|
|||
|
#### Сгенерированные тексты:
|
|||
|
|
|||
|
Генерация на русском языке:
|
|||
|
|
|||
|
![Result](img1.png)
|
|||
|
|
|||
|
Генерация на английском языке:
|
|||
|
|
|||
|
![Result](img2.png)
|
|||
|
|
|||
|
|
|||
|
### Вывод:
|
|||
|
|
|||
|
Программа способна сгенерировать осмысленный текст в каждом из случаев.
|