library(tidyverse)
library(stylo)Look at my Style
Консенсусные деревья как метод определения авторства текста: воспроизведение эксперимента
Атрибуция «Тихого Дона» с помощью дельты Берроуза
Метод предложен в 2002 году специалистом по комьютерной лингвистике Джоном Берроузом в статье [1]: «Дельта: мера стилистической разницы и проводник к определению авторства».
Вот как описывается суть метода Берроуза в лонгриде Даниила Кузнецова и Ольги Соболевской,[3] опубликованном в 2021 году:
Суть метода довольно проста. На первом этапе формируется выборка из наиболее часто употребимых в тексте слов. Она может включать от 100 до 5000 лексических единиц. Обычно это самые распространенные местоимения, глаголы, существительные, предлоги, союзы («я», «было», «все», «на», «сказал» и пр.).
Для каждого из них рассчитывается частота по анализируемому тексту — условно говоря, уникальный «отпечаток пальца» автора, а затем средняя частота слова в выборке и её стандартное отклонение.
После этого из первого показателя вычитается второй, а разность делится на третий. В итоге исследователь получает стандартизированную оценку (z-score) каждого слова, или, простыми словами — ему приписывается определенный вес.
Имея на руках z-оценки одного и того же набора слов для двух текстов, учёный получает возможность сравнить их между собой. Для этого необходимо посчитать манхэттенское расстояние между ними или, собственно, дельту Бёрроуза. <…>
Последовательно сравнив два массива слов, можно вычислить многомерное расстояние между двумя текстами. Чем оно меньше, тем более они похожи. А значит с большой долей уверенности оба текста можно приписать одному автору.
Таким образом, дельта Бёрроуза позволяет измерить стилистическую разницу текстов. Она чётко различает не только разных авторов, но и разные произведения одного и того же писателя.
Это один из лучших способов атрибуции текстов.
Результаты текстологического исследования Б.В.Орехова и Н.П.Великановой были опубликованы в 2019 году в статье [6] Цифровая текстология: атрибуция текста на примере романа М.А. Шолохова «Тихий Дон», приуроченной к 115-летию со дня рождения Михаила Шолохова (1905-1984).
По-мнению авторов, полученные ими результаты бесспорно подтверждают, что
…именно Шолохов оказывается единственным вероятным автором «Тихого Дона» из всех советских писателей 1920–1930 гг., тексты которых оцифрованы и доступны для компьютерного исследования.
Воспроизводим условия эксперимента
Из датасета[5] Стилеметрические данные «Тихого Дона» и современной ему прозы нами был взят файл с частотностями, рассчитанными для произведений «всех советских писателей 1920-1930 гг., тексты которых оцифрованы и доступны для компьютерного иследования».
К сожалению, в документации к датасету нет перечисления использованных произведений и источников, из которых эти тексты взяты. Нет, к нашему большому сожалению, и информации о варианте (редакции) текста «Тихого Дона», легшего в основу работы. Б.В.Орехов оставил только следующий комментарий, касающийся текстов корпуса:
Сам исследовательский корпус представить здесь невозможно из-за ограничений, связанных с авторскими правами.
Достанем список авторов и произведений из файла с частотностями.
Для этого сначала загрузим все необходимые для нашего исследования библиотеки, а затем распечатаем список имен авторов и названий текстов, вошедших в датасет.
list_authors <- read.table(file = "table_with_frequencies.txt", header = TRUE)
colnames(list_authors) [1] "Булгаков_БелаяГвардия" "Булгаков_МастериМаргарита"
[3] "Иванов_Бронепоезд1469" "Иванов_ГолубыеПески"
[5] "Крюков_ГруппаБ" "Крюков_Зыбь"
[7] "Крюков_КисточникуИсцелений" "Крюков_Мать"
[9] "Крюков_Шквал" "Леонов_Барсуки"
[11] "Леонов_Вор" "Островский_КакЗакалялась1"
[13] "Островский_КакЗакалялась2" "Платонов_Котлован"
[15] "Платонов_Чевенгур" "Платонов_ЮвенильноеМоре"
[17] "Севский_ДонНаКостылях" "Серафимович_ЖелезныйПоток1"
[19] "Серафимович_ЖелезныйПоток2" "Фадеев_Разгром"
[21] "Фурманов_Чапаев" "Шолохов_ДонскиеРассказы"
[23] "Шолохов_ОниСражалисьЗаРодину" "Шолохов_ПоднятаяЦелина1"
[25] "Шолохов_ПоднятаяЦелина2" "Шолохов_СудьбаЧеловека"
[27] "Dubia_ТихийДон1" "Dubia_ТихийДон2"
[29] "Dubia_ТихийДон3" "Dubia_ТихийДон4"
В полученном списке, кроме собственно имени Шолохова, мы видим не только писателей, чьи имена традиционно назывались среди вероятных «настоящих» авторов «Тихого Дона»: Крюкова, Севского, Серафимовича, но и напрямую не связанных с Шолоховым советских писателей 1920-1930 гг.: Булгакова, Иванова, Леонова, Островского, Платонова, Фадеева и Фурманова. Всего в списке 11 авторов и 30 произведений.
Трансформируем и распечатаем таблицу с частотностями.
Можно «побродить» по таблице и посмотреть на 5000 наиболее частотных слов датасета.
freq_data_df <- read.table(file = "table_with_frequencies.txt", sep=" ",header=TRUE) |>
t() |>
as.data.frame()
DT::datatable(freq_data_df, options = list(pageLength = 10))
Строим консенсусные деревья с помощью функции STYLO
Дерево №1.
Воспользуемся методом BCT (Bootstrap Consensus Tree) и дельтой Берроуза для определения метрики расстояния. Построим наше первое дерево, рассчитывающее расстояния для 500 самых частотных слов, с шагом в 100 слов.
stylo_bct_delta <- stylo(gui = FALSE,
frequencies = freq_data_df,
analysis.type = "BCT",
mfw.min = 100,
mfw.max = 500,
mfw.incr = 100,
distance.measure = "dist.delta",
write.png.file = FALSE,
consensus.strength = 0.5,
custom.graph.title = "Консенсунсное дерево №1 со STYLO",
)
О надежности метода можно судить по тому, что тексты, в авторстве которых нет сомнений (Булгаков, Серафимович, Платонов и т. п.), корректно сгруппированы. На получившемся графике мы видим две отдельные ветви с произведениями Шолохова, а между ними ветвь Крюкова. Глядя на это дерево можно усомнится в выводах авторов статьи, ведь при примененных нами рассчетах расстояние между отдельными произведениями Шолохова и Крюкова меньше, чем между двумя ветками самого Шолохова.
Дерево №2.
Изменим слегка условия рассчетов. Посчитаем метрику расстояния “wurzburg” для 200 самых частотных слов с шагом в 50.
stylo_bct_delta2 <- stylo(gui = FALSE,
frequencies = freq_data_df,
analysis.type = "BCT",
mfw.min = 50,
mfw.max = 200,
mfw.incr = 50,
distance.measure = "wurzburg",
write.png.file = FALSE,
consensus.strength = 0.5,
custom.graph.title = "Консенсунсное дерево №2 со STYLO",
)
Состав двух «веток» Шолохова не изменился, изменилось их положение на дереве, «ветка» Крюкова по-прежнему ближе к одной из групп произведений Шолохова, чем эти группы между собой.
Нужно отметить еще одну аномалию: 4 том «Тихого Дона» не попадал на одну ветку с первыми тремя томами при обоих методах рассчета. Этот эффект был тщательно изучен К.А.Маслинским в статье [4] Уточненная цифровая текстология: еще раз к вопросу об авторстве романа «Тихий Дон». Цитата из статьи:
При этом первые три тома «Тихого Дона» при любой длине списка объединены на дендрограмме с «Донскими рассказами», но четвертый том в диапазоне 100–1000 слов в половине случаев оказывается размещен на значительно удаленной ветви дендрограммы в группе поздних произведений Шолохова. Поскольку этот эффект появляется и исчезает нерегулярно по мере увеличения длины списка учтенных слов, следует рассмотреть более внимательно, какие из вошедших в список слов могли повлиять на этот результат.
<…>Перемещение четвертого тома «Тихого Дона» в группу поздних произведений Шолохова актуализирует вопрос, почему ранние и поздние произведения Шолохова так сильно различаются в терминах Delta и так далеко отстоят друг от друга на дендрограмме? Великанова и Орехов отмечают это обстоятельство как «некоторую странность» и предлагают в качестве возможного объяснения аргумент об эволюции авторского стиля.
<…>Можно отметить, что группировка ранних и поздних произведений Шолохова на дендрограмме не полностью отражает известную нам хронологию написания произведений: писавшиеся примерно одновременно третий том «Тихого Дона» и первый «Поднятой целины» всегда разделяются на дендрограмме в разные группы.
Результаты и выводы.
В статье К.А.Маслинского[4] нашелся ответ на вопрос о принципе формирования датасета, который мы задавали в начале работы:
Наконец, в исследовании Великановой и Орехова отдельно был проверен вопрос о том, сказывается ли на стилеметрических выводах об авторстве использование недавно вышедшего текстологически выверенного издания «Тихого Дона»[7]. Ни в исследовании Великановой и Орехова, ни в наших экспериментах выбор научной редакции текста или текста из обычного массового издания никак не повлиял на стилеметрические результаты и итоговые выводы.
После воспроизведения эксперимента Б.В.Орехова и Н.П.Великановой К.А.Маслинский приходит к следующим выводам[4]:
Результаты описанных в этой заметке экспериментов позволяют с еще большей уверенностью подтвердить, что стилеметрические данные не поддерживают гипотезы об авторстве Крюкова, Севского и Серафимовича. Однако в первой части вывод следует уточнить: результаты применения Delta указывают на то, что «Донские рассказы» и первые три тома «Тихого Дона» написал один автор. На основании этого анализа четвертый том нельзя с уверенностью приписать тому же автору.
Применимость метода Delta для оценки эволюции авторского стиля со временем остается относительно мало изученной. Для убедительных интерпретаций наблюдаемого в данных разделения произведений Шолохова на две стилистические группы необходим надежный сравнительный материал произведений, написанных с не меньшим временным интервалом. Поэтому вопрос о том, дают ли стилеметрические методы основания считать все произведения Шолохова принадлежащими перу одного автора, следует признать пока не поддающимся решению на материале рассмотренного корпуса.
Немного покритиковав, статья завершается вполне комплиментарным пассажем, признающим за Борисом Валерьевичем заслугу подготовки датасета для воспроизведения результатов исследования каждым пытливым ученым (к каковым, с легкой руки О.В.Алиевой, принадлежит вся группа 1 курса магистратуры «Цифровые методы в гуманитарных науках» НИУ ВШЭ г.Москва).
Подготовленная Б.В.Ореховым публикация данных стилеметрического исследования по Шолохову позволила автору настоящей заметки не только воспроизвести результаты, но и провести расширенную серию экспериментов на этом корпусе текстов и уточнить выводы. Хочется надеяться, что этот пока еще очень редкий для нашей дисциплины пример воспроизводимого исследования станет шагом на пути к консенсусу относительно авторства «Тихого Дона».
БОНУС.
Дополнительно хотелось привести несколько цитат из статьи[2] Maciej Eder Visualization in stylometry: Cluster analysis using networks, описывающей основные проблемы, связанные с (не)надежностью применения стилометрических методов.
Однако, несмотря на очевидные преимущества, некоторые проблемы все еще остаются нерешенными. Окончательная форма дендрограммы в значительной степени зависит от многих факторов, наиболее важными из которых являются (1) конкретная мера расстояния, применяемая к данным, (2) алгоритм группировки образцов в кластеры и (3) количество переменных (например, наиболее часто встречающихся слов), которые необходимо проанализировать.
Даже малейшее изменение в настройке эксперимента может привести к серьезному изменению окончательной дендрограммы. Не решая, какой из трех факторов, обсуждавшихся в предыдущем разделе — алгоритм связи, мера расстояния и количество проанализированных слов — с большей вероятностью повлияет на окончательную форму дендрограммы, следует признать, что первые два связаны с методом кластеризации, в то время как третий фактор по своей сути связан с определенными лингвистическими особенностями анализируемых текстов.
<…>не существует универсального частотного слоя, где скрыт отпечаток автора. Напротив, кажется, что авторский сигнал распространяется по всему спектру частых и не очень частых слов, но в то же время он может быть скрыт дополнительными и непредсказуемыми сигналами, которые считаются шумом в классических подходах к атрибуции.
Трудности с выделением одного конкретного сигнала предполагают, что текст (письменный или устный) представляет собой многослойное явление, в котором определенные слои коррелируют. Эти слои включают авторство, хронологию, личность, пол, тему, образование, литературное качество, перевод (если применимо), интертекстуальность, литературную традицию (например, источники вдохновения) и, вероятно, многое другое. Можно утверждать, что литературное качество каким-то образом зависит от образования, жанр зависит от темы, авторский голос зависит от хронологии, пол влияет на личность и так далее. Некоторые слои могут быть едва заметны, а некоторые другие могут стать на удивление сильными. В атрибуции авторства эта сложная система неконтролируемых слоев является проблемой нежелательного шума, а в литературно-ориентированной вычислительной стилистике — возможностью увидеть больше.