Научная статья на тему 'ОБРАБОТКА ТЕКСТА С ПОМОЩЬЮ НЕЙРОСЕТИ В НАПРАВЛЕНИИ АВТОРСТВА'

ОБРАБОТКА ТЕКСТА С ПОМОЩЬЮ НЕЙРОСЕТИ В НАПРАВЛЕНИИ АВТОРСТВА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
нейросеть / авторство / обработка / данные / текст / neural network / authorship / processing / data / text

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Н.А. Леонтьев, А.А. Саввинова

В статье рассматривается задача обработки текста с помощью нейронных сетей для определения авторства. Актуальность данной темы обусловлена возрастающей ролью искусственного интеллекта в различных сферах, в том числе в области обработки естественного языка. Представлен практический пример реализации нейросетевого подхода к определению авторства текста с использованием библиотеки Keras Python на платформе Google Colaboratory. Описаны шаги по подготовке данных, создание обучающей и тестовой выборок, построения и обучения модели. Полученные результаты демонстрируют высокую точность идентификации авторства текстов, достигающую 95-98%.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Н.А. Леонтьев, А.А. Саввинова

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

TEXT PROCESSING WITH NEURAL NETWORK IN THE DIRECTION OF AUTHORSHIP

The article deals with the task of text processing using neural networks to determine authorship. The relevance of this topic is due to the increasing role of artificial intelligence in various fields, including natural language processing. A practical example of implementation of neural network approach to text authorship determination using Keras Python library on Google Colaboratory platform is presented. The steps of data preparation, creation of training and test samples, model building and training are described. The obtained results demonstrate high accuracy of text authorship identification, reaching 95-98%.

Текст научной работы на тему «ОБРАБОТКА ТЕКСТА С ПОМОЩЬЮ НЕЙРОСЕТИ В НАПРАВЛЕНИИ АВТОРСТВА»

ОБРАБОТКА ТЕКСТА С ПОМОЩЬЮ НЕЙРОСЕТИ В НАПРАВЛЕНИИ

АВТОРСТВА

Н.А. Леонтьев, доцент А.А. Саввинова, магистрант

Северо-Восточный федеральный университет им. М.К. Аммосова (Россия, г. Якутск)

DOI:10.24412/2500-1000-2024-5-1-249-253

Аннотация. В статье рассматривается задача обработки текста с помощью нейронных сетей для определения авторства. Актуальность данной темы обусловлена возрастающей ролью искусственного интеллекта в различных сферах, в том числе в области обработки естественного языка. Представлен практический пример реализации нейросетевого подхода к определению авторства текста с использованием библиотеки Keras Python на платформе Google Colaboratory. Описаны шаги по подготовке данных, создание обучающей и тестовой выборок, построения и обучения модели. Полученные результаты демонстрируют высокую точность идентификации авторства текстов, достигающую 95-98%.

Ключевые слова: нейросеть, авторство, обработка, данные, текст.

Благодаря развитию компьютерных технологий появились новые методы идентификации авторства, основанные на

статистическом анализе и методах машинного обучения.

Рис. 1. Методы идентификации автора

На рисунке 1 показаны основные методы определения авторства спорных текстов, предложенные как отечественными, так и зарубежными учеными, результаты которых были проверены другими исследователями.

Искусственные нейронные сети представляют собой упрощенную модель функционирования головного мозга [1].

Стандартная п-слойная сеть прямого распространения состоит из входного сенсорного слоя, (п-1) скрытых ассоциативных слоев и выходного слоя, соединенных

последовательно в прямом направлении и внутри слоя и обратных связей между слоне содержащих связей между элементами ями (рис. 2).

Входной Выходной

слой спой

Рис. 2. Типовая структура сети прямого распространения

Входной слой принимает и передает входные сигналы на нейроны скрытого слоя. Каждый скрытый слой выполняет нелинейное преобразование линейной комбинации сигналов от предыдущего слоя. Выходной слой объединяет взвешенные сигналы последнего скрытого слоя [2].

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

новые образцы, не участвовавшие в процессе обучения [3].

Для исследования были взяты тексты 6 авторов в *.txt, кодировка UTF8. Разделены на обучающую и проверочную выборку, т.е. на каждого автора по 2 текста. Анализ текста проведено с помощью простейшей сети в Colab с помощью библиотеки Keras на языке программирования Python.

Для загрузки текстов можно использовать более компактный код используя '('в качестве токена для определения нужных файлов:

wrlters_text-[1 tor files In o*.llstdlr(): if (ftl»».$t»rt«Mlth( •(":i: «ilth open(flles, r-) as f: text • f.readi)

print('Сайд:*, files, 'длина!', lenitext > writer*_text.append(text)

Файл: (Рэй Брвдберри) Тестовая_8 BMecTe.txt длина: 863673

Файл: (О. Генри) Тестоеая_29 вместе.txt длина: 349662

Файл: (Булгаков) Обучавшая.,} вместе.txt длина: 176564®

Файл (Махе Фрай) Гестовая_2 вмеое.txt длина: 1278191

Файл: (Стругацкие) 06учл*щая_5 ■HecTe.txt длима: 2042469

Файл: (Стругацкие) Тесто»ая_2 вместе.txt длима: 764946

Файл: (Булгаков) Тестовая_2 вместе.txt длима: 875W2

Файл: (0. Генри) 06уча«щая_5в вместе.txt длима: 1049517

Файл: (Клиффсрд_Саймак) Тестоеая_2 BMeCTe.txt длима: 318811

Файл: (Клиффорд_Саймак) О6учаовая_5 вместе.txt длина: 1609507 Файл: (Макс Фрай) 0бучашая_5 BMecTe.txt длима: 37вЭД10

Файл: (Рай Ьрэдберри) О6умаоиая_72 вместе.txt длима: 1386454

Рис. 3. Чтение загруженных файлов

В каждом из двух списков содержатся Важным этапом для обеспечения высо-

тексты от каждого из 6 авторов для обуче- кого качества обучения нейронной сети ния и проверки модели. является предварительная обработка дан-

ных. Для выполнения такой предобработки в библиотеке Keras применяется класс Tokenizer. С помощью класса Tokenizer

можно определять индекс слова в массиве, можем узнать в скольких массивах встречается слово и количество повторений [4].

print(tokenizer.Mord_index^"лиса"]) *позиаик,-'индекс слова е массиве токенов print(tokenizer.nord_docs['лиса']) #в сколыси источниках встретилось слово pf : и; tokenizer.nord_counts ' r^ca=коли-еггвс -гЕ-оре-.-^ слое

4709 6

Рис. 4. Пример использования класса Tokenizer

После предварительной обработки необходимо преобразовать текст в после-

довательность числовых индексов, пользуя частотный словарь [5].

Статистика по обучающим текстам:

ис-

Рис. 5. Статистика по обучающим текстам

В статистике видно сколько символов и слов содержат тексты у каждого из авторов. Отдельно у обучающей группы текстов и отдельно у проверочной.

is,иии<•• • (tu nrxM HvtMOrK)

•od«101 - Sequential!) •oi*101. MO' Batchftoraaliiatlor

aofeldt.aiMfOefiieOe« input_di»-»axWbr-d5Coo»tt4 activatio«-*relu") •«»«к» 101. «¿di; Dropout.«. 1)) •o4«lfll.a4d>:iatchfior«all3atlQni >

•o4*}01 . ««M'iOerv»* 1 m, t га i л T>*t) , t lv*t lor- »Ifleoi d* ))

•oo«101. -ceoil' apttatrer- j.lj^ ,

lo5fe'citefforicel_criMs««»tropy « f iire<|r' J)

llXytie« сеть иj аиОоркс, сформровлияой no Dig o1 lordi x7ratn history - 1. fit\ »Treinei.

yTnin,

epocht-je,

lMt(h_iiiH2l,

valldatlo*_dit*- *Te«t«l, yTatt'>

pit.plot(History.History! accuracy'1,

Itbfl" Aon* Ifp^nt OfM'DI M пАучм«|ра мАз{Н!*)

pit.plot;History.hibtory alur^c, ,

i*t>el- Доля acp^ii oTM-roa лроаарочмо» мабир* I pit «label( ')noxa оЬучапвя' 1

pit ) ]*b»l ( Дг.Л!» *?p>*»x 0T0»TR*'J

plt.lagan4() pit »bo*I)

Рис. 6. Создание нейросети

Нейронная сеть каждый раз обучается по-разному. Даже при равных исходных данных, может каждый раз выдавать разные результаты. В данном примере его

точность равна 0.9873, при создании и более ранних прогонах, точность достигала 0.9987.

Рис. 7. Обучение нейросети

Было решено обучать нейросеть стандартным 20 эпохам. После каждой эпохи, нейросеть давали проверочную выборку

для определения автора текста. Последний столбец показывает точность распознавания.

Рис. 8. График точности распознавания

Уже практически с первой эпохи обуче- ли тексты из проверочной выборки (тек-ния, нейросеть на обучающей выборке по- сты, которые не были включены в обуча-казывала 100% точность распознавания ющую выборку) и точность его не падала автора текста. После обучения, сети дава- 0.9563, а максимальная достигала 0.9873.

Библиографический список

1. Романов, А. С. Методика и программный комплекс для идентификации автора неизвестного текста: специальность 05.13.18 "Математическое моделирование, численные методы и комплексы программ": диссертация на соискание ученой степени кандидата технических наук / Романов Александр Сергеевич. - Томск, 2010. - 149 с. - EDN QEWIEF.

2. Леонова А.В., Леонова И.В. Определение авторства текстов на основе подхода n-грамм // Научное обозрение. Технические науки. - 2018. - № 6. - С. 37-40.

3. Парамонов, А.И. Модификации методов машинного обучения для решения задачи идентификации автора текста / А.И. Парамонов, И.А. Труханович // Информационно-коммуникационные технологии: достижения, проблемы, инновации (ИКТ-2022): Сборник материалов II Международной научно-практической конференции, Полоцк, 30-31 марта 2022 года. - Новополоцк: Учреждение образования «Полоцкий государственный университет имени Евфросинии Полоцкой»=Установа адукацьп "Полацю дзяржауны ушверстт iмя Еуфрасшш Полацкай", 2022. - С. 78-81. - EDN GQUIMD.

4. Demidovich I. et al. Processing Words Effectiveness Analysis in Solving the Natural Language Texts Authorship Determination Task // 2021 IEEE 16th International Conference on Computer Sciences and Information Technologies (CSIT). - IEEE, 2021. - Т. 2. - С. 48-51.

5. Trukhanovich I., Paramonov A. Multispecies Ensemble Architecture For Texts Authorship Classification // 2023 7th International Symposium on Multidisciplinary Studies and Innovative Technologies (ISMSIT). - IEEE, 2023. - С. 1-6.

TEXT PROCESSING WITH NEURAL NETWORK IN THE DIRECTION

OF AUTHORSHIP

AA. Savvinova, Graduate Student N.A. Leontyev, Associate Professor M.K. Ammosov North-Eastern Federal University (Russia, Yakutsk)

Abstract. The article deals with the task of text processing using neural networks to determine authorship. The relevance of this topic is due to the increasing role of artificial intelligence in various fields, including natural language processing. A practical example of implementation of neural network approach to text authorship determination using Keras Python library on Google Colaboratory platform is presented. The steps of data preparation, creation of training and test samples, model building and training are described. The obtained results demonstrate high accuracy of text authorship identification, reaching 95-98%.

Keywords: neural network, authorship, processing, data, text.

i Надоели баннеры? Вы всегда можете отключить рекламу.