Читать нас в Telegram
Иллюстратор: Юлия Бобкова

«Системный Блокъ» много раз писал об исследованиях на материале DraCor. Настало время рассказать подробнее о самом корпусе.

Что такое DraCor?

DraCor — сокращение от drama corpora — это собрание размеченных по стандарту TEI драматических текстов на 11-ти языках. Здесь есть корпуса пьес на французском, немецком, испанском, русском, итальянском, шведском, португальском (только Кальдерон) и английском (только Шекспир), а также совсем небольшие коллекции эльзасских, татарских и башкирских пьес.

Два крупных корпуса пьес в составе собрания — немецкий и русский — были собраны и поддерживаются создателями проекта DraCor (часть команды из России — это Центр цифровых гуманитарных исследований Высшей школы экономики). Остальные корпуса были взяты из сторонних проектов, а затем адаптированы для совместимости с функционалом DraCor.

Programmable Corpora

DraCor не похож на традиционные корпуса. Этот проект реализует концепт Programmable Corpora — «программируемых корпусов».

Чтобы понять суть этой философии, нужно увидеть, чему она противостоит. Ее противоположность — стремление создать единственный веб-сервис, в который уместится весь функционал, потенциально нужный пользователям. Вместо этого концепт Programmable Corpora предлагает сфокусироваться на создании инфраструктуры, которая позволит исследователям получать необходимые данные — в том числе для дальнейшей их обработки сторонними средствами [1].

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

Все это обеспечивается обращением к корпусу через API (application programming interface; интерфейс программирования приложений). API — набор команд, позволяющих одному приложению использовать функции другого, отдавать часть своих задач на «аутсорсинг». При этом API не требует детального знания того, как устроено другое приложение, для работы с ним. Его можно сравнить с пользовательским интерфейсом (UI) программы — только предназначенным не для людей, а для других программ [2]. Благодаря API пользователь достаточно легко может подключиться к корпусу на любом уровне — начиная с метаданных обо всех произведениях и заканчивая словами конкретного персонажа одной пьесы. Благодаря такой гибкости запросов исследователи могут достаточно легко получить именно тот результат, который нужен для дальнейшей работы.

Следующее преимущество «программируемых корпусов» — технически они получаются менее сложными, чем программы «все-в-одном». Их проще разрабатывать и поддерживать — соответственно, развиваться такие проекты будут быстрее и стабильнее. Хорошей иллюстрацией этого достоинства Programmable Corpora является история программы Dramavis [3]. Она была написана на языке Python и предназначалась для обработки данных о социальных сетях драматических произведений. Dramavis может построить графы на основе информации о строении социальных сетей нескольких пьес, а затем расположить получившиеся схемы в хронологическом порядке на одном огромном изображении. Параллельно с этим программа измеряет некоторые параметры сетей, выбранные разработчиками, и записывает результаты в отдельный файл. Создатели Dramavis постепенно меняли свои взгляды на то, какие аспекты сетей нужно измерять. Требовалось добавлять новые функции и продолжать отлаживать уже существующие. Постепенно программа стала слишком объемной и сложной, ее поддержка требовала больших ресурсов. В то же время значительной пользы для исследований изменения функционала не приносили: существует слишком много подходов к изучению социальных сетей драмы, невозможно учесть их все в одной программе. По признанию разработчиков, усложнившееся техническое обслуживание Dramavis стало отвлекать их от самих исследований [1]. Тогда было принято решение закрыть проект и создать новое решение с учетом предыдущих ошибок. Так появился DraCor.

Функционал DraCor

DraCor можно использовать двумя способами: не только напрямую через API, но также и с помощью веб-интерфейса. Возможности API несколько шире, но его использование требует хотя бы минимальной работы с кодом. Для знакомства с проектом вполне достаточно обращения к его сайту — dracor.org.

Итак, что можно найти на веб-странице? Во-первых, несколько интересных разделов с руководствами пользователя и общей информацией о различных аспектах проекта. Во-вторых — на сайте есть страничка с фирменным мерчем.

На материале DraCor даже создана карточная игра

Однако главное — вкладка с корпусами. На странице каждого из них размещен список всех входящих в корпус текстов, которые можно отсортировать по различным параметрам (году создания, автору, названию, источнику текста, количеству персонажей и др.). Также на этой странице можно найти по названию интересующее пользователя произведение.

Страница русского корпуса DraCor

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

Полный текст пьесы «Хорев» А. П. Сумарокова, доступный на странице произведения на сайте DraCor
Визуализация сети отношений персонажей в пьесе «Хорев» А. П. Сумарокова, доступная на странице произведения на сайте DraCor

Отдельного внимания заслуживает график распределения речи персонажей, который через интерфейс можно построить по 3-м разным методикам: Сапогова, Ярхо и Трильке / Фишера и др.

График распределения речи персонажей в пьесе «Хорев» А. П. Сумарокова, доступный на странице произведения на сайте DraCor

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

Файлы, доступные для скачивания на странице пьесы «Хорев» А. П. Сумарокова на сайте DraCor

Дополнительные инструменты

Проект включает в себя не только корпуса драматических текстов. В его рамках также разрабатываются инструменты, помогающие обучать цифровым методам работы с драмой. Среди них — Easy Linavis (инструмент для легкого ручного кодирования любых пользовательских данных в виде графа) и DraCor Shiny app (альтернативный веб-интерфейс на shiny с большим количеством интерактивных сетевых метрик).

Easy Linavis, или ezlinavis — приложение, которое позволяет легко визуализировать социальные сети. Достаточно просто ввести в интерфейс имена говорящих персонажей, распределив их по структурным частям произведения (действиям, актам и т. д.). Приложение нарисует граф сети, учтя вес каждой вершины и ребра, автоматически расположит вершины наиболее удобным образом. Гипотетически, с помощью Ezlinavis можно кодировать и нехудожественные сети, например, контакты с друзьями и др.

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

Практическая польза проекта

DraCor уже помог провести реальные исследования. О некоторых из них можно прочитать в материалах «Системного Блока»:

Команда разработчиков

В команде проекта люди из многих стран — в том числе Германии, Австрии, Испании и России. Среди российских разработчиков DraCor — преподаватели Высшей школы экономики:

  • Франк Фишер — один из создателей DraCor; главный редактор сайта проекта — dracor.org; редактор немецкого и русского корпусов, также занимается технической поддержкой корпусов на других языках; разработчик приложения ezlinavis;
  • Даниил Андреевич Скоринкин — редактор русского корпуса пьес, также занимается разметкой текстов для RusDraCor; сейчас разрабатывает корпус татарской драмы;
  • Борис Валерьевич Орехов — соредактор сайта dracor.org, занимается технической поддержкой нескольких корпусов; сейчас разрабатывает корпус башкирской драмы;
  • Иван Сергеевич Поздняков — создатель DraCor Shiny app.

Благодаря стараниям этих людей научное сообщество получило надежный и удобный источник данных для исследований драмы.

Источники

DraCor

[1] Fischer, Frank, Börner, Ingo, Göbel, Mathias, Hechtl, Angelika, Kittel, Christopher, Milling, Carsten, & Trilcke, Peer. (2019). Programmable Corpora: Introducing DraCor, an Infrastructure for the Research on European Drama. Presented at the Digital Humanities 2019: «Complexities» (DH2019), Utrecht: Zenodo.

[2] APIs Are Like User Interfaces—Just With Different Users in Mind
[3] dramavis