abbyy flexicapture 12 обучение
Создание классификатора с помощью ABBYY FlexiCapture 12
Для чего классифицировать и как создать классификатор для распознавания. pdf документов с помощью программного обеспечения ABBYY FlexiCapture 12.
Знакомство с задачей классификации можно начать с Википедии, перейдя по ссылке.
Классификация применяется тогда, когда необходимо выделить схожие объекты из множества различных объектов, для выполнения в дальнейшем каких-либо действий над данными объектами.
Например, .pdf документы в составе пакетов документов необходимо сначала классифицировать, что позволит в дальнейшем распознать их и извлечь данные из них.
Компанией ABBYY разработано программное обеспечение ABBYY FlexiCapture 12, которое позволяет достаточно легко справится с задачей классификации. pdf документов.
Более полную информацию о данном продукте можно получить по ссылке.
По другой ссылке выложены различные описания и инструкции. Применим их на практике для создания классификатора.
Итак, для начала работы необходимо запустить Пуск 🡪 Станция Настройки Проектов и создать новый проект Файл 🡪 Создать
Назовем проект Классификация с типом Проект FlexiCapture
Далее необходимо перейти в область Пакеты обучения классификатора
В области Пакеты обучения классификатора создадим новый пакет Файл 🡪 Новый пакет
Назовем пакет Классификатор и загрузим в него изображения Файл 🡪 Загрузить изображения…
Далее каждому загруженному для обучения изображению необходимо установить эталонный класс
В качестве эталонных классов будем использовать определения документов и для этого их потребуется создать Проект 🡪 Определения документов…
Так выглядит окно определений документов после их создания и опубликования
В нашем случае потребуется только два неструктурированных определения График и Анкета. Именно данные изображения были загружены для обучения.
Теперь можно приступать к установлению эталонных классов.
На этапе установки эталонных классов пользоваться предпросмотром обязательно!
Все что остается сделать далее — выделить изображения с установленными эталонными классами и последовательно сначала запустить обучение, по завершении обучения — запустить классификацию, как показано на картинках ниже.
В результате обучения и классификации должны получиться уверенно классифицированные классы.
Можно подгрузить изображения, не участвующие ранее в обучении, установить для них состояние для тестирования и проверить качество работы классификатора.
Для тестовых изображений эталонный класс тоже установить необходимо, так как оценка об уверенно классифицированных изображениях складывается из сравнения эталонных и результирующих классов.
В результате тестирования изображения, не участвующие в обучении, были уверенно классифицированы, что позволяет судить о хорошем качестве созданного классификатора.
Вывод. На практике создали с помощью ABBYY FlexiCapture 12 классификатор, применение которого будет рассмотрено в следующей статье про распознавание и извлечение данных из .pdf документов с помощью ABBYY FlexiCapture 12.
Создание классификатора с помощью ABBYY FlexiCapture 12
Знакомство с задачей классификации можно начать с Википедии, перейдя по ссылке.
Более полную информацию о данном продукте можно получить по ссылке.
По другой ссылке выложены различные описания и инструкции. Применим их на практике для создания классификатора.
Итак, для начала работы необходимо запустить Пуск 🡪 Станция Настройки Проектов и создать новый проект Файл 🡪 Создать
Назовем проект Классификация с типом Проект FlexiCapture
Далее необходимо перейти в область Пакеты обучения классификатора
В области Пакеты обучения классификатора создадим новый пакет Файл 🡪 Новый пакет
Назовем пакет Классификатор и загрузим в него изображения Файл 🡪 Загрузить изображения…
Далее каждому загруженному для обучения изображению необходимо установить эталонный класс
В качестве эталонных классов будем использовать определения документов и для этого их потребуется создать Проект 🡪 Определения документов…
Так выглядит окно определений документов после их создания и опубликования
В нашем случае потребуется только два неструктурированных определения График и Анкета. Именно данные изображения были загружены для обучения.
Теперь можно приступать к установлению эталонных классов.
На этапе установки эталонных классов пользоваться предпросмотром обязательно!!
Все что остается сделать далее — выделить изображения с установленными эталонными классами и последовательно сначала запустить обучение, по завершении обучения — запустить классификацию, как показано на картинках ниже.
В результате обучения и классификации должны получиться уверенно классифицированные классы.
Можно подгрузить изображения, не участвующие ранее в обучении, установить для них состояние для тестирования и проверить качество работы классификатора.
Для тестовых изображений эталонный класс тоже установить необходимо, так как оценка об уверенно классифицированных изображениях складывается из сравнения эталонных и результирующих классов
В результате тестирования изображения, не участвующие в обучении, были уверенно классифицированы, что позволяет судить о хорошем качестве созданного классификатора.
ABBYY ® FlexiCapture ®
Только нужная информация.
Универсальная платформа для интеллектуальной обработки информации.
Как это работает
ABBYY FlexiCapture – универсальная платформа для интеллектуальной обработки информации. Решение позволяет извлекать данные из любых типов входящих документов: например, из отсканированных бумаг, фотографий, электронных писем или вложений. Решение классифицирует, распознает документы, извлекает данные, верифицирует и передает их в корпоративные информационные системы. ABBYY FlexiCapture может выступать единой корпоративной платформой для множества бизнес-процессов, таких как управление взаимоотношениями с клиентами, производственная, закупочная и юридическая деятельность компании.
1. Импорт
ABBYY FlexiCapture обрабатывает в едином потоке электронные письма, вложения и бумажные документы, электронные документы в офисных форматах, фотографии с камер и мобильных устройств. Решение легко масштабируется и подходит для обработки любого объёма документации, в форматах TXT, EML, XLSX, VSD, HTML, DOCX, XLS, VSDX, DOC, PPTX, HTM, PPT, и RTF.
2. Интеллектуальная классификация
Классификация с применением технологий искусственного интеллекта позволяет автоматически сортировать документы по типам (например, когда необходимо оперативно отсортировать анкету клиента от всех других документов, которые подает клиент для открытия счета в банке) и по пользовательским категориям (например, накладные от поставщика А и накладные от поставщика Б).
Благодаря глубинному обучению свёрточных нейронных сетей, система сама учится находить нужные поля и определять типы документов. Для автоматического определения нового класса документов достаточно ввести в систему 10 образцов, принадлежащих к одному типу. Технология автоматически научится определять тип документа по внешнему виду или взаимному расположению элементов.
Пользователь системы может самостоятельно настроить скорость её работы, регулируя полноту распознавания и точность классификации.
3. Распознавание
Высокая точность распознавания текстов, штрихкодов и меток.
Система распознает в документе только необходимый для дальнейшей работы текст.
4. Извлечение данных
ABBYY FlexiCapture автоматически извлекает данные из любых видов документов. Система может обрабатывать данные из структурированных и неструктурированных документов.
Автоматические проверки данных:
5. Верификация
Система позволяет быстро сравнить данные распознавания с отсканированным оригиналом документа и автоматически подсвечивает неуверенно распознанные данные, а также отображает информацию о не пройденных проверках данных по справочникам и настроенным правилам. Возможны следующие способы проверки данных:
6. Экспорт данных
ABBYY FlexiCapture автоматически сохраняет результаты распознавания в файлы различных форматов, экспортирует их в базы данных, учётные системы и другие информационные системы, исходя из требований бизнеса. Данные можно одновременно экспортировать в различные директории и преобразовать сразу в несколько форматов.
7. Консоль администрирования и мониторинга
ABBYY FlexiCapture включает в себя консоль на базе HTML5, с помощью которой можно выполнять администрирование комплекса и осуществлять мониторинг работы.
С помощью мониторинга работы комплекса в новом удобном и интуитивно понятно интерфейсе можно оперативно получать информацию о работе комплекса.
Система позволяет настроить различные варианты отчетов:
Также возможно создание графиков и дашбордов для пользователей с разными ролями: администратор, пользователь и т.д.
Эти инструменты помогают анализировать поток обработанных документов, обеспечить непрерывность бизнес-процессов, оптимизировать и определить приоритеты в распределении ресурсов или пакетов для настройки производительности и устранения слабых мест.
FlexiCapture. Так ли он гибок, как называется?
О продукте FlexiCapture, как показывает опыт, обычные пользователи за пределами компании знают совсем мало («Уж не этим ли ЕГЭ распознают?»), несмотря на то, что он используется во многих крупных организациях. Можно с этим мириться, считая, что продукт не для конечного пользователя, а корпоративный. А можно периодически рассказывать про него всякое, что будет не только полезно тем, кто с ним уже знаком, но и намекнёт далёким от продукта людям, что Flex — это не просто 4 буквы в названии.
Наши партнеры из новосибирской компании АТАПИ Софтвер поделились своим приемами обработки разных сложных случаев. Это набор конкретных практических советов, которые, мы надеемся, будут вам полезны. Кроме того, каждая из этих историй подобна дзенскому коану — помогает раскрыть истинную природу FlexiCapture во всем ее многообразии.
При обработке нестандартных таблиц будь безмятежен, как цветок лотоса
Основное предназначение ABBYY FlexiCapture – извлекать из документов определенные данные и заносить их в информационную систему. В России большинство документов унифицировано, поэтому обычно это не вызывает трудностей. К несчастью, такого не скажешь о зарубежных документах – скажем, о европейских счетах-фактурах – да и некоторые российские формы «отжигают» не хуже своих зарубежных собратьев. Часто встречаются случаи, когда необходимая информация в таблицах разграничена недостаточно четко, например, вот так:
Здесь в таблице есть две строки с описанием товарных позиций. Если для распознавания такого документа использовать автоматический способ, номенклатурный номер товара (крайнее левое поле) попадет в отдельную колонку и будет распознан верно, а вот поля количество и артикул (третья колонка) попадут в одну и ту же колонку, хотя в нашей таблице это разные поля. Кроме того, в колонки может попасть много лишней текстовой информации – это создаст проблемы при верификации.
Разделить искомые данные на отдельные поля можно с помощью функциональности повторяющейся группы. В Flexilayout Studio создаем элемент типа «повторяющаяся группа» (Repeating Group). Каждый экземпляр группы будет соответствовать строке таблицы, внутри области которой уже организовывается поиск с использованием простых элементов (типа Static Text, Character String, Region и т.д.). В свою очередь, область каждой строки может быть так же выделена с помощью повторяющейся группы, предваряющей поиск непосредственно информации.
Это, пожалуй, лучшее решение для подобных случаев. Однако, надо не забывать, что кроме собственно распознавания, нам нужно привести данные из такой не совсем стандартной таблицы к обычному табличному виду:
Зачем это нужно? Операторам верификации проще обрабатывать данные, когда они представлены в виде таблицы. Кроме того, очень часто бывает, что стандартные и нестандартные таблицы поступают на верификацию друг за другом, и если делать для каждого случая отдельный шаблон, оператору будет трудно переключаться с одного способа представления данных на другой – поэтому он неминуемо начнет делать ошибки.
И еще один момент. На следующем примере видно, что представлять сложные нестандартные таблицы в виде повторяющейся группы в интерфейсе не совсем удобно – такое представление занимает много места.
Сравним это с представлением аналогичных данных в виде таблицы:
Как мы видим, в таком виде (как таблица) данные занимают намного меньше места, и у оператора появляется возможность проверять документы быстрее – не тратя время на скроллинг.
Чтобы ускорить процесс верификации и сделать его единообразным, мы используем следующий подход:
Избегай пасти тигра, улучшая распознавание табличных данных
При работе с таблицами карма разработчика – большое количество различного текстового «мусора» в ячейках с данными. Например, нам надо извлечь цифровое значение Код по ОКВЭД и Дата внесения сведений в ЕГРЮЛ из следующей таблицы:
Если сделать простую таблицу, то в ячейку с кодом будет попадать текстовое описание вида деятельности («Сдача внаем собственного недвижимого имущества»), которое нужно будет удалять либо разработчику с помощью скрипта, либо каждый раз вручную – оператору. Кроме того, в регион таблицы также могут попадать помарки, пометки, штампы, подписи и т.д.
Чтобы подобная лишняя информация не мешала распознаванию, мы можем на уровне гибкого описания отфильтровать эти объекты – задать правила, при помощи которых система будет автоматически находить их и игнорировать при распознавании. В случае с нашим примером достаточно будет настроить «игнор» всех текстовых объектов с русскими буквами и скобками.
Как видно на рисунке ниже, во FlexiCapture 10 данное поле будет исключено из области распознавания (прямоугольники с серой штриховкой).
Или же можно пойти от обратного — сначала с помощью повторяющейся группы найти только нужные нам данные (цифровые коды), а затем исключить из распознавания все текстовые или иные объекты изображения из колонки «Код по ОКВЭД», отличные от непосредственно кода.
Примеры таких подходов представлены на картинке ниже: слева мы исключили фиксированный текст MACHINE REAMER 600 первым способом, а на правой – все, кроме цифр, вторым способом:
Настрой вариационное распознавание поля – позволь зеркалу ума отделить красивое от не очень
Бывает так, что формат одного и того же поля сильно различается в однотипных документах. Например, в зарубежных счетах-фактурах может встречаться как обычный черный текст на белом фоне, так и белый текст на черном фоне. Подобную ситуацию мы можем видеть в бланках разнообразных анкет, опросников и т.д.
А бывает и так, что шаблон один, а в реальности на распознавание документы приходят вперемешку – в одних данные впечатаны на принтере, а в другие вписаны человеком так называемым рукопечатным способом.
Не меньше казусов порождает различный формат данных в одних и тех же полях. Если в одном документе будет указана дата в формате 23-февраля-2006, а в другом – 24/11/08, человек поймет, а программе желательно при этом указать разные настройки для этого поля.
Все эти случаи могут вызвать затруднения с распознаванием. ABBYY FlexiCapture позволяет создать два отдельных поля и задавать им разные настройки распознавания: инвертированный или обычный текст, печатный или рукопечатный, распознавание в общей рамке или рисование отдельной рамки на каждый символ. Затем при обработке каждого документа оператор вручную выбирает верный вариант для поля.
Но можно еще немного усовершенствовать процесс распознавания. Первый вариант – обрабатывать документы в разных типах пакетов. Но это тоже довольно неудобно, так как нужно разделять документы на этапе сканирования, да и операторы в конечном итоге могут просто запутаться, куда какой документ отправлять. Зачем грузить оператора лишней работой, когда с этой задачей может справиться программа?
Лучший результат система может выбрать, например, исходя из количества так называемых «подозрительных символов» (Suspicious Symbols) – для этого нужно создать скриптовое правило, которое передает как результат распознавания значение поля с наименьшим количеством «подозрительных символов».
Аналогичный подход с тремя полями и выбором наилучшего варианта распознавания можно использовать для случаев разной разметки или печатного/рукопечатного текста в одном поле.
Как вернуть все сущее к единому: выделение дробной части чисел
Казалось бы, какая проблема может быть с дробями? Те же цифры и точки-запятые. Но иногда разделительные знаки дроби не распознаются или исчезают при сканировании, что может привести к неприятным последствиям. Например, итоговая сумма в бумажном счете-фактуре одна, а в электронном – другая (в ней появляется пара лишних нулей). Такое случается, например, при обработке документов, переданных по факсу, распознавании старых документов или с документов с плохим качеством печати.
В FlexiCapture решить такую задачу не очень сложно.
В счете-фактуре, кстати, результат распознавания довольно легко проверить по контрольной сумме. Если в распознанном документе значение поля «Итого» сойдется с суммой по таблице – значит, можно верифицировать результат распознавания без участия оператора. Также может помочь сравнение суммы цифрами с суммой прописью, если такая есть в документе.
Чтобы автоматизировать подбор коэффициентов, можно анализировать среднее расстояние между символами в строке, отношение между высотой и шириной символов и т.д., но, как правило, проще подобрать коэффициенты экспериментальным путем, или методом научного «тыка». Время, которые вы потратите на подбор этих коэффициентов, исчисляется минутами – в то время как оператору верификации такой подход может сэкономить часы работы.
Под взглядом Будды и на железном дереве распустятся цветы. Что делать, если вам нужен полный текстовый слой документа
Мы уже писали, ABBYY FlexiCapture нужна, чтобы извлекать и сохранять конкретные данные из полей: цифры, имена контрагентов и прочее, полный текст документа, как правило, никого не интересует. Но случается и так, что нужно в одном потоке извлекать данные из полей для одних документов и распознавать текст целиком для других.
Возможность извлекать весь текст документа в виде текстового файла может понадобиться, например, для индексации содержимого документа в различных поисковых системах – как широкого пользования, так и внутрикорпоративных.
Такая необходимость возникла у мэрии Новосибирска, которая обрабатывала документы органов власти – приказы, постановления и распоряжения. Им нужны были не только поля из «шапки» документа, по которым документ индексировался в архиве, но и результаты полнотекстового распознавания, чтобы была возможность потом найти документ по ключевому слову из основной части.
Во FlexiCapture уже давно есть возможность настроить экспорт распознанных документов в PDF с текстовым слоем. Но реальность такова, что многие внешние информационные системы не умеют искать по PDF-документам. Более того, что касается именно новосибирского архива, который хранит данные с начала 1920-х годов – многие бумажные первоисточники, которые мы видели, представляли собой довольно ветхие, выцветшие страницы, отпечатанные на печатной машинке. Можно ожидать, что результаты автоматического распознавания для таких файлов могут быть не очень качественными. В то же время именно текстовое содержимое такого архивного документа, а не его шапка, может быть очень важно. Поэтому хорошо бы иметь возможность во FlexiCapture на этапе проверки важных данных (в нашем случае это были номер приказа, дата и т.д.) проверить еще и результаты полнотекстового распознавания.
Решение нашлось. Во FlexiLayout Studio (об этом инструменте для создания гибких описаний мы уже писали) можно создать гибкое описание документа, которое позволит, помимо значимых структурированных данных, извлекать еще и весь текстовый слой документа. Делается это очень просто – например, с помощью повторяющейся группы, которая содержит все строки документа.
Если необходимо, этот текстовый слой можно даже проверить на станции верификации FlexiCapture. Также текст можно будет копировать, индексировать и экспортировать в текстовые форматы. В итоговом PDF-документе мы получим более качественный результат распознавания текстового слоя, так как этот результат будет проверен оператором.
Ниже приведен скриншот со страницы верификации ABBYY FlexiCapture. Как мы видим, теперь можно работать не только с полями, но и со всем текстом в документе.
Спасибо за терпение внимание, осталось всего 3 предложения
Мы привели несколько инженерных лайфхаков, которые, надеемся, помогут вам в работе с нашим продуктом.
Если есть, что добавить – вы решили какую-то еще нестандартную проблему при помощи FlexiCapture – мы будем рады почитать об этом в комментариях.
Татьяна Ганьжина, ABBYY Россия
при активной поддержке специалистов «АТАПИ Софтвер».