Все о Process Mining от ProcessMi
Все о технологии Process Mining — кейсы, термины, решения и аналитика. Российский и зарубежный опыт от группы экспертов ProcessMi
OCR — Оптическое распознавание символов

Оптическое распознавание символов – это особая технология, позволяющая трансформировать отсканированные файлы, PDF-документы и изображения в текстовые форматы с возможностью поиска и редактирования. Кроме того, в понятия “оптическое распознавание символов” сейчас вкладываются исследования в области Artificial intelligence, компьютерного зрения и распознавания образов.
Элементарный пример: партнер или клиент прислал вам бумажный документ (статья/брошюра/листовка/договор). Одной отсканированной версии вам будет недостаточно для изменения документа. Растровое изображение, чем и является скан, – совокупность множества цветных или черно-белых точек, не содержащая символов. Для извлечения и изменения данных необходимо специальное программное обеспечение, способное распознать и “разделить” символы, определить буквы и сформировать из них слова, правильно распределить их в предложения и абзацы. В дальнейшем это и даст возможность работать с информацией, содержащейся в исходном документе.
История
История оптического распознавания символов уходит в конец тридцатых годов прошлого века, когда немец Густав Таушек первым зарегистрировал патент на технологию оптического распознавания текста. Спустя двадцать лет, американский криптоаналитик Дэвид Шепард создал машину, которая решала подобные задачи. Впоследствии Шепард стал основателем компании, которая первая в мире выпустила собственные системы OCR. Одним из первых покупателей систем был журнал Readerʼs Digest, ставший одним из самых активных её пользователей.
Следующий виток развития OCR случился в 1974 году с созданием компании «Kurzweil Computer Products». Рэй Курцвейль, основатель, сделал акцент на развитие системы Optical Character Recognition, способной распознавать текст независимо от шрифта. Задумка заключалась в создании особой машины для незрячих людей, которая распознавала бы тексты и читала их вслух. Итоговый продукт был представлен в 1976 году, а в 1978 Курцвейль продал компанию Xerox Corporation.
В 1993 году на рынок вышел программный продукт для распознавания текста от ABBYY, получивший широкое распространение. В частности, на её основе была создана ABBYY FineReader. Технологию лицензируют крупнейшие мировые компании, среди которых EMC, Samsung и др.
Особенности и виды технологии
Источники данных могут быть разными – от сканов документов и фотографий отчетов до визиток, счетов-фактур и цифровых квитанций.
Как правило, алгоритм всех систем достаточно похож: OCR преобразует полученное изображение (скан, фото и т.д) при помощи палитры двух цветов, один из которых должен быть значительно темнее другого, поэтому чаще всего используется черно-белая гамма. Когда все страницы переведены в два цвета, начинается анализ: светлые участки документов определяются как фон, а темные – как совокупность символов, которые нужно распознать.
Существующие программы распознавания могут иметь разные методы работы, но, как правило, все они базируются на двух алгоритмах:
- проработка материала идет по примерам;
- анализ идет на основе прописанных правил относительно каждого знака. Программа оценивает отдельный символ с заданными параметрами начертания той или иной буквы/цифры. Например, заглавная буква “М” может обозначаться как две вертикальные линии, соединенные двумя диагоналями посередине.
На текущий момент существует несколько видов OCR-систем, которые отличаются по тонкостям, стоимости и скорости работы:
Как компьютер распознает символы

§ 2. Представление текстовой информации в компьютере
Всякий текст состоит из символов — букв, цифр, знаков препинания и т. д., — которые человек различает по начертанию. Однако для компьютерного представления текстовой информации такой метод неудобен, а для компьютерной обработки текстов — и вовсе неприемлем. Используется другой способ: все символы кодируются числами, и текст представляется в виде набора чисел — кодов символов, его составляющих. При выводе текста на экран монитора или принтер необходимо восстановить изображения всех символов, составляющих данный текст. Для этого используются кодовые таблицы символов, в которых для каждого символа устанавливается соответствие между его кодом и изображением. Все кодовые таблицы, используемые в любых компьютерах и любых операционных системах, подчиняются международным стандартам кодирования символов.
Основой для компьютерных стандартов кодирования символов послужил ASCII ( American Standard Code for Information Interchange ) — американский стандартный код для обмена информацией, разработанный в 1960-х годах и применяемый в США для любых видов передачи информации. В нём используется `7`-битное кодирование: общее количество символов составляет `2^7=128`, из них первые `32` символа — «управляющие», а остальные — «изображаемые», т. е. имеющие графическое изображение. Управляющие символы должны восприниматься устройством вывода текста как команды, например:
Cимвол
Действие
Английское название
Подача стандартного звукового сигнала
Затереть предыдущий символ
Конец текстового файла
End Of File (EOF)
Отмена предыдущего ввода
К изображаемым символам в ASCII относятся буквы английского (латинского) алфавита (заглавные и прописные), цифры, знаки препинания и арифметических операций, скобки и некоторые специальные символы. Фрагмент кодировки ASCII приведён в таблице.
Символ
Десятичный код
Двоичный код
Символ
Десятичный код
Двоичный код
Хотя в ASCII символы кодируются `7`-ю битами, в памяти компьютера под каждый символ отводится ровно `1` байт (`8` бит). И получается, что один бит из каждого байта не используется.
Главный недостаток стандарта ASCII заключается в том, что он рассчитан на передачу только текста, состоящего из английских букв . Со временем возникла необходимость кодирования и неанглийских букв. Во многих странах для этого стали разрабатывать расширения ASCII-кодировки, в которых применялись однобайтные коды символов; при этом первые `128` символов кодовой таблицы совпадали с кодировкой ASCII, а остальные (со `128`-го по `255`-й) использовались для кодирования букв национального алфавита, символов национальной валюты и т. п. Из-за несогласованности этих разработок для многих языков было создано по нескольку вариантов кодовых таблиц (например, для русского языка их около десятка).
Впоследствии использование кодовых таблиц было несколько упорядочено: каждой кодовой таблице было присвоено особое название и номер. Указав кодовую таблицу, автоматически выбирают и язык, которым можно пользоваться в дополнение к английскому; точнее, выбирается то, как будут интерпретироваться символы с кодами более `127`.
Для русского языка наиболее распространёнными являются однобайтовые кодовые таблицы СР-`866`, Windows-`1251`, ISO `8859-5` и КОИ-`8`. В них первые `128` символов совпадают с ASCII-кодировкой, а русские буквы помещены во второй части таблицы (с номерами `128-255`), однако коды русских букв в этих кодировках различны! Сравните, например, кодировки КОИ-`8` (Код Обмена Информацией `8`-битный, международное название «koi-`8`r») и Windows-`1251`, фрагменты которых приведены в таблицах на странице `13`.
Несовпадение кодовых таблиц приводит к ряду неприятных эффектов: один и тот же текст (неанглийский) имеет различное компьютерное представление в разных кодировках, соответственно, текст, набранный в одной кодировке, будет нечитабельным в другой!
Однобайтовые кодировки обладают одним серьёзным ограничением: количество различных кодов символов в отдельно взятой кодировке недостаточно велико, чтобы можно было пользоваться одновременно несколькими языками. Для устранения этого ограничения в 1993-м году был разработан новый стандарт кодирования символов, получивший название Unicode, который, по замыслу его разработчиков, позволил бы использовать в текстах любые символы всех языков мира.
В Unicode на кодирование символов отводится `32` бита. Первые `128` символов (коды `0-127`) совпадают с таблицей ASCII, все основные алфавиты современных языков полностью умещаются в первые `65536` кодов (`65536=2^16`), а в целом стандарт Unicode описывает все алфавиты современных и мёртвых языков; для языков, имеющих несколько алфавитов или вариантов написания (например, японский и индийский), закодированы все варианты; внесены все математические и иные научные символьные обозначения, и даже — некоторые придуманные языки (например, письменности эльфов и Мордора из эпических произведений Дж.Р.Р. Толкиена). Потенциальная информационная ёмкость Unicode столь велика, что сейчас используется менее одной тысячной части возможных кодов символов!
В современных компьютерах и операционных системах используется укороченная, `16`-битная версия Unicode, в которую входят все современные алфавиты; эта часть Unicode называется базовой многоязыковой страницей (Base Multilingual Plane, BMP).
Что такое OCR или Оптическое распознавание символов

OCR – это технология оптического распознавания символов и их извлечения из картинок, сканов и PDF-файлов. Технология обрабатывает символы и превращает их в код, который может быть прочитан компьютером. Каждый символ сканируется отдельно, поэтому в результате вы получаете полноценные редактируемые текстовые файлы, а не набор JPEG-картинок.
О технологии OCR нужно знать три основных пункта, которые скрыты в аббревиатуре:
Человек распознает символы с помощью глаз и мозга. Компьютер использует камеру сканера, которая создает графическое изображение страницы текста. Для компьютера нет разницы между сканом текстового документа и изображением: и то, и другое – набор пикселей.
Под символами мы понимаем любую композицию пикселей или элементов, которые образуют букву. Отличительная особенность технологии: она работает как с печатными шрифтами, так и с рукописными.
OCR использует комбинацию технологии и оборудования. Оптический сканер помогает создать цифровое изображение. Программное обеспечение OCR идентифицирует буквы на этом изображении и преобразует их в слова.
Этот метод работает путем идентификации символа в целом. Мы можем определить строку текста, найдя ряды белых пикселей с рядами черных пикселей между ними. Таким же образом мы можем увидеть, где начинается и заканчивается отдельный символ.
Программа распознавания преобразует файл изображения с символами в двоичную матрицу: белые пиксели – это 0, а черные – 1. Затем она сопоставляет символ с конкретной буквой шрифта.
Следующим шагом было повышение точности OCR. Позже для этого стали использовать искусственный интеллект.
Вы знаете, что взять слова с экрана компьютера и перенести их на физический лист бумаги довольно просто – достаточно нажать кнопку печати, и через несколько мгновений документ будет у вас в руках.
Но перенести отсканированный бумажный документ в ваш компьютер – на самом деле немного сложнее. Очевидно, что сканеры довольно понятны в использовании, но они, по сути, создают лишь цифровое изображение документа и сохраняют его в компьютере. Это изображение обычно не очень четкое из-за сжатия файла и частичек пыли в сканере.

Но самое главное – вы не можете редактировать отсканированные документы с помощью текстового редактора. Это происходит потому, что сканер не распознает каждый отдельный символ.
А вот как программное обеспечение OCR понимает, на что оно смотрит:
Процесс извлечения данных начинается после того, как вы загрузите документ.
Первый шаг – отсечь артефакты, чтобы программа OCR могла сосредоточиться на тексте – она удаляет дефекты изображения и графику.
Программа OCR выравнивает текст и преобразует любые цвета или оттенки серого на изображении в черно-белые. При этом черный цвет рассматривается как символы, а белый – как фон.
Следующий шаг – определить, какие символы находятся на странице. Более простые формы OCR сравнивают каждую отсканированную букву пиксель за пикселем с базой данных шрифтов и принимают решение о наиболее близком совпадении. Более интеллектуальная технология OCR разбивает каждый символ на элементы, такие как кривые и прямые линии. Он сопоставляет физические особенности и реальные буквы.
Иногда OCR также использует встроенный словарь, который помогает распознать слово, если в нем была допущена опечатка.
Когда символ идентифицирован, он преобразуется в код ASCII, который может быть использован компьютерными системами. Перед сохранением для последующего использования обработанные тексты необходимо проверить на наличие ошибок.
Как можно применить OCR?
Эта технология замечательна тем, что ее можно использовать в любой отрасли, где компании имеют дело с текстовыми данными. Так что, по сути, она подходит для всех отделов: финансового, юридического, продаж и маркетинга, HR, закупок.

Некоторые варианты использования OCR:
Сканирование печатных документов в версии, которые можно редактировать с помощью обычных редакторов текста.
Индексирование печатного материала для поисковых систем.
Автоматизированная обработка и ввод данных.
Расшифровка документов в текст, который может быть прочитан вслух для пользователей с нарушениями зрения.
Извлечение данных и передача в бухгалтерские программы (квитанции, счета).
Размещение важных подписанных юридических документов в электронной базе данных.
Сортировка писем для доставки почты.
Перевод слов в изображении на заданный язык.
Обеспечение поиска отсканированных книг.
Сегодня каждая компания старается повысить производительность, не тратя при этом много денег.
Вы можете помочь своим текущим и потенциальным клиентам повысить эффективность работы их команд с помощью OCR. Поверьте, эта технология значительно усилит ваше портфолио предоставляемых услуг.
Ваши клиенты знают, что производительность труда снижается, когда их команда завалена десятком бумажных документов. Обработка документов занимает много времени, особенно это касается PDF-файлов, которые нельзя скопировать, вставить или отредактировать.
OCR помогает извлекать данные из таких файлов и передавать их в нужные системы. Это сокращает количество рутинных задач бухгалтеров, юристов, менеджеров по продажам и других специалистов.
Оптическое распознавание символов позволяет командам ваших клиентов работать более продуктивно. Это очень важная часть автоматизации процессов. Они могут сэкономить много часов для сотрудников и позволить им сосредоточиться на увеличении дохода для компании.
Технология OCR может стать частью вашей модели “Автоматизация как услуга” (Automation-as-a-Service). RPA и OCR имеют много взаимодополняющих функций. Внедрив одну из технологий, компания рано или поздно примет на вооружение и вторую. Как поставщик IT-услуг, вы имеете больше шансов выстроить стабильный доход, предлагая эти две технологии вместе.
OCR помогает извлекать текст из любых изображений и файлов и редактировать его.
Любая компания может начать использовать OCR для сокращения ручного труда, что приведет к увеличению доходов.
OCR можно использовать вместе с другими инструментами автоматизации для повышения производительности.
