Как распознать текст на казахском
Казахский у нас распознаётся наравне с русским и английским: пакет kaz установлен на сервере и выбирается прямо в форме. В онлайн-распознавании такое встречается заметно реже, чем поддержка русского. Но честнее сказать сразу и вторую половину: точность на казахском ниже. Обучающих данных для него у tesseract меньше, и специфические буквы — ә, ғ, қ, ң, ө, ұ, ү, һ, і — промахиваются чаще остальных, особенно на мягком сканировании.
Коротко о цифрах
- Языковой пакет
- kaz для tesseract 4.1.1, установлен на сервере
- Соседи по списку
- rus и eng — можно включать вместе с kaz
- Порядок языков
- кириллица первой: спорный глиф решается в её пользу
- Буквы с самым высоким риском
- ә, ғ, қ, ң, ө, ұ, ү, һ, і
- Причина более низкой точности
- обучающих данных для казахского меньше, чем для русского и английского
Почему казахский даётся движку тяжелее
Распознаватель не читает буквы — он сравнивает форму на картинке с тем, что видел при обучении. Чем больше примеров конкретной буквы в разных шрифтах и разном качестве печати попало в модель, тем увереннее она угадывает. Русский и английский собраны из огромных корпусов, казахский — из заметно меньшего, и это видно именно на буквах, которых нет в русском алфавите.
Вторая сложность — сами формы. Ұ и У различаются одной поперечной чертой, Ү и У — наклоном ветвей, І и I совпадают почти полностью, а ғ отличается от г короткой перекладиной. На чистом скане 300 DPI такие детали видны, на 150 DPI или на смазанной копии перекладина исчезает первой, и буква превращается в свою русскую соседку.
Что делать, чтобы результат был лучше
- Сканируйте на 300 DPI, а не на 150: именно тонкие элементы казахских букв пропадают первыми при снижении разрешения.
- В документе с русскими и казахскими фрагментами выбирайте оба языка сразу — прогонять файл дважды не нужно и вредно.
- Кириллица в списке языков идёт первой, поэтому спорный глиф решается в её пользу; для казахского это правильное поведение.
- Печатный документ распознаётся ощутимо лучше, чем распечатанная и снова отсканированная копия копии.
- После распознавания проверьте результат поиском по слову с ә или қ — именно там ошибки видны быстрее всего.
Как проверить казахский текст после распознавания
- Извлеките текст распознанного файла в TXT — так вы увидите слой целиком, а не через прорезь поиска.
- Прочитайте первый абзац: подмена ә на а и қ на к заметна сразу.
- Проверьте фамилии и топонимы — там ошибка дороже всего и исправлять её придётся вручную.
- Поищите в PDF слово с ұ или ү: если находится, слой лёг правильно.
- Если результат плохой на всём документе, дело почти всегда в исходнике: пересканируйте оригинал крупнее.
Частые вопросы
Нужно ли прогонять документ дважды, если в нём и русский, и казахский?
Нет, и второй проход только испортит дело. Выберите оба языка сразу: распознаватель получает их одним списком и решает по каждой букве, а два отдельных прогона просто перезапишут слой друг друга.
Почему казахские буквы превращаются в русские?
Ұ, ү, ғ и қ отличаются от русских соседок одной тонкой деталью — перекладиной или наклоном штриха. На низком разрешении эта деталь пропадает первой, и модель выбирает более частую букву из русского алфавита.
Поддерживается ли казахская латиница?
На сервере установлены только rus, kaz и eng, а пакет kaz обучен на кириллице. Латинскую казахскую запись движок будет пытаться прочитать английской моделью, и на специфических диакритиках он ошибётся.
Насколько точнее будет результат, если пересканировать документ?
Заметно точнее, если исходник был мельче 300 точек на дюйм или это была копия с копии. Обещать конкретный процент бессмысленно: результат зависит от шрифта, состояния бумаги и контраста печати.