В России создали алгоритм для перевода старой орфографии в современную

Сотрудники Института вычислительных технологий СО РАН разработали систему, которая позволяет переводить дореволюционные издания в современную русскую орфографию практически без участия человека. Алгоритм может выполнять рутинную работу редакторов и дает исследователям дополнительные инструменты для анализа текстов.
В России создали алгоритм для перевода старой орфографии в современную

Представьте, что вы решили оцифровать, а затем опубликовать книгу, которая была издана в дореволюционное время. Новейшие мощные сканеры, способные работать без участия человека, сами перелистывают страницы, современное программное обеспечение преобразовывает отсканированные страницы в текст, но он будет, естественно, в исходной старой орфографии. Это неудобно для потенциальной обработки документа, ведь большинство алгоритмов автоматического анализа работают только с произведениями в современной орфографии. Для этого и нужна система автоматического приведения текста в привычный для читателя вид.
 
Существует несколько подходов к преобразованию текстов из одной орфографии в другую: основанный на правилах, статистический, основанный на машинном обучении, нейронный машинный перевод, а также гибридный, который может сочетать перечисленные выше методы. Так как орфография — это совокупность четких правил написания слов, на основе которых может быть создан алгоритм перевода, исследователи выбрали правиловый подход. Всё усложняется тем, что до середины XX века орфография русского языка не была официально утверждена. «До революции появлялись орфографические справочники, на их основании писались гимназические грамматики, но нормы не были кодифицированы. Декрет Совета народных комиссаров от 10 октября 1918 года «О введении новой орфографии» был весьма краток, и описывал то, что требует изменения, далеко не полностью. Например, вышло так, что ижица (Ѵ) вообще не была упомянута», — рассказывает ведущий научный сотрудник ИВТ СО РАН доктор технических наук Владимир Борисович Барахнин.

Примеры основных правил, заложенных в работу переводчика
Примеры основных правил, заложенных в работу переводчика, Мария Фёдорова

Для разработки программы за основу был взят «Справочник по старой орфографии русского языка» П. И. Давыдова, изучившего и проанализировавшего значительное количество источников и литературы, в том числе учебники, словари и справочники, изданные в старой орфографии до 1917 года. В этом справочнике изложен ряд изменений, которые можно разделить на две большие категории: правописание морфем (приставок, падежных окончаний) и употребление отдельных букв. Кто-то может предположить, что достаточно заменить устаревшие буквы на современные и убрать твердые знаки в конце слов, но всё гораздо сложнее, потому что есть случаи, в которых правописание морфем отличается от нынешнего. Именно на основе перечисленных в справочнике норм дореволюционного правописания — с учетом послереволюционных новаций и был разработан переводчик.
 
В старом правописании морфем можно выделить несколько групп слов. Каждая из них характеризуется используемой устаревшей морфемой и морфологическими признаками, которыми обладают лексемы из этого класса. Исследователи сопоставили устаревшее и современное написание для каждой из групп и, выявив закономерности между ними, описали правила перевода, лежащие в основе программы. Изначальная идея состояла в том, что алгоритм должен определить, принадлежит ли входное слово к одной из групп, то есть найдена ли нужная морфема в слове и обладает ли оно соответствующими морфологическими признаками. Если это так, то к лексеме применяется правило перевода для той группы, к которой она относится. В противном случае слово остается без изменений. Чтобы осуществить это, необходим алгоритм морфологического анализа, но в процессе тестирования различных морфологических анализаторов для русского языка выяснилось, что они плохо справляются со словами в дореформенной орфографии. Поэтому необходим такой алгоритм перевода, который сможет обойти ошибки, допускаемые анализатором. 

Обобщенные различия между старой и новой орфографией
Обобщенные различия между старой и новой орфографией, Мария Фёдорова

Так родилась следующая идея: алгоритм предполагает, что входное слово принадлежит к той или иной группе только по одному из двух признаков — по наличию устаревшей морфемы. Если принадлежность установлена, алгоритм осуществляет перевод в соответствии с правилом для группы. Это приводит либо к успешному результату — слово переведено, либо к получению несуществующей или новой лексемы. Получившееся слово передается морфологическому анализатору. В первом случае морфологические признаки будут соответствовать тем, что указаны для определенной группы. Выполнение этого условия трактуется алгоритмом как успех — перевод выполнен. Во втором же случае признаки будут отличаться, если получилась новая словоформа, либо анализатор предоставит информацию о том, что разбор был сделан «эвристическим» способом (не по словарю, так как несуществующих слов в нем нет). При выполнении одного из этих условий, алгоритм возвращает прежнее написание, потому что входное слово на самом деле не принадлежит ни одной из групп. Это и есть первый этап перевода — исправление морфем. По его завершении, программа переходит к этапу замены устаревших букв. В качестве алгоритма морфологического анализа была выбрана библиотека pymorphy, разработанная на языке программирования Python. Она может анализировать слова и склонять их по заданным грамматическим характеристикам. Этот корпус опирается на данные словаря OpenCorpora (большой базы данных текстов на русском языке, которые уже разобраны усилиями добровольцев), а для незнакомых слов строит гипотезы.
 
Работу алгоритма можно рассмотреть на примере. Возьмем одну из групп: существительные III склонения в творительном падеже с окончанием -iю. Например, тростiю. Окончание -iю в этом слове должно быть заменено на -ью. Однако не только относящиеся к этой группе слова могли иметь такое окончание, например, эволюцiю. «В первом случае в результате применения правила перевода, мы получим верный результат — тростью. В ситуации со вторым словом получится несуществующая лексема — эволюцью. Наш алгоритм, проанализировав результат работы морфологического анализатора, увидит это и отменит примененное правило. После чего на втором этапе перевода произойдет замена устаревшей i на современную и, и мы получим верный перевод — эволюцию, — рассказывает магистрантка механико-математического факультета НГУ, инженер-программист ИВТ СО РАН Елизавета Тагирова. — Конечно, неизбежно останутся такие случаи, в которых эксперт должен будет решать, правильно сделан перевод или нет».

Схема алгоритма перевода
Схема алгоритма перевода, Мария Фёдорова

При тестировании алгоритма исследователи обнаружили в дореволюционном учебнике физики еще один интересный случай — слово концемъ (концом в современном виде). Алгоритм видит окончание и не подозревает, что это какая-то устаревшая морфема. Он просто убирает ъ на конце, но этого недостаточно. Этот пример не попадает в какую-либо категорию написания морфем, авторы не нашли такого ни в одном справочнике. Предположительно  написание объясняется тем, что когда-то ц обозначала мягкий звук. Чем старее текст, тем больше можно найти подобных примеров, требующих вмешательства эксперта в силу того, что не все правила кодифицированы. Как объясняет старший научный сотрудник ИВТ СО РАН кандидат филологических наук Ольга Юрьевна Кожемякина, в печатном слове традиции и инерция намного сильнее, чем в живой речи: «Мы допускаем, что на тот момент люди уже говорили концом, а писали всё еще в соответствии с традицией печатного слова. В культуре того времени печатные издания выступали эталоном».
 
Если говорить о применении алгоритма, то он создан с целью заменить не эксперта, а скорее корректора, для работы с большими объемами текстов. Сегодня программа еще не способна правильно анализировать случаи, которых нет в справочниках. Дальнейшая задача — доработать ее так, чтобы такие случаи были выявлены и получили решение. Сделать это можно несколькими способами. Во‑первых, проанализировать различные источники, выявить закономерности написания и дополнить существующий алгоритм новыми правилами. Этот вариант требует огромных временных и человеческих ресурсов, а также серьезной филологической оценки. Альтернативный вариант — использовать методы машинного обучения для сложных случаев, которые нигде и никак не формализованы, но могут быть учтены при обучении на корпусе параллельных текстов, в котором каждому документу в современной орфографии сопоставлен аналогичный, но в дореволюционном виде. Однако такой корпус на сегодняшний день пока еще не создан. «Если наш проект будет востребован массовыми пользователями в лице, например, библиотек с большим объемом дореволюционных фондов, то создание такого корпуса — задача ближайшего будущего», — говорит Елизавета Тагирова.

Материал предоставлен порталом «Наука в Сибири«