УДК 004.89
Информационные технологии
Батурин Михаил Михайлович, студент-магистр, Калужский филиал ФГБОУ ВО «Московский государственный технический университет имени Н.Э.
Баумана» (национальный исследовательский университет) Белов Юрий Сергеевич, к.ф. -м.н., доцент, Калужский филиал ФГБОУ ВО «Московский государственный технический университет имени Н.Э. Баумана» (национальный исследовательский университет)
ИСПОЛЬЗОВАНИЕ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ, ДОЛГОЙ КРАТКОСРОЧНОЙ ПАМЯТИ И ОЦЕНОК ВНИМАНИЯ ДЛЯ РАЗЛИЧЕНИЯ АВТОРСТВА ТЕКСТА
Аннотация: Различение авторства — это задача определения того, принадлежат ли два произведения одному и тому же лицу. В этой работе предлагается структура «Согласен - Не согласен» (A2D), новый метод решения задачи распознавания авторства. Это двухэтапная структура, основанная на глубоком обучении, состоящая из сети «Согласен» и «Не согласен». На первом этапе она определяет атрибуты авторства своей сетью «Согласен». Впоследствии, через сеть «Не согласен», фреймворк пытается определить авторство нового набора данных (совершенно не связанного с обучающим набором данных).
Ключевые слова: Различение авторства, глубокое обучение, машинное обучение, сверточные нейронные сети (CNN), долгая краткосрочная память (LSTM), обработка естественного языка (NLP).
Annotation: Authorship discrimination is the task of determining whether two works belong to the same person. This paper proposes an Agree-Disagree (A2D) framework, a new method for solving the problem of authorship recognition. It is a two-stage structure based on deep learning, consisting of a network of Agree and
Disagree. In the first step, it defines authorship attributes with its Agree network. Subsequently, through the Disagree network, the framework tries to determine the authorship of the new dataset (completely unrelated to the training dataset).
Keywords: Authorship discrimination, deep learning, machine learning, convolutional neural networks (CNN), long short term memory (LSTM), natural language processing (NLP).
Введение
A2D не зависит от предшествующих знаний, специфичных для набора данных [3], и может учиться только на атрибутах авторства тренировочного набора данных, чтобы определить, принадлежат ли два разных произведения одному и тому же автору. Фреймворк A2D может успешно выявлять, какой автор стоит за псевдонимом, к примеру, при помощи него можно раскрыть псевдонимы известного американского писателя Вашингтона Ирвинга. Не редко, критичным недостатком процесса разделения авторства является то, что у нас нет никаких предварительных знаний об авторах [1]. Система «Согласен -Не согласен» способна устранить данное ограничение.
Обзор платформы A2D
Структура A2D представляет собой комбинацию двух идентичных сетей: «Согласен» (A) и «Не согласен» (D). Как показано на рисунке 1, сеть A обучается по набору данных идентифицированных авторов (т.е. набору данных, содержащему помеченные фрагменты, созданные многими авторами). Одномерный свёрточный слой сети A обучается обнаруживать характеристики авторства из представленного набора данных. Таким образом, мы формируем свёрточный слой этой сети, чтобы различать авторские характеристики.
Рисунок 1. Рабочий процесс фреймворка A2D
После того, как сеть «Согласен», как упомянуто выше, обучена, наша структура A2D готова взять на себя задачу различения авторов, то есть по двум (литературным) произведениям она решит, написаны ли они разными авторами. Теперь тот же свёрточный слой сети «Согласен» будет использоваться в сети «Не согласен», работая как «фильтр авторства» для сети «Не согласен». Нам необходимо создать объединенный набор данных, используя два заданных литературных произведения. Затем эта сеть «Не согласен» настраивается на основе этого комбинированного набора данных без обновления параметров свёрточного слоя. Таким образом, свёрточный слой предоставляет данные уровню внимания сети «Не согласен», на основании которого эта сеть принимает решение об авторстве двух литературных частей объединенного набора данных.
Сеть «Согласен»
Для данной пары работа-автор (х, у) наша задача в сети «Согласен» (рисунок 2) состоит в том, чтобы предсказать у4, где у4 является автором данной записи х в сети согласования.
X! х3 х, . х„ Вектор слов
Рисунок 2. Строение сети «Согласен»
Одномерная свёрточная нейронная сеть может извлекать признаки и классифицировать тексты после преобразования слов в корпусе предложений в векторы [5]. Пусть x представлен максимальной длиной п слов. Следовательно,
х1:п = Ф Ф х3 ф ■■■ ф хп (1)
Фильтр размерности ^ применяется к перечню из И слов для создания
А
нового признака ,
С? = Гс(™А * *ы+Л_1 + (2)
Здесь - выражение предвзятости, а fc - нелинейная функция. Этот фильтр применяется к каждому возможному перечню слов в предложении для создания вектора признаков,
с4 =[(£(£■..] (3) Операция объединения применяется к карте параметров и принимает максимальное значение параметров, соответствующее конкретному фильтру. Локальные векторы признаков, извлеченные свёрточными слоями, должны быть объединены для получения глобального вектора признаков с фиксированным размером, независимым от длины предложения [4]. Подход с максимальным объединением в к раз вынуждает сеть захватывать наиболее полезные локальные параметры, создаваемые свёрточными слоями.
=тах(сй+^ 1) (4)
Мы используем двунаправленный ЬБТМ для кодирования данных из стадии максимального объединения. Определяем скрытые состояния как
прямого, так и обратного направлений и для заданного временного шага 1 Затем мы объединяем их, чтобы получить .
= 1Г15Тм{ст1,кА-1) (5)
= (6)
= сопса1(кА (7)
Мы вычисляем оценку внимания (к параметрам) а£ по скрытым состояниям и объединяем ее с соответствующим скрытым состоянием, чтобы сгенерировать вектор контекста z£.
а£ = softmax(WAhf + ЬА) (8)
z? = Ъ=1 а£ (9)
Здесь, Бо^тах^) =
■г 'ч вхр(х{)
На последнем этапе сети «Согласен» мы применяем полносвязный слой к этому вектору контекста, чтобы предсказать результат авторства [2].
Р(уАи) = fFAc(WFAczA + ьАс) (10)
Сеть «Не согласен»
Сеть «Не согласен» (Рисунок 3) идентична сети «Согласен» за
исключением свёрточного слоя.
Л у"* у°з Предсказание авторства
Полносвязный слой
Вектор контекста Оценки внимания ВМБТМ
Свёрточный слой (Без обновления параметров)
тТт Т тТТ
*> ч *з • ■ ■ *н Вектор слов
Рисунок 3. Строение сети «Не согласен»
Сеть не обновляет параметры свёрточных слоев. Она применяет те же свёрточные слои (2), (3) и (4) сети «Согласен» к векторам слов экспериментального набора данных для захвата наиболее полезных локальных параметров. Затем сеть «Не согласен» запускает Bi-LSTM для этих параметров и вычисляет оценки внимания для построения вектора контекста. На последнем этапе вычисляется вероятность авторства.
Вывод
В этой статье была представлена схема «согласен - не согласен» (A2D) для задачи распознавания авторства. Данная структура является гибкой и легко расширяемой. Система A2D является уникальной в своем роде, поскольку не зависит от каких-либо особенностей корпуса.
Библиографический список:
1. E. Stamatatos, "Authorship attribution using text distortion", Proc. 15th Conf. Eur. Chapter Assoc. Comput. Linguistics Long Papers, vol. 1, pp. 1138-1149, 2017, [online] Available: https://www.aclweb.org/anthology/E17-1107.
2. H. Ramnial, S. Panchoo and S. Pudaruth, "Authorship attribution using stylometry and machine learning techniques" in Intelligent Systems Technologies and Applications, Springer, pp. 113-125, 2016.
3. P. Juola and G. Mikros, "Cross-linguistic stylometric features: A preliminary investigation", Proc. Int. Conf. Stat. Anal. Textual Data, pp. 1-10, 2016.
4. S. Ruder, P. Ghaffari and J. G. Breslin, "Character-level and multichannel convolutional neural networks for large-scale authorship attribution", arXiv: 1609.06686, 2016, [online]Available: http://arxiv.org/abs/1609.06686.
5. Y. Sari, M. Stevenson and A. Vlachos, "Topic or style? exploring the most useful features for authorship attribution", Proc. 27th Int. Conf. Comput. Linguistics, pp. 343-353, Aug. 2018, [online] Available: https://www.aclweb.org/anthology/C18-1029.