Цифровые методы для работы с античными и средневековыми текстами

Ольга Алиева

2024-05-27

Cсылка на презентацию

Сбор данных

В каком виде текст?

  1. Изображение рукописи / папируса -> ΗΤR
  2. Печатная книга -> OCR
  3. Распознанный текст -> разметка
  4. XML -> парсинг

HTR

  • Transkribus (NB: нельзя экспортировать модели);

  • Kraken, запускается из командной строки / программной среды;

  • eScriptorium – графический интерфейс для Kraken (NB: требует установки на сервер).

  • Подробнее: доклад С.Яцык

OCR

# tesseract_download("lat")
lang <- tesseract::tesseract("lat+grc")
text <- tesseract::ocr("./images/latin.png", engine = lang)
cat(text)
P. 112, Οὐχοῦν καὶ περὶ
πολιτιχῶνἹ Neccivitates Pro-
tagoras arbitratur ideo, quia
quae sibi utilia putant, sanciunt
et coustituunt,. etiam vere uti-
lia &c salutaria constituere; imo
concedendum ei est, inter eos,
qui publice aliquid vel suadent
vel dissuadent, utilitatis habita
ratione multum interesse. Ete-
nim Protfagorae haec fuit sen-
tentia, ut antea vidimus, ut sa-
pientes existimaret non eo ce-
teris excellere, quod veritatem
tenerent potius quam vulgus,
sed eo maxime, quod utile ab
inutili ac damnoso certiore iu-
dicio discernerent.

Сравнение и разметка

  • инструменты: http://www.ecomparatio.net/, https://collatex.net/, https://stemmaweb.net/, Juxta и др.
  • возможности: разметка и создание критического аппарата, построение стеммы (филогенетические методы), реконструкция архетипа и др., но ни один из этих этапов не автоматизирован полностью;
  • узкие места: значимые ошибки (Leitfehler), “орфографический шум” (ae / e), контаминация.

https://stemmaweb.net/stemmaweb/

XML

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

TEI

  • в качестве универсального языка разметки в гуманитарных дисциплинах используется язык TEI (Скоринкин 2016).
  • Пример оформления документа можно посмотреть по ссылке.

Репозитории

  1. Perseus: Canonical-greekLit и Perseus: Canonical-latinLit. Два репозитория на GitHub с важнейшими классическими текстами на греческом и латинском языке, для многих также есть английские переводы. Более или менее это соответствует той части TLG / PHI, которая доступна без подписки. Сами тексты в репозиториях находятся в папке data под числовыми кодами, значение которых надо смотреть в Perseus Catalogue.
  1. Diorisis Ancient Greek corpus. Датасет доступен на Figshare. Это аннотированный корпус, т.е. для всех слов там есть лемма (начальная форма) и морфологическое описание, достаточно точное. В основе лежат данные из Perseus Canonical Greek Lit, цифровой библиотеки “The Little Sailing”, а также Bibliotheca Augustana. У корпуса есть особенность: лемма хранится в юникоде, а словоформа — в бетакоде (что легко исправить). Из достоинств, по сравнению с Perseus, единообразное оформление xml для всех текстов. Это значит, с одной стороны, что важная для некоторых жанров информация (например, о конце стиха у Гомера) может быть недоступна. С другой стороны — любое количество текстов достаются одним циклом. Всего корпус содержит 820 текстов от Гомера до V в. н.э. и более 10 млн слов.

what Diorisis keeps

  1. Open Greek and Latin Project. Это целое семейство репозиториев с текстами, которые не попали в Perseus. Поэтому здесь вы не найдете, например, Фукидида или Новый Завет. Но зато First1KGreek Project содержит сочинения многих Отцов Церкви, Филона Александрийского, Галена и других — всего 25,5 млн слов. Латинские Отцы хранятся в Corpus Scriptorum Ecclesiasticorum Latinorum (CSEL), у которого тоже свой репозиторий на GitHub.
  1. Corpus Corporum: repositorium operum latinorum apud universitatem Turicensem. Потрясающий по масштабам метарепозиторий, в котором найдутся латинские тексты от античности до Neolatinitas (каталог), включая некоторые латинские диссертации XIX в. Можно читать онлайн или скачивать xml.

  2. Papyri.info IDP (Integrating Digital Papyrology) Data: литературные и документальные папирусы, метаданные и библиография.

Предобработка

Синтаксический и морфологический анализ

  • примеры вопросов: какие глаголы чаще ассоциируются с предметами мужского рода, чем женского; насколько сложными являются предложения у данных авторов/жанров по сравнению с другими и т.д.

  • подготовка корпуса для анализа: тематическое моделирование, векторизация, эмоциональная тональность и др.

Treebanks

library(udpipe)
library(dplyr)
model_grc <- udpipe_load_model("ancient_greek-perseus-ud-2.5-191206.udpipe")
hex <- "Πρέπουσα ἀρχὴ τῷ περὶ τῆς τοῦ κόσμου συστάσεως μέλλοντι διηγεῖσθαι, ἀρχὴν τῆς τῶν ὁρωμένων διακοσμήσεως προθεῖναι τοῦ λόγου."

udpipe_annotate(model_grc, hex) |> 
  as_tibble() |> 
  select(token_id, token, lemma, upos, xpos)
# A tibble: 20 × 5
   token_id token        lemma        upos  xpos     
   <chr>    <chr>        <chr>        <chr> <chr>    
 1 1        Πρέπουσα     Πρέπω        VERB  v-sppafn-
 2 2        ἀρχὴ         ἀρχή         NOUN  n-s---fn-
 3 3        τῷ           ὁ            PRON  p-s---md-
 4 4        περὶ         περί         ADP   r--------
 5 5        τῆς          ὁ            DET   l-s---fg-
 6 6        τοῦ          ὁ            DET   l-s---mg-
 7 7        κόσμου       κόσμος       NOUN  n-s---fg-
 8 8        συστάσεως    συστάσεως    NOUN  n-s---fg-
 9 9        μέλλοντι     μέλλω        VERB  v-sppamd-
10 10       διηγεῖσθαι   διηγεῖμαι    VERB  v--fnp---
11 11       ,            ,            PUNCT u--------
12 12       ἀρχὴν        ἀρχή         NOUN  n-s---fa-
13 13       τῆς          ὁ            DET   l-s---fg-
14 14       τῶν          ὁ            DET   l-p---mg-
15 15       ὁρωμένων     ὁρωμένος     VERB  v-prpemg-
16 16       διακοσμήσεως διακοσμήσεως ADV   d--------
17 17       προθεῖναι    προθείνω     VERB  v--ana---
18 18       τοῦ          ὁ            DET   l-s---mg-
19 19       λόγου        λόγος        NOUN  n-s---mg-
20 20       .            .            PUNCT u--------

XML парсинг

  • если вам повезло, и ваши источники хранятся в виде xml, то понадобятся инструменты для их парсинга / редактуры
  • например, достанем что-нибудь из “Исповеди” Августина

Magnus es, domine, et laudabilis valde: magna virtus tua, et sapientiae tuae non est numerus.

library(xml2)
library(stringr)

url <- "https://raw.githubusercontent.com/OpenGreekAndLatin/csel-dev/master/data/stoa0040/stoa001/stoa0040.stoa001.opp-lat1.xml"
doc <- read_xml(url)
ps_count <- doc |> 
  xml_find_all("//d1:note", ns = xml_ns(doc)) |> 
  xml_text() |> 
  str_extract_all("Ps. \\d{1,3}") |> 
  unlist() |> 
  table() |> 
  sort(decreasing = TRUE)

head(ps_count, 9)

  Ps. 4  Ps. 18 Ps. 118  Ps. 41  Ps. 17  Ps. 72 Ps. 115  Ps. 26  Ps. 35 
     15      12      11      11       9       9       8       8       8 
library(ggplot2)
library(dplyr)

tibble(counts = as.integer(ps_count), 
       psalm = names(ps_count)) |> 
  slice_max(order_by = counts, n = 10) |> 
  ggplot(aes(psalm, counts, fill = psalm)) +
    geom_col(show.legend = F) +
    theme(axis.text.x = element_text(angle = 45))

Анализ

Тематическое моделирование

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

  • Латентное размещение Дирихле (Latent Dirichlet Allocation, LDA) - вероятностная модель, которая позволяет выявить заданное количество тем в корпусе текстов. В основе метода лежит предположение, что каждый документ представляет собой комбинацию ограниченного числа топиков (тем), а каждый топик — это распределение вероятностей для слов.

  • подробнее см. ссылку и пример моделирования журнала “Платоновские исследования”

Основные принципы алгоритма латентного размещения Дирихле

Пример моделирования

Моделирование корпуса древнегреческой литературы (статья 2020)

Стилометрия

  • семейство методов количественного анализа стиля (обучение с учителем и без учителя, включая ГО);

  • используется не только для определения авторства;

  • необходимо учитывать влияние жанра и регистра: стилистическая дистанция не всегда означает разных авторов;

  • плохо работает на небольших отрывках;

  • разные методы приводят к разным результам (лекция О.Алиевой)

Rolling Delta

Метод для определения вклада соавторов, реализованный в библиотеке Stylo в R.

Старофранцузская аллегорическая поэма 13 в. «Роман о Розе»: из примерно 22 тыс. стихов поэмы первые 4 тыс., как считается, написаны около 1230 г. Гийомом де Лоррисом (красный). Остальные добавлены около 1275 г. Жаном де Мёном (зеленый).

  • в 1978 г. Эндрю Мортон применил стилометрический анализ к корпусу посланий ап. Павла, пришел к выводу о подлинности лишь 4 из них;

  • Ж. Савой (статья 2019):

Мы можем … предположить, что один и тот же автор написал 1 и 2 Фесс, и одного и того же автора можно обнаружить за Колос и Ефес. Эти три кластера могли быть написаны как одним автором, так и двумя или тремя разными людьми. Кроме того, рис. 3 не подтверждает гипотезу семи посланий, согласно которой Павел является автором четырех посланий плюс 1-е Фессалоникийцам, Филиппийцам и Филимону.

Анализ эмоциональной тональности

  • Анализ тональности текста (англ. Sentiment analysis) — задача компьютерной лингвистики, заключающаяся в определении эмоциональной окраски (тональности) текста и, в частности, в выявлении эмоциональной оценки авторов по отношению к объектам, описываемым в тексте.

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

Некоторые подходы:

  • подходы, основанные на словарях (для латыни; для греческого нет);

  • машинное обучение с учителем;

  • машинное обучение без учителя.

  • подробнее см.: Odi et amo

  • пример анализа настроений в письмах Цицерона (обучающее видео)

Визуализация и картографирование

  • Газетир (географический справочник) для любителей античности: https://pleiades.stoa.org/
  • Recogito — это бесплатный, очень простой, но достаточно удобный онлайн-инструмент, в 2018 получивший приз как лучший DH-tool в Digital Humanities Awards 2018. Он позволяет работать в командах над аннотированием текстов.
  • В 2014 г. группа DH-сколаров создала карту по мотивам знаменитого «каталога кораблей» из второй песни «Илиады».
  • карта с виллами Цицерона: http://antibarbari.ru/2023/03/01/cicero_villas/

Сетевой анализ

Семантический анализ

  • идея семантических векторов основана на дистрибутивной гипотезе. Она состоит в том, что смысл слова заключается не в наборе его собственных звуков и букв, а в том, среди каких слов оно чаще всего встречается. То есть смысл слова не хранится где-то внутри него, а распределен между элементами его возможных контекстов (подробнее)
  • Word2vec — общее название для совокупности моделей на основе искусственных нейронных сетей, предназначенных для получения векторных представлений слов на естественном языке. Инструменты для создания векторно-семантических моделей существовали и ранее, но word2vec (2013) стал первой популярной реализацией из-за удобства использования, открытого исходного кода и скорости работы.
  • С многомерными векторами (то есть с векторами, состоящими из большого числа элементов) можно делать всё то же самое, что и с привычными двумерными — складывать их, вычитать, даже строить пропорции. Что самое интересное — при сложении векторов двух слов получается вектор третьего слова, и оно «суммирует» смыслы двух слагаемых в человеческом понимании, иногда неожиданно или даже поэтично.

Пример

Пример использования

Статья 2017 г. о диахронных изменениях в значениях греческих слов

Где узнать больше

Полезные ресурсы

Спасибо за внимание!