Научная статья на тему 'МЕТОДЫ ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА В РЕШЕНИИ ЗАДАЧ ОБНАРУЖЕНИЯ АТАК СОЦИАЛЬНОЙ ИНЖЕНЕРИИ'

МЕТОДЫ ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА В РЕШЕНИИ ЗАДАЧ ОБНАРУЖЕНИЯ АТАК СОЦИАЛЬНОЙ ИНЖЕНЕРИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
631
97
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИННОЕ ОБУЧЕНИЕ / НЕЙРОННЫЕ СЕТИ / ГЛУБОКОЕ ОБУЧЕНИЕ / СОЦИАЛЬНАЯ ИНЖЕНЕРИЯ / МЕТОДЫ ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Частикова Вера Аркадьевна, Козачёк Константин Валерьевич, Гуляй Виктория Геннадьевна

Представлен сравнительный анализ различных методов обработки естественного языка для выявления наиболее эффективных механизмов обнаружения вектора атак социальной инженерии. Показано, что использование простейших языковых моделей, таких как bagofwords и TF-IDF, не удовлетворяет требованиям поставленной задачи в полной мере. Применение наиболее часто используемых современных моделей вложения слов (Word2Vec, GloVe, fastText) позволяет получать хорошие результаты, но при условии использования большой обучающей выборки. Было выявлено, что такие же результаты показывают сверточные и рекуррентные нейронные сети, которые могут быть использованы в качестве основы для реализации механизма Attention. Анализ показал, что наиболее продуктивным является применение методов обработки естественного языка, строящихся на базе архитектуры-трансформера, в особенности моделей BERT и XLNet.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Частикова Вера Аркадьевна, Козачёк Константин Валерьевич, Гуляй Виктория Геннадьевна

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

METHODS OF NATURAL LANGUAGE PROCESSING IN SOLVING PROBLEMS OF DETECTING SOCIAL ENGINEERING ATTACKS

The purpose of this work is to conduct a comparative analysis of various methods of natural language processing to identify the most effective mechanisms for detecting the vector of social engineering attacks. The study shows that the use of the simplest language models, such as bag of words and TF-IDF, does not fully meet the requirements of the task. The use of the most commonly used word embedding models at the moment (Word2Vec, GloVe, fast Text) can give good results, but only when using a large training sample. It was also revealed that convolutional and recurrent neural networks can show good results, which can be used as a basis for the implementation of the Attention mechanism. However, the most productive will be the use of modern natural language processing methods based on the transformer architecture, especially the BERT and XLNet models.

Текст научной работы на тему «МЕТОДЫ ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА В РЕШЕНИИ ЗАДАЧ ОБНАРУЖЕНИЯ АТАК СОЦИАЛЬНОЙ ИНЖЕНЕРИИ»

Обзорная статья

УДК 004.032.26.056+004.5+81'322.2

ББК 32.813+32.972.53

Ч 25

DOI: 10.53598/2410-3225-2021-4-291-95-108

Методы обработки естественного языка в решении задач обнаружения атак социальной инженерии

(Рецензирована)

1 2

Вера Аркадьевна Частикова , Константин Валерьевич Козачёк ,

Виктория Геннадьевна Гуляй3

1 2' 3 Кубанский государственный технологический университет, Краснодар, Россия

1 chastikova_ya@mail.ru

2 Kozachek. Work-mail@yandex.ru

3 ms.gulyay@bk.ru

Аннотация. Представлен сравнительный анализ различных методов обработки естественного языка для выявления наиболее эффективных механизмов обнаружения вектора атак социальной инженерии. Показано, что использование простейших языковых моделей, таких как bagofwords и TF-IDF, не удовлетворяет требованиям поставленной задачи в полной мере. Применение наиболее часто используемых современных моделей вложения слов (Word2Vec, GloVe, fastText) позволяет получать хорошие результаты, но при условии использования большой обучающей выборки. Было выявлено, что такие же результаты показывают сверточные и рекуррентные нейронные сети, которые могут быть использованы в качестве основы для реализации механизма Attention. Анализ показал, что наиболее продуктивным является применение методов обработки естественного языка, строящихся на базе архитекту-ры-трансформера, в особенности моделей BERT и XLNet.

Ключевые слова: машинное обучение, нейронные сети, глубокое обучение, социальная инженерия, методы обработки естественного языка

Review article

Methods of natural language processing in solving problems of detecting social engineering attacks

1 2 3

Vera A. Chastikova , Konstantin V. Kozachek , Viktoriya G. Gulyay

1 2' 3 Kuban State University of Technology, Krasnodar, Russia

1 chastikova_va@mail.ru

2 Kozachek. Work-mail@yandex.ru

3 ms.gulyay@bk.ru

Abstract. The purpose of this work is to conduct a comparative analysis of various methods of natural language processing to identify the most effective mechanisms for detecting the vector of social engineering attacks. The study shows that the use of the simplest language models, such as bag of words and TF-IDF, does not fully meet the requirements of the task. The use of the most commonly used word embedding models at the moment (Word2Vec, GloVe, fast Text) can give good results, but only when using a large training sample. It was also revealed that convolutional and recurrent neural networks can show good results, which can be used as a basis for the implementation of the Attention mechanism. However, the most productive will be the use of modern natural language processing methods based on the transformer architecture, especially the BERT and XLNet models.

Keywords: machine learning, neural networks, deep learning, social engineering, natural language processing methods

Введение

Современные системы обработки текста значительно расширили представление о взаимодействии человека и компьютера. Благодаря стремительному развитию NLP (Natural Language Processing) открылись новые, считавшиеся не достижимыми ранее, возможности. Например: осуществление поиска информации в сети; создание интеллектуальной клавиатуры, обеспечивающей автоматическое исправление орфографических ошибок и прогнозирование следующего слова в тексте с учетом предыдущих; перевод текста (даже с изображений) на любой язык в режиме реального времени и распознавание речи, нашедшее широкое применение в различных голосовых помощниках и т. д. Одним из немаловажных и перспективных направлений развития методов обработки естественного языка является решение задач обнаружения атак социальной инженерии.

Технологии NLP основываются на технологиях глубокого обучения (deep learning) - области машинного обучения, появившейся еще в середине прошлого века, но начавшей давать наиболее яркие результаты лишь в начале прошлого десятилетия [1]. Такому развитию способствовало сочетание следующих факторов:

- появление крупных тренировочных датасетов;

- увеличение вычислительных мощностей (внедрение многоядерных CPU и GPU);

- разработка новых методов и алгоритмов работы систем, а также создание новых архитектур нейросетей.

Основная часть

1. Преобразование слов в числовые векторы

В настоящее время перед искусственным интеллектом стоит задача научиться не только понимать сказанное или написанное человеком, но и принимать конкретное решение, основанное на анализе полученной информации. Таких целей позволяет достичь разработка и внедрение новых архитектур нейронных сетей и языковых моделей в системы искусственного интеллекта [1].

Однако для функционирования таких систем, то есть для «понимания» естественного языка компьютером, необходимо все данные перерабатывать в числовые векторы. Для решения данной задачи зачастую применяется метод word embedding [1].

Эмбеддинг (word embedding) - сопоставление элемента речи (слова, предложения и т.д.) числовому вектору. Так, математическими моделями семантической значимости слов могут являться, например, их числовые векторы, представляющие собой строки в матрице «слово-контекст», строящейся по достаточно большому объему данных различных датасетов. Контекстом каждого конкретного слова могут являться как непосредственно стоящие по соседству слова, так и слова, просто входящие с ним в одну семантическую или синтаксическую конструкцию. Ячейки данной матрицы в основном содержат частоты появления слова в данном контексте. Однако все чаще используют коэффициент положительной попарной взаимной информации (Positive Pointwise Mutual Information, PPMI), который позволяет определять вероятность того, что появление данного слова в том или ином контексте было неслучайным [2]. Такие матрицы очень эффективны для разбиения множества слов на различные классы и поиска синонимов к данному слову. Такое совмещение осуществляется, например, в ходе обучения нейропереводчика. Благодаря использованию данного метода перевод текста с одного языка на другой сводится к его эмбеддингу и выводу готового текста в словах языка, на который требуется осуществить перевод. Применение такого алгоритма существенно облегчает задачу поиска в сети, так как поиск необходимой информации происходит аналогичным образом на всех языках.

2. Простейшие языковые модели

Самый простой вид эмбеддингов слов можно получить путем простой нумерации объектов какого-либо датасета и записи единицы в длинном векторе размерности на месте, соответствующему порядковому номеру объекта. Например, взяв упорядоченный список слов (им может служить любая электронная версия словаря) и пронумеровав все слова в нем. К примеру, взяв толковый словарь Ожегова, содержащий 57189 слов, получим, что эмбеддинг слова «абзац», имеющего 16-ый порядковый номер в словаре, будет иметь 57188 нулей на всех позициях, кроме 16-ой, где будет стоять 1, а слово «абстракция» соответственно будет иметь нули на всех 57188 позициях, кроме 59-ой, где будет единица. То есть вектор каждого слова будет состоять из нулей и одной единицы, стоящей на позиции, соответствующей порядковому номеру слова. Данный метод построения эмбеддингов получил название унитарное кодирование (one-hot encoding).

Для создания вектора, который кодировал бы всю фразу, достаточно объединить one-hot-векторы каждого слова, входящего в состав фразы. Соответственно, предложение, закодированное таким же образом, будет суммировать все векторы слов, входящих в него. Так, если мы рассмотрим фразу «Книга содержит сто страниц», то для того, чтобы ее закодировать методом one-hot, необходимо сложить векторы слов «книга», «содержать», «сто», «страница». В результате получим вектор, состоящий из более чем 340000 позиций, лишь на четырех из которых будут стоять единицы.

Очевидно, что при этом полностью теряется информация о последовательности слов в тексте. Остается лишь информация о наборе слов, представляющая собой простейшую языковую модель, называемую мешок слов (bag-of-words). Эта модель представляет собой неупорядоченный набор слов без сведений о связях между ними. Преимуществом такой модели является ее простота, но при этом она не содержит данных о контексте данного слова и представляет собой огромное разряженное векторное пространство - sparse (большая часть 0 и в одной позиции 1-ца).

Аналогичные преимущества и недостатки имеет и сам метод one-hot encoding [2]. Он прост в реализации, однако занимает очень много места в памяти, храня при этом небольшое количество важной информации. Такая модель применима в тех ситуациях, где важна быстрота кодирования и имеется относительно небольшое количество данных. Например, поиск слова в цифровом словаре или справочнике.

Зачастую подход one-hot encoding применяется не как самостоятельный метод обработки естественного языка, а в качестве составной части более современных алгоритмов.

Чуть более усложненным вариантом является модель TF-IDF, где аббревиатура TF (term frequency) характеризует частоту встречаемости слова, а IDF (inverse document frequency) - так называемую обратную частоту документа, то есть инверсию частоты встречаемости данного слова [3]. Таким образом TF-IDF позволяет оценить значимость того или иного слова в тексте. Вычисляется данная мера по формуле:

Таким образом, слова с наибольшей частотой встречаемости в данном тексте и с низкой частотой употреблений в других документах имеют наибольший вес. Модель TF-IDF наиболее эффективно и часто используется в электронных библиотеках, где имеется большой перечень текстовых файлов [3]. В задачах обнаружения атак социаль-

tf - idf (t, d, D ) = tf (t, d) x idf (t, D ),

где

ной инженерии данная модель будет применима лишь при использовании злоумышленниками одинаковых «шаблонных» фраз. Поэтому в связи с существованием огромного разнообразия формулировок одного и того же предложения целесообразнее использовать более современные методы.

3. Рекуррентные нейронные сети

Изначально методы обработки естественного языка основывались только на нейросетях прямого распространения (рис. 1), то есть архитектурах сетей с независимыми входами и выходами, где сигнал последовательно проходил от входного к выходному слою.

Рис. 1. Нейронная сеть прямого распространения [5] Fig. 1. Direct propagation neural network [5]

Все изменилось с появлением рекуррентных нейронных сетей (RNN) [6]. Основная особенность такой архитектуры заключается в наличии направленных связей между элементами, то есть сигнал с выходного слоя может вновь подаваться на вход (рис. 2). Рекуррентные сети имеют подобие «памяти» и могут обрабатывать последовательности данных, например, тексты естественного языка.

Рис. 2. Рекуррентная нейронная сеть [7] Fig. 2. Recurring neural network [7]

Рекуррентные нейронные сети оказались весьма успешными при решении различных задач NLP, так как они хорошо справляются с обработкой динамических входных последовательностей, часто встречающихся в процессе работы с естественными языками. То есть рекуррентные сети позволяют работать с постоянно меняющимися факторами, такими как речь или рукописный текст. Наиболее часто используемыми разновидностями RNN являются LSTM и GRU [6].

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

Рис. 3. Структура LSTM [7] Fig. 3. LSTM structure [7]

Управляемые рекуррентные блоки (GRU) в некоторой степени являются облегченной версией LSTM. Модель GRU по принципам и результатам действий во многом схожа с LSTM, однако имеет меньше вентилей (рис. 4), за счет чего ее обучение происходит быстрее [8].

Рис. 4. Структура GRU [7] Fig. 4. GRU structure [7]

Рекуррентные нейронные сети (в особенности GRU и LSTM) прекрасно подходят для решения задач с постоянно меняющимися данными [6, 9]. Благодаря обратным связям рекуррентные сети обладают так называемой памятью, что позволяет на их базе создавать различные языковые модели. Также RNN часто используются в анализе трафика компьютерной сети [3].

Однако рекуррентные нейронные сети имеют ряд проблем. Во-первых, RNN последовательно обрабатывают большие объемы данных. Из-за этого, подходя к концу при обработке, например, сложного предложения, сеть «забывает» содержание начала. Даже использование LSTM или GRU с высокой степенью рекурсии не решает проблему полностью. Во-вторых, из-за отсутствия механизмов параллельной обработки данных невозможно ускорить обучение, используя большее количество графических процессоров. В-третьих, рекуррентные нейросети часто сталкиваются с проблемой исчезающего градиента, из-за чего возникают сложности в их обучении на большом количестве данных.

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

4. Сверточные нейросети

Исследования, проведенные в 2018 году [8], показали, что сверточные нейронные сети (CNN) могут превосходить рекуррентные сети в таких задачах, как синтез звука, распознавание рукописного текста и машинный перевод. Было выявлено, что

даже простая сверточная архитектура превосходит рекуррентные сети, такие как LSTM и GRU, по широкому спектру задач [10]. CNN хороши там, где уместно разделить целый объект на отдельные части, рассматривая каждую часть по отдельности или их последовательность. Сверточные нейросети, которые изначально создавались для развития компьютерного зрения и распознавания изображений [11], как оказалось, могут прекрасно справляться с множеством задач NLP.

CNN обычно состоят из трех слоев: сверточного, объединяющего и полносвязного (рис. 5). Первый слой (сверточный) является основным и содержит в себе все ключевые вычислительные операции. Например, непосредственно саму свертку, то есть математическую операцию, заключающуюся в скалярном произведении двух матриц, одна из которых является ядром (матрица весов), а другая - самим объектом. Так как текст легче всего представить в виде матрицы-строки, то для обработки естественного языка зачастую используется одномерная свертка (1D convolution). На втором слое (объединяющем или, как его еще называют, слой пулинга) уменьшается количество выходных данных для последующей более эффективной обработки. На третьем слое (полносвязном) матрица, полученная на предыдущем слое, преобразуется в вектор-столбец, благодаря чему модель CNN получает возможность определять ключевые признаки объектов и вследствие чего классифицировать их, например, используя технику классификации Softmax.

Рис. 5. Принцип работы CNN при обработке текстовых данных [7] Fig. 5. Principle of CNN operation when processing text data [7]

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

5. Встраивание слов

В 2013 году Томас Миколов выдвинул гипотезу лояльности: «Слова, которые встречаются в одинаковых окружениях, имеют близкие значения» [12]. На базе данной гипотезы возникла новая модель обработки естественного языка Word2vec. Данный метод заключается в использовании алгоритма встраивания или вложения слов, то есть представления слов в виде вещественного вектора так, что векторы схожих по значению слов находятся в векторном пространстве на более близком расстоянии друг от друга. Развитие моделей эмбеддингов позволило работать одновременно с разными языками, так как векторные пространства слов, например, на английском и русском языках будут совпадать. Ведь одинаковым по семантическому значению словам соответствуют одни и те же векторы слов вне зависимости от того, на каком естественном языке они были записаны или произнесены. Важно учесть, что метод Word2vec представляет собой не систему предобученных эмбеддингов, а способ их формирования.

Так же стоит отметить, что при использовании моделей вложения слов большое значение уделяется контексту, то есть соседним словам, а также сочетаемости слов. Например, словосочетание «сломанная ветка» является привычным для нас, однако фразу «сломанный ветер» вряд ли можно услышать, так как эти слова не сочетаются. Для того чтобы слова «сочетались» между собой, необходимо строить эмбеддинги слов в многомерном пространстве, чтобы каждому слову соответствовал набор из нескольких десятков или сотен критериев (рис. 6).

ч ......II 4M 041 im""" ВО II

h

■-0 8

-ао

I—is

Рис. 6. Вектор слова в 50-мерном пространстве Fig. 6. Word vector in 50-dimensional space

Например, взяв несколько слов и проанализировав их по 50 критериям, можно получить вектор каждого слова в 50-мерном пространстве (рис. 7). Сопоставив результаты, можно заметить, что некоторые колонки у разных слов имеют одинаковые цвета (векторы значений), то есть в чем-то они схожи или аналогичны. При этом колонки, отличающиеся по цвету, определяют какие-то особенности значений каждого из слов. Например, слова «мужчина» и «женщина» обозначают людей, но при этом их нельзя объединить и сказать, что это синонимы, имеющие одно и то же смысловое значение; слова «мужчина» и «король» мужского пола, мужчина может быть королем и в этом заключается их связь между собой, но при этом слово «король» может и вовсе не обозначать человека, король, например, может быть шахматным.

Рис. 7. Сопоставление векторов различных слов Fig. 7. Mapping vectors of different words

Можно заметить, что одно и то же слово может иметь что-то общее с одним словом и абсолютно другое с другим.

Метод Word2vec использует два алгоритма обучения: Непрерывный мешок слов (CBoW) и Скип-грамм (Skip-gram) [11]. Использование сразу двух моделей обучения позволяет Word2vec работать сразу в двух направлениях: предугадывать центральное слово по соседним благодаря CBoW и определять контекст заданного слова благодаря Skip-gram (рис. 8).

Чтобы сделать обучение эффективнее, используются такие методы, как SoftMax или негативное семплирование (Negative Sampling).

На основе Word2Vec строится множество других языковых моделей и методов обработки естественного языка. Одним из таких методов является созданная в Facebook библиотека fastText. Данная модель представляет собой объединение алгоритма Word2Vec и модели символьных n-грамм.

В fastText каждое слово представляет собой последовательность из нескольких групп символов заданной длины. Такой подход позволяет работать в том числе и с неизвестными для модели словами [13]. Таким образом, если слова нет в словаре, то оно разбивается на символьные n-граммы, для каждой n-граммы берутся усредненные эм-

беддингы из матрицы эмбеддингов и-грамм (которые обучаются подобно ,^гё2уес), в результате чего получается вектор нового слова.

CBoW Skip-gram

Рис. 8. Алгоритмы CBoW и Skip-gram [11] Fig. 8. CBoW and Skip-gram algorithms [11]

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

FastText использует иерархический классификатор, что позволяет наиболее эффективно обрабатывать массивы данных с большим количеством различных категорий.

Другим методом, также основывающимся на алгоритме вложения слов, является GloVe. Однако в данном методе, в отличие от Word2Vec и fastText, векторы слов представлены объектной матрицей, позволяющей учесть важные линейные структуры векторного пространства. Таким образом, метод GloVe, используя статистику совпадений, учитывает частоту совместной встречаемости и группирует векторы слов, опираясь на контекстную статистику [14].

Так, благодаря анализу схожести слов методы Word2Vec, GloVe, fastText вполне могут справляться с вычислением атак социальной инженерии. Важно учесть, что метод fastText будет полезен для обработки текстов, в которых встречаются редкие или новые слова. Если важна частота встречаемости тех или иных слов в тексте, то эффективнее будет применение метода GloVe. Однако фиксированная длина векторов слов и малый диапазон обучения сильно ограничивают сферу применения данных моделей. Другим недостатком по сравнению с более современными является отсутствие возможности решать аналогичные задачи с помощью уже имеющихся знаний.

6. Внедрение механизма Attention и трансферного обучения

В 2018 году появилась первая модель вложения слов, учитывающая глубокую семантику текста, Embeddings from Language Models (ELMo), в переводе на русский язык - «встраивание из языковой модели». Данный метод базируется на двунаправленной языковой модели (biLM), использующей LSTM, сверточную нейросеть на уровне символов и механизм Attention (внимание), основным преимуществом которого является отсутствие фиксированной длины векторов слов (рис. 9). В отличие от классических моделей встраивания слов, таких как Word2Vec, GloVe, fastText, ELMo определяет функцию всего предложения, содержащего обрабатываемое слово [15].

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

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

ELMo

Рис. 9. Структура ELMo [16] Fig. 9. ELMo structure [16]

Таким образом, для разрешения проблемы выявления атак социальной инженерии из всех моделей вложения слов на данный момент гораздо эффективнее и целосо-образнее использовать ELMo, однако и она не лишена изъянов.

Переломным моментом в развитии NLP послужило внедрение в данную область Transfer Learning, то есть механизма машинного обучения, заключающегося в использовании знаний, полученных в ходе решения одной задачи, для решения последующих. Изначально трансферное обучение моделей разрабатывалось для распознавания и классификации изображений. Однако проблема непонимания семантической нагрузки слов и, соответственно, предложений инициировала разработчиков на попытку применить алгоритмы трансферного обучения к моделям NLP. Так, в 2018 году появились первые модели обработки естественного языка с архитектурой Transformer, получившие название Generative Pre-Training (GPT), что в переводе на русский язык означает «генеративная модель предварительного обучения» и Bidirectional Encoder Representation Transformers (BERT), в переводе - «двунаправленная нейронная сеть-кодировщик» [17].

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

Механизм внимания использовался и раньше (например, в сочетании с рекуррентной нейросетью в модели ELMo), но при этом не являлся основным [15].

Механизм внимания как бы «концентрирует» нейронную сеть, «обращает ее внимание» на наиболее важные фрагменты исследуемого объекта. Однако RNN, традиционно используемые при реализации алгоритма Attention (рис. 10), как уже отмечалось ранее, имеют ряд проблем. Последовательная обработка данных приводит к «забыванию» начальных сведений и усложняет обучение модели. Поэтому основным направлением в разработке новой архитектуры нейронных сетей стало создание механизма параллельной обработки данных.

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

Появившаяся в 2018 году архитектура Transformer смогла справиться практически со всеми недостатками рекуррентных нейронных сетей. Не будучи очень глубокими нейронными сетями, Трансформеры гораздо лучше улавливают зависимости между словами, находящимися в разных частях текста, по сравнению с более глубокими RNN и CNN. Также у Трансформеров не возникает проблемы взрывающихся и исчезающих градиентов, так как вместо линейного вычисления (шаг за шагом) Трансформер обрабатывает всю последовательность за один проход. Еще одним преимуществом Транс-

формеров по сравнению с является архитектура, требующая меньшее количество шагов обучения. И основным достоинством новой архитектуры является отсутствие рекурсии, что позволяет распараллеливать обработку данных.

Рис. 10. Структура механизма Attention [10] Fig. 10. The structure of the Attention mechanism [10]

Основными компонентами моделей с архитектурой Transformer являются энко-дер и декодер.

Другие особенности Трансформеров сводятся к применению трех основных механизмов [18]:

- позиционных энкодеров (Positional Encodings), сохраняющих порядок слов в виде данных, а не путем последовательной обработки;

- алгоритма внимания (Attention), используемого в качестве основного механизма, то есть без помощи RNN;

- алгоритма множественного самовнимания (Multi-headattention), позволяющего модели понимать смысл и закономерности языка.

Одним из самых ярких примеров использования архитектуры Transformer в NLP является языковая модель BERT, разработанная компанией Google. Благодаря усовершенствованной архитектуре (рис. 11) у данной модели появилась возможность анализировать семантическую значимость слов в предложении, благодаря чему она способна предугадывать слово по его контексту, а также находить логическую связь между двумя предложениями [19].

Рис. 11. Структура BERT [16] Fig. 11. BERT structure [16]

Для решения первой задачи (предугадывание слов) BERT обучается следующим образом: на вход нейросети подаются фразы, в которых около 15% слов скрыты, то

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

Использование модели BERT для решения задач обнаружения атак социальной инженерии может быть очень эффективно благодаря способности модели определять семантическую и логическую нагрузку всего текста, а также применения, при необходимости, алгоритма нахождения недостающих или синонимичных слов и выражений.

В качестве другого не менее яркого примера использования данной архитектуры можно привести модель GPT, разработанную компанией OpenAI. Особенностью модели является то, что для ее работы не требуется предварительная обработка данных, так как разработчики уверены, что этапы предварительной обработки лишь ограничивают возможности модели (рис. 12). В 2019 году данная модель была усовершенствована и получила название GPT-2. В качестве входного сигнала разработчики не стали использовать классические виды текстового представления (на уровне слов или символов), а выбрали промежуточный, так называемый уровень подслов, получаемый с помощью алгоритма кодирования байтовой пары - Byte Pair Encoding (BPE). В результате работы данного алгоритма слова разделяются на последовательности символов, пригодные для дальнейшей обработки. В 2020 году вышла новая версия модели GPT-3, основным отличием от предыдущих моделей которой является увеличение количества параметров в каждом слое сети до 175 млрд и изменение плотных и разреженных слоев внутреннего внимания (self-attention). GPT на данный момент являются одними из самых объемных сложных языковых моделей, благодаря чему открываются возможности применения данных моделей во всех сферах NLP.

Рис. 12. Структура GPT [16] Fig. 12. GPT structure [16]

В 2019 году для обработки текстов естественного языка было предложено использовать новую нейронную архитектуру Transformer-XL. Классическая архитектура Трансформера способна обрабатывать только последовательности фиксированной длины. Новая архитектура решает проблему фрагментации котекста, позволяет изучать зависимость за пределами фиксированной длины последовательности, не нарушая временную когерентность. На основе архитектуры Transformer-XL функционирует одна из наиболее современных языковых моделей XLNet. Основным отличием данной модели является то, что по большому счету XLNet - это модифицированная цель обучения языковых моделей, базирующаяся на условных распределениях перестановок результатов токенизации в заданной последовательности. То есть метод XLNet производит выборку из всех возможных перестановок, не рассматривая каждое отдельное отношение, что позволяет более качественно решать различные задачи NLP.

При решении одинаково поставленных задач модель XLNet показала лучшие результаты по сравнению с BERT [20], из чего следует вывод, что XLNet может быть более эффективной в решении такой задачи NLP, как обнаружение атак социальной инженерии.

7. Сравнительный анализ методов обработки естественного языка

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

Таблица 1

Сравнительный анализ методов обработки естественного языка Table 1. Comparative analysis of natural language processing methods

TF-IDF RNN (LSTM, GRU) CNN Word2Vec GloVe FastText ELMo BERT GPT XLNet

Требуется небольшой объем памяти для функ- + + + + + + +

ционирования системы

Обучение на небольшом объеме учебных корпусов - - - - - - - + +

Высокая производительность обучения - 1 + + + + + + +

Определение контекста слова по соседним словам - + + + + + + + +

Определение контекста слова в предложе- - - - - - - + + +

нии / тексте

Работа с неизвестными + + + +

для сети словами

Учитывает глубокую се- + + +

мантику

Обработка динамических данных - - + - - - + + +

Является основой для более современных методов + + + 2 2 2 3 3 3

Примечание: 1 - для рекуррентных нейронных сетей при обработке больших текстов / длинных предложений характерно «забывание» сведений, полученных в начале обработки;

2 - данные модели чаще используются в качестве самостоятельных методов обработки естест-

венного языка;

3 - представленные модели являются наиболее современными на данный момент

Выводы

Одним из наиболее актуальных направлений разработки методов NLP является предотвращение атак социальной инженерии, участившихся в последнее время. Для обнаружения атак такого рода эффективнее использовать системы, базирующиеся на современных алгоритмах обработки естественного языка. Проанализировав 11 наиболее часто используемых моделей NLP, можно подвести итог, что методы обработки естественного языка стремительно развиваются, соответственно наилучшие результаты в решении поставленной задачи будут показывать наиболее усовершенствованные архитектуры. Так, используемый ранее для обнаружения спама в сообщениях электронной почты метод TF-IDF вряд ли смог бы справиться с атаками кибермошенников из-за отсутствия алгоритмов, работающих с постоянно меняющимися данными. Разновидности рекуррентных нейронных сетей, такие как LSTM и GPU, хорошо показали себя в качестве основы для механизма Attention, используемого, например, в современном алгоритме вложения слов ELMo, проигрывающей в решении задачи обнаружения атак социальной инженерии только моделям с более сложной архитектурой Transformer. Одним из таких алгоритмов является BERT. Возможности данной архитектуры позволяют успешно применять ее для определения сообщений, потенциально содержащих атаки со стороны злоумышленников, использующих методы социальной инженерии. Пре-

взойти BERT по своим показателям смог только алгоритм XLNet, основывающийся на новейшей архитектуре Transformer-XL. Хорошо зарекомендовавшие себя в решении различных задач обработки текстов естественного языка модели вложения слов, такие, как Word2Vec, GloVe, fastText, сильно проигрывают более современным методам, так же, как и системы, построенные на основе сверточных нейронных сетей.

Примечания

1. Natural Language Processing: History, Evolution, Application and Future Work / Prashant Johri, Sunil K. Khatri, Ahmad T. Al-Taani [et al.] // Proceedings of 3rd International Conference on Computing Informatics and Networks. 2021. P. 365-375.

2. Jeong M., Kang J. Regularizing Models via Pointwise Mutual Information for Named Entity Recognition // ArXiv, abs/2104.07249.2021.

3. Нейросетевая технология обнаружения аномального сетевого трафика / В. А. Частикова, С. А. Жерлицын, Я.И. Воля, В.В. Сотников // Прикаспийский журнал: управление и высокие технологии. 2020. № 1 (49). С. 20-32.

4. Jones K.S. A statistical interpretation of term specificity and its application in retrieval // Journal of Documentation. MCB University: MCB University Press, 2004. Vol. 60, No. 5. P. 493502.

5. Machine Learning and Knowledge Extraction in Digital Pathology Needs an Integrative Approach / A. Holzinger, B. Malle, P. Kieseberg, P.M. Roth // Towards Integrative Machine Learning and Knowledge Extraction. 2017. P. 13-50.

6. Sherstinsky A. Fundamentals of Recurrent Neural Network (RNN) and Long Short-Term Memory (LSTM) network // Physica D: Nonlinear Phenomena. 2020. Vol. 404, No. 132306.

7. Olah C. Understanding LSTM. Networks, 2015. URL: http://colah.github.io/posts/2015-08-Understanding-LSTMs/ (дата обращения: 5.11.2021).

8. Bai S, Kolter J.Z, Koltun V. An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling // arXiv:1803.01271v2. 2018.

9. Chastikova V.A., Sotnikov V.V. Method of analyzing computer traffic based on recurrent neural networks // Journal of Physics: Conference Series. International Conference "High-Tech and Innovations in Research and Manufacturing" [HIRM]. 2019. P. 012133.

10. Xiang Zhang, Junbo Zhao, Yann LeCun. Character-level Convolutional Networks for Text Classification // Advances in Neural Information Processing Systems 28. Paper ID: 456.

11. Shobana J., Murali M. Improving feature engineering by fine tuning the parameters of Skip gram model // Materials Today: Proceedings. 2021.

12. Falcon Z. Dai. Word2vec Conjecture and A Limitative Result // arXiv:2010.12719v1.

13. Zolotov V., Kung D. Analysis and Optimization of fast Text Linear Text Classifier // ar-Xiv:1702.05531.

14. SemGloVe: Semantic Co-occurrences for GloVe from BERT / Leilei Gan, Zhiyang Teng, Yue Zhang [et al.] // arXiv:2012.15197v2.

15. Manel Affi, Chiraz Latiri. BE-BLC: BERT-ELMO-Based Deep Neural Network Architecture for English Named Entity Recognition Task // Procedia Computer Science. 2021. Vol. 192. P. 168-181.

16. Mohd Sanad Zaki Rizvi Demystifying BERT: The Groundbreaking NLP Framework. URL: https://medium.com/analytics-vidhya/demystifying-bert-the-groundbreaking-nlp-framework-8e3142b3d366 (дата обращения: 5.11.2021).

17. Topal M. Onat, Anil Bas, Imke van Heerden. Exploring Transformers in Natural Language Generation: GPT, BERT, and XLNet // arXiv:2102.08036v1.

18. On the diversity of multi-head attention / Jian Li, Xing Wang, Zhaopeng Tu, Michael R. Lyu // Neurocomputing. 2021. Vol. 454. P. 14-24.

19. Proceedings of the 2019 Conference of the North / J. Devlin, M.-W. Chang, K. Lee, K. Toutanova // Association for Computational Linguistics. DOI: 10.18653/v1/n19-1423

20. Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context / Z. Dai, Z. Yang, Y. Yang [et al.] // Proc. ACL. P. 2978-2988.

References

1. Natural Language Processing: History, Evolution, Application and Future Work / Prashant Johri, Sunil K. Khatri, Ahmad T. Al-Taani [et al.] // Proceedings of 3rd International Conference on

Computing Informatics and Networks. 2021. P. 365-375.

2. Jeong M., Kang J. Regularizing Models via Pointwise Mutual Information for Named Entity Recognition // ArXiv, abs/2104.07249.2021.

3. Neural network technology for detecting anomalous network traffic / V.A. Chastikova, S.A. Zherlitsyn, Ya.I. Volya, V.V. Sotnikov // Caspian Journal: Control and High Technologies. 2020. No. 1 (49). P. 20-32.

4. Jones K.S. A statistical interpretation of term specificity and its application in retrieval // Journal of Documentation. MCB University: MCB University Press, 2004. Vol. 60, No. 5. P. 493502.

5. Machine Learning and Knowledge Extraction in Digital Pathology Needs an Integrative Approach / A. Holzinger, B. Malle, P. Kieseberg, P.M. Roth // Towards Integrative Machine Learning and Knowledge Extraction. 2017. P. 13-50.

6. Sherstinsky A. Fundamentals of Recurrent Neural Network (RNN) and Long Short-Term Memory (LSTM) network // Physica D: Nonlinear Phenomena. 2020. Vol. 404, No. 132306.

7. Olah C. Understanding LSTM. Networks, 2015. URL: http://colah.github.io/posts/2015-08-Understanding-LSTMs/ (access date: 5.11.2021).

8. Bai S, Kolter J.Z, Koltun V. An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling // arXiv:1803.01271v2. 2018.

9. Chastikova V.A., Sotnikov V.V. Method of analyzing computer traffic based on recurrent neural networks // Journal of Physics: Conference Series. International Conference "High-Tech and Innovations in Research and Manufacturing" [HIRM]. 2019. P. 012133.

10. Xiang Zhang, Junbo Zhao, Yann LeCun. Character-level Convolutional Networks for Text Classification // Advances in Neural Information Processing Systems 28. Paper ID: 456.

11. Shobana J., Murali M. Improving feature engineering by fine tuning the parameters of Skip gram model // Materials Today: Proceedings. 2021.

12. Falcon Z. Dai. Word2vec Conjecture and A Limitative Result // arXiv:2010.12719v1.

13. Zolotov V., Kung D. Analysis and Optimization of fast Text Linear Text Classifier // ar-Xiv:1702.05531.

14. SemGloVe: Semantic Co-occurrences for GloVe from BERT / Leilei Gan, Zhiyang Teng, Yue Zhang [et al.] // arXiv:2012.15197v2.

15. Manel Affi, Chiraz Latiri. BE-BLC: BERT-ELMO-Based Deep Neural Network Architecture for English Named Entity Recognition Task // Procedia Computer Science. 2021. Vol. 192. P. 168-181.

16. Mohd Sanad Zaki Rizvi Demystifying BERT: The Groundbreaking NLP Framework. URL: https://medium.com/analytics-vidhya/demystifying-bert-the-groundbreaking-nlp-framework-8e3142b3d366 (access date: 5.11.2021).

17. Topal M. Onat, Anil Bas, Imke van Heerden. Exploring Transformers in Natural Language Generation: GPT, BERT, and XLNet // arXiv:2102.08036v1.

18. On the diversity of multi-head attention / Jian Li, Xing Wang, Zhaopeng Tu, Michael R. Lyu // Neurocomputing. 2021. Vol. 454. P. 14-24.

19. Proceedings of the 2019 Conference of the North / J. Devlin, M.-W. Chang, K. Lee, K. Toutanova // Association for Computational Linguistics. DOI: 10.18653/v1/n19-1423

20. Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context / Z. Dai, Z. Yang, Y. Yang [et al.] // Proc. ACL. P. 2978-2988.

Авторы заявляют об отсутствии конфликта интересов. The authors declare no conflicts of interests.

Статья поступила в редакцию 7.11.2021; одобрена после рецензирования 6.12.2021; принята к публикации 7.12.2021.

The article was submitted 7.11.2021; approved after reviewing 6.12.2021; accepted for publication 7.12.2021.

© В.А Частикова, К.В. Козачёк, В.Г. Гуляй, 2021

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