Abbyy finereader engine что это

Обновлено: 05.07.2024

Одна из областей, в которых отставание Linux от Windows считается значительным и трудно преодолимым, является оптическое распознавание текста. Так как необходимость распознать текст время от времени появляется практически у каждого пользователя компьютера, потребность в программном обеспечении такого рода надо признать актуальной проблемой. В связи с этим недавно я решил потратить немного времени и провести сравнительное тестирование имеющихся систем оптического распознавания текста (OCR), доступных в Linux. Для полноты картины рассматривались как локально устанавливаемые программы, так и онлайновые сервисы.

Методика тестирования

ABBYY FineReader for Linux

В процессе установки программа запросила ключ, после чего благополучно активировалась. Программа имеет множество ключей командной строки, позволяющих гибко настроить параметры распознавания. Я использовал команду вида:

В целом здесь все понятно. Ключи -if и -of задают распознаваемый файл и файл, в который записывается результат работы программы. С помощью -f задается формат вывода. Необходимо отметить, что если в тексте имеются слова на иностранном языке, необходимо обязательно задать его вторым после ключа -rl. В противном случае программа будет пытаться распознать все на русском.

ABBYY Fine Reader Online

Для полноты картины необходимо рассмотреть еще один продукт от ABBYY - онлайновый сервис ABBYY Fine Reader Online . Ранее он позволял после несложной регистрации распознавать бесплатно до 10 страниц в день, теперь же бесплатно можно распознать только три страницы сразу после регистрации, после чего необходимо платить. Минимальный пакет стоит 3$ за 20 страниц. Сервис поддерживает большое количество языков и форматов файлов.

Cuneiform

На второе место по известности среди систем OCR можно смело поставить программу cuniform. Первоначально программа CuneiForm была разработана компанией Cognitive Technologies как коммерческий продукт. CuneiForm поставлялся с некоторыми моделями сканеров. Однако после нескольких лет перерыва разработки, 12 декабря 2007 года анонсировано открытие исходных текстов программы, которое состоялось 2 апреля 2008 года.
По умолчанию в Ubuntu 10.10 доступна достаточно старая версия 0.7. Однако после добавления соответствующего PPA можно стать обладателем версии 1.0. Для Cuneiform написаны два графических интерфейса - YAGF и Cuneiform-Qt .
Для тестирования я использовал версию 1.0.0, установленную из вышеуказанного PPA. Распознавание производилось с помощью команды вида:

В руководстве cuneiform приводится опция --fax, которая включает оптимизацию работы программы для распознавания документов, переданных с помощью факса, однако при ее использовании результат получается хуже, поэтому я не привел его в таблице.

GOCR - это свободная кроссплатформенная система оптического распознавания текстов, работающая из командной строки. Программа пока находится в ранней стадии разработки, поэтому имеет ряд серьезных недостатков (например, распознает только одноколоночный текст). Кроме того, изучение man-страницы показало, что опций, позволяющих задать язык распознавания, программа не имеет, что подтвердилось экспериментом - русский текст gocr пытается распознать как английский. Естественно, в таблицу я данную программу включать не стал.

Ocrad

Tesseract

Tesseract - свободная программа для распознавания текстов, разрабатывавшаяся Hewlett-Packard с середины 1980-х по середину 1990-х. Затем ее разработка была заморожена на 10 лет. В августе 2006 г Google купил её и открыл исходные тексты под лицензией Apache 2.0 для продолжения разработки. В настоящий момент программа уже работает с UTF-8, поддержка языков (включая русский с версии 3.0) осуществляется с помощью дополнительных модулей.
Так как в репозиториях Ubuntu присутствует 2-я версия программы, а русский язык поддерживается только с релиза 3.0.0, программу я собирал из исходных текстов по инструкциям, найденным в сети.
Итак, скачиваем здесь архив с исходными текстами (в моем случае это tesseract-3.00.tar.gz, но с выходом новых версий название может быть другим), распаковываем его и переходим в директорию с исходными кодами.
Для корректной работы tesseract необходим пакет leptonica - ПО с открытым исходным кодом, необходимое для приложений, работающих и анализирующих изображения. Устанавливаем его:

Кроме того, для работы tesseract необходимо установить следующие пакеты: libpng12-dev, libjpeg62-dev, libtiff4-dev, zlib1g-dev, libtool build-essential. Устанавливаем и их, а затем из директории с исходным кодом начинаем конфигурирование и сборку программы:

При подтверждении опций необходимо изменить имя пакета (номер 2) на tesseract-ocr.

изменение имени пакета на tessract-ocr

Все остальные опции принимаем по умолчанию. В результате будет установлен tesseract 3.0, а также собран deb-пакет, поэтому в следующий раз программу можно будет устанавливать обычным способом с помощью GDebi.
С первого раза программа у меня не собралась, пожаловавшись на отсутствие каталога /usr/local/share/tessdata. После того, как я создал его вручную, процесс завершился благополучно.
Теперь необходимо скачать с сайта программы пакет поддержки русского языка (rus.traineddata.gz), распаковать его и скопировать содержимое архива (а это должен быть один файл rus.traineddata) в директорию /usr/local/share/tessdata/.
Изображения перед распознаванием необходимо прнобразовать в формат tiff.
Для распознавания я использовал команду вида:

Если программа не заработала и возникают ошибки, связанные с отсутствием необходимых библиотек или правами доступа, выполните следующие команды:

Теперь все должно работать.
Для tesseract имеется графический интерфейс tesseract-gui , который тоже надо собирать из исходного кода. У меня он запустился, но распознавать текст почему-то не захотел. Еще есть система OCRopus , которая может использовать движок tesseract. Собственно поэтому я ее отдельно рассматривать не стал.

SILVERCODERS OCR Server

Данная программа представляет собой мощную коммерческую серверную систему распознавания, предназначенную для предприятий и поддерживающую 189 языков, среди них и русский. Она разработана специально для интегрирования в корпоративные системы документооборота. Триальной версии для свободного скачивания нет, поэтому опробовать мне эту систему не удалось.

Free OCR

Free OCR - бесплатный онлайн-сервис для оптического распознавания текста, использующий движок tesseract. Размер загружаемого изображения ограничен 2 Мб. Поддерживаются форматы JPG, GIF, TIFF BMP и PDF (только первая страница, в скором времени обещают поддержку первых 10 страниц). Также, существует лимит на 10 изображений в час.
Сервис распознает множество языков - русский, украинский, английский, немецкий, французский, турецкий, большинство восточноевропейских языков.

img2txt

img2txt - многоязычный онлайн-сервис для оптического распознавания текста. Поддерживаются форматы JPG, PNG, TIFF с размером файла до 2 Мб. В будущем обещают поддержку PDF и DJVU. На Википедии сервис обозначен как коммерческий и проприетарный, однако на самом сайте никакой информации об типе лицензии и используемом движке нет. Мои три тестовые страницы распознались без проблем. Никакой оплаты или хотя бы регистрации не просили.

OnlineOCR

NewOCR

NewOCR - бесплатный OCR сервис, поддерживающий 29 языков распознавания, включая русский. Позволяет загружать файлы в форматах JPEG, PNG, GIF, BMP, многостраничный TIFF размером до 5 Мб, а также многостраничные PDF размером до 20 Мб. Поддерживается многоколоночное форматирование текста.

Кроме того, необходимо отметить, что на рынке имеется еще одна коммерческая система распознавания от компании vividata , однако стоимость этой программы составляет $2400 (!) плюс по $100 за каждый дополнительный язык, отдельная плата, например, за модуль вывода в PDF ($1200) и т.д., поэтому я даже не стал заморачиваться с ее установкой. Ко всему прочему программа видимо очень давно не обновлялась (файлы в установочном архива датируются 2001 годом) и сами разработчики сомневаются в том, что она заработает на современных дистрибутивах. Поэтому тестировать vividata я не стал.
Также я решил включить в таблицу Google Docs, так как эта служба в настоящее время также позволяет производить распознавание русского текста. По имеющимся данным она использует tessract, однако нельзя исключить, что в своем сервисе Google использует какие-нибудь дополнительные наработки, поэтому интересно сравнить ее с остальными.

Результаты сравнительного тестирования систем оптического распознавания

Программа (сервис) Точность распознавания, %
Образец 1 Образец 2 Образец 3
FineReader for Linux 100% 100% 87%
FineReader Online 100% 100% 94%
Cuneiform 1.0.0 94% 94% 17%
Tesseract 3.0.0 97% 98% 5%
Free OCR 96% 93% 61%
img2txt 96% 94% 24%
NewOCR 94% 94% 41%
Google Docs 93% 96% 58%

Выводы

Результаты, приведенные в таблице, показывают, что при хорошем качестве распознаваемого материала все участвовавшие в тестировании программы обеспечивают высокое качество распознавания, причем снижение разрешения с 300 до 200 dpi практически не влияет на результат. В то же время при распознавании некачественного материала ABBYY Fine Reader явно вырывается вперед, что неудивительно, учитывая ресурсы, задействованные в разработке данного приложения. Однако в целом можно отметить, что широко распространенное суждение о том, что для Linux нет хороших систем оптического распознавания текста, сегодня уже не выдерживает критики.
Для нерегулярного домашнего применения подойдет любая из представленных в обзоре бесплатных систем, а для организации, деятельность которой связана с частым использованием систем распознавания, особенно если дело касается факсов и другого материала посредственного качества, стоит подумать о покупке Fine Reader, тем более, что открытый API позволяет интегрировать его в любую корпоративную систему документооборота.

Сделав небольшой перерыв в разговоре о реализации в приложениях полнотекстового поиска, мы поговорим о решении ничуть не менее интересном - оно предназначено для реализации распознавания символов и штрих-кодов на изображениях. Думаю, что большая часть наших читателей уже слышала если не о самом этом продукте, то уж, по крайней мере, о его производителе.


Вступление

Не думаю, что стоит долго растекаться мыслью по древу, рассказывая о том, где может пригодиться оптическое распознавание символов и штрих-кодов. Практически в каждом приложении, где предусмотрена работа с каким-либо текстом, да и вообще с вводимыми пользователем данными, поддержка технологий распознавания печатных (OCR) и рукописных (ICR) символов, меток (OMR) и штрих-кодов будет не лишней. Другое дело, что разработка "с нуля" собственного "движка" для распознавания всего этого является, скажем прямо, далеко не самой тривиальной задачей. Именно поэтому нужны какие-то сторонние средства. Какие-то? Качественные. Имя компании ABBYY, когда речь идет о технологиях оптического распознавания, вспоминается само собой. Так что обращение к предлагаемым ею продуктам для разработчиков - это не столько случайность, сколько, я бы сказал, закономерность. Что ж, с таким посылом и приступим к знакомству.


Вначале о главном.

Что ж, чисто технические детали (по крайней мере, наиболее важные из них) мы с вами обговорили. Теперь пора поговорить о моменте не менее важном для продукта, заявляющего поддержку оптического распознавания символов, - то есть о том, какие символы он может распознавать.

Языков в арсенале ABBYY FineReader Engine очень много, и основных из них 37. Перечислять не буду - список можно увидеть на сайте компании ABBYY. К ним примыкают еще семь языков со словарной поддержкой, 5 языков для распознавания документов, напечатанных в XVII-XIX столетиях (с морфологической поддержкой), и 133 дополнительных языка, использующих латинский, кириллический или греческий алфавиты. Также возможно распознавание текста на 4 искусственных языках (эсперанто, интерлингва, идо, оксиденталь), 6 языках программирования (Basic, C/C++, COBOL, Fortran, JAVA и Pascal), поддерживаются простые химические формулы и цифры. Возможно распознавание различных типов текста: типографская печать, печатная машинка, матричный принтер, MICR (E13B), MICR (CMC7), OCR-A, OCR-B и предусмотрены средства для создания пользовательских языков.

Но и на этом возможности SDK не заканчиваются - ведь до сих пор речь шла только о печатном тексте, а есть еще и рукописный. Конечно, рукописный текст есть рукописный текст, и далеко не всякий его сможет распознать, даже такая мощная штука, как ABBYY FineReader Engine. И, тем не менее, ABBYY FineReader Engine 9.0 распознает тексты, написанные печатными буквами от руки (ICR) на 113 языках (китайского среди них нет).


Штрих-коды

Отдельно стоит сказать насчет распознавания штрих-кодов. Есть, конечно, масса библиотек, в том числе и бесплатных, "заточенных" именно под работу со штрих-кодами. Но если вы решили, что вам нужен OCR, то можно, что называется, за компанию воспользоваться и этой возможностью рассматриваемого нами сейчас решения для разработчиков.

ABBYY FineReader Engine поддерживает распознавание как одномерных, так и двумерных штрих-кодов. Одномерные - это Check Code 39, Check Interleaved 25, Code 128, Code 39, EAN 13, EAN 13 Supplemental, EAN 8, Interleaved 25, CODABAR (без контрольной суммы), UCC Code 128, Code 2 of 5 (Industrial, IATA, Matrix), Code 93, UPC-A, UPC-E и Postnet. Двумерные - PDF 417, Aztec, Data Matrix, QR Code.

Пару слов скажу и об OMR (оптическом распознавании меток). Как пишут разработчики продукта, в нем есть поддержка распознавания одиночных меток и групп меток, причем при распознавании корректно обрабатываются как ошибочно выбранные, так и полностью закрашенные метки.


Что, кроме распознавания?

Распознавание - это, без сомнения, самый важный из всех этапов работы "движка" над "скормленным" ему документом. Но этот этап далеко не единственный; более того, он даже не первый из всех. Фактически, ABBYY FineReader Engine предлагает все те же этапы обработки отсканированного (или любого другого) изображения, что и "коробочный" продукт компании ABBYY - FineReader.

Перед непосредственным распознаванием в девяти случаях из десяти более чем полезно провести предварительную обработку распознаваемого изображения. Этот этап включает в себя такие действия, как устранение перекосов, разделение двойных страниц, удаление "мусора" (очистка изображения), фильтрация текстуры, масштабирование изображения, автоматическое определение угла поворота страницы (90, 180, 270 градусов), очистка изображения в пределах текстового блока, изменение цветов текста и фона в прямоугольных областях. И все это, само собой, поддерживает ABBYY FineReader Engine.

Следующий этап - это анализ структуры документа. Он необходим для автоматического преобразования документа с сохранением форматирования, распознавания отдельных зон документа с разметкой блоков вручную, а также для обработки форм. С помощью анализа можно определить ориентацию страницы, обнаружить текстовые блоки, таблицы, штрих-коды и картинки; обнаружить в ячейках таблиц текст с вертикальным направлением. Есть и специальные виды анализа - анализ документа для счетов и анализ документа для полнотекстового индексирования. Первый вид анализа, как пишут разработчики ABBYY FineReader Engine, предназначен для предварительной обработки документов, расположение элементов которых неодинаково для разных документов одного типа. Второй - для тех случаев, когда нужно "залпом" обработать всю текстовую информацию, содержащуюся на странице, включая ту, которая находится внутри изображений, графиков, диаграмм и т.п.


Немного о форматах

Что очень приятно, ABBYY FineReader Engine умеет принимать на входе информацию в различных графических форматах и выдавать на выходе её также в различных форматах - текстовых или околотекстовых. Список форматов достаточно, надо сказать, внушительный как с одной, так и с другой стороны.

В качестве входных форматов "движок" способен принимать PDF (версия 1.6 или более ранние), включая архивный формат PDF/A; BMP; PCX, DCX; JPEG и JPEG 2000, part1; PNG, TIFF в разных своих палитрах и способах сжатия, в том числе и многостраничный; GIF и даже DjVu.

На выходе можно в готовом виде получать распознанные данные в форматах Microsoft Word (.DOC), Rich Text Format (.RTF), Microsoft Word XML (.XML для Microsoft Office Word 2003), Microsoft PowerPoint (.PPT), Microsoft Excel (.XLS), в XML-форматах Microsift Office 2007 (.DOCX, .XLSX, .PPTX), в PDF, PDF/A (включая компрессию). Можно выбрать в качестве выходного формата также и обычный текст, HTML или CSV, а также DBF. При этом для обычных текстовых форматов ABBYY FineReader Engine поддерживает различные кодовые страницы (Windows, DOS, Mac, ISO) и кодовые страницы Unicode (UTF-16, UTF-8).

Впрочем, если вы не хотите получать из одного документа на входе другой документ на выходе, продукт предлагает достаточно мощные API, которые позволят работать с распознанными объектами на более низком уровне. Эти API предоставляют доступ к полной информации о каждом распознанном символе, реализуют функции редактирования и форматирования распознанного текста перед экспортом, позволяют реализовать различные уровни сохранения форматирования текста при экспорте во внешние приложения.


Вместо выводов

Что ж, как видите, ABBYY FineReader Engine - действительно мощное решение для встраивания поддержки оптического распознавания символов и других объектов в различные приложения. Конечно, может быть, вы найдете какой-то более соответствующий вашим потребностям аналогичный продукт, но, скорее всего, большинство остановится именно на ABBYY FineReader Engine - потому что он этого реально заслуживает.


Несмотря на прогнозы о скором наступлении светлого безбумажного будущего, объём бумажных документов всё ещё огромен. Часть из них сканируется и продолжает свою «жизнь» уже в электронном варианте – но только в виде изображений. В среднем в организациях объем сканированных копий составляет 30% от всех документов , которые хранятся в электронном виде. В госсекторе он достигает 41,5%, в ритейле – 17%, в сфере услуг – 23%, в банках и телеком-сфере приближается к 45%. Когда сканы документов лежат себе в нужной папке или делают работу, для которой они предназначены, – это хорошо. Плохо, когда кто-то пытается использовать данные из этих сканов в мошеннических схемах или как-то иначе злоупотреблять ими. Чтобы конфиденциальная информация не «утекла», в информационные системы компаний устанавливают DLP – системы предотвращения утечек.

Контур информационной безопасности SearchInform предназначен для контроля информационных потоков в рамках локальной вычислительной сети. Контроль возможен двумя способами, в зависимости от используемого серверного компонента: в сети, либо на рабочих станциях пользователей. Серверные компоненты представляют собой платформы, на которых работают модули перехвата данных. Каждый модуль перехвата выступает в роли анализатора трафика и контролирует свой канал передачи данных.

Первый модуль перехватывает и при необходимости блокирует информационные потоки на уровне сети. Он позволяет работать с зеркалируемым трафиком, прокси-серверами, почтовыми серверами и прочим корпоративным ПО, например, Lynс. Сетевой трафик перехватывается на уровне сетевых протоколов (почта, интернет, мессенджеры, FTP, облачные хранилища). Второй – перехватывает и блокирует информацию с помощью агентов, которые устанавливаются на компьютеры сотрудников. При этом контролируются: интернет, корпоративная и личная электронная почта, все популярные мессенджеры (Viber, ICQ, и др.), Skype, облачные хранилища, FTP, Sharepoint, вывод документов на принтеры, использование внешних устройств хранения. Контролируется файловая система, активность процессов и сайтов, информация, отображаемая на мониторах ПК и улавливаемая микрофонами, нажатые клавиши, доступно удаленное онлайн-наблюдение за ПК.

Система также позволяет индексировать документы «в покое» — на рабочих станциях пользователей или сетевых устройствах – и может индексировать любую текстовую информацию из любых источников, которые имеют API или возможность подключения через ODBC.

Конфиденциальную информацию, которая не должна «утечь» система ищет разными способами: по ключевым словам с учётом морфологии и синонимов, по фразам с учетом порядка слов и расстояния между ними, по атрибутам или по признакам документов (формату, имени отправителя или получателя и др.). Алгоритмы анализа настолько чувствительны, что способны найти даже серьезно измененный документ, если он близок по смыслу или содержанию с «эталоном»

В системе можно задавать политики безопасности и следить за их исполнением. DLP умеет собирать статистику и создает отчеты по случаям нарушения политик безопасности.

Архитектура системы – для интересующихся – хорошо описана в этом обзоре, не будем повторяться.

Большую часть задач в DLP решает анализ текста. Но, как мы помним, во многих компаниях хранится и передаётся по разным каналам большое количество сканов (изображений) документов. Если оставить картинку «как есть» – картинкой, DLP-система не сможет с ней работать.

DLP-система SearchInform и раньше была оснащена технологией OCR. Но этот движок имел серьезные недостатки как в качестве распознавания, так и в скорости. Разработка собственного движка для SearchInform смысла не имела, потому начали искать готовые технологии. Сейчас в модуле SearchServer в качестве движка полнотекстового распознавания можно использовать технологии ABBYY.

Разработка поделилась на два направления. Во-первых, нужно было бесшовно интегрировать технологии ABBYY и создать удобный для пользователей DLP модуль распознавания. Во-вторых, адаптировать технологии распознавания и классификации документов ABBYY под прикладные задачи.

Первая задача была решена быстро: она была реализована через собственный преднастроенный инсталлятор в DLP-системе. Развёртывание модуля OCR на базе технологии ABBYY сводится к установке дополнительного компонента в стиле «далее – далее», и активации нужной «галочки» в DLP. Компонент устанавливается на сервер DLP, поэтому никакая настройка для «соединения» DLP и OCR не требуется в принципе, больше пользователю ничего делать не нужно.


Включение FineReader Engine реализовано через интерфейс DLP, включается в один клик путем выбора соответствующего пункта из выпадающего списка. Тут же доступны более подробные настройки (при желании).


Более того, пользователю не нужно взаимодействовать с ABBYY, лицензирование FineReader Engine осуществляется SearchInform на уровне лицензии к DLP. Реализация получилась действительно дружественная пользователю и понравилась клиентам SearchInform.

Со второй задачей – адаптацией технологии ABBYY под прикладные задачи – работы было существенно больше.

Когда программисты SearchInform начали изучать технологии, то выявили массу возможностей, потенциально полезных для решения ИБ-задач. Все привыкли, что ABBYY – это, прежде всего, OCR. Но FineReader Engine умеет ещё и классифицировать документы по внешнему виду и содержанию. Чтобы настроить процесс классификации, на первом этапе надо задать категории, по которым будут распределяться документы (например, «Паспорт», «Договор», «Чек»). После этого программу нужно обучить: «показать» документы, соответствующие каждому классу во всех возможных вариантах оформления.

Как работает классификатор в FineReader Engine

Для того чтобы такая машинка заработала, классификатор сначала нужно обучить. Вы подбираете небольшую базу документов, представляющих каждую категорию, которую вы ходите определять. С помощью этой базы вы обучаете классификатор. Потом берёте другую базу, проверяете работу классификатора на ней, и если результаты вас устраивают, можно пускать классификатор «в бой».

При работе и обучении классификатор использует набор признаков, помогающих отделить документы одного типа от документов другого типа. Все признаки можно условно разделить на графические и текстовые.

Графические признаки хорошо разделяют группы документов, сильно внешне отличающиеся друг от друга. Условно говоря, если вы смотрите издали на документ так, что не можете прочитать текст на нём, но можете понять, какой у него тип, то графические признаки тут будут хорошо работать.

Так, графические признаки могут хорошо отделять слитный и неслитный текст, например, письма и платёжные квитанции. Они смотрят на размер изображения, плотность цветов в разных его частях, разные другие характерные элементы вроде вертикальных и горизонтальных линий.

А если внешне документы похожи, или одну группу, не читая текст, нельзя отделить от другой группы, то помогают текстовые признаки. Они очень похожи на те, что используются в спам-фильтрах и позволяют по характерным словам определять принадлежность документа к тому или иному типу. Отделять письма от договоров, чеки от визитных карточек удобно именно с помощью текстовых признаков.

Также текстовые признаки помогают отделять документы похожего вида, но отличающиеся значением одного или нескольких полей. Например, чеки из Макдональдса и Теремка внешне очень похожи, но если рассматривать их как текст, то отличия будут очень заметны.

В итоге классификатор для каждой обучающей выборки даёт больший вес тем текстовым или графическим признакам, которые позволяют наилучшим образом разделять документы из этой выборки по типам.

Разработчики SearchInform задали в программе несколько категорий документов, которые могли понадобиться пользователям в первую очередь – разные типы паспортов и банковские карты.
Категоризация паспортов и кредиток начинает работать у пользователя без обучения системы, фактически сразу после развертывания FineReader Engine. Пользователю достаточно включить в настройках классификатор – и все новые документы будут разбираться по категориям, для классификации документов из архива нужно просто перезапустить по ним проверку.

Вместе с тем, пользователю оставлена возможность создавать дополнительные категории. Он сам может задавать любые классы (категории), или добавлять свои документы в имеющиеся (паспорта и кредитки). Для этого ему нужно создать в специальной папке подпапки с названиями классов, положить туда эталоны документов и запустить процесс обучения. Эта процедура обычно выполняется совместно с инженерами SearchInform, которые все наглядно демонстрируют и рассказывают о требованиях к изображениям, совместно с заказчиком формируют базу эталонов, советуют, какие документы лучше подойдут как эталоны той или иной категории. Сразу после настройки идет проверка на реальных данных, часто после проверки нужна перенастройка, небольшая корректировка настроек или эталонов. Обычно это процедура занимает полчаса-час.

Точность классификации зависит от того, насколько система сможет «увидеть» разницу между документами в разных категориях. Если на обучение в двух разных категориях подать документы, похожие по внешнему виду и содержащие много одинаковых ключевых слов, технология начнёт путаться и точность классификации снизится.

Так, при детектировании сканов только главной страницы паспортов инженеры SearchInform столкнулись с большим количеством ложных срабатываний. Алгоритм ABBYY находил в архиве из 10 000 изображений 300 картинок, похожих на паспорта, в то время как паспортов там было всего несколько штук.

Если для произвольных категорий это допустимый процент релевантности, то для ключевых объектов, например, кредиток, это слишком большая погрешность. Чтобы улучшить уровень релевантности инженеры SearchInform разработали ещё и собственные алгоритмы проверки, которые применяются уже к результатам классификации ABBYY. Для каждой категории данных был создан индивидуальный валидатор, работающий только со своей группой.

Обработкой данных в DLP занимается специальный компонент – SearchServer. Когда этот компонент находит в перехваченных данных изображение (причем не важно, это часть документа или отдельная картинка), он передает его в модуль FineReader Engine, который выполняет оптическое распознавание и классифицирует изображения по заданным категориям. Причем вместе с категорией FineReader Engine отдает и «процент похожести» изображения на соответствующий класс, например, изображение №1 похоже на паспорт на 83%, изображение №2 похоже на водительское удостоверение на 35%. Результат передается в SearchServer. В SearchServer задан специальный параметр, для простоты понимания назовем его «минимально возможный процент» – по умолчанию он равен 40%. Если FineReader Engine присвоил процент меньше этого значения – класс удаляется, и в DLP этот документ идет без класса. Если процент выше, будет следующее:

1. Для паспортов и кредитных карт работает валидатор SearchInform, он проверяет документ как по распознанному тексту, так и графическую составляющую (например, для паспортов выясняется, есть ли на изображении лицо, в каком месте оно располагается, сколько пространства занимает, есть ли графические элементы, присущие только паспортам (для РФ – особый узор), другие характерные элементы). Чем больше «маркеров» подтвердится, тем выше будет итоговый «множитель». К примеру, классификатор FineReader Engine уверен в похожести изображения на паспорт на 63%, валидатор нашел на нем ключевые слова «Паспорт РФ», «Фамилия», «Кем выдан», а также фотографию, на которой детектировано лицо – в таком случае множитель равен, например, 1,5 – и итоговая релевантность получается 94,5%

Релевантность с такой пост-проверкой выросла в разы, а производительность осталась на прежнем уровне. Алгоритм ABBYY работает довольно быстро и применяется к большим массивам данных, что позволяет ускорить работу программы в несколько раз, валидатор категорий SearchInform работает медленнее, но благодаря классификации ABBYY он используется только при необходимости и применяется к существенно меньшему массиву данных.

Сложностью такой реализации стало то, что пришлось с нуля делать валидаторы для многих типов данных. Ведь те же паспорта разных стран имеют свои неповторимые особенности, и алгоритм поиска паспорта РФ абсолютно не подходит для поиска паспорта гражданина Украины. То же самое с кредитными картами – характеристики для VISA существенно отличаются от MasterCard.

2.Если документ похож на какую-то категорию, но она не относится к паспортам или кредиткам, релевантность, присвоенная модулем FineReader Engine, остается без изменений – валидатор SearchInform для таких категорий вообще не применяется.

После того, как вычислена итоговая релевантность, еще раз работает правило, в котором порогом служит уже не значение «минимальный процент похожести», а значение, настроенное пользователем. По умолчанию – 70%. Итого, если релевантность больше или равна этому значению – таким документам подтверждается класс, и по этому классу можно искать. Если она меньше, метка класса снимается и документ считается «без класса».

В «Контуре информационной безопасности» есть специализированные средства аналитики, позволяющие работать с архивом данных или выполнять заданные политики безопасности.
Безусловно, паспорта и кредитки относятся к критичным данным, поскольку содержат персональные данные, поэтому их контроль очень важен заказчикам. Более того, обычно крайне сложно разработать блокирующее правило, которое такие данные будет «резать» – при создании таких правил в реальных проектах возникает очень много тонкостей, которые выясняются постепенно, и каждый такой случай приводит к нарушению бизнес процессов у клиента (т.к. срабатывает блокировка). Поэтому чаще всего заказчики хотят просто видеть все движения подобных документов внутри организации и, особенно, за ее пределы. А учитывая то, что это могут быть не только паспорта\кредитки, но и любые другие типы данных – метод дает большую гибкость при анализе.


Также специалисты по информационной безопасности отслеживают передачу таких данных по «личным» каналам и хранение этих данных на носителях (хранение регламентировано, но если передача третьим лицам считается критичным нарушением, то копирование в «неправильную папочку» – незначительным нарушением).

Когда идет работа в штатном режиме, ИБ полагается на автоматику DLP и работает исключительно с отчетами системы. Когда идет какое-то расследование, начинаются пристальные проверки и с потоком данных начинают работать вручную. Если нужно выявить все действия, происходящие с объектом «паспорт», выставляется релевантность политики 70-80%, из миллиона событий отфильтровывается 500, они просматриваются вручную и принимаются соответствующие меры. Если произошло что-то серьезное, сужают политику до «сотрудник\дата\время» и релевантность сильно уменьшают (вплоть до 1%) – данных, не относящихся к делу, будет на порядок больше, но и вероятность пропустить критичные события сильно уменьшается.


Светлана Лузгина, служба корпоративных коммуникаций ABBYY,
Алексей Парфентьев, технический аналитик SearchInform

Abbyy FineReader – это широко известная программа для сканирования документов и распознавания текста. На сегодняшний день она является наиболее популярной благодаря понятному и удобному интерфейсу, большому набору всевозможных функций, связанный со сканированием и работой с готовым документом, а также удобством в использовании.

сканер

При помощи программы Файн Ридер можно:

Файн Ридер программа для сканирования документов умеет работать со всеми сканерами включая самые популярные такие как Canon (Кэнон), HP, Kyocera (Куосера), Samsung (Самсунг) и другие.

программа для сканирования документов

Помимо широкого функционала эта программа для скана выпускается более, чем на 170 языках мира, в том числе и на русском. Скорость и эффективность работы, особенно в самой новой версии Abbyy FineReader, удивительны. А улучшенный редактор изображений позволяет сделать предварительную обработку сканов и фотографий.

Можно по своему желанию добавить или снизить яркость и контрастность, скорректировать погрешности, допущенные камерой. Это позволит как можно точнее распознать текст и области рисунков. Удобный и понятный даже впервые столкнувшемуся с программой человеку интерфейс, делает её незаменимым помощником как на рабочем месте, так и дома.

Как сканировать и распознать документ:

Если программа на русском все достаточно просто и понятно, версия скачанная с нашего сайта бесплатна.

На верхней панели достаточно большие значки основных функций, на скрине ниже 11 версия но и в других все примерно одинаково изменены лишь сами значки.

Для того чтоб распознать нужно сначала сканировать со сканера документ либо загрузить картинку например с текстом, после нажать на кнопочку Распознать.

файнридер сохранить как

После распознания и корректировки можно сохранять документ в редактируемый а также желаемый формат например ПДФ (PDF).

файн ридер скрин 2

Настройки Файн Ридер программы:

При обычном использовании например только распознать или только сканировать углубленные настройки вообще не нужны.

Если все же вам необходимы доп. настройки то нажмите Сервис -> Опции. (для версии 11)

Из углубленных функций можно воспользоватся редактором языков если у вас текст который нужно распознать не Русский.

Читайте также: