### Вариант 9 ### Задание на лабораторную работу: Выбрать художественный текст (четные варианты – русскоязычный, нечетные – англоязычный) и обучить на нем рекуррентную нейронную сеть для решения задачи генерации. Подобрать архитектуру и параметры так, чтобы приблизиться к максимально осмысленному результату. Далее разбиться на пары четный-нечетный вариант, обменяться разработанными сетями и проверить, как архитектура товарища справляется с вашим текстом. В завершении подобрать компромиссную архитектуру, справляющуюся достаточно хорошо с обоими видами текстов. ### Как запустить лабораторную работу: Выполняем файл gusev_vladislav_lab_7.py, решение будет в консоли. ### Технологии Keras - это библиотека для Python, позволяющая легко и быстро создавать нейронные сети. NumPy - библиотека для работы с многомерными массивами. ### По коду 1) Читаем файл с текстом 2) Создаем объект tokenizer для превращение текста в числа для нейронной сети. 3) Создаем модель нейронной сети с следующими аргументами: - Embedding - это слой, который обычно используется для векторного представления категориальных данных, таких как слова или символы. Он позволяет нейронной сети изучать эмбеддинги, то есть отображение слов (или символов) в вектора низкой размерности. Это позволяет сети понимать семантические отношения между словами. - LSTM - это слой, представляющий собой рекуррентный нейрон, который способен учитывать зависимости в последовательных данных. Он хорошо подходит для обработки последовательных данных, таких как текст. - Dense - это полносвязный слой, который принимает входные данные и применяет весовые коэффициенты к ним. Этот слой часто используется в конце нейронных сетей для решения задачи классификации или регрессии. 4) Обучаем модель на 100 эпохах (итерациях по данным) и генерируем текст. ![img.png](img.png) Английский 100 эпох ![img_1.png](img_1.png) ![img_3.png](img_3.png) Русский 100 эпох ![img_2.png](img_2.png) Русский 17 эпох ![img_4.png](img_4.png) ### По консоли - Английский текст генерировался на 100 эпохах, начало получилось осмысленным, но чем ближе к концу тем хуже. - Русский текст также генерировался на 100 эпохах, с многочисленными ошибками в словах. Русский текст,сгенерированный на 17 эпохах по ошибкам в словах оказался лучше, но всё равно не идеально.