Стилеметрический анализ русской художественной прозы первой трети XX века (экспериментальное исследование на материале русского рассказа с использованием пакета Stylo для R)

Становление стилеметрии и ее методы. Развитие и области применения стелеметрии. Пререквизиты для использования пакета Stylo. Обработка Корпуса русского рассказа. Применение методов машинного обучения для предсказания периода написания рассказа.

Рубрика Иностранные языки и языкознание
Вид дипломная работа
Язык русский
Дата добавления 11.08.2020
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

Факультет Санкт-Петербургская школа гуманитарных наук и искусств
Образовательная программа «Филология»
Выпускная квалификационная работа - БАКАЛАВРСКАЯ РАБОТА
по направлению подготовки 45.03.01 «Филология»
образовательная программа «Филология»
Стилеметрический анализ русской художественной прозы первой трети XX века (экспериментальное исследование на материале русского рассказа с использованием пакета Stylo для R)
Турыгина Мария Игоревна
Научный руководитель
Доцент, к.ф.н. Шерстинова Т. Ю.
Санкт-Петербург, 2020

Аннотация

Стилеметрический анализ можно охарактеризовать как применение статистических методов для анализа стилистических особенностей автора или жанра. Основой стилеметрии является тот факт, что каждый текст имеет особенный стиль написания, который может быть как преднамеренным, так и непреднамеренным. Таким образом, объектом стилеметрии становится текст или массив текстов, а различные элементы стиля выступают предметом исследования. Данная работа посвящена стилеметрическому анализу русского рассказа первой трети XX века. В исследовании используется Корпус русского рассказа, состоящий из 310 текстов 300 русских писателей. Целью исследования является стилеметрический анализ корпуса с использованием возможностей стилеметрического пакета Stylo для R. Результом работы является проведение стилеметрического анализа. Полученные данные подтверждают гипотезу о стилистических отличиях разных временных периодов. Об этом свидетельствуют результаты контрастного анализа и классификации с использованием методов машинного обучения.

Содержание

Аннотация

Введение

1. Становление стилеметрии и ее методы

1.1 Развитие и области применения стелеметрии

1.2 Стилеметрический пакет Stylo для R

1.3 Пререквизиты для использования пакета Stylo

1.4 Основные функции Stylo

1.4.1stylo()

1.4.2oppose()

1.4.3classify()

1.4.4rolling.delta()

1.4.5rolling.classify()

1.5Корпус русского рассказа первой трети XX века

2. Обработка и предварительный анализ Корпуса русского рассказа

2.1 Предварительная работа с корпусом

2.2 Дескриптивный анализ корпуса

3. Стилеметрический анализ Корпуса русского рассказа

3.1 Результаты контрастного анализа с функцией oppose()

3.2 Кластерный анализ

3.3 Применение методов машинного обучения для предсказания периода написания рассказа

Заключение

Список использованной литературы

Приложения

Приложение 1 Авторы и рассказы Корпуса русского рассказа первой трети XX века

Приложение 2 Результаты функции oppose() для I и II периодов

Приложение 3 Результаты функции oppose() для I и III периодов

Приложение 4 Результаты функции oppose() для II и III периодов

Введение

стелеметрия рассказ обучение stylo

Стилеметрия начала развиваться в XIX веке во время рассвета прикладных математических исследований, «в контексте фронтальной экспансии математических методов в гуманитарные науки и искусство» [Мартыненко 2019, 29].

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

Материалом для данного исследования является корпус русского рассказа первой трети XX века [Sherstinova & Martynenko 2020], включающий в себя работы 300 авторов. Корпус состоит из 310 текстов, которые разбиты на периоды. Первый период -- дореволюционный, 1901-1913 гг. Второй период -- Первая мировая война и революционные годы, 1914-1923 гг. Третий период -- послереволюционный 1924-1930 гг.

Целью дипломной работы является обзор возможностей и проверка эффективности стилеметрического пакета Stylo для статистического анализа и классификации Корпуса русского рассказа первой трети XX века.

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

В ходе исследования также решаются следующие задачи:

· Изучение основ языка программирования R;

· Знакомство с принципами работы стилеметрического пакета Stylo для R;

· Лемматизация текстов Корпуса русского рассказа первой трети XX века, включающего в себя выборку из 310 текстов;

· Проведение кластерного анализа произведений корпуса;

· Проведение контрастного анализа для сравнения используемой лексики в разных периодах.

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

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

Работа состоит из введения, трех глав, заключения, списка использованной литературы, списка электронных источников и четырех приложений. Первая глава является теоретической базой проведенного исследования. Она включает в себя литературный обзор, описание методов и ключевых функций стилеметрического пакета Stylo для R, а также описание навыков необходимых для проведения стилеметрического анализа. Вторая глава подробно описывает особенности работы с используемым Корпусом русского рассказа. В третьей главе находятся результаты стилеметрического анализа с использованием пакета Stylo.

1. Становление стилеметрии и ее методы

1.1 Развитие и области применения стелеметрии

Термин «стилеметрия» был введен в конце XIX века немецким филологом Вильгельмом Диттенбергером [Dittenberger 1881], который пытался решить проблему атрибуции и хронологии диалогов Платона. Для решения этой задачи им были использованы частотности служебных слов. Его суждение заключалось в том, что частота служебных слов в текстах одного автора сравнительна одинакова, при этом она отличается для разных авторов.

В схожем направлении мыслил ученый Николай Александрович Морозов (1854-1946). Он первым стал использовать стилеметрические методы в России [Морозов 1915]. Он предположил, что исследования авторства текста можно проводить с использованием статистических методов. Как заметил Григорий Яковлевич Мартыненко, при решении проблемы атрибуции текста Н. А. Морозов не только опирался на служебные части речи, но и обращал внимание на «знаменательные части речи», «термины, диалектную и политическую лексику, редкие и необычные слова, синонимические дуплеты» [Мартыненко 2015, 16].

Более того, большой вклад в развитие стилеметрии сделал русский статистик Александр Александрович Чупров с теорией лингвистической совокупности [Чупров 1914].

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

В последние десятилетия активно развивалась Санкт-Петербургская школа стилеметрии, сформировавшаяся под руководством Г. Я. Мартыненко. Им было сформулировано новое определение стилеметрии: «стилеметрия -- прикладная филологическая дисциплина, занимающаяся измерением стилевых характеристик с целью систематизации (атрибуции, таксономии, периодизации, датировки и т.п.) текстов и их частей» [Мартыненко 1988, 54]. Многие работы Г. Я. Мартыненко послужили основой для данного исследования.

Таким образом, проиллюстрированная история становления стилеметрии показывает, что эта область науки, зародившаяся еще в XIX веке, продолжает развиваться и до сих пор является актуальным направлением. Однако ее задачи и методы расширились и укрепились с течением времени. Современная стилеметрия решает «широчайший перечень классификационных задач на основе измерения стилистически релевантных признаков» [Мартыненко 2019, 76].

1.2 Стилеметрический пакет Stylo для R

Стилеметрический пакет Stylo был разработан в 2016 году исследовательской группой, большая часть которой находится в Кракове, Польской академии наук. Его авторами являются Мацей Эдер, Ян Рыбицкий, Майк Кестемонт. Они разработали подробную техническую документацию [Eder et al. 2016] которая позволяет понять структуру, цели и способы работы с данным пакетом.

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

Стоит упомянуть, что Stylo также может работать с n-граммами, но для этого требуется дополнительная xml-разметка для корректного распознания границ предложений.

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

Принцип работы данного стилеметрического пакета заключается в обработке частотных словарей, созданных на основе текстов корпуса. Рассчитанные частоты являются относительными [Николаев 2016], то есть показывают долю использования словоформы внутри одного текста. В некоторых функциях пакета удобно использовать относительную частоту словоформы во фрагменте текста, размер которого определяется пользователем.

1.3 Пререквизиты для использования пакета Stylo

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

*Базовые объекты и операции в R -- типы объектов в R, базовые функции, циклы, чтение и запись файлов в формате txt.;

*Пакет tidyverse -- данный пакет является набором пакетов, которые предоставляют набор функций для обработки, анализа, визуализации данных и удобной работы с ними;

*Пакет writexl -- пакет позволяет чтение и запись файлов в формате xlsx.

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

1.4 Основные функции Stylo

Стилеметрический пакет Stylo для R открывает большие возможности для анализа литературных произведений. Он включает в себя 5 основных функций:

1.4.1 stylo()

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

На второй вкладке (риc. 1), в пункте features можно выбрать создание частотного словаря по словам или по буквам. За длину n-грамм отвечает соответствующее поле. Preserve case позволяет сохранить заглавные буквы при построении словарей.

Теперь перейдем к MFW Setting и Culling. Дело в том, что Stylo умеет проводить анализ при разных значениях данных параметров и после этого аппроксимировать результаты. Minimum отвечает за минимальное значение параметра, Maximum -- за максимальное, а Increment -- за размер шага, который делает программа. Например, если минимум 10, максимум 30, а шаг 5, то программа проведет анализ на уровнях 10, 15, 20, 25 и 30 и выведет средний результат.

В части Various можно работать с уже существующими частотными словарями или списком слов. Если выбрать пункт Select files manually при запуске пакет откроет контекстное меню, где позволит вручную выбрать текстовые файлы для анализа. List of files выполняет подобную задачу, но требует выбора файла, в котором будут указаны названия текстов, которые будут использоваться для работы.

Рис. 1 Функция stylo(), вкладка features

В разделе Statistics (риc. 2), можно выбрать метод анализа, с которым будет работать пакет, они будут рассмотрены далее.

Cluster analysis -- объединение по группам на основании схожести. Использует MFW и Culling. MDS (multidimensional scaling) используется для визуализации объектов в пространстве. PCA -- метод главных компонент. Consensus tree -- вариант графической визуализации кластеров.

Consensus strength -- настройка при выборе Consensus Tree, которая определяет то, как тексты будут объединяться в кластеры. В разделе Delta Distance можно выбрать метрику, по которой будут посчитаны расстояния между произведениями. Информацию о формулах расчета можно найти в руководстве от разработчиков [Eder et al. 2016].

Рис. 2 Функция stylo(), вкладка statistics

Сэмплирование (риc. 3) разбивает тексты на части и позволяет анализировать их отдельно. Например, при выборе Normal sampling и Sample size = 10000 текст из 20000 слов превратится в два текста по 10000 слов. При выборе Random sampling необходимо указать количество частей, на который разобьется текст. Таким образом, Sampling -- разбиение текста на части для анализа. Sampling size -- количество слов в каждом отрезке, срезе.

Рис. 3 Функция stylo(), вкладка sampling

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

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

Далее находятся настройки для визуализации названий PCA и MDS, стоит поэкспериментировать и подобрать то, что подходит. PCA flavour -- дополнительные настройки для визуализации метода главных компонент.

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

Рис. 4 Функция stylo(), вкладка output

1.4.2 oppose()

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

Данная функция создает векторы со словами для разных выборок и сравнивает их. В рабочей директории должны быть папки primary_set и secondary_set. Также можно использовать test_set для классификации. Настройки Input позволяют выбрать минимальную частоту упоминания слова в отрезке текста и размер этого отрезка. Сравнение происходит по методам, которые предложены разработчиками пакета.

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

В качестве вывода пакет выдает два вектора слов. Первый --предпочитаемые автором слова, второй -- избегаемые автором слова. В разделе Miscellaneous можно выбрать пункт Classification для классификации текстов из тестовой выборки.

Рис. 5 Функция oppose(), параметры

1.4.3 classify()

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

Для функции classify() основная часть разделов аналогична разделам функции stylo(), поэтому они не будут повторно описаны. Далее будут разобраны особенности функции classify().

Для работы с данной функцией необходимо разделить корпус на обучающую и тестовую выборки и назвать папки в рабочей директории primary_set и secondary_set соответственно.

В разделе Statistics (риc. 6) необходимо выбрать метод классификации из следующих:

· Delta - подсчет расстояний

· k-NN - метод k-ближайших соседей

· SVM - метод опорных компонент

· NaiveBayes - наивный байесовский классификатор

· NSC - nearest shrunken centroids

Рис. 6 Функция classify(), вкладка statistics

Необходимо остановиться на возможностях данной вкладки интерфейса функции. Statistics является выбором метода классификации. General предлагает дополнительные настройки. Delta Distance -- это выбор способа расчета расстояний, если в Statistics выбрана Delta. SVM options -- настройки для метода опорных векторов. k-NN options -- настройки для метода k-ближайших соседей.

В разделе General опции позволяют настроить culling, расчет частотных словарей и z-scores следующим образом: если галочка стоит -- пакет использует для работы и обучающую, и тестовую выборки, если галочки нет, то используется только обучающая выборка.

Далее идут настройки отдельно по методам. Для Delta они аналогичны функции stylo(). Для SVM появляется настройка вида уравнения. Для k-NN можно выбрать какое количество ближайших соседей будет использоваться (k) и минимальное количество голосов для классификации (l).

В разделе Output (риc. 7) можно выбрать будут ли указаны ошибочные классификации, будет ли указано количество правильных классификаций и количество групп.

Рис. 7 Функция classify(), вкладка output

1.4.4 rolling.delta()

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

Для работы с этой функцией в рабочей директории должна быть папка corpus. Основное отличие раздела Features в том, что здесь нельзя выбрать culling (риc. 8). В разделе Statistics можно выбрать метрику расстояния, которая будет использоваться в расчетах.

Рис. 8 Функция rolling.delta(), вкладка features

Так как функция rolling.delta() работает с фрагментами текста, тексты нужно разбить на части. Это делается в разделе Sampling. Здесь можно выбрать размер фрагмента и то, насколько фрагменты будут накладываться друг на друга (риc. 9).

Рис. 9 Функция rolling.delta(), вкладка sampling

Раздел Colors позволяет выбрать цвета, которые будут использоваться для различных фрагментов текста на графике (риc. 10).

Рис. 10 Функция rolling.delta(), вкладка colors

1.4.5 rolling.classify()

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

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

1.5 Корпус русского рассказа первой трети XX века

Источником данных является Корпус русских рассказов начала XX века [Шерстинова, Мартыненко, 2020]. Аннотированная часть Корпуса состоит из 310 текстов, принадлежащих 300 разным авторам. Корпус разделен на три периода, самый ранний рассказ был написан в 1901 году, самый поздний в 1930. Жанр рассказа был выбран не случайно, так как он является жанром «быстрого реагирования, отвечая на требования и вызовы эпохи и даже порой предвидя их» [Мартыненко и др. 2018, 100].

Начало XX века является переломным периодом для истории России. Подобные события не могли не отразиться на культуре, языке и его стилистической составляющей.

Также, важной теорией для развития исследуемой области является идея Юрия Николаевича Тынянова о том, что литература представляет из себя систему. Он выдвигает предположение о соотнесенности синхронической и диахронической литературных систем [Тынянов 1929:40]. Синхроническая литературная система по Ю. Н. Тынянову -- это система произведений определенной эпохи. Диахроническая литературная система -- это последовательность синхронических систем.

Согласно Ю. Н. Тынянову, любое произведение вплетается в литературную систему эпохи, что позволяет нам «объединить в единое целое всех писателей данной эпохи независимо от масштабов их дарования» [Мартыненко 2019, 164] и делать выводы на основании выявленных коллективных отличий текста. Так, суждения Ю. Н. Тынянова указывают на необходимость составления корпуса и изучение текстов максимально возможного числа авторов рассматриваемого периода. Эти идеи нашли свое отражение при разработке и составлении Корпуса русского рассказа первой трети XX века.

Таким образом, данное исследование решено было проводить, опираясь на исторические события, которые неизбежно повлекли за собой изменения в языке. Для проведения анализа выборка была разделена на три коротких периода времени. Первый период: 1901-1913 гг., Второй период: 1914-1923 гг., Третий период: 1924-1930 гг. Таким образом, рассказы, написанные до Первой мировой войны, во время Первой мировой войны и русской революции, после русской революции, относятся к первому, второму и третьему периодам соответственно.

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

2. Обработка и предварительный анализ Корпуса русского рассказа

2.1 Предварительная работа с корпусом

Перед началом необходимо привести корпус в нужный вид. Для этого в рабочей директории необходимо создать папку corpus и загрузить в нее файлы с текстами. Важно отметить, что пакет работает с кодировкой UTF-8. Для того чтобы пакет понимал, что тексты относятся к одной группе их название должно начинаться одинаково, например: I_text1.txt и I_text2.txt.

Оригинальный корпус состоит из оцифрованных и отредактированных текстовых файлов формата txt с кодировкой UTF-8. Каждый файл включал в себя один рассказ. Первым этапом обработки данных была лемматизация с использованием морфологического анализатора MyStem URL: https://yandex.ru/dev/mystem/ (дата обращения 01.04.2020). Данная программа является разработкой компании Яндекс для морфологического анализа текстов. Программа работает только с русским языком. MyStem для работы использует встроенный словарь, имеет множество различных опций, которые подробно описаны на указанном сайте программы.

Работа с MyStem была необходима из-за того, что используемый стилеметрический пакет работает с частотным словарем, а лемматизированные формы помогают объединить несколько словоформ в одну. Лемматизация текстов была проведена для более эффективного расчета и использования частотных словарей, на основе которых было решено работать со Stylo. При помощи программы MyStem и консоли компьютера была проведена лемматизация 310 текстов с опцией контекстного снятия омонимии.

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

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

2.2 Дескриптивный анализ корпуса

Корпус русского рассказа разделен на три временных периода. Распределение годов написания можно увидеть на рисунке 11. Зеленым цветом выделен I период, красным II период, синим III период. Эти цвета будут использоваться для обозначения периодов и в дальнейшем. I период является наиболее продолжительным по времени, III является самым коротким. Корпус состоит из 100 текстов из I периода, 103 текста из II периода и 107 текстов из III периода.

Рис. 11 Распределение дат написания рассказов корпуса

Рассказы корпуса написаны 300 авторами. Соответственно, есть несколько авторов, которые написали по несколько рассказов. Эти рассказы представлены в таблице 1. В приложении 1 можно найти полный список авторов.

Таблица 1

Авторы, написавшие несколько рассказов

ФИО Писателя

Количество рассказов в корпусе

Серафимович Александр Серафимович

3

Бунин Иван Алексеевич

2

Вересаев Викентий Викентьевич

2

Горький Максим

2

Замятин Евгений Иванович

2

Куприн Александр Иванович

2

Романов Пантелеймон Сергеевич

2

Слезкин Юрий Львович

2

Чапыгин Алексей Павлович

2

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

Рис. 12 Гистограмма распределения длин рассказов корпуса в словах

Таблица 2 отражает основные статистики. Из того, что медиана меньше среднего, можно сделать вывод о том, что выборка смещена влево относительно среднего, то есть большая часть корпуса состоит из коротких рассказов. Минимальная длина рассказа 212 слов, максимальная 21995 слов.

Таблица 2

Основные статистики для длины рассказов корпуса

Статистика

Значение

Среднее

3648,948387

Стандартное отклонение

2797,104643

Минимум

212

1 квартиль

1769

Медиана

2800,5

3 квартиль

4561

Максимум

21995

Далее будут рассмотрены длины рассказов I периода. На рисунке 13 можно найти гистограмму распределения длины рассказов I периода:

Рис. 13 Гистограмма распределения длины рассказов I периода в словах

Таблица 3 показывает, что длина рассказов также смещена относительно среднего. В этом периоде находятся самый короткий и самый длинный рассказы корпуса. Также в I периоде больше коротких рассказов, 25% рассказов этого периода состоят менее чем из 1767,5 слов.

Таблица 3

Основные статистики для длины рассказов I периода

Статистика

Значение

Среднее

3996,42

Стандартное отклонение

3436,442238

Минимум

212

1 квартиль

1767,5

Медиана

2879,5

3 квартиль

4796

Максимум

21995

Распределение длины рассказов II периода можно увидеть на рисунке 14:

Рис. 14 Гистограмма распределения длин рассказов II периода в словах

В таблице 4 можно найти основные статистики для второго периода. Рассказы этого периода распределены равномернее, разброс рассказов значительно меньше, чем в I периоде:

Таблица 4

Основные статистики для длины рассказов II периода

Статистика

Значение

Среднее

3011,299065

Стандартное отклонение

1908,515195

Минимум

352

1 квартиль

1675

Медиана

2520

3 квартиль

3544

Максимум

9493

На рисунке 15 отображено распределение длины рассказов III периода:

Рисунок 15 Гистограмма распределения длины рассказов III периода в словах

Таблица 5 показывает, что средняя длина рассказов III периода составляет около 4000 слов, при этом четверть написанных рассказов меньше 2121 слова, а еще четверть больше 4731 слова:

Таблица 5

Основные статистики для длины рассказов III периода

Статистика

Значение

Среднее

3974,009709

Стандартное отклонение

2793,352566

Минимум

364

1 квартиль

2121

Медиана

3325

3 квартиль

4731

Максимум

11822

Рисунок 16 показывает, что в корпусе имеется несколько выбросов по длине рассказа, однако, основная часть рассказов насчитывает менее 9000 слов:

Рисунок 16 Распределение длины рассказов корпуса в словах

Рисунок 17 позволяет сравнить распределение длины рассказов по периодам. Из графика видно, что распределение I и III периодов похожи. Во II периоде рассказы короче и распределены более сжато.

Рисунок 17 Распределение длины рассказов корпуса в словах по периодам

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

3. Стилеметрический анализ Корпуса русского рассказа

Первая часть посвящена контрастному анализу текста. Так, будет проиллюстрировано сравнение между тремя периодами. Функция oppose() создает два списка слов. В списках слов отражены слова, которые предпочитаются (оригинал: preferred) в одном корпусе, но избегаются (оригинал: avoided) в другом корпусе. Термины «предпочитаются» и «избегаются» выбраны не случайно, так как они являются прямым переводом использованных разработчиками слов preferred и avoided, соответственно. Их никак не избежать при анализе, так как рабочий язык пакета -- английский.

Вторая часть стилеметрического анализа включает в себя расчет расстояний между текстом на разных уровнях отбора (culling) с использованием разных метрик расстояния. Расстояние между текстами показывает, насколько похожи тексты. Если у текстов много общего, расстояние будет низким, в противном случае оно будет высоким. Результатом является таблица расстояний и таблицы частот, которые позже используются для кластерного анализа. Stylo выполняет иерархическую кластеризацию с использованием метода Уорда [Ward 1963] и строит дендрограмму.

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

3.1 Результаты контрастного анализа с функцией oppose()

В данном разделе будут представлены и интерпретированы результаты отдельного анализа подкорпусов с помощью функции oppose().

Для работы с функцией были отсеяны тексты, длина которых составляет менее 1000 слов. Это связано с тем, что при работе тексты нарезаются на фрагменты, размер которых задается пользователем. Для получения результатов для взятых рассказов минимальная необходимая длина фрагмента составляет 1000 слов, а минимальный буфер между фрагментами -- 200 слов. Под буфером подразумеваются слова, которые входят в каждый из соседствующих отрезков. После выбора этих параметров из подкорпусов были удалены тексты, не подходившие по условиям. Среди них: 2 текста из I периода, 7 текстов из II периода и 11 текстов из III периода. Таким образом, для работы с этой функцией было отсеяно около 6% самых коротких рассказов корпуса.

Таблица 6

Удаленные тексты для функции oppose()

I Период

II период

III период

Автор

Название

Автор

Название

Автор

Название

Аверченко А.Т.

Прекрасное детство

Морозов М.В.

Perpetuum mobile

Анучина Е.Н.

Солдаты

Свенцицкий В.П.

Солдат задумался…

Блок А.А.

Сограждане

Барсуков М.Н.

Курица

Булгаковский Д.Г.

На крестинах

Бухов А.С.

Запутанный случай

Новиков-Прибой А.С.

Попался

Добычин Л.И.

Нинон

Оршер И.Л.

Ничего не случилось

Яровой П.

На посту

Разумовский С.Д.

Кровобор-богатырь

Кольцов М.Е.

Календарь чудака

Сандомирский М.Б.

Верочка

Козырев М.Я.

Именины

Венский Е.О.

Икономика (Подлинное происшествие в затоне "Памяти Парижской Коммуны", на Волге)

Веселый А.

Под красными знаменами

Волков М.И.

Пролом

Зорич А.

Болото

Для того чтобы избежать случайной ошибки, статистическая значимость была проверена с использованием трех методов. Хотя пакет предоставляет выбор из пяти методов, на данный момент два из них не работают. Далее будут рассмотрены методы, выводы работы которых удалось получить. Методы Craig's Zeta, Eder's Zeta, Chi-square Zeta опираются на методы, которые разработал Джон Барроуз [Burrows 2007] и в дальнейшем расширил Хью Крейг [Craig and Kinney 2009]. Несмотря на то, что данные методы имеют общее основание, их выводы во многом отличаются. Например, результат работы функции с Craig's Zeta и Chi-square Zeta на данных корпуса создают списки размером от 8 до 75 слов, в то же время использование Eder's Zeta создает список размером в несколько тысяч слов. Тем не менее, слова идут в порядке значимости, поэтому для интерпретации нет необходимости изучать все слова вывода. Помимо изучения выводов отдельно, было решено также изучить слова, которые встречаются во всех выводах сразу.

Контрастный анализ использовался для сравнения каждого из трех периодов друг с другом. Так, было проведено сравнение I и II периодов, I и III, и II и III. В ходе анализа были получены результаты, которые в какой-то степени отражают общее историческое положение дел в России на тот момент времени.

В результате сравнения I и II периодов было получено 6 списков слов, которые были объединены в единую таблицу (приложение 2). Важно отметить для того, чтобы ограничить количество слов в таблице было использовано второе максимальное число слов среди разных методов расчета. В противном случае каждая из таблиц состояла бы из тысяч слов. Таблица со словами, которые встречаются в каждом из списков представлена ниже (таблица 1). Слова, которые предпочитаются в I периоде и избегаются во II, можно отнести к лиричным и созидательным словам. Слова, предпочитаемые во II периоде и избегаемые в I, описывают войну и революцию. События Первой Мировой Войны и Революции России 1917 г. происходили в то же время, что и время написания рассказов II периода.

Таблица 7

Результаты сравнения I и II периодов

Слова, предпочитаемые в I периоде и избегаемые во II, пересечение результатов по трем методам подсчета

Слова, предпочитаемые в II периоде и избегаемые во I, пересечение результатов по трем методам подсчета

чувствовать

ужас

счастие

сделаться

делаться

мгновение

война

Списки слов для сравнения I и III периода можно также найти в приложениях (приложение 3). Размер списков был также ограничен. Таблица с пересечениями слов, которую можно увидеть далее, отражает разницу текстов двух рассматриваемых периодов (таблица 8). Слова I периода можно все также отнести к лиричным и созидательным, однако к этим темам добавляется религиозная в виде слов «душа» и «боже». III период описывает военные и революционные события, однако, слова, относящиеся непосредственно к войне, здесь встречаются реже.

Таблица 8

Результаты сравнения I и III периодов

Слова, предпочитаемые в I периоде и избегаемые во III, пересечение результатов по трем методам подсчета

Слова, предпочитаемые в III периоде и избегаемые во I, пересечение результатов по трем методам подсчета

душа

нибудь

красивый

чувство

точно

господин

сделаться

иван

ужас

странный

бледный

слышаться

боже

выражение

особенный

повторять

желать

охватывать

невольно

нос

кровь

дым

ход

конь

революция

куст

изба

машина

война

верста

сволочь

што

Полученная при сравнении II и III периодов таблица находится в приложениях (приложение 4). Таблица 9 отражает пересечение результатов всех проведенных тестов. Словам, предпочитаемым во II периоде, явно соответствует религиозная тема. Результаты для слов III периода оказались неоднозначными. По ним нельзя точно определить тематику текстов или их отличие от текстов II периода. Возможно, это связано с тем, что II и III периоды достаточно сильно похожи в содержательном плане, и поэтому в них используется схожая лексика.

Таблица 9

Результаты сравнения I и III периодов

Слова, предпочитаемые в II периоде и избегаемые во III, пересечение результатов по трем методам подсчета

Слова, предпочитаемые в III периоде и избегаемые во II, пересечение результатов по трем методам подсчета

бог

гость

господин

громко

господь

батюшка

нос

вода

мелкий

дым

ход

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

3.2 Кластерный анализ

Кластерный анализ -- это «классификация объектов, когда их принадлежность к классам изначально не задана» [Букия и др. 2016, 123]. В рамках проведения кластерного анализа были использованы возможности функции stylo(). При помощи настроек, которые будут описаны далее, было проведено 400 иерархических кластеризаций.

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

В ходе работы используются частотные словари и матрицы расстояний между рассказами. Выбор настроек, по которым они создаются, обширен и влияет на результаты. Для построения частотных словарей были использованы разные уровни значения параметра отбора. Этот параметр отвечает за то, в скольких процентах текстов должно присутствовать слово, чтобы попасть в частотный словарь. Чтобы посмотреть на влияние этого параметра на результат, было решено провести анализ на уровнях от 0 до 90 с шагом в 10. Таким образом, для проведения анализа были взяты слова от тех, что встречались хотя бы в одном рассказе, до тех, которые встречались в 90% рассказов корпуса или подкорпуса. Стоит оговориться, что при значении параметра отбора равном нулю, размер частотного словаря был ограничен до 5000 наиболее встречаемых слов. Необходимость в таком ограничении вызвана высокими требованиями компьютерных ресурсов и вопросом о необходимости анализа слов, которые очень редко встречаются. С одной стороны, эти слова могут оказаться каким-либо маркером для определения периода, с другой -- они могут быть ошибкой, шумом или не иметь смысла. Второй вариант более вероятен, поэтому ограничение было введено.

После построения частотного словаря функция строит матрицу расстояний между рассказами. Всего пакет предлагает выбор из 10 настроек данной опции. Выбор настройки влияет на результат, так как методы используют разный вес для слов разной частотности. Метрики, которые можно выбрать следующие: Classic Delta Distance, Cosine Delta Distance, Eder's Delta Distance, Eder's Simple Distance, Entropy Distance, Manhattan Distance, Canberra Distance, Euclidean Distance, Cosine Distance, Min-Max Distance. Различные варианты Delta Distance: Classic [Burrows 2002], Eder's [Eder 2015], являются эффективными способами подсчета для расстояний, которые используются для определения авторства, однако Cosine Delta, которое также называют Wurzburg Distance, значительно превосходит другие методы по результатам исследований [Jannidis et al. 2015]. Также, схожий с этим метод косинусного расстояния превосходит своих ближайших соседей по определению расстояния.

В некоторых исследованиях утверждается, что Min-Max Distance хорошо работает для определения авторства текстов [Kestemont et at. 2016]. Другой эксперимент показал, что для подсчета расстояния между текстами и определения авторства можно использовать энтропию [Juola and Baayen 2005]. Для полного анализа корпуса необходимо было провести работу со всеми десятью методами подсчета расстояний, что и было сделано.

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

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

Рис. 18 Дендрограмма для кластеризации по Cosine Delta

Чтобы график был читаемым необходимо было создать его в большом размере 60х60 дюймов. К сожалению, это невозможно отобразить на листе формата А4, поэтому график будет нарезан на части.

При разделении на 3 кластера в первый кластер попадут рассказы, отображенные на рисунке 19, их же можно увидеть на верхней части рисунка 18.

Рис. 19 Рассказы, которые попадут в первый кластер

Во второй кластер попадут рассказы, представленные на рисунке 20. Их также можно наблюдать в середине рисунка 18.

Рис. 20 Рассказы, которые попадут во второй кластер

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

Таким образом, данный пример иллюстрирует возможности пакета по проведению кластерного анализа. Из приведенной дендрограммы можно увидеть, что Cosine Delta располагает близко тексты одного или смежных периодов времени. Корректная интерпретация на данный момент невозможна, так как для нее требуются дополнительные операции и метаданные.

Рис. 21а Рассказы, которые попадут в третий кластер

Рис. 21б Рассказы, которые попадут в третий кластер

3.3 Применение методов машинного обучения для предсказания периода написания рассказа

В данном разделе речь пойдет о результатах работы с функцией classify(). Эта функция предоставляет возможности для атрибуции текстов при помощи обучения с учителем. Classify() имеет пять способов для классификации текстов корпуса: методы дельты [Argamon 2008; Burrows 2002], метод k-ближайших соседей, метод опорных векторов, наивный байесовский классификатор и классификатор ближайших сжатых центроидов [Jockers and Witten 2010; Hastie et. al. 2009]. Среди всех представленных методов только один был разработан специально для решения задач атрибуции текстов -- метод дельты. Остальные методы широко используются в машинном обучении и вне области стилеметрии.

Для проведения анализа корпус был случайным образом разбит на обучающую и тестовую выборки. Первая из них служит для обучения алгоритма тем или иным признакам и отличительным чертам текстов корпуса. Вторая служит для проверки и предсказания обученной модели. Выборка была разбита в соотношении 80 к 20, где 80 относится к обучающей выборке и 20 к тестовой. В итоге 310 корпусов разделились на 248 текстов, на которых будет обучаться модель, и на 62 текста, на которых модель будет проверяться.

Так как Stylo предлагает выбор из большого количества методов для построения моделей, было решено прежде всего узнать какая из моделей наиболее точно будет работать на данных корпуса, и, в дальнейшем, рассмотреть ее подробнее для определения возможностей предсказания. В качестве изменяемого параметра для построения моделей использовалось ограничение числа включаемых наиболее встречаемых слов. Среди способов подсчета расстояний между текстами было решено использовать те, которые включают дельту, поскольку они наиболее эффективные для атрибуции текстов [Jannidis et al. 2015]. Эти методы -- Classic Delta, Cosine Delta и Eder's Delta. Они были описаны ранее. Для метода ближайших соседей доступна возможность настроить порядок используемых ближайших соседей. Для метода опорных векторов присутствует возможность выбора вида уравнения вектора: это может быть линейное уравнение, полиномиальное и радиальное. Линейный тип является наиболее эффективным для определения авторства [Koppel and Schler 2004], и, так как задача данного исследования также исследует атрибуцию текстов, было решено использовать его.

Для того чтобы сгладить возможный шум было решено построить модели и проверить их на разных уровнях использования наиболее частотных слов. Использовались от 10 до 100 самых часто встречаемых слов с шагом в 10. Таким образом, было проведено 10 тестов для каждого алгоритма. Результаты будут представлены далее. Точность предсказания рассчитывается по формуле:

Средняя точность рассчитывается по формуле:

где n - число проведенных проверок на разных уровнях используемых самых встречаемых слов.

В таблице 10 представлены результаты классификации с использованием метода дельты. Хотя на разных уровнях разные методы оказываются эффективнее, в среднем наиболее эффективным является метод Cosine Delta со средней точностью в 50%. Это означает, что в среднем половина текстов была классифицирована верно, на разных уровнях точность была выше или ниже этой отметки, а при использовании 50 самых встречаемых слов точность достигла 58%. Следующий метод -- Eder's Delta со средней точностью 45%, и последний Classic Delta -- 42%.

Таблица 10

Число правильных предсказаний и точность предсказания для метода дельты при использовании самых встречаемых слов от 10 до 100

Использованное количество самых встречаемых слов

Число правильных предсказаний

Точность предсказания

Classic Delta

Cosine Delta

Eder's Delta

Classic Delta

Cosine Delta

Eder's Delta

10

22

25

24

35%

40%

39%

20

22

20

19

35%

32%

31%

30

20

28

25

32%

45%

40%

40

27

29

27

44%

47%

44%

50

28

36

28

45%

58%

45%

60

29

35

30

47%

56%

48%

70

29

33

32

47%

53%

52%

80

27

34

32

44%

55%

52%

90

28

37

32

45%

60%

52%

100

27

32

33

44%

52%

53%

Всего

259

309

282

42%

50%

45%

Следующий метод обучения с учителем, используемый в пакете Stylo -- метод k-ближайших соседей. Для обеспечения максимально точности предсказания было решено использовать несколько порядков ближайших соседей: 5, 10, 15 и 20. Именно они играют ключевую роль в классификации и сглаживании шумов. Важно отметить, что тесты проходили на одном и том же зерне псевдослучайного числа для возможности повторного исследования и сравнения. Результаты представлены в таблице 11. Оказалось, что наибольшая точность предсказания была получена в результате использования значения k равному 15 и 20. Модель в среднем правильно определила 43% и 42% тестовой выборки, соответственно, однако не было ни одного раза, когда модель классифицировала бы верно более половины текстов.

Таблица 11

Число правильных предсказаний и точность предсказания для метода k-ближайших соседей при использовании самых встречаемых слов от 10 до 100

Использованное количество самых встречаемых слов

Число верных предсказаний

Точность предсказания

n=5

n=10

n=15

n=20

n=5

n=10

n=15

n=20

10

23

20

22

21

37%

32%

35%

34%

20

25

20

25

29

40%

32%

40%

47%

30

21

23

24

24

34%

37%

39%

39%

40

21

24

25

28

34%

39%

40%

45%

50

27

22

26

28

44%

35%

42%

45%

60

22

24

29

27

35%

39%

47%

44%

70

22

22

29

25

35%

35%

47%

40%

80

28

23

29

27

45%

37%

47%

44%

90

21

24

29

26

34%

39%

47%

42%

100

26

20

28

23

42%

32%

45%

37%

Всего

236

222

266

258

38%

36%

43%

42%

Далее речь пойдет о использовании метода опорных компонент. Для работы использовался только линейный метод построения модели. Результаты отражены в таблице 12. Максимальное число верных предсказаний оказалось 28, что составляет меньше половины от тестовой выборки. На остальных уровнях модель показала точность 40% и ниже, что дает среднюю точность равную 38%.

Таблица 12

Число правильных предсказаний и точность предсказания для метода опорных компонент при использовании самых встречаемых слов от 10 до 100

Использованное количество самых встречаемых слов

Число верных предсказаний

Точность предсказания

10

23

37%

20

28

45%

30

20

32%

40

25

40%

50

25

40%

60

24

39%

70

23

37%

80

21

34%

90

25

40%

100

23

37%

Всего

237

38%

Наивный байесовский классификатор не имеет специальных настроек внутри пакета помимо выбора количества слов. Результаты работы с ним можно найти в таблице 13. Средняя вероятность правильного определения составила 50%, а максимальная точность, установленная при использовании 60 наиболее встречаемых слов, оказалась 56%.

Таблица 13

Число правильных предсказаний и точность предсказания для наивного байесовского классификатора при использовании самых встречаемых слов от 10 до 100

Использованное количество самых встречаемых слов

Число верных предсказаний

Точность предсказания

10

27

44%

20

33

53%

30

30

48%

40

29

47%

50

31

50%

60

35

56%

70

34

55%

80

32

52%

90

30

48%

100

31

50%

Всего

312

50%

Последним из рассмотренных методов является классификатор ближайших сжатых центроидов. В таблице 14 можно найти полученные точности предсказания. В трех случаях из десяти классификатор правильно определил период написания половины тестовой выборки, однако в остальных случаях процент правильного предсказания составил менее 50%. Полученная средняя точность равна 45%.

Таблица 14

Число правильных предсказаний и точность предсказания для классификатора ближайших сжатых центроидов при использовании самых встречаемых слов от 10 до 100

Использованное количество самых встречаемых слов

Число верных предсказаний

Точность предсказания

10

24

39%

20

24

39%

30

27

44%

40

30

48%

50

28

45%

60

27

44%

70

29

47%

80

31

50%

90

31

50%

100

31

50%

Всего

282

45%

В результате проверок всех доступных методах классификации было установлено, что наибольшая средняя точность составляет 50% для методов дельты с метрикой расстояния Cosine Delta и для наивного байесовского классификатора. Так как максимальная точность предсказания среди этих двух методов оказалась выше у Cosine Delta и равна 60% против 56% для наивного байесовского классификатора было решено подробнее рассмотреть метод дельты. Вместе с этим будут рассмотрены и другие методы дельты.

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.