12+  Свидетельство СМИ ЭЛ № ФС 77 - 70917
Лицензия на образовательную деятельность №0001058
Пользовательское соглашение     Контактная и правовая информация
 
Педагогическое сообщество
УРОК.РФУРОК
 
Материал опубликовал
Шаповалов Иосиф Леонидович103
1

Статья «Практическая реализация метода автоматизации при определении психотипа авторства неструктурированных текстов»

ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ МЕТОДА АВТОМАТИЗАЦИИ ПРИ ОПРЕДЕЛЕНИИ ПСИХОТИПА АВТОРСТВА НЕСТРУКТУРИРОВАННЫХ ТЕКСТОВ

 

Предобработка и индексация документов

На этапе предварительной подготовки текстового массива необходимо было выполнить следующие преобразования:

проведение токенизаци слов с помощью встроенных токенайзеров, удаление функционально значимых слов – не имеющих влияния на общую картину классификации: союзы, предлоги, артикли, имена собственные и др. После производятся множественные морфологические преобразования, состоящие в разметке текстов по частям речи и стемминге. Цель данных преобразований является оптимизация векторного пространства свойств объекта.

В следствии данных преобразований остаются лишь значимые слова – токены, определяющие весомые признаки принадлежности.

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

t1702937397aa.png
Данная процедура представляет из себя преобразование текстовой информации в числовой вид (числовые векторы), что даст возможность проведения дальнейшей машинной обработки.

 

Рисунок . Этапы классификации текста

Проанализировав множество алгоритмов и методов проведения классификации текстов, мы остановили свой выбор на следующих четырёх методах векторизации:

1) Перевод текста в набор числовых векторов, каждый из которых представляет частотную характеристику какого-либо из явлений;

2) схожий с первым способ, в котором под явлениями понимаются все слова, хотя бы раз встречающиеся в корпусе, а их относительная частота определяется с помощью специальной метрики;

3) Перевод всех базисных слов из текста в семантические вектора, состоящие из некоторого количества чисел.

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

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

Второй способ обработки текстов носит название «мешок слов» - Bag-of-Words. Это наиболее простой и, в тоже время, наиболее стабильный алгоритм, предполагающий выделение наиболее часто встречающихся и значимых слов. Характерных каждому социотипу. При этом совершенно не учитывается порядок следования элементов (слов).

Другими словами, каждый документ – это вектор в многомерном пространстве, координаты которого соответствуют номерам слов, а значения координат – значениям весов.

Основные этапы подготовки (индексация и взвешивание признаков):

1) составить список всех слов, встречающихся в корпусе;

2) определить показатель матрицы TF-IDF для всех слов по всем текстам корпуса для каждого социотипа. Метрика TF-IDF выявляет частотность слов в тексте, учитывая степень его “уникальности” во всем корпусе:

TF-IDF = TF * IDF, где TF – относительная частота слова в тексте, а IDF можно представить следующим образом:

IDF = log (n/a), где n – размер корпуса, a – число текстов, в которых встречается текущее слово.

Идея следующей методики базируется на идее представления слов в векторное пространство - «погружение» слов. При этом слова естественного языка посредством определённых моделей транспонируются в числовое векторное представление, причём, различной (произвольной) размерности. Среди различных критериев близости нами был выбран критерий отображения векторов на основе их семантической близости. То есть, требуется векторизовать слова таким образом, чтобы вектор более схожих в семантическом плане лексем оказались расположены близко друг к другу в некоем n-мерном пространстве.

Разработчиком данной методики является один из ведущих специалистов компании Google - Томас Миколов (Mikolov, 2013). Его идея состоит в том, чтобы располагать тем ближе друг к другу вектора слов, чем более схожи контексты, в которых они употребляются.

Для преобразования слов в векторы по технологии Миколова использовалась предобученная на национальном корпусе русского языка модель word2vec ( http://rusvectores.org/ru ), в которой представлены готовые векторные репрезентации в 300-мерном пространстве для 185 тысяч русских слов.

Альтернативный вариант, рассмотренный в нашем исследовании, уменьшения векторного пространства называется методом латентно-семантического анализа (LSA). Данный алгоритм выполняет сингулярное разложение матриц.

Векторные представления fastText в достаточной степени сходно с технологией, применяющейся в пространстве word2vec, за исключением некоторого отличия, которое состоив том, что fastText учитывает не только векторизованные слова, но и символьные n-граммы. Благодаря чему представляется возможным вычислить векторные представления неизвестных слов. Необходимо акцентировать внимание на том, что данная модель была предварительно обучена на корпусе русской Википедии ( https://github.com/facebookresearch/fastText ).

Таким образом, в работе использовалось всего 4 способа векторного представления текста на русском языке:

1) представление в виде ряда статистических морфологических, синтаксических, экстралингвистических и некоторых других характеристик;

2) разреженная матрица TF-IDF на основе технологии bag-of-words;

3) модель погружений слов word2vec;

4) модель погружений слов fastText.

Дальнейшая задача сводится к проверке эффективности каждого способа векторной репрезентации при классификации различными методами.

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

 

Построение и обучение классификатора с помощью методов машинного обучения

Помимо непосредственно исследования способов и применения методик к автоматической классификации авторских текстов, важнейшим моментом данной работы является построение моделей, использующих в своей работе не один, а несколько методов исследования текстовой информации. И, соответственно, получения наиболее качественной методики определения соципотипов авторства. Учитывая большое разнообразие социотипов, и как следствие, наличие достаточно малого люфта между основными показателями речевых характеристик, интерес заключался в проведении сревнительного анализа в комбинации разных классификаторов и способов векторизации. В t1702937397ab.png Перед использованием методов первой группы вся текстовая база (выборка) делится на две части: тестовую и тренировочную. После чего процесс проводится в два этапа: сначала классификатор “обучается” на тренировочной выборке, выделяя ключевые признаки и соотнося их числовые значения 16 социотипам авторов всех текстов заданной группы, а затем тестируется на тестовых текстах, отсутствующих в базе данных. В следствии чего, первый этап работы классификатора может быть назван тренировочным, а второй – тестовым.

Перед началом обучения значения, из которых состоят векторы, представляющие тексты, необходимо нормализовать, т.е. привести к единому виду. В данном исследовании использовалась минимаксная нормализация, т.е. нормализация каждого параметра по формуле V’ = (Vi - Vmin) / (Vmax - Vmin), где i – число всех параметров (в данном случае 30), Vi – значение текущего параметра, Vmax – максимальное значение данного параметра среди всех текстов, Vmin – минимальное значение данного параметра среди всех текстов. Результатом каждого преобразования становится “нормализованное”, т.е. принадлежащее промежутку [0,1] значение V’.

Следующий шаг – тестирование программы на новых текстах, не вошедших в базу данных, включающее определение значений тех или иных параметров, их нормализацию и основанное на полученных данных выдвижение гипотезы о принадлежности автора текста к тому или иному социотипу. В данном алгоритме тестирование на “новых” текстах осуществляется по методу кросс-валидации:

160 текстов делятся на 16 частей по 10 текстов.

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

Успешность установления психологического параметра в каждом случае определяется по метрике F1.

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

Метод k ближайших соседей (k Nearest Neighbors, KNN) – достаточно простой классификатор, работа которого состоит в отнесении вектора текста к классу, к которому принадлежит большинство из k ближайших к нему векторов других текстов выборки. Он относится к группе метрических классификаторов. Действия алгоритма можно разделить на следующие шаг: сначала вычисляется расстояние до каждого из объектов обучающей выборки; затем необходимо отобрать k объектов обучающей выборки, расстояние до которых минимально; наконец, объекту назначается класс, наиболее часто встречающийся среди k таких ближайших соседей.

Функция ранжирования документов:

t1702937397ac.png

где t1702937397ad.png – ближайшие k документов из L к d;\

t1702937397ae.png известные величины, уже классифицированные документы в соответствии с существующими категориями

Изменяемые ключевые значения данного вектора – число k ближайших соседей и метрика, по которой определяется расстояние между векторами. В данном исследовании для измерения дистанции использовалась метрика косинусного расстояния, а лучшие параметры k варьировались для разных моделей векторизации в рамках от 18 до 26.

Метод опорных векторов (Support Vector Machine, SVM) выстраивает модель работы таким образом, что при обработке векторов создаётся некая гиперплоскость, разделяющая точки/вектора достаточной размерности для представления всех объектов в пространстве. Для этого разделяющая гиперплоскость должна быть выбрана таким образом, чтобы расстояние между ближайшими точками (и соответствующими им объектами), расположенными по разные стороны от нее, было максимальным.

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

Данный метод был выбран для классификации по следующим причинам:

При своей простоте этот метод показывает достаточно качественные показатели.

Даёт возможность проводить работу на небольшом наборе данных.

Случайный лес (Random forest) – это ансамблевый метод машинного обучения, является ничем иным, как множеством отдельно работающих деревьев, каждое из которых предоставляет независимый ответ, и класс объекта определяется с помощью мажоритарного голосования. Деревья строятся по следующей схеме: выбирается подвыборка обучающей выборки, для которой строится дерево; для построения каждого расщепления в дереве просматриваются случайные признаки; выполняется расщепление по наилучшему признаку до исчерпания выборки. При этом данный метод не является хорошим вариантом, так как при нарастании количества объектов классификации начинается значительный рост леса, что затормаживает процесс решений и затрудняет его отслеживать.

Оказывать воздействие возможно на следующие критерии – количество решающих деревьев и число признаков для выбора расщепления. В зависимости от метода векторизации оптимальное число деревьев различается; можно сказать, что значения от 30 до 40 показали лучший результат. В этом случае число признаков для выбора расщепления подбиралось по формуле sqrt(n), где n – собственно, количество деревьев.

 

Нейронные сети для классификации текстов

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

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

Мы использовали семантические сети 3-х типов:

1) многослойная полносвязная сеть прямого распространения (Danse), в которой каждый нейрон соединен со всеми нейронами предыдущего слоя (Хайкин, 2006). Экспериментально были выбраны следующие параметры, необходимые для настройки и построения нейронной сети данного типа:

- 3 скрытых слоя;

количество нейронов в скрытых слоях, 300, 250 и 150;

- функции активации чередуются в скрытых слоях: ReLu (линейная ректификационная единица) по формуле f (x) = max (0, x); sigmoid (сигмоидальная функция активации), которая определяется формулой σ (x) = 1 / (1 + e^ (- x))

- 10 эпох обучения;

- 5 итераций на каждую эпоху;

- размер пакета (размер так называемого "batch size", т. е. единого обучающего набора, пакета данных) 24;

- loss (функция потери, т. е. функция вычисления ошибки классификации) - двоичная перекрестная энтропия. Если модель предсказывает значение p, тогда как истинное значение равно t, то двоичная перекрестная энтропия может быть вычислена по формуле-tlog(p) − (1−t)log (1-p)

- оптимизатор (функция оптимизации нейронной сети) - Adam (один из самых популярных встроенных оптимизаторов в keras).

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

На самом деле, существует несколько типов рекуррентных нейронных сетей, и biLSTM и GRU используются в этом исследовании. Структура сети biLSTM (bidirectional long short – term memory-двунаправленная длительная краткосрочная память) усложняется следующим образом: во-первых, каждый нейрон характеризуется дополнительными фильтрами/клапанами ввода, забывания и вывода.

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

В нашем случае сеть (LSMT) также является двунаправленной – она учится учитывать информацию как с предыдущего, так и с последующего уровней, как бы производя обучение в обоих направлениях. Это реализуется с помощью двунаправленной оболочки для слоя lstm из библиотеки keras. В дополнение к двунаправленному рекуррентному слою сеть имеет следующие характеристики:

- длина входной последовательности равна 51 для частотных характеристик (по числу характеристик данных, перечисленных ранее) и 15091 для представления TF-IDF (по числу лексем в словаре);

- размер встраивания (глубина погружения) 128;

- 3 скрытых слоя с числом нейронов 256, 128, 64;

- отсев ("сбрасывание" некоторых случайных величин во время тренировки, чтобы предотвратить перетренированность) 0,3;

- 10 эпох обучения;

- 5 итераций на каждую эпоху;

- размер пакета (размер так называемого "batch size", т. е. единого обучающего набора, пакета данных) 24;

-t1702937397af.png
loss (функция потери, т. е. функция вычисления ошибки классификации) - двоичная перекрестная энтропия. Если модель предсказывает значение p, тогда как истинное значение равно t, то двоичная перекрестная энтропия может быть вычислена по формуле-tlog(p) − (1−t)log (1-p)

Рис. Обобщенная схема сверхточной нейронной сети (LSMT сети)

 

3) сеть GRU (gated rucurrent unit – управляемый рекуррентный блок) имеет более простое устройство для реализации механизма запоминания, чем LSTM, и учится быстрее, но также устойчива к проблеме исчезающего градиента. В ячейке GRU есть только два клапана: сброс и обновление. управляемый блок обновления определяют, какую часть предыдущего сохраненного значения сохранить, а управляемый блок передачи определяют, как объединить предыдущую сетевую память с новым входом. Эта сеть задается параметрами, аналогичными параметрам LSTM, но она не является двунаправленной. Таким образом, при обучении учитывается только прямой порядок элементов.

 

Результаты классификации

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

 

 

 

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

В таблицах жирным шрифтом выделены те методы классификации и методы векторного представления текстов, при которых достигаются наиболее высокие показатели точности. Последние, соответственно, представлены на пересечении столбцов с методами классификации и строк с методами векторизации.

t1702937397ag.png

Рис 22. Алгоритм предобработки и векторизации текстов

t1702937397ah.png

Рис . Частотные показатели распределения токенов в соответствии с правилами

t1702937397ai.png

Рис . Модели классификации на основе KNN

 

t1702937397aj.png

Рис . Модели классификации на основе SVM

 

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

 

TF-IDF

Частотные черты

Word2Vec

FastText

kNN

0.55

0.49

 

 

SVM

0.4

0.54

 

 

Random forest

0.47

0.6

 

 

 

 

t1702937397ak.png

Рис . Модели классификации на основе LSMT

 

Таблица x2. Результаты классификации по шкале логики-этики на основе методов машинного обучения.

 

TF-IDF

Частотные черты

Word2Vec

FastText

Dense

0.53

0.46

 

 

biLSTM

0.43

0.66

0.52

0.54

GRU

0.4

0.61

0.41

0.38

 

Как видно из таблицы, наилучший результат в 66% достигается при использовании сети LSMT на материале текстов, преобразованных в числовые векторы, путем выделения 50 грамматических, синтаксических и экстралингвистических характеристик и подсчета их частотных индексов. Следующий результат 61% достигается при использовании сети GRU с тем же методом векторизации.

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

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

Таблица x2. Результаты классификации по шкале интуиции-сенсорики на основе логических, метрических и линейных методов.

 

TF-IDF

Частотные черты

Word2Vec

FastText

kNN

0.58

0.48

 

 

SVM

0.47

0.49

 

 

Random forest

0.72

0.54

 

 

 

Таблица x2. Результаты классификации по шкале интуиции-сенсорики на основе методов машинного обучения.

 

TF-IDF

Частотные черты

Word2Vec

FastText

Dense

0.69

0.49

 

 

biLSTM

0.57

0.45

0.7

0.61

GRU

0.54

0.42

0.66

0.62

 

Наибольшая точность классификации - 72% - достигается при классификации по алгоритму случайного леса с векторизацией текста методом TF-IDF. Следующий результат в 70% показывает рекуррентная нейронная сеть LSTM с векторизацией по модели Word2Vec. Таким образом, печатать на шкале интуиции-сенсорики можно с большей точностью.

Известно, что метод Word2Vec позволяет сопоставить слово с некоторым контекстным вектором в многомерном семантическом пространстве. Таким образом, на выходе получаем матрицу распределения семантических полей текста. Можно сделать вывод, что это распределение маркирует признак интуиции-сенсорики.

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


 

Опубликовано


Комментарии (0)

Чтобы написать комментарий необходимо авторизоваться.