37 lines
4.8 KiB
Markdown
37 lines
4.8 KiB
Markdown
|
Вариант 2
|
|||
|
|
|||
|
Задание:
|
|||
|
Выбрать художественный текст (четные варианты – русскоязычный, нечетные – англоязычный) и обучить на нем рекуррентную нейронную сеть для решения задачи генерации. Подобрать архитектуру и параметры так, чтобы приблизиться
|
|||
|
к максимально осмысленному результату. Далее разбиться на пары четный-нечетный вариант, обменяться разработанными сетями и проверить, как архитектура товарища справляется с вашим текстом. В завершении подобрать компромиссную архитектуру, справляющуюся достаточно хорошо с обоими видами текстов.
|
|||
|
|
|||
|
Данные:
|
|||
|
Русский текст: Рассказ «Хлеб для собаки» - Владимир Тендряков
|
|||
|
Английский текст: The Tell-Tale Heart - Edgar Allan Poe
|
|||
|
|
|||
|
Запуск:
|
|||
|
Запустите файл lab7.py
|
|||
|
|
|||
|
Описание программы:
|
|||
|
1. В начале программы задается функция `load_text(file_path)`, которая загружает текст из указанного файла с учетом кодировки UTF-8.
|
|||
|
2. Функция `create_tokenizer(text)` создает токенизатор для обработки текста с использованием библиотеки Keras.
|
|||
|
3. `generate_input_sequences(text, tokenizer)` генерирует входные последовательности для обучения модели, разбивая текст на n-граммы.
|
|||
|
4. Создается рекуррентная нейронная сеть с использованием функции `create_model(total_words, max_sequence_length)`.
|
|||
|
5. Модель содержит слои Embedding, LSTM и Dense, предназначенные для обработки последовательностей и генерации текста.
|
|||
|
6. В функции `train_model(model, predictors, labels, epochs)` модель компилируется и обучается на входных последовательностях с заданным числом эпох.
|
|||
|
7. После обучения модели используется функция `generate_text(seed_text, next_words, model, tokenizer, max_sequence_length)` для генерации текста на основе заданной начальной строки.
|
|||
|
8. Программа предоставляет возможность генерации текста на основе обученной модели для продемонстрированного языка (русского или английского).
|
|||
|
9. Загружаются тексты на разных языках (русском и английском), обучаются модели, генерируется текст, что позволяет проверить, как обученная модель справляется с текстом на другом языке.
|
|||
|
|
|||
|
Результаты:
|
|||
|
|
|||
|
Результат генерации на русском языке:
|
|||
|
|
|||
|
Парень увидел собаку же куркули грызут кору ты жалеешь «если враг не сдается его уничтожают » а это «уничтожают» вот так наверное и должно выглядеть черепа с глазами слоновьи ноги пена из черного рта ты просто боишься смотреть правде в глаза и хрипом те который готов меня на пустыре возле единого на моих
|
|||
|
|
|||
|
Результат генерации на английском языке:
|
|||
|
Old man i kept quite still and said nothing for a whole hour i did not move a muscle and in the meantime i did not hear him lie down he was still sitting up in the bed listening just as i have done night after night hearkening to the death watches
|
|||
|
|
|||
|
Выводы:
|
|||
|
|
|||
|
Результаты генерации текстов на русском и английском языках демонстрируют, что обученные модели способны создавать относительно осмысленные последовательности слов, на английском языке текст получился лучше, возможно следует выбрать другие художественные тексты на русском языке для обучения модели.
|