Корпус мансийского языка. Как мы научили Tesseract читать по-мансийски

Habr ·

Корпус мансийского языка. Как мы научили Tesseract читать по-мансийски

Паща о̄лэн, Хабр! (Привет, Хабр!) На связи снова Югорский НИИ информационных технологий (ЮНИИИТ). Продолжаем цикл статей о проекте «Корпус мансийского языка». В первой части мы рассказывали, как с нуля собрали 300 тысяч параллельных предложений и обучили нейросеть переводить с русского на мансийский и обратно. Сегодня поговорим о модели, которая умеет читать мансийский печатный текст. Это OCR, оптическое распознавание символов. Сразу о главном. Мы дообучили открытый движок Tesseract 5, и доля ошибочных символов упала с 18,5% до 0,85%. Это примерно в 20 раз меньше ошибок. Модель лежит в открытом доступе на Hugging Face , ей уже можно пользоваться. В статье расскажем: • почему готовые OCR-движки не справляются с мансийским текстом; • как собрать обучающую выборку, когда отсканированных книг почти нет; • как мы дообучали Tesseract и как проверяли качество; • какой точности удалось добиться и где взять модель. Зачем мансийскому языку OCR Большая часть мансийских текстов до сих пор существует только на бумаге. Это книги, учебники, сборники фольклора, подшивки газет. Чтобы эти тексты попали в корпус и стали обучающими данными для нейросетевого переводчика или языковой модели, их нужно превратить в цифровой текст. Перепечатывать вручную долго и дорого. Носителей языка мало, и их время лучше тратить на перевод и экспертизу. OCR решает эту задачу. Сканируем страницу, получаем текст, который можно искать, редактировать и добавлять в датасеты. Это работает не только у нас. Исследователи показали , что OCR помогает улучшить машинный перевод для 60 малоресурсных языков. Почему готовые движки не справляются Мансийская письменность построена на кириллице, но со своими особенностями. Из-за них у стандартного OCR возникают две проблемы: Проблема 1. Буквы, которых нет в русском алфавите Это долгие гласные с макроном (чертой над буквой), например а̄, о̄, ӯ, э̄, ы̄. Есть и отдельная буква ӈ, которой обозначают звук «нг». Долгота гласной в мансийском важна, и потеря макрона может превратить одно слово в другое. Мы попробовали стандартную русскую модель Tesseract. Буквы с макроном и ӈ она просто не знает. Черту над буквой модель теряет, а иногда превращает знакомую букву в мусор. На мансийском тексте русская модель ошибается примерно в 18 символах из 100. Для оцифровки корпуса это не годится. Проблема 2. Одна буква, разные коды Вторая проблема менее заметна глазу. Одну и ту же букву с макроном можно записать в Unicode разными способами. Мы уже сталкивались с этим при сборе корпуса для переводчика. Для человека буквы выглядят одинаково, а для модели это разные последовательности символов. Как мы с этим справились, расскажем в шаге 1 следующего раздела. Где взять дан Читать далее

Источник: Habr