Стилометрия

количественное определение авторства и не только

Даниил Скоринкин, DH Network Potsdam

Наш план на сегодня:

  1. Что такое стилометрия?
  2. Как работает стилометрия и можно ли ей верить?
  3. Как люди до этого додумались? Немного истории
  4. Зачем бывает нужна стилометрия? Реальные кейсы в области атрибуции авторства 
  5. Зачем бывает нужна стилометрия? Реальные кейсы за пределами атрибуции
    1. Стилометрия и переводы
    2. Стилохронография (анализ эволюции стиля)
    3. Соавторство
  6. Практика со Stylo

1. Что такое стилометрия

Стилометрия — это

использование частотностей некоторых атомарных элементов текстов (чаще всего слов или их фрагментов) для сопоставления текстов между собой — например, для задач определения авторства, но не только

(это моё рабочее техническое определение)

 

Классический пример

И многие из вас уже
воспроизвели это в Stylo:

За дендрограммой стоят некоторые расстояния между текстами:

За дендрограммой стоят некоторые расстояния между текстами:

Но откуда взялись эти расстояния?

2. Как работает стилометрия?

Стилометрические исследования во всем их разнообразии имеют две общие черты: тексты должны быть каким-то образом преобразованы в числа, а числа — исследованы статистическими методами

 

M. Eder, M. Kestemont, J. Rybicki. ‘Stylo’: a package for stylometric analyses

Каждый текст — столбик из чисел:

Каждый текст — вектор частотностей:

Что можно сделать с векторами?

Давайте на время упростим до 2 измерений:

Давайте на время упростим до 2 измерений:

ось 'and' 

ось 'the'

И вот мы уже можем измерять расстояния между текстами

Стилометрия делает то же самое, только не с двумя словами, а с топ 100/300/500 слов...

И оказывается, что топ N самых частотных слов в качестве features для векторов... ...группируют тексты по авторству

И что, это правда работает?

Неужели частотности (в основном служебных) слов позволяют отличить одного автора от другого?

Да, и мы можем в этом убедиться вместе

Работает на русском:

Работает на китайском

Работает на армянском

Disclaimer

  • ⚠️ Стилометрия — это не магия и не «волшебная пуля» 
  • ⚠️ Есть случаи, когда никакая статистика вам автора не определит
  • 🟢 Но метод при определенных условиях работает универсально (т.е. не на каком-то конерктном подобранном наборе авторов/ книг, а регулярно при соблюдении ряда условий)

Важные нюансы:

  1. Размеры текстов!
  2. Хронологическая однородность
  3. Однородность жанра/рода текста
  4. Нормализация частотностей относительно друг друга
  5. Выбор вида расстояния между векторами 
  6. Выбор единицы подсчета

1. Размер текста
(имеет значение)

It becomes quite obvious that samples shorter than 5000 words provide a poor "guessing", because they can be immensely affected by random noise. Below the size of 3000 words, the obtained results are simply disastrous. Other analyzed corpora showed that the critical point of attributive success could be found between 5000 and 10000 words per sample (and there was no significant difference between inflected and non-inflected languages).

Eder, M. (2015). Does size matter? Authorship attribution, small samples, big problem.
Digital Scholarship in the Humanities.

2. Хронологическая однородность

3. Однородность жанра/рода текста

4. Нормализация частотностей относительно друг друга

Посмотрим еще раз на вектор частотностей:

Наблюдаем классический закон Ципфа:

Поэтому в стилометрии частотности нормализуют

В классическом для стилометрии методе Delta для этого используется
Z-преобразование

Z-score (стандартный показатель)

где

  • x – частотность слова в тексте
  • µ - общая частотность слова по корпусу
  • σ - стандартное отклонение частотности слова по корпусу

(вычисляется для каждого слова в каждом тексте)

Z-преобразование

5. Выбор вида расстояния между векторами

Если измерять расстояние просто по прямой — будет

Бывают и другие:

Классический метод Delta использует манхэттенское

6. Выбор единицы подсчета

  • Словоформы
  • Леммы 
    • (конь/я/ю/ем/ями/ям/ем)
  • N-граммы (цепочки) символов
    • 'ая', 'овый', 'остью'
  • Части речи
  • Синтаксические структуры
  • (в стихах) метр
  • ...

 

Что можно посчитать 

Способы отображения стилометрической близости:

Dimensionality reduction methods (PCA MDS tSNE etc)

Hierarchical clustering dendrograms

'Philogenetic tree'-like
dendrograms

Способы отображения стилометрической близости:

Weighted graphs

(Weighted networks)

Сделаем остановку для вопросов

3. Как люди до этого додумались?

Две классические задачи "детективной филологии", в решении которых развивалась стилометрия:

  1. Авторство

  2. Датировка

Атрибуция текста через учет слов 

  • Лоренцо Валла  (1407 – 1457) —итальянский священник-гуманист
  • В 1439 пишет «Рассуждение о подложности так называемой дарственной грамоты Константина»
  • Показывает, что "Константинов дар" не мог быть написан в IV веке — не та латынь!  

Первые измерения 

  • 1851 — математик А. де Морган предлагает длину слова как признак авторства

  • 1887 — Томас Менденхолл (T. Mendenhall), The Characteristic Curves of Composition, первая известная работа по количественному определению авторства

Конец 19 в: Филологи-классики придумывают слово Stylometrie

  • 1880 — W. Dittenberger, Sprachliche Kriterien für die Chronologie der Platonischen Dialoge

  • 1890 — W. Lutosławski, Principes de stylométrie

  • 1897 — W. Lutosławski, The origin and growth of Plato's logic; with an account of Plato's style and of the chronology of his writings

Mostly classic studies at first:

  • 1880 — W. Dittenberger, Sprachliche Kriterien für die Chronologie der Platonischen Dialoge

  • 1890 — W. Lutosławski, Principes de stylométrie

  • 1897 — W. Lutosławski, The origin and growth of Plato's logic; with an account of Plato's style and of the chronology of his writings

Стилеметрия в России

  • 1915 — Морозов Н.А. Лингвистические спектры
    (вдохновлен Лютославским)

  • Видимо, первый осознал важность служебных слов
  • 1916 — Марков А.А. Об одном применении статистического метода

Записки федералиста

  • Серия знаковых статей эпохи Американской революции
  • 12 спорных (Хэмилтон или Мэдисон)
  • Статья Ф.Мостеллера и Д. Уоллеса Inference in an Authorship Problem (1963
  • '...определить авторство записок федералиста и предложить стандартный метод для решения проблем авторства'

Mosteller, Wallace, 1963

Mosteller, Wallace, 1963

  • The function words of the language appear to be a fertile source of discriminators, and luckily the high-frequency words are the strongest.
  • <...>it is important to have a variety of sources of material, to allow “between writings” variability to emerge

Mosteller, Wallace, 1963

In summary, the following points are clear:

  • Madison is the principal author. These data make it possible to say far more than ever before that the odds are enormously high that Madison wrote the 12 disputed papers. <...>
  • <...> While choice of under­lying constants (choice of prior distributions) matters, it doesn’t matter very much, once one is in the neighborhood of a distribution suggested by a fair body of data.

Дж.Ф. Барроуз:

Most readers and critics behave as though common prepositions, conjunctions, personal pronouns, and articles — the parts of speech which make up at least a third of fictional works in English — do not really exist. But far from being a largely inert linguistic mass which has a simple but uninteresting function, these words and their frequency of use can tell us a great deal <...>

Preface to Computation into Criticism, 1987

Джон Барроуз придумывает метод Delta

А как работает Delta мы уже знаем:

  1. Подсчет частотностей слов / символьных n-грамм

2. Нормализация частотностей Z-преобразованием

3. Измерение манхэттенского расстояния между нормализованными векторами

Правда, Берроуз шел к этому эмпирически, по филологическмоу наитию

Картинка позаимствована из выступления Б.В. Орехова в ИРЛИ РАН

Мильтон на фоне Мильтона же:

Картинка позаимствована из выступления Б.В. Орехова в ИРЛИ РАН

Другой автор (Афра Бен) на фоне Мильтона:

Картинка позаимствована из выступления Б.В. Орехова в ИРЛИ РАН

Считаем расхождение для каждого слова в нашем списке:

Картинка позаимствована из выступления Б.В. Орехова в ИРЛИ РАН

Суммируем все расхождения — это и есть Delta:

Картинка позаимствована из выступления Б.В. Орехова в ИРЛИ РАН

Суммируем все расхождения — это и есть Delta:

Картинка позаимствована из выступления Б.В. Орехова в ИРЛИ РАН

Burrows’s Delta <...> corresponds to the Manhattan distance of the word frequencies' z-scores

Stefan Evert, Thomas Proisl, Fotis Jannidis, Isabella Reger, Steffen Pielström, Christof Schöch, Thorsten Vitt,
Understanding and explaining Delta measures for authorship attribution, Digital Scholarship in the Humanities, Volume 32, Issue suppl_2, December 2017, Pages ii4–ii16, https://doi.org/10.1093/llc/fqx023

Но почему это работает?

Да черт его знает...

"I think we should lock linguists and philologists in a room and not let them leave it until they explain what is happening"

(Ян Рыбицкий на одном из стилометрических докладов во время конференции DH 2019 в Утрехте)

4. Кейсы применения стилометрии в задаче атрибуции

Кто написал "Убить пересмешника"? 

Харпер Ли

Харпер ли?

Споры вспыхнули в 2015:

Причины подозрений
(не связанные с текстом)

  • После публикации «Убить пересмешника» Ли не публиковала ни одной книги 55 лет
  • Рукопись была «случайно найдена» адвокатом Ли.
  • В 2015 году Ли было 88 лет, она сильно болела и жила в доме престарелых
  • Власти Алабамы даже провели расследование дееспособности Ли
  • Противоречивые версии того, что это за манускрипт: черновик «Убить пересмешника»
    или «отдельное произведение в той же вселенной»

Причины подозрений
(связанные с текстом)

  • Многим «новая» книга показалась «слабой» по сравнению с классической «Убить пересмешника».
  • Сюжетно новый текст является продолжением (главный герой – взрослый человек), хотя утверждается, что он был написан ранее.
  • Большое разочарование в Аттикусе Финче, который в «новой» книге оказывается своего рода расистом (хотя был символом борьбы с расизмом)

Возник вопрос: написаны ли эти две книги одним человеком?

Харпер Ли и Трумен Капоте

Почему Капоте

  • Друг детства Харпер Ли (выросли в одном городе, которой и стал прототипом Мэйкома из "УП")
  • Капоте — прототип Дилла из "УП"
  • Когда Харпер Ли публиковала "УП", Капоте ничего крупного не публиковал
  • После 1960 не публиковалась уже Харпер Ли
  • Зато Капоте написал свою знаменитую true-crime книгу "In Cold Blood" — и известно, что Харпер Ли ездила с ним собирать материал
  • Гипотеза: "Капоте — со-автор или даже основной автор "УП". Харпер Ли отблагодарила его помощью в работе с In Cold Blood"

Это и отправились проверять стилометристы

Одна из визуализаций результата

То же самое в виде сети стилометрической близости:

Кстати, вы можете это воспроизвести — эти данные встроены в Stylo:

> data(lee)

> stylo(frequencies=lee)

Еще одна подозреваемая

Тереза "Тэй" Хохоф, редактор "Убить пересмешника"

фото отсюда

"Какие ваши доказательства улики?"

  • После того как издательство J.P. Lippincott приняло у Ли рукопись "Убить пересмешника", Хохофф вместе с Ли несколько лет работали над текстом
  • Хохофф говорила, что в начале текст представлял собой "скорее сборник рассказов, чем единый роман" 
  • Скорее всего, без Хохофф романа "Убить пересмешника" бы просто не было 
  • Гипотеза: "Убить пересмешника" — творение Хохофф, а вот "Пойди поставь сторожа" — это настоящая Ли
    (снова хэштег #разочарование)

Однако единственная книга Хохофф не похожа ни на один из двух текстов Харпер Ли:

Что читать об этом

  1. Go Set A Watchman while we Kill the Mockingbird In Cold Blood — публикация 2015 года, где есть Ли и Капоте
  2. Go Set A Watchman while we Kill the Mockingbird in Cold Blood, with Cats and Other People — продолжение 2016 года, где появляется еще и Хохофф

Кейс 2: Элена Ферранте

История вопроса

  1. Книги Элены Ферранте выходят с 1992 года 
  2. В 2000-е Ферранте стала очень популярной — сначала в США, потом уже в Италии
  3. В 2005 журналист Луиджи Галелла сравнивал книгу Ферранте с романом писателя Доменико Старноне и нашел текстовые сходства
  4. В 2006 тот же журналист опубликовал количественное исследование книг Ферранте, Старноне и др. итальянских авторов, сделанное физиком Витторио Лоретто; Доменико Старноне снова оказался ближе всех
  5. В 2016 журналист Клаудио Гатти исследовал финансовые потоки издательства E/О — и указал на переводчицу Аниту Райа (Anita Raja)

Визуализация стилометристов

Результаты параллельных исследований

Blended Authorship Attribution: Unmasking Elena Ferrante Combining Different Author Profling Methods (G. Mikros):
all profling results were highly accurate (over 90%) indicating that the person behind Ferrante is a male, aged over 60, from the region Campania and the town Saviano.  The combination of these characteristics indicate a single candidate (among the authors of our corpus), Domenico Starnone.

Все следы ведут к Старноне

И тольео некоторые к Аните Райа.. 

И тольео некоторые к Аните Райа.. которая замужем за Старноне

5. Кейсы за пределами атрибуции

But the study of literature and authorship is not only who wrote what, and who didn’t

Maciej Eder, Jan Rybicki (2016). Go Set A Watchman while we Kill the Mockingbird in Cold Blood, with Cats and Other People

 

Не только авторство

  1. Внутриавторская вариативность
    1. Датировка и эволюция стиля автора (стилохронология)
    2. Жанровая кластеризация
    3. Гетеронимы
      ...
  2. Коллаборация над текстом
    1. соавторство
    2. Перевод и влияние переводчика
    3. Влияние редактора

5.1. Внутриавторская стилометрия

Диккенс: датировка

Maciej Eder, Jan Rybicki

Шекспир: датировка + жанры

Агата Кристи: датировка и...

...псевдоним

Мэри Вестмакотт  Роберт Гэлбрейт

Гетеронимы Пессоа  

Skorinkin D., Orekhov B. Hacking stylometry with multiple voices: imaginary writers can override authorial signal in Delta.
In: Digital Scholarship in the Humanities, 2023 (forthcoming)

Гетеронимы Пессоа  

Skorinkin D., Orekhov B. Hacking stylometry with multiple voices: imaginary writers can override authorial signal in Delta.
In: Digital Scholarship in the Humanities, 2023 (forthcoming)

Гетеронимы Пессоа  

Skorinkin D., Orekhov B. Hacking stylometry with multiple voices: imaginary writers can override authorial signal in Delta.
In: Digital Scholarship in the Humanities, 2023 (forthcoming)

Толстой: датировка + циклы?

Заметим, что хронологический сигнал проявляется чаще прочих факторов

И тут конечно можно вспомнить истоки стилометрии — как Лютославский и ко занимались хронологией диалогов Платона

Об этом же говорит и Барроуз в самом начале статьи про Delta

 Not unexpectedly, it works least well with texts of a genre uncharacteristic of their author and, in one case, with texts far separated in time across a long literary career. Its possible use for other classificatory tasks has not yet been investigated.

John Burrows, ‘Delta’: a Measure of Stylistic Difference and a Guide to Likely Authorship, Literary and Linguistic Computing, Volume 17, Issue 3, September 2002, Pages 267–287, https://doi.org/10.1093/llc/17.3.267

5.2. Коллаборация над текстом

Оригиналы и переводы

Оригиналы на французском:

Переводы на английский

Google Translate и DeepL тоже так могут:

Хотя раньше стилометрический сигнал машинного перевода был виден

Кейс с переводом двумя переводчицами

"Ночь и день" Вирджинии Вулф, перевод на польский

Anna Kołyszko -> Magda Heydel

метод: rolling.classify () 

  • динамический анализ (хорошо для исследования коллаборации авторов)
  • считается Delta-расстояние в текстовом окне
  • Подробнее см. rolling stylomety 

а вот мой тест этого метода

Anna Kołyszko -> Magda Heydel

J. Rybicki, M.Heydel. The stylistics and stylometry of collaborative translation: Woolf’s Night and Day in Polish // Literary and Linguistic Computing 28 (4), 708-717

rolling.classify() увидел переход:

Коллаборация автора и редактора

Choiński, M., Rybicki, J. (2016). Jonathan Edwards and Thomas Foxcroft: In Pursuit of Stylometric Traces of the Editor. In Digital Humanities 2016: Conference Abstracts. Jagiellonian University & Pedagogical University, Kraków, pp. 147-149.

Молодой Эдвардс: никакого влияния

Consecutive segments of Edwards's Mind (1723); throughout the work, Edward's signal (red) dominates over the (absent) signal of Foxcroft.

Пожилой Эдвардс: влияние секретаря становится видно

Consecutive segments of Edwards's Humble Inquiry (1749); in many other fragments, dominated by Edwards (red), Foxcroft's impact is still visible. The lower band shows the strongest signal; the upper, the second strongest.

А что там со сгенерированными текстами?

GPT не может стилизоваться так,

чтобы обмануть стилометрию:

Но нейросеть, специально обученная на авторе X, обманет стилометрию

Некоторые ссылки

Stylo

  • Пакет в языке R для стилеметрии
  • в него встроена Delta   
  • ...и еще много других метрик близости
  • есть приятный графический интерфейс!

Stylo

  • О программе: сайт разработчиков Stylo
  • Документ HOWTO от разработчиков
  • Stylometry with R: A Package for Computational Text Analysis. M. Eder, M. Kestemont, J. Rybicki.

Инструкции

Stylo: главные функции

  • stylo () 
  • classify ()
  • rolling.delta (), rolling.classify ()
  • oppose ()

Функция stylo () 

  • расчет и визуализация стилистической близости
    • Различные способы кластеризации (группировки) текстов по близости
    • Отображение многомерного "стилистического пространства" текстов на плоскости (Principal Component Analysis MDS, tSNE) 
  • списки самых частотных слов, таблицы частотности и т.д.

Все эти визуализации делает как раз функция stylo()

Dimensionality reduction methods (PCA MDS tSNE etc)

Hierarchical clustering dendrograms

'Philogenetic tree'-like
dendrograms

А для этой визуализации надо соединить выдачу stylo() — с Gephi

Weighted graphs

(Weighted networks)

функция classify ()

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

Классификация versus Кластеризация

Классификация versus Кластеризация

функция stylo()

функция classify()

Результаты выглядят так:

функция oppose ()

  • контрастивный анализ: выделяет слова, которые отличают один набор текстов от другого 
  • опирается не на Delta, а на более зависимые от содержания метрику Zeta ('has a bias towards content words')
  • хорошо подходит для различных сравнительных исследований (e.g. мужчины vs женщины) 

Сравнение мужской и женской речи в корпусе русской драмы:

avoided words

для женской речи

на фоне мужской

avoided words

для женской речи

на фоне мужской

preferred words

для женской речи

на фоне мужской

функция rolling.classify () 

  • динамический анализ (хорошо для исследования коллаборации авторов)
  • считается Delta-расстояние в текстовом окне
  • Подробнее см. rolling stylomety 

Теперь ваша очередь потыкать Stylo

Стилометрия и Шекспировский вопрос

Шекспир

...и Марлоу

Генрих VI: последовательный анализ

Code stylometry

Стилометрия DH 2024

By danilsko

Стилометрия DH 2024

Stylometry DH 2024 lecture

  • 131