OCR (англ. optical character recognition, оптическое распознавание символов) — это технология автоматического анализа текста и превращения его в данные, которые может обрабатывать компьютер.
Когда человек читает текст, он распознает символы с помощью глаз и мозга. У компьютера в роли глаз выступает камера сканера, которая создает графическое изображение текстовой страницы (например, в формате JPG).
Для компьютера нет разницы между фотографией текста и фотографией дома: и то, и другое — набор пикселей.
Именно OCR превращает изображение текста в текст. А с текстом уже можно делать что угодно
В 1960-х годах был создан специальный шрифт OCR-A, который использовался в документах типа банковских чеков. Каждая буква в нем была одинаковой ширины (т.н. шрифт фиксированной ширины или моноширинный шрифт).
Принтеры для чеков работали с этим шрифтом, и для его распознавания было разработано программное обеспечение. Поскольку шрифт был стандартизирован, его распознавание стало относительно простой задачей.
Следующим шагом стало обучение программ OCR распознавать символы еще в нескольких самых распространенных шрифтах (Times, Helvetica, Courier и т.д.)
Оказалось, что буква "А" бывает разной
Появился второй способ - выявление признаков
Этот способ еще называют интеллектуальным распознаванием символов (англ. intelligent character recognition, ICR).
Можно использовать такое правило: если видишь две линии, сходящиеся наверху в центре под углом, а посередине между ними горизонтальная линия, то это буква «А». Это правило поможет распознать все буквы «А» независимо от шрифта. Вместо распознавания паттерна выделяются характерные индивидуальные черты, из которых состоит символ.
Большинство современных омнишрифтовых (умеющих распознавать любой шрифт) OCR-программ работают по этому принципу. Чаще всего в них используются классификаторы на основе машинного обучения (т.к. фактически перед нами стоит задача классификации картинок по классам-буквам) в последнее время некоторые OCR-движки перешли на нейронные сети.
Старый шрифт, пятна от кофе или чернил, заломы бумаги понижают шансы OCR.
Если исходное отсканированное изображение идеально, то все черное — это символы, а все белое — фон.
Сначала OCR-программа объединяет пиксели в возможные буквы, а буквы — в возможные слова. Затем система сопоставляет варианты слов со словарем.
Если слово найдено, оно отмечается как распознанное.
Если слово не найдено, программа предоставляет наиболее вероятный вариант и, соответственно, качество распознавания будет не таким высоким.
Некоторые программы дают возможность просмотреть и исправить ошибки.
Для этого они используют встроенную проверку орфографии и выделяют неверно написанные слова, что может указывать на неправильное распознавание.
Продвинутые OCR-программы используют так называемый метод поиска соседа, чтобы найти слова, которые часто встречаются рядом. Этот метод позволяет исправить неверно распознанное словосочетание «тающая собака» на «лающая собака».
Кроме того, некоторые проекты, которые занимаются оцифровкой и распознаванием текстов, прибегают к помощи волонтеров: распознанные тексты выкладываются в открытый доступ для вычитки и проверки ошибок распознавания.
Где заканчивается слово, где начинается новое?
FineReader XIX — платный софт для старых документов, книг и газет, напечатанных с 1600 по 1937 годы на английском, французском, немецком, итальянском и испанском языках старыми шрифтами, среди которых Fraktur, Schwabacher и Gothic
Проект OCR4all - бесплатный полуавтоматический рабочий ресурс, позволяющий пользователям выполнять распознавание текста даже на самых ранних печатных книгах. Центр филологии и цифровой науки "Kallimachos" в Вюрцбургском университете
Каждый почерк уникален
Расстановка пробелов - дело каждого. Бывают пробелы и между буквами, а бывает и нет
Высокая вероятность ошибок в исходном тексте
Рукопечатный текст (ICR) - такое правда существует. Тут доказательства
Кто: Норвежский Центр исторических данных (Norwegian Historical Data Centre)
Данные проекта: 801 тысяча опросных листов — формуляров размером 29.7x70.7 см, заполненных вручную с обеих сторон. 1,6 миллиона изображений в форматах jpeg и jpeg2000. В каждом формуляре могло быть зарегистрировано до 10 человек.
Каждая клетка с текстом анализируется с помощью 30 математических переменных, которые характеризуют текстовое изображение.
На основе этой информации клетки группируются в кластеры и далее анализируются с помощью интерактивного графического интерфейса
В процессе анализа на экран компьютера выводятся возможные варианты, например, мест рождений, которые похожи на изображения анализируемого кластера, а также вариант возможного транскрибирования
После этого оператор должен исключить ошибочно сгруппированные изображения и нажать «ОК» или изменить вариант транскрибирования остальных.
Это достаточно эффективный метод ручного управления транскрибированием миллионов изображений, содержащих информацию о месте рождения, поскольку число вариантов таких названий в сельской местности Норвегии ограничено. Добровольцы, привлеченные к транскрибированию источников этим методом, считают, что этот процесс также увлекателен, как и разгадывание Судоку, но в отличие от Судоку, транскрибирование имеет еще и большое практическое значение.
Поскольку автоматически транскрибировать эту информацию оказалось невозможно, пришлось сделать это вручную, оплатив услуги индийской компании Suntech. Передача в Индию изображений, содержащих информацию о дате рождения, не являлась нарушением закона о защите персональных данных, поскольку они никак не могли быть связаны с конкретными персонами. Спустя четыре месяца Suntech вернули таблицы с отформатированными датами рождения в шестизначном или восьмизначном формате. Выборочные проверки показали, что точность их транскрибирования находится в пределах допустимой погрешности — 3%.
Прорыв в деле распознавания изображений произошел в связи с использованием инструментария нейросетевых технологий глубокого обучения машин нового поколения. 353 000 распознанных машиной изображений использовались для обучения искусственной нейронной сети (ИНС), классифицирующей имена. Затем эту обученную ИНС применили для классификации оставшихся 3,4 миллионов не идентифицированных имен в переписи. Сеть предложила 10 наиболее вероятных имен, каждое с определенным числом баллов соответствия.
Кто: Ватиканский апостольский архив/Ватиканский секретный архив
Данные проекта: 53 линейных мили стеллажей Записи и документы обо всех действиях, предпринятых католической церковью за период более 12 веков Большинство документов Ватикана написаны от руки
Пример бумаги начала 1200 годов. Алгоритм не понимает, где заканчивается одна буква и начинается другая.
Команда набрала учеников в 24 школах Италии для обработки образцов текста
После того, как школьники отметили «за» на достаточном количестве примеров, программное обеспечение начало самостоятельно собирать кусочки мозаики и самостоятельно оценивать, какие буквы были там.
Google Lens. Рукописный текст
Транскрибус – похоже, единственная программа в открытом доступе, которая может распознать старые рукописи
Основная цель Транскрибуса - поддержать пользователей, которые занимаются транскрипцией печатных или рукописных документов, а именно гуманитарных наук, архивов, представителей общественности и компьютерных ученых
Транскрибус находится в ведении группы по оцифровке и сохранению цифровых данных (DEA) в Университете Инсбрука.
Проект READ (Транскрибус) финансируется Европейской комиссией в рамках проекта READ H2020 (2016-2019).
Транскрибус все еще находится в стадии разработки, и большая часть программного обеспечения имеет открытый исходный код
Это первая мировая открытая платформа для HTR, в которой уже зарегистрировались более 10 тыс. пользователей со всего мира.
HTR можно научить распознавать исторический материал любой датировки, языка, стиля от средневековых документов до современного английского.
Любая рукопись + любой печатный текст!
Вы даже можете придумать собственную письменность, Транскрибус поймет
Вы просто скачиваете программу и подбираете себе подходящую готовую модель.
Экспериментируете, добавляете словари, улучшаете качество изображения.
Если у вас есть больше 100 листов текста со схожим почерком, а лучше с одинаковым, то:
-
Вручную, своими глазами нужно транскрибировать с уровнем 90 — 100 % достоверности около 20 000 знаков текста (70 листов).
-
Написать письмо в команду Транскрибуса и приложить распознанные тексты (изображение + текст). Сейчас появилась опция сделать это прямо в программе.
-
Команда Транскрибуса посмотрит на ваши материалы, оценит их валидность и обучит нейронную сеть, сделает вашу модель.
Тут подробно расписан этот механизм
Просто зайдите сюда и зарегистрируйтесь в системе
А потом скачайте программу
Распакуйте архив с программой и запустите файл Transkribus.exe
Теперь введите свой логин и пароль (вы придумали его при регистрации)
Теперь можно просто посмотреть перевод (спасибо ranslate.google) официальной инструкции от Транскрибуса
Или смотреть в монитор:)
Системный блокъ. Из пикселей — в буквы: как работает распознавание текста
Wikipedia. Optical character recognition
Abbyy. Полный набор технологий распознавания
Robo-hunter. Как работают нейронные сети: о сложной системе простыми словами
The Atlantic. Artificial Intelligence Is Cracking Open the Vatican's Secret Archives