97 lines
6.4 KiB
Markdown
97 lines
6.4 KiB
Markdown
# Лабораторная работа №7: Рекуррентная нейронная сеть и задача генерации текста
|
||
## Задание. Вариант 28
|
||
|
||
Выбрать художественный текст (четные варианты – русскоязычный, нечетные – англоязычный) и обучить на нем рекуррентную
|
||
нейронную сеть для решения задачи генерации. Подобрать архитектуру и параметры так, чтобы приблизиться к максимально
|
||
осмысленному результату. Далее разбиться на пары четный-нечетный вариант, обменяться разработанными сетями и проверить,
|
||
как архитектура товарища справляется с вашим текстом. В завершении подобрать компромиссную архитектуру, справляющуюся
|
||
достаточно хорошо с обоими видами текстов.
|
||
|
||
## Описание программы
|
||
|
||
Данная программа обучается на двух текстах русскоязычном и англоязычном (2912 слов в англоязычном тесте и 1908 в
|
||
русскоязычном). В программе по итогу была реализованна архитектура справляющаяся с обоими видами текстов.
|
||
|
||
## Как запустить лабораторную работу
|
||
|
||
1. Установите необходимые библиотеки:
|
||
|
||
```bash
|
||
pip install tensorflow
|
||
pip install keras
|
||
```
|
||
|
||
2. Запустите скрипт:
|
||
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
## Использованные технологии
|
||
|
||
- Python
|
||
- tensorflow
|
||
- keras
|
||
|
||
## Что программа делает
|
||
|
||
Программа загружает данные, считывает текста из файлов rus.txt и eng.txt. Далее для обоих текстов происходит следующее:
|
||
Происходит токенизация текста на отдельные слова. Создание последовательностей (n-грамм) для обучения модели.
|
||
Использование рекуррентной нейронной сети (RNN) с LSTM слоями. Потом происходит обучение модели на подготовленных данных.
|
||
Использование обученной модели для предсказания следующего слова на основе введенного текста. В конце программа выводит
|
||
сгенерированные текста.
|
||
|
||
## Тесты
|
||
|
||
Запуск программы с 20-ю эпохами:
|
||

|
||
|
||
Вывод русскоязычного текста с 20-ю эпохами:
|
||

|
||
|
||
Текст:
|
||
> Начало широким надень дочка старик и откуда вдруг ледяной уж август и пошла так на выручили на дверей и тебе перед
|
||
> беседуют старику тут сосульки висели они ни обогнал в лесу присесть стукнул считать ждать на сказала да месяцы неба
|
||
> покрытая дочку и тихо опять и под между зеленые вязанкой достает
|
||
|
||
Вывод англоязычного текста с 20-ю эпохами:
|
||

|
||
|
||
Текст:
|
||
> Start if i back ‘i i’m sure we ’ any worked is has aloud into dinner has three coming surprised to soon about the
|
||
> back all he said to have thing mr britnell exactly across when he saw that looked at the picture before — a very
|
||
> dark he with the
|
||
|
||
Запуск программы с 100-й эпохами:
|
||

|
||
|
||
Вывод русскоязычного текста с 100-й эпохами:
|
||

|
||
|
||
Текст:
|
||
> Начало ему свою длинную бороду старик и говорит сестра — уже домой вернулась а подснежники где за нею замерзнуть
|
||
> ворох подснежников чем корзинкой подснежников не выглянут мартом ворох подснежников какие сладких а май обогнал бы
|
||
> апрель месяцы не гаснет он за подарили где пожарче и стала греться замолчали братья месяцы тихо
|
||
|
||
Вывод англоязычного текста с 100-й эпохами:
|
||

|
||
|
||
Текст:
|
||
> Start a see ’ said nisbet ‘but i must have but what i must do first i must ask garwood exactly what he saw when he
|
||
> looked at the picture last night then i must have the picture photographed before it goes any further and thirdly i
|
||
> must find out where
|
||
|
||
Перевод англоязычных текстов с помощью Google-переводчика:
|
||

|
||
|
||
## Вывод
|
||
|
||
_Смотря на тесты можно заметить что текст с 20-ю эпохами является по сути несвязным набором слов, в отличие от 100 где
|
||
уже прослеживаются вполне связный ряд словосочетаний и местами текст обретает хоть какой-то смысл в случае русскоязычного
|
||
можно догадаться что основной темой являются подснежники. С англоязычным текстом разница заметна ещё лучше поскольку
|
||
англоязычный текст больше. Подводя итоги можно сделать вывод, что количество эпох, а так же объём текста на котором
|
||
обучается рекуррентная нейронная сеть влияет на конечный генерируемый текст._
|
||
|
||
---
|
||
|