Почему так трудно распознать рукописный текст — и как эту задачу решают сегодня
Какие проблемы возникают при распознавании
Научить нейронную сеть распознавать даже печатный текст — уже задача не из простых. Ведь буквы между собой неоднородны: они могут различаться по цвету, толщине и размеру. А модель должна учитывать все эти тонкости.
При работе с рукописным текстом сложности сохраняются — и появляются новые.
Отсутствие единого образца. У всех людей разный почерк, а ещё он может меняться даже у одного и того же человека — например, в зависимости от настроения. Можно написать одну и ту же букву в одном слове по-разному — как прописную и как печатную, а можно сделать разные буквы очень похожими, например «и», «к», «н» и «п». Способов написать один символ в рукописном тексте гораздо больше, чем в печатном, и от этого сложность распознавания повышается.
Написание букв в связке. В рукописном тексте символы соединяются между собой. Из-за этого их написание будет зависеть от стоящих рядом букв — и, следовательно, меняться от слова к слову. А сам текст при этом очень трудно разделить на отдельные символы, чтобы модель распознала каждый и потом соединила их в слова и предложения. Поэтому приходится обучать её распознавать слова целиком и учитывать контекст рядом стоящих символов.
Сейчас вопрос стоит шире: не просто научить нейросеть распознавать рукописный текст, а сделать так, чтобы она справлялась с этой задачей лучше людей. Сложно сказать, что это уже так. Но, например, при классификации изображений в некоторых доменах нейронка ошибается с меньшей вероятностью, чем человек. Если машина может сделать что-то лучше, точнее и быстрее, то почему бы не попробовать?
Женя Карташев, ML-инженер в службе компьютерного зрения Яндекса
Визуальные помехи. Буквы могут быть перечёркнуты или написаны друг поверх друга, чернила могут оставить кляксы в тексте или выцвести со временем — и тогда даже носителю языка будет сложно распознать, что же написано.
Тем не менее современные ML-инженеры смогли преодолеть эти трудности и вывести качество распознавания рукописного текста при помощи нейросетей на довольно высокий уровень.
О том, в каких сферах удалось добиться наибольших успехов, рассказываем далее.
Оцифровка архивов
Информации в открытых источниках может оказаться недостаточно для ответа на некоторые вопросы. Особенно остро это ощущается в генеалогических исследованиях. В этом случае нужно или потратить много времени и сил на посещение архивов и работу с летописями, или перепоручить эту непростую задачу специалисту.
Чтобы облегчить изучение родословной, разработчики из OCR-службы Яндекса создали проект «Поиск по архивам». При помощи компьютерного зрения для него было оцифровано более 15 млн архивных документов. Именно по ним и осуществляется поиск: для запуска достаточно просто вбить в строку фамилию и регион проживания.
В ответ сервис выдаст весь перечень документов, где упоминается заданная фамилия. Текст со всех сканов продублирован в печатном виде, чтобы пользователю не пришлось разбираться в почерке и старых символах.
Почему это важно. Оцифровка архивных документов делает взаимодействие с ними проще и удобнее. Например, вместо самостоятельного поиска по странице можно просто нажать Ctrl + F — и компьютер сам найдёт нужную информацию. Кроме того, бумажный носитель недолговечен и может быть повреждён, а цифровые копии архивов способны продлить им жизнь.
Оцифровка архивов помогает найти своих родственников быстро и безболезненно. Это экономит и силы, и время, и деньги на перевод. А благодаря тому, что это можно сделать через интернет, эта опция ещё и становится доступной для всех людей.
Женя Карташев, ML-инженер в службе компьютерного зрения Яндекса
Обработка документов
Стремление к оцифровке распространилось от архивов к отчётности. Действительно, обрабатывать различные заявления и декларации в электронном виде гораздо удобнее, чем постоянно разбираться с новым почерком. Поэтому сейчас во многих странах, в том числе в России, некоторые виды документов, такие как налоговые декларации, можно подать в онлайн-формате.
Но далеко не везде есть такая возможность. Например, в Индонезии налоговые декларации всё ещё заполняются от руки. Однако обрабатывает их не человек, а компьютерное зрение. Оно распознаёт рукописный текст и переводит его в электронный формат, чтобы в дальнейшем с документом было удобнее работать.
Почему это важно. У многих жителей Индонезии нет постоянного доступа к компьютерам. Но благодаря распознаванию рукописного текста это не стало препятствием на пути к цифровизации налоговой системы, и обработка документов значительно ускорилась.
Установление личности по почерку
Иногда нужно распознать не только что написано, но и кто писал — например, если это подпись на документах. Это поможет определить личность подписавшего, убедиться, что подпись поставил именно он.
Для этого итальянская компания Namirial разработала GraphoKit — планшет, на котором пользователь оставляет свою подпись при помощи стилуса и тем самым подписывает документы. Устройство фиксирует скорость написания, давление пальцев на стилус и движения руки в воздухе. Всё это составляет биометрическую базу, на основе которой определяется личность. Так технология обеспечивает дополнительную защиту от подделки документов и подписей.
Почему это важно. Распознавание подписи ускоряет работу с документами. Если клиенту нужно подписать несколько бумаг и их экземпляров, ему достаточно оставить свою подпись на планшете всего один раз. А сотрудникам не нужно тратить время на поиск нужных документов, потому что все они оцифрованы и легко находятся в системе. И ещё, как заявляют разработчики, такой подход позволяет сократить использование бумаги, что положительно влияет на экологическую ситуацию.
Сортировка почты
Несмотря на развитие коммуникационных технологий, бумажная почта всё ещё пользуется популярностью. Доставку такого письма обеспечивают не серверы и провайдеры, а люди и их ручной труд. Но иногда писем оказывается так много, что сотрудники почтовых отделений не справляются с объёмом, тратят на обработку очень много времени и в результате задерживают отправку.
Решить эту проблему с помощью распознавания рукописного текста удалось в США. Центр передового опыта в области анализа и распознавания документов (CEDAR) разработал систему, которая распознаёт адрес, написанный отправителем на конверте, и в зависимости от этого сортирует письма для отправки.
Изначально системе нужно было распознавать весь адрес целиком, из-за чего правильный результат достигался только в 10% случаев. Однако разработчики решили, что можно распознавать только порядковый номер улицы и почтовый индекс, так как с цифрами система справлялась лучше. На основе этих данных в системе формируется список возможных названий улиц, и ей остаётся только выбрать нужную. Благодаря этому изменению вероятность ошибки в распознавании адреса сократилась всего до 2%, а система используется теперь не только в Штатах, но и в Великобритании и Австралии.
Почему это важно. Распознавание рукописного текста обеспечило автоматизированную сортировку писем. Это не только сократило время доставки почты, но и снизило нагрузку на почтовых сотрудников.
Наверное, одна из самых интересных и актуальных сфер, в которых сейчас применяется OCR, — это визуальные языковые модели (VLM). Последние два года они активно развиваются во всём мире, в том числе в Яндексе. Их ещё называют мультимодальными, потому что они умеют работать с разными видами данных — например, с текстом и изображениями одновременно. Можно отправить такой модели картинку и попросить посчитать, сколько на ней котов, а можно дать ей скриншот с текстом и попросить перевести с одного языка на другой.
Но в обоих случаях модель будет видеть набор пикселей. А OCR позволит распознавать в этом наборе текст и тем самым повысит качество работы VLM. Поэтому сначала нужно распознать весь текст с картинки, затем подать модели запрос пользователя, саму картинку и всё, что из неё вытащил OCR.
И такая возможность — это не просто весело. Это необходимо и полезно, потому что сейчас вокруг нас очень много разных документов, графиков и бумаг с текстом. В таком формате с ними работать гораздо быстрее и удобнее. И это настолько актуально, что в Яндексе даже появилась отдельная команда, которая занимается именно распознаванием текста для VLM.
Женя Карташев, ML-инженер в службе компьютерного зрения Яндекса