IIS_2023_1/savenkov_alexander_lab_7
2023-11-19 03:31:55 +04:00
..
templates savenkov_alexander_lab_7 is done 2023-11-19 03:31:55 +04:00
app.py savenkov_alexander_lab_7 is done 2023-11-19 03:31:55 +04:00
english_text.txt savenkov_alexander_lab_7 is done 2023-11-19 03:31:55 +04:00
readme.md savenkov_alexander_lab_7 is done 2023-11-19 03:31:55 +04:00
russian_text.txt savenkov_alexander_lab_7 is done 2023-11-19 03:31:55 +04:00

Общее задание: Выбрать художественный текст (четные варианты русскоязычный, нечетные англоязычный) и обучить на нем рекуррентную нейронную сеть для решения задачи генерации. Подобрать архитектуру и параметры так,чтобы приблизиться к максимально осмысленному результату. Далее разбиться на пары четный-нечетный вариант, обменяться разработанными сетями и проверить, как архитектура товарища справляется с вашим текстом. В завершении подобрать компромиссную архитектуру, справляющуюся достаточно хорошо с обоими видами текстов.

Задание по вариантам: у меня четный вариант, художественным текстом был выбран фрагмент произведения "Преступление и наказание"

После завершении проверки и работы с русскоязычным текстом, проверил свою архитектуру на англоязычном, работает правильно

Но я решил реадизовать, чтобы можно было генерировать и русский текст и английски обучая на русскоязычном художественном тексте и англоязычном для англоязычного был выбран фрагмент произведения "Шерлока Холмса" А.К. Дойля

Запуск приложения осуществляется запуском файла app.py

Использованные технологии: Среда программирования Pycharm Версия языка python: 3.11

Flask: Flask - это веб-фреймворк для Python, который используется для создания веб-приложений. Он предоставляет простой способ организации веб-приложения и обработки HTTP-запросов.

Keras: Keras - высокоуровневый интерфейс для работы с нейронными сетями. Он предоставляет удобный способ определения, обучения и оценки моделей глубокого обучения.

LSTM (Long Short-Term Memory): LSTM - это тип рекуррентных нейронных сетей (RNN), который хорошо подходит для работы с последовательными данными, такими как текст. LSTM способен учитывать долгосрочные зависимости в последовательных данных.

Embedding Layer: Вложенный слой используется для отображения слов в векторы фиксированной размерности. Это часто используется в задачах обработки естественного языка (Natural Language Processing, NLP).

Tokenizer: Tokenizer - это инструмент для векторизации и предобработки текста. Он разбивает текст на токены и преобразует их в числовые последовательности.

numpy: Numpy - это библиотека для работы с многомерными массивами и математическими функциями. Она широко используется для эффективной работы с данными в Python.

HTML: HTML используется для создания шаблонов веб-страниц.

Краткое описание работы программы:

Загрузка данных: Русский и английский художественные тексты загружаются из файлов, затем производится токенизация для подготовки данных для обучения.

Обучение моделей: Две отдельные модели RNN (для русского и английского текстов) строятся с использованием библиотеки Keras. Обучение моделей происходит на подготовленных данных, где LSTM слои позволяют моделям учитывать последовательный характер текста.

Веб-интерфейс: Flask обеспечивает веб-интерфейс, где пользователь может ввести начальный текст ("Seed Text"), выбрать язык ("Language") и настроить параметры генерации, такие как температура ("Temperature").

Генерация текста: При отправке формы, введенный текст передается в соответствующую модель, и она генерирует последующий текст. Результат отображается на веб-странице для пользователя.

Повторение процесса: Пользователь может многократно использовать веб-интерфейс для генерации текста с различными входными данными и параметрами.

Пример входных данных: 4000 строк из произведения "Преступление и наказание" и 4000 строк из произведения "Шерлока Холмса" А.К. Дойля для более правильного текста стоит увеличить количество эпох и размер текста на котором обучается, но это приведет к увеличения времени на обучение Seed Text: 1)Преступление 2)Sherlok

Select Language: 1)Russian 2)English

Temperature: 1)0.5 2) 2.0

Пример выходных данных:

1)Преступление тут шел знаете он тоже в все становясь по другой мир у него лужин шаги были сдерживая большие везде я для извольте романыч а для… человек заборы взгляды все молодой собрал я был стыдился в припадочного он лба здесь и них прелестная распорядиться ли душевном батюшки к секущих послушайте и же даже себя да… внимания получишь… он к тебя алену с кармане обнажил вас прошу так его глянул мимо состоянии и хозяин и говорил отправился леший и единого не собственноручно да и правду в мою дверь на правде удовольствие хоть смотрите протянула ведут можешь он определенный вода сильнее

2)Sherlok away with the assistant soon staying swiftly which has die but it and possible with its air and the breath of his thumb he had find reading you quite away said you an young street mr to asked i bye by a visitor was can for louder i have returned as to the door of disguises my problems during i you not presume to be line to my cover let he came very i connection to they seemed to this sheet was really to not speak with their ferguson goes upon his view it has weak easier during a long