From 1d81fcecc47ac358eecbc6e2df15f107a6351426 Mon Sep 17 00:00:00 2001 From: CptN-e-m-o Date: Sun, 14 Jan 2024 23:58:03 +0400 Subject: [PATCH] faskhutdinov_idris_lab_7 is ready --- faskhutdinov_idris_lab_7/Readme.md | 42 ++++++++ faskhutdinov_idris_lab_7/eng_lang.png | Bin 0 -> 27925 bytes faskhutdinov_idris_lab_7/english_text.txt | 3 + .../generated_english_text.txt | 1 + .../generated_russian_text.txt | 1 + faskhutdinov_idris_lab_7/main.py | 97 ++++++++++++++++++ faskhutdinov_idris_lab_7/russian_lang.png | Bin 0 -> 29204 bytes faskhutdinov_idris_lab_7/russian_text.txt | 6 ++ 8 files changed, 150 insertions(+) create mode 100644 faskhutdinov_idris_lab_7/Readme.md create mode 100644 faskhutdinov_idris_lab_7/eng_lang.png create mode 100644 faskhutdinov_idris_lab_7/english_text.txt create mode 100644 faskhutdinov_idris_lab_7/generated_english_text.txt create mode 100644 faskhutdinov_idris_lab_7/generated_russian_text.txt create mode 100644 faskhutdinov_idris_lab_7/main.py create mode 100644 faskhutdinov_idris_lab_7/russian_lang.png create mode 100644 faskhutdinov_idris_lab_7/russian_text.txt diff --git a/faskhutdinov_idris_lab_7/Readme.md b/faskhutdinov_idris_lab_7/Readme.md new file mode 100644 index 0000000..dca7617 --- /dev/null +++ b/faskhutdinov_idris_lab_7/Readme.md @@ -0,0 +1,42 @@ +# Лабораторная работа №7. Рекуррентная нейронная сеть и задача генерации текста +## 1 вариант(27 % 2 = 1) +### Задание: +Использовать регрессию по варианту для данных из таблицы 1 по +варианту (таблица 10), самостоятельно сформулировав задачу. Оценить, +насколько хорошо она подходит для решения сформулированной вами задачи. + +Используемый текст: англоязычный + +### Как запустить лабораторную +1. Запустить файл main.py + +### Используемые технологии +1. Библиотека tensorflow +2. Библиотека keras +3. Python +4. IDE PyCharm + +### Описание лабораторной работы +Программа работает с библиотеками tensorflow и keras: изначально считывает текст, после чего производит процесс токенизации текста, а так же преобразует его в числовые последовательности. +После чего строится и обучается модель. В конце происходит генерация текста и запись его в файлы. Изначально обрабатывается текст на русском языке(Булгаков, "Мастер и Маргарита"), затем на английском(Оруэлл, "1984"). +Среднее время прохождения одного цикла при работе с русскоязычным текстом - 2,5 с +Среднее время прохождения одного цикла при работе с англоязычным текстом - 0,3 с + +### Результат +#### Оригинал русскоязычного текста: +Абрикосовая дала обильную желтую пену, и в воздухе запахло парикмахерской. Напившись, литераторы немедленно начали икать, расплатились и уселись на скамейке лицом к пруду и спиной к Бронной. +Тут приключилась вторая странность, касающаяся одного Берлиоза. Он внезапно перестал икать, сердце его стукнуло и на мгновенье куда-то провалилось, потом вернулось, но с тупой иглой, засевшей в нем. Кроме того, Берлиоза охватил необоснованный, но столь сильный страх, что ему захотелось тотчас же бежать с Патриарших без оглядки. Берлиоз тоскливо оглянулся, не понимая, что его напугало. Он побледнел, вытер лоб платком, подумал: «Что это со мной? Этого никогда не было... сердце шалит... я переутомился. Пожалуй, пора бросить все к черту и в Кисловодск...» +И тут знойный воздух сгустился перед ним, и соткался из этого воздуха прозрачный гражданин престранного вида. На маленькой головке жокейский картузик, клетчатый кургузый воздушный же пиджачок... Гражданин ростом в сажень, но в плечах узок, худ неимоверно, и физиономия, прошу заметить, глумливая. +Жизнь Берлиоза складывалась так, что к необыкновенным явлениям он не привык. Еще более побледнев, он вытаращил глаза и в смятении подумал: «Этого не может быть!..» +Но это, увы, было, и длинный, сквозь которого видно, гражданин, не касаясь земли, качался перед ним и влево и вправо. +Тут ужас до того овладел Берлиозом, что он закрыл глаза. А когда он их открыл, увидел, что все кончилось, марево растворилось, клетчатый исчез, а заодно и тупая игла выскочила из сердца. +#### Сгенерированный русскоязычный текст: +Абрикосовая дала обильную желтую пену и в воздухе запахло парикмахерской напившись литераторы немедленно начали икать расплатились и уселись на скамейке лицом к пруду и спиной к бронной тут приключилась вторая странность касающаяся одного берлиоза он внезапно перестал икать сердце его стукнуло и на мгновенье куда то провалилось потом вернулось но с тупой иглой засевшей в нем кроме того берлиоза охватил необоснованный но столь сильный страх что ему захотелось тотчас же бежать с патриарших без оглядки берлиоз тоскливо оглянулся не понимая что его напугало он побледнел вытер лоб платком подумал «что это со мной этого никогда не было сердце шалит я переутомился +#### Оригинал англоязычного текста: +It was a bright, cold day in April and the clocks were striking thirteen. Winston Smith hurried home to Victory Mansions with his head down to escape the terrible wind. A cloud of dust blew inside with him, and the hall smelled of dust and yesterday's food. +At the end of the hall, a poster covered one wall. It showed an enormous face, more than a metre wide: the face of a handsome man of about forty-five, with a large, black moustache. The man's eyes seemed to follow Winston as he moved. Below the face were the words BIG BROTHER IS WATCHING YOU. +Winston went up the stairs. He did not even try the lift. It rarely worked and at the moment the electricity was switched off during the day to save money for Hate Week. The flat was on the seventh floor and Winston, who was thirty-nine and had a bad knee, went slowly, resting several times on the way. Winston was a small man and looked even smaller in the blue overalls of the Party. His hair was fair and the skin on his face, which used to be pink, was red and rough from cheap soap, old razor blades and the cold of the winter that had just ended. +#### Сгенерированный англоязычный текст: +It was a bright cold day to save the face were the big brother brother is brother watching you watching you watching watching you watching watching you you a small moustache the face were the words big brother is watching you you you you watching you watching watching watching you you a bright cold day to save the face were the big brother brother is brother watching you watching you watching watching you watching watching you you a small moustache the face were the words big brother is watching you you you you watching you watching watching watching you you a + +В результате работы программы была успешно создана и обучена рекуррентная нейронная сеть для генерации текста. \ No newline at end of file diff --git a/faskhutdinov_idris_lab_7/eng_lang.png b/faskhutdinov_idris_lab_7/eng_lang.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2dac257f2bf302816f12006b1a0924a5bc5e30 GIT binary patch literal 27925 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 SyaTGtcB!7yK;|M${r&?;ES2^E literal 0 HcmV?d00001 diff --git a/faskhutdinov_idris_lab_7/english_text.txt b/faskhutdinov_idris_lab_7/english_text.txt new file mode 100644 index 0000000..56e731b --- /dev/null +++ b/faskhutdinov_idris_lab_7/english_text.txt @@ -0,0 +1,3 @@ +It was a bright, cold day in April and the clocks were striking thirteen. Winston Smith hurried home to Victory Mansions with his head down to escape the terrible wind. A cloud of dust blew inside with him, and the hall smelled of dust and yesterday's food. +At the end of the hall, a poster covered one wall. It showed an enormous face, more than a metre wide: the face of a handsome man of about forty-five, with a large, black moustache. The man's eyes seemed to follow Winston as he moved. Below the face were the words BIG BROTHER IS WATCHING YOU. +Winston went up the stairs. He did not even try the lift. It rarely worked and at the moment the electricity was switched off during the day to save money for Hate Week. The flat was on the seventh floor and Winston, who was thirty-nine and had a bad knee, went slowly, resting several times on the way. Winston was a small man and looked even smaller in the blue overalls of the Party. His hair was fair and the skin on his face, which used to be pink, was red and rough from cheap soap, old razor blades and the cold of the winter that had just ended. \ No newline at end of file diff --git a/faskhutdinov_idris_lab_7/generated_english_text.txt b/faskhutdinov_idris_lab_7/generated_english_text.txt new file mode 100644 index 0000000..a71747b --- /dev/null +++ b/faskhutdinov_idris_lab_7/generated_english_text.txt @@ -0,0 +1 @@ +It was a bright cold day to save the face were the big brother brother is brother watching you watching you watching watching you watching watching you you a small moustache the face were the words big brother is watching you you you you watching you watching watching watching you you a bright cold day to save the face were the big brother brother is brother watching you watching you watching watching you watching watching you you a small moustache the face were the words big brother is watching you you you you watching you watching watching watching you you a \ No newline at end of file diff --git a/faskhutdinov_idris_lab_7/generated_russian_text.txt b/faskhutdinov_idris_lab_7/generated_russian_text.txt new file mode 100644 index 0000000..cdb56a9 --- /dev/null +++ b/faskhutdinov_idris_lab_7/generated_russian_text.txt @@ -0,0 +1 @@ +Абрикосовая дала обильную желтую пену и в воздухе запахло парикмахерской напившись литераторы немедленно начали икать расплатились и уселись на скамейке лицом к пруду и спиной к бронной тут приключилась вторая странность касающаяся одного берлиоза он внезапно перестал икать сердце его стукнуло и на мгновенье куда то провалилось потом вернулось но с тупой иглой засевшей в нем кроме того берлиоза охватил необоснованный но столь сильный страх что ему захотелось тотчас же бежать с патриарших без оглядки берлиоз тоскливо оглянулся не понимая что его напугало он побледнел вытер лоб платком подумал «что это со мной этого никогда не было сердце шалит я переутомился \ No newline at end of file diff --git a/faskhutdinov_idris_lab_7/main.py b/faskhutdinov_idris_lab_7/main.py new file mode 100644 index 0000000..4b25401 --- /dev/null +++ b/faskhutdinov_idris_lab_7/main.py @@ -0,0 +1,97 @@ +import tensorflow as tf +from tensorflow.keras.models import Sequential +from tensorflow.keras.layers import Embedding, LSTM, Dense +import numpy as np + +# Загрузка и подготовка данных +with open('russian_text.txt', 'r', encoding='cp1251') as file: + russian_text = file.read() + +# Токенизация текста +tokenizer = tf.keras.preprocessing.text.Tokenizer() +tokenizer.fit_on_texts([russian_text]) +total_words = len(tokenizer.word_index) + 1 + +# Преобразование текста в числовые последовательности +input_sequences = [] +for line in russian_text.split('n'): + token_list = tokenizer.texts_to_sequences([line])[0] + for i in range(1, len(token_list)): + n_gram_sequence = token_list[:i+1] + input_sequences.append(n_gram_sequence) + +# Создание входных и целевых последовательностей +max_sequence_length = max([len(x) for x in input_sequences]) +input_sequences = np.array(tf.keras.preprocessing.sequence.pad_sequences(input_sequences, maxlen=max_sequence_length, + padding='pre')) +predictors, label = input_sequences[:, :-1], input_sequences[:, -1] + +# Построение и обучение модели +model = Sequential() +model.add(Embedding(total_words, 100, input_length=max_sequence_length-1)) +model.add(LSTM(150)) +model.add(Dense(total_words, activation='softmax')) +model.compile(loss='sparse_categorical_crossentropy', optimizer='adam') +model.fit(predictors, label, epochs=150, batch_size=64) + + +def generate_text(seed_text, next_words, model, max_sequence_length): + for _ in range(next_words): + token_list = tokenizer.texts_to_sequences([seed_text])[0] + token_list = tf.keras.preprocessing.sequence.pad_sequences([token_list], maxlen=max_sequence_length - 1, + padding='pre') + predicted = np.argmax(model.predict(token_list, verbose=0), axis=-1) + + # Поиск слова, соответствующего предсказанному индексу + output_word = "" + for word, index in tokenizer.word_index.items(): + if index == predicted: + output_word = word + break + + seed_text += " " + output_word + + return seed_text + +# Генерация и сохранение русскоязычного текста +russian_generated_text = generate_text('Абрикосовая', next_words=100, model=model, max_sequence_length=max_sequence_length) +with open('generated_russian_text.txt', 'w', encoding='utf-8') as file: + file.write(russian_generated_text) + + + +# Загрузка и подготовка данных +with open('english_text.txt', 'r', encoding='utf-8') as file: + english_text = file.read() + +# Токенизация текста +tokenizer = tf.keras.preprocessing.text.Tokenizer() +tokenizer.fit_on_texts([english_text]) +total_words = len(tokenizer.word_index) + 1 + +# Преобразование текста в числовые последовательности +input_sequences = [] +for line in english_text.split('n'): + token_list = tokenizer.texts_to_sequences([line])[0] + for i in range(1, len(token_list)): + n_gram_sequence = token_list[:i+1] + input_sequences.append(n_gram_sequence) + +# Создание входных и целевых последовательностей +max_sequence_length = max([len(x) for x in input_sequences]) +input_sequences = np.array(tf.keras.preprocessing.sequence.pad_sequences(input_sequences, maxlen=max_sequence_length, + padding='pre')) +predictors, label = input_sequences[:, :-1], input_sequences[:, -1] + +# Построение и обучение модели +model = Sequential() +model.add(Embedding(total_words, 100, input_length=max_sequence_length-1)) +model.add(LSTM(150)) +model.add(Dense(total_words, activation='softmax')) +model.compile(loss='sparse_categorical_crossentropy', optimizer='adam') +model.fit(predictors, label, epochs=150, batch_size=64) + +# Генерация и сохранение англоязычного текста +english_generated_text = generate_text('It', next_words=100, model=model, max_sequence_length=max_sequence_length) +with open('generated_english_text.txt', 'w', encoding='utf-8') as file: + file.write(english_generated_text) \ No newline at end of file diff --git a/faskhutdinov_idris_lab_7/russian_lang.png b/faskhutdinov_idris_lab_7/russian_lang.png new file mode 100644 index 0000000000000000000000000000000000000000..cbdd618fde397220385f480ba8d197461c25c3fa GIT binary patch literal 29204 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

uI* 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 literal 0 HcmV?d00001 diff --git a/faskhutdinov_idris_lab_7/russian_text.txt b/faskhutdinov_idris_lab_7/russian_text.txt new file mode 100644 index 0000000..9347bb1 --- /dev/null +++ b/faskhutdinov_idris_lab_7/russian_text.txt @@ -0,0 +1,6 @@ + , . , , . + , . , - , , , . , , , . , , . , , : ? ... ... . , ... + , . , ... , , , , , . + , . , : !.. + , , , , , , , . + , . , , , , , . \ No newline at end of file