Готовые пакеты решений (элайнеры)

На начальных этапах работы мы предполагали использовать элайнеры – готовые программные решения для задач по выравниванию параллельных текстов. Мы проводили эксперименты в Lingtrain Aligner, а также работали с Hunalign и его графическим интерфейсом LF-aligner. Рассмотрим каждый из инструментов в отдельности.

LF-aligner

LF-aligner является графическим интерфейсом для непосредственного элайнера Hunalign. Этот инструмент требует предварительной лемматизации обрабатываемых текстов. Подробнее о лемматизации можно почитать в соответсвующем разделе.

Алгоритм Hunalign решает задачу выравнивания лемматизированных текстов по предложениям или параграфам – что соответствует элементам молитв в нашем случае.

При работе с Hunalign возникает проблема, связанная с отсутствием возможности настройки параметров окна сравнения единиц текста, из-за чего инструмент показывает крайне низкое качество сведения при работе со сложной перекрестной структурой Цветной Триоди.

Что еще умеет Hunalign?

В Hunalign можно дополнительно подгрузить внешний словарь переводных эквивалентов – в таком случае, алгоритм будет использовать его, комбинируя словарные данные с информацией о длине предложения по алгоритму Гейла-Черча.1

В отсутствии внешнего словаря алгоритм сперва обращается к длине предложения, а затем автоматически генерирует словарь на основе результатов первичного выравнивания по длине. После этого Hunalign выравнивает текст повторно, используя сгенерированные словарные данные

Lingtrain-aligner

Среди преимуществ работы с Lingtrain Aligner стоит отметить нетребовательность инструмента к предварительной подготовке текстов, а также относительную простоту запуска алгоритмов выравнивания.

Пользователю не требуется осуществлять токенизацию и лемматизацию текста. Необходимо лишь определенным образом разметить текст и убедиться, что он соответствует следующим параметрам:

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

Работать с подготовленными корпусами можно из python при помощи библиотеки lingtrain-aligner.

html-книга

Предварительная разметка текста оказывается полезной не только для выравнивания в элайнерах, но также помогает при создании визуализации результатов – html-книги с параллельными текстами.

Формат выдачи результатов в виде html-книги, предусмотренный в Lingtrain, не является оптимальным для целей проекта на данном этапе, поскольку мы заинтересованы в получении словаря переводных эквивалентов на уровне отдельных гимнов или предложений, а также в оценке качества выравнивания.

Из 8 пар элементов верно свелась лишь одна: Τὸ Πνεῦμα τὸ ἄγιον… - Дух же Святый…

Неужели элайнеры для нас совсем не годятся?

В процессе работы с элайнерами мы поняли, что эти инструменты не подходят для выравнивания текстов Цветной Триоди. Будучи изначально составленными для более очевидных задач, алгоритмы элайнеров не справляются с темпоральной и перекрестной структурой наших текстов.

Однако, такой функционал как выдача результатов в виде html-книги с параллельным текстом может быть актуален в контексте настоящего проекта для оценки результатов при составлении “золотого датасета”

В репозитории доступен код Lingtrain для работы с текстами Цветной Триоди.


  1. В основе алгоритма лежит принцип, согласно которому эквивалентные предложения должны примерно соответствовать по длине: более длинные предложения на одном языке - более длинным предложениям на другом языке. Подробнее см. в статье Gale W., Church K. A program for aligning sentences in bilingual corpora (ссылка на статью).↩︎