Russian (Русский) - Change language

Обработка неструктурированных документов в FlexiCapture и способы их идентификации

В одном пакете FlexiCapture можно обрабатывать неограниченное количество определений документа, причем любое количество из них может быть гибкими (гибкое определение документа - определение документа, созданное на основе гибкого описания FlexiLayout). Если в пакете есть несколько гибких определений документов, то желательно, чтобы все гибкие описания, использованные для создания определения документов одного пакета, имели одинаковый набор параметров предраспознавания (язык, тип текста, режим). В этом случае предраспознавание будет выполняться только один раз, и затем его результаты будут использоваться также и для других определений документов. Это позволит сократить время обработки, поскольку время предраспознавания обычно занимает порядка 90% времени наложения гибкого определения документов.

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

В отдельных случаях для ускорения наложения определений документов можно обойтись вообще без распознавания. Это возможно, если в качестве элементов гибкого описания используются только элементы Separator, Barcode, White Gap, Region и Object Collection. При этом для всех элементов White Gap и Object Collection должно выполняться одно из следующих требований:

  • В условиях поиска элемента не используется текст.
  • Свойство элемента UseRawText имеет значение True.

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

Классификаторы

Для автоматического выбора приложением гибкого описания или его варианта используются классификаторы. Классификатор - проект специального типа, который создается в приложении FlexiLayout Studio и импортируется в приложение FlexiCapture. В данном проекте описывается древовидная структура классов, к которым может относиться документ. Класс содержит набор элементов, идентифицирующий документы определенного типа. По результатам классификации страницы в ее свойства записываются наименования гибких описаний, которыми она должна обрабатываться (или вариантов описания) либо информационная строка.

Дополнительная информация о проектах-классификаторах приведена в разделе Проект классификатора (Classificator).

Выбор описания без использования классификатора

Если не используется классификатор, то для повышения надежности выбора нужного гибкого определения документа в FlexiCapture, а также для ускорения самой процедуры этого выбора, на этапе создания гибкого описания во FlexiLayout Studio создают элементы, выполняющие функции идентификаторов. В качестве идентификатора может выступать практически любой тип элемента. Но он должен надежно находиться на всех формах данного типа. На практике в качестве идентификаторов чаще всего используют элементы типа Static Text, Barcode и Character String. Иногда тип формы идентифицируется не одним, а несколькими элементами.

Чем выше в дереве проекта находится элемент, выполняющий функции идентификатора, тем быстрее будет проходить процедура выбора гибкого определения документа.

Одним из способов задания элемента-идентификатора является отмена выбора Optional element в диалоге свойств данного элемента, т.е. для наложения определения документа объект, соответствующий данному элементу, должен обязательно присутствовать на изображении формы. Если объект, соответствующий обязательному элементу, не будет найден, определение документа не будет наложено.

Кроме того, для идентификации формы в разделе Advanced pre-search relations некоторого обязательного элемента можно записать код с применением функции DontFind(). Таким образом, проанализировав свойства некоторого набора элементов, находящихся выше данного в дереве проекта, можно сказать программе, что текущий обязательный элемент искать не надо.

Другим способом идентификации гибких определений документов является использование свойства Quality гипотезы элемента. Безусловная установка свойства Quality в 0 в разделе Advanced post-search relations (соответствующая строка кода выглядит как Quality: 0;) любого элемента, приведет к тому, что определение документа не будет наложено. На практике же обычно устанавливают Quality в 0, анализируя свойства некоторого набора элементов, находящихся выше данного в дереве проекта.

10.11.2020 12:08:08


Please leave your feedback about this article