Открываем историю Большого. Часть вторая

image

Привет, Хабр. Хорошие новости: мы успешно завершили краудсорсинговый проект «Открой историю Большого» по оцифровке программ, афиш и фотографий, которые хранятся в музее Большого театра. Итогами делимся на сайте openbolshoi.ru, а в этом посте рассказываем, как технически был организован проект.

О том, почему мы начали заниматься этим проектом и что сделали на первом этапе, можно почитать здесь. А что же было дальше? После первой части проекта мы благодаря ABBYY FineReader PDF и с помощью волонтеров подготовили файлы программ и афиш в формате PDF с вычитанным текстовым слоем и передали их музею Большого театра. Теперь все данные хранятся в электронном виде, и сотрудники используют их, чтобы искать и копировать нужную информацию. Это быстрее и удобнее, чем перебирать документы в шкафах и перепечатывать текст из оригиналов.

Но как узнать больше о представлениях, а также о людях, чьи судьбы тесно связаны с историей театра? Как собрать статистику:


Помогли технологии Natural Language Processing (NLP), разработанные в ABBYY. Сегодня мы расскажем, как на втором этапе проекта алгоритмы извлекли из программ и афиш необходимые сведения, заполнили поля базы данных, а затем 7500 волонтеров проверили и дополнили информацию. А в конце поста читайте, как сейчас создается электронный архив музея с удобным поиском по всем представлениям и персонам.
Второй этап проекта стартовал в июне 2017 года. К этому моменту все PDF-файлы с текстовым слоем, изображения программ и афиш в формате JPEG и документы MS Word c вычитанным текстом мы разместили в файловом хранилище размером 1,5 терабайт. Сервис загрузки данных анализировал базу с документами (PDF, JPEG и MS Word), а затем через наш веб-API загружал PDF по очереди в файловое хранилище станции верификации ABBYY FlexiCapture (FC). Чтобы волонтеры могли быстро открывать документы у себя на компьютере, FC сжимала PDF-файлы, отображала их в черно-белом режиме и преобразовывала в формат PNG с сохранением вычитанного текстового слоя. Качество файлов урезалось на 60%, но волонтерам этого было более чем достаточно, чтобы увеличить мелкий текст, прочесть и понять любые надписи на ценных документах.

После загрузки и предобработки программ и афиш в ABBYY FlexiCapture начиналась одна из самых ответственных частей проекта. Расскажем о ней подробнее.

Где композитор, а где — балет?


NLP-технологии ABBYY автоматически определяли, о каких участниках представления идет речь, какие роли исполнял каждый из них, на каком музыкальном инструменте играл и т.п. Затем технология самостоятельно вносила эту информацию в поля онлайн-формы. Например, в программе спектакля «Щелкунчик» автоматически определилось, что Е.Н. Ватуля — исполнитель роли Щелкунчика-куклы, А.В. Никонов — исполнитель роли Щелкунчика-принца и т.д.:

ttjua7_78tt_9ie-rjjvxy_2gba.png


Технологии ABBYY проанализировали проверенный и вычитанный волонтерами текстовый слой и заполнили поля онлайн-формы.

Многие старинные документы отличались по структуре: в одних — использовались художественные шрифты, в других — текст размещался в трех-четырех колонках. На этой афише есть и то, и другое:

mu_dbdhppccirb2p6slagc22vza.png


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

Как работали волонтеры


Чтобы работа не казалась участникам слишком сложной и скучной, мы, как и на первом этапе проекта, разделили все документы на небольшие части — пакеты. Один пакет — это одна афиша или программа, в которой могло быть несколько страниц. Всего участникам предстояло проверить около 170 тысяч страниц документов.

Чтобы начать работу, участник регистрировался на сайте openbolshoi.ru и переходил на веб-станцию верификации ABBYY FlexiCapture. В отличие от первого этапа, волонтерам не приходилось скачивать программу себе на компьютер, так как все работало онлайн в веб-приложении (тонком клиенте). Волонтер теперь мог проверять пакеты прямо из дома, на даче, в кафе или из любой точки мира с доступом в интернет.

Личный кабинет аудитора выглядел так (картинка кликабельна):

mzkaozcftxtppj7kqflt15hwz6q.jpeg

Как участники проекта получали задания


Как мы упоминали выше, перед тем как пакеты попадали к волонтерам, документы по очереди загружались в FC: первый, второй, третий и так далее. Затем они друг за другом обрабатывались с помощью NLP-технологий ABBYY. В таком же порядке формировалась очередь пакетов (заданий), которые потом отправлялись на проверку участникам.

Волонтер мог взять в работу только один пакет из очереди, без возможности выбрать конкретный документ. Он нажимал кнопку «Получить пакет» и перед ним открывался веб-интерфейс станции верификации ABBYY FC. Будем в дальнейшем называть его «онлайн-форма». На видео показываем, как это происходило:


На проверку одного пакета каждому участнику давалось 3 часа. В среднем работа занимала 20–50 минут, хотя на некоторые сложные документы уходило больше времени. Если участник не успевал выполнить задание, то пакет отправлялся обратно в очередь. Чуть ниже расскажем, как это происходило.

Разработка онлайн-формы


Онлайн-форма повторяла шаблон «толстого клиента» ABBYY FC. Чтобы сгенерировать веб-интерфейс, наши разработчики брали XML-описания шаблона и генерировали разметку на HTML5. Важно было соблюсти то же расположение и размер полей, которые были в толстом клиенте.

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

mcxuoq6fjliawmw3ufsmpxlbfik.png


_pdblqqnxtytsh-j9qljpfoicni.png


«Открой историю Большого» стал первым крупным проектом, сделанным с помощью новой на тот момент 12-ой версии ABBYY FlexiCapture. Мы использовали бета-версию платформы. Набор полей разработали специально под проект, так чтобы в них было удобно добавлять представления и персоны. В группе проекта «ВКонтакте» волонтеры задавали много вопросов и оставляли просьбы и пожелания разработчикам онлайн-формы. По комментариям от участников проекта мы постоянно улучшали функциональность формы, чтобы сделать работу волонтеров максимально комфортной. Например, в форме появились новые возможности.

Подробнее о них рассказываем под спойлером.
1. Добавление и удаление полей с персонами.
jqcg_4jno7j4thi2dsckcn_jd2s.jpeg

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

2. Дублирование персон во все представления.

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

trotzty631w6v4bwyynvgf65zpg.jpeg

3. Внесение персон с одной и той же ролью.

iqgrkfsrg_p54z-3l_zulmfeog8.jpeg

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

zd5fwvxygdccbbvcpktns4o5oco.jpeg

4. Добавление элементов и поиск по букве в выпадающих списках.
uamhycmk372k3yj7torreqj4dz4.jpeg


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

image

Отдѣльная глава про дореволюціонную орѳографію


Во всех документах 19 века и начала 20-го использовалась русская дореформенная орфография с давно забытыми буквами «i» (и десятеричное), «ѣ» (ять), «ѳ» (фита), непривычным начертанием и стилем изложения. Волонтеры могли вносить информацию как на старом языке, так и на современном русском. После проверки пакета специально разработанный специалистами ABBYY скрипт, написанный на Python, автоматически переводил все на русский язык, чтобы в архив музея Большого театра попадали данные из афиш и программ на современном и всем понятном языке. В скрипте мы использовали словари русского языка и пару десятков правил в виде регулярных выражений.

Несмотря на то что ABBYY FlexiCapture умеет распознавать русскую дореформенную орфографию, в старинных документах с нечеткими или затертыми буквами у платформы получилось распознать не все слова. Иногда вылезали разные ошибки, которые надо было исправлять, например:

mkkzsfxjqczeehceyjcsrc5aycq.jpeg


Волонтер начал заполнять форму, и увидел, как технология неправильно распознала словосочетание «Орлиный танец» (кликайте, чтобы увеличить изображение)

Что происходило после проверки пакета


Как только волонтер проверил пакет, он нажимал на кнопку «Задание выполнено», и тогда пакет отправлялся еще на две стадии проверки в Оргкомитет. Проверяющие смотрели, правильно ли заполнены все поля и вся ли информация внесена.

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

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

Смотрите подборку с самыми необычными примерами под спойлером.
0rs_itqr-ftfy3_cga5uguklopo.jpeg

С начала XIX века в театральных программах размещали информацию не только о предстоящих постановках, но и рекламу. Деньги под залог, элитный алкоголь, услуги зубного врача, лекции для девиц, крем «Атласный» — волонтеры находили и присылали нам немало интересных объявлений. Проект «Открой историю Большого» собрал самые необычные из них, и их опубликовали в фотогалерее газеты «Ведомости».

Волонтеры увлеченно собирали и любопытные сведения о потерянных предметах. С 1872 по 1902 год списки с забытыми в театре вещами можно было обнаружить прямо на афишах. Как выяснилось, в театре случайно оставались резиновые галоши, кофейник, патроны, гильотинка для сигар и многое другое. Самые необычные предметы — в подборке на bigpikcha.ru.

5q-1lzgbudff5ao5q2tx3-bymfe.png
Помимо рекламы и списков различных вещей, в программах можно было обнаружить и представления с непривычными для современных людей названиями. «Разрыв-трава» и «Волшебное кукареку» — это не песни современных панк-групп, а названия реальных спектаклей, на которые ходила столичная публика до революции. Чтобы узнать больше об этих постановках, пройдите тест на портале РИА «Новости».

Как были устроены экспорт и бэкап


Каждую неделю мы делали бэкап пакетов, которые находились на проверке в ABBYY FlexiCapture, и размещали его в хранилище нашего технологического партнера по проекту — NetApp.

Все проверенные пакеты мы отправляли в файловое хранилище размером около 3 терабайт, где программы, афиши с текстовым слоем и их изображения были собраны в папках по годам (1900–1909, 1910–1919 и т.д.). Хранилище было связано с финальной базой данных. Там в виде таблицы находилась информация по каждому представлению, роли или артисту. Данные можно дополнять, изменять, а также вести по ним поиск (картинка кликабельна):

dd5x7tdftjhsgiw9r5fw8yk1ljs.png


Бэкап финальной базы данных, которая во время второго этапа регулярно пополнялась проверенными пакетами, происходил каждые два дня.

Победители второго этапа


Второй этап проекта завершился в декабре 2018 года. Всего в нем участвовали почти 7500 волонтеров из 60 стран. По нашим подсчетам, каждый день проверкой программ и афиш занимались одновременно 10–15 волонтеров.

yrkdsfpihzzna3lpofhqxc9ig98.png


Как и во время первого этапа, за каждый проверенный пакет Оргкомитет начислял волонтерам баллы и формировал рейтинг самых активных участников. В финале первые пять из них получили призы — билеты в Большой театр. Первое место заняла Ольга Синельникова, она проверила 5352 программ и афиш. В пятерку победителей также вошли Наталья Клементьева, Михаил Ройтман, Галина Зарина и Валерий Пальчевский — волонтеры из Москвы. Они выбрали интересные им постановки и посетили спектакли «Дон Кихот», «Дон Карлос», «Черевички», «Спартак» и «Дочь фараона».

xe8apgn9cshcxu1dmpckeznfvre.png

А что с историческими фотографиями?


В декабре 2018 года мы открыли третий этап проекта — рубрикацию 100 тысяч оцифрованных фотографий. В это время к проекту присоединилось еще более 300 волонтеров. Участники внесли рукописный текст с оборотов фотографий в базу данных: на снимках запечатлены 5650 персон и 927 представлений.

Как создается электронный архив


Финальную базу данных мы передали музею Большого театра. Вся информация из архивов театра о 54 тысячах спектаклей и 75 тысячах персон была загружена на сайт электронного архива, разработанного компанией КАМИС. По мере проверки специалистами музея Большого театра, данные публикуются на специально разработанном поисковом разделе театрального сайта. В результате каждый сможет увидеть программы, афиши, фотографии, эскизы декораций и костюмов и узнать об операх, балетах, концертах и артистах.

На сайте openbolshoi.ru мы собрали статистику об итогах проекта, хронологию спектаклей за 150 лет, а также интересные факты об артистах и их ролях. Читайте и пишите нам, о каких еще исполнителях и знаменитых постановках вы хотели бы узнать.

Что мотивирует нас на такие проекты и что будет дальше?


На протяжении многих лет опыт и технологии ABBYY помогают выполнять важную миссию — сохранять культурное наследие и делать его доступным для широкой публики по всему миру. Например, благодаря нашим интеллектуальным решениям были реализованы десятки социально значимых проектов — от оцифровки полного собрания сочинений Толстого, фондов библиотек в Латвии, Южной Корее, России (на Сахалине) до перевода в электронный вид различных архивов — с записями о погоде в метеорологическом институте Бразилии, с данными о 3 миллионах растений в ботаническом саду Эдинбурга и так далее. Проект «Открой историю Большого» стал еще одним этапом нашего развития в этом направлении.

И, конечно же, не всегда такие задачи возможно выполнить только своими силами. Своим успехом проект «Открой историю Большого» обязан волонтерам. Неравнодушные люди со всего мира из любви к искусству присоединялись к проекту и безвозмездно уделяли личное время проверке сложных программ и афиш. Зато взамен они получали ценный опыт, первыми узнавали из исторических документов о нравах позапрошлых веков, любовались картинами знаменитых театральных художников — А.М. Васнецова, К.А. Коровина и других. И ощущали свою причастность к истории искусства балета и оперы.

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

© Habrahabr.ru