Work with Fixed Form Document Extraction
The Fixed Form feature uses optical character recognition or optical character reader (OCR) in Hero Platform_ letting users convert images of typed or printed text into machine-encoded text.
Using Fixed Form, users can spend less time and avoid risks associated with human error turning forms into data that can be processed.
Considerations
Before creating a Fixed Form document extraction model, decide if you want to use a Knowledge Graph to help increase the OCR results accuracy.
Open Documents
Open AI from the navigation menu and select Documents.
Document Overview Page
View the saved document models.
This includes Fixed Form, Invoice, and Semi-structured models.
The documents overview page displays all of the saved document models.
You can view the:
- Document model names - Name given to identify the document model.
- Number of versions - The number of different versions for the document model.
- Individual versions can be accessed within the Document Studio above the layout template image.
- Individual versions can be accessed within the Document Studio above the layout template image.
- Created - The date the document model was created.
- Settings:
- Edit - Open the model in Document Studio to edit the model.
- Clone - Copy the document model.
- Delete - Delete the document model.
- Configuration - Edit the name of the model.
Create a Fixed Form Model
To create a new Fixed Form model:
- After opening Documents in Hero Platform_, click Create Document Model.
- Enter a name for the Fixed form model and click Next.
- Select Fixed Forms and click Next.
Select a layout template from the file browser by clicking Choose file...
Click Save & Preview.A Fixed Form layout template is the reference image to base the OCR readings on for future Input images.
Supported file types:- .jpg
- .png
- The layout template image is displayed in the Document Studio.
The Document Studio allows users to define the fields where the text to convert is located. - Click Field in the toolbar to define a field to convert the text within.
Click and drag on the layout template image to create a field in which to convert the text within. - Configure the Add Field form
Enter a name for the field.
Select a field type:- Typed text - The field searches and registers typed text. (String)
- Supports input for unlimited characters.
- Supports the English language per default.
- Select a different language(s) in the Document Studio settings.
- Supported languages:
- Arabic, Bulgarian, Chinese (Simplified), Chinese (Traditional), Czech, Dutch/Flemish, German, Greek, English, French, Hindi, Croatian, Hungarian, Indonesian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Russian, Slovak, Slovenian, Spanish/Castilian, Thai, Turkish, Ukrainian
- Supports Knowledge Graphs.
- Handwritten text - The field searches and registers handwritten text. (String)
- Supports input for up to 100 characters.
- The handwriting engine expects input to be one line of text. Use multiple inputs for multiple lines of handwritten text.
- Supports the English language.
- Supports Knowledge Graphs.
- Supports letterbox fields.
- Letterbox fields are printed boxes expecting individual characters.
- For best results, do not include the letterbox horizontal line in the drawn field.
- Barcode - The field searches and registers a barcode or QR code.
- Supports input for EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Codabar, Interleaved 2 of 5, and QR Code.
- Checkbox - The field searches and registers a single checkbox. (Boolean)
Supports any marking in the selected checkbox.
- Numbers (Typed/Handwritten) - The field searches for numbers that could be typed or handwritten. (String)
- Supports input for up to 30 characters. Recognize numbers and
.-/
characters. - Supports letterbox fields.
- Letterbox fields are printed boxes expecting individual characters.
- For best results, do not include the letterbox horizontal line in the drawn field.
- Supports input for up to 30 characters. Recognize numbers and
Click OK to save. - Typed text - The field searches and registers typed text. (String)
- Repeat the process of creating fields for each field on the layout template image.
- Click Save after all needed fields have been created.
After a field has been created, mousing over the field brings up a tooltip displaying that field's:
- Name
- Type
- Value
If the field uses a Knowledge Graph value, additional information is displayed in the tooltip:
- The Knowledge Graph has been enabled for the field.
- If the value was found in the Knowledge Graph, the value, and the search score.
- If the value was not found in the Knowledge Graph, a message displaying the text No Knowledge Graph Value.
Knowledge Graph
The Knowledge Graph is an Automation Hero Context Aware feature. Our OCR engines look at the possible expected field values in your configured Knowledge Graph to make better predictions when reading a field. This results in better field-level accuracy than a standard dictionary lookup or validation methods.
What is a Knowledge Graph
A Knowledge Graph is a designated bucket stored in the Data Store. The Fixed Form Data Extractor uses those expected/similar values in the Knowledge Graph to help the OCR engine make predictions. This increases the probability of the OCR engine producing accurate results.
Creating a Knowledge Graph
Before starting to create a Knowledge Graph to use in Hero Platform_, it is required that you have a data source that includes a field(s) of as many possible expected/similar values that the OCR model may read from the fields later created in the Document Studio.
General guidelines for creating a Knowledge Graph:
- The more distinctive each entry in your Knowledge Graph is, the greater the possibility the Knowledge Graph can improve the accuracy of the results.
- Limitation: If all the Knowledge Graph values are very similar (e.g., long strings with only one character differences or series of sequential numbers) there is a higher chance of false positive results.
- There is not a minimum or maximum amount of values required for a Knowledge Graph.
- Try creating Knowledge Graphs with as many values expected to be read by OCR as possible.
- Knowledge Graphs with more values take longer to process than those with fewer values.
Adding a Knowledge Graph
- Add a list(s) of values by importing a file directly to the Data Store or create an Input from a data source and then use the Automatic Output to store the file in the Data Store.
- After the data is located within the Data Store, Open the Data Store, click the settings icon of the file, and select Enable Knowledge Graph.
This data file can now be selected as a Knowledge Graph in the Document Studio when configuring fields for a Fixed Form data extraction model.
Use a Knowledge Graph in a Fixed Form Model
Configure the Fixed Form model to use a Knowledge Graph when adding type text and handwritten text fields.
- Draw a field on the sample PDF or image in the Document Studio, give the field a name and select the field type. Typed text and Handwritten text fields support use of a Knowledge Graph.
- Select a Knowledge Graph from the drop-down list which contain expected field values that correspond to the drawn field.
- Select the corresponding field from that Knowledge Graph which contains the values to compare with the drawn field.
- Select the Match strategy:
- Word - Select this option when a field's value tries to match an individual word from the Knowledge Graph.
- Phrase - Select this option when a field's value tries to match multiple words from a Knowledge Graph.
- The results of the OCR engine using the Knowledge Graph are displayed in the results preview section of the Document Studio with either two or three returned values.
- The predicted value of the OCR engine alone. (Always returned)
- If a result was found, the predicted value of the OCR engine using the supplied Knowledge Graph. (Returned if found)
- The predicted "best_match". The best match value is the Knowledge Graph value. If no Knowledge Graph value was returned, the best match value is the OCR engine value. (Always returned)
Search Score
The Knowledge Graph returned value also returns a search score.
A search score is a numerical value where the more characters and phrases that accurately match the value read with the value in the Knowledge Graph, the higher the search score.
Example:
There are two fields in the Fixed Form template.
- The value of the first field is: "Automation"
- The value of the second field is: "Automation Hero is amazing"
Both "Automation" and "Automation Hero is amazing" are values found in the Knowledge Graph. The value "Automation Hero is amazing" returns a higher search score as the match is more specific.
The search score and the confidence score are two different values.
If a schema designated as a Knowledge Graph is used in a Flow, and that Flow is exported, that Data Store artifact is not automatically set to be exported. This may cause Flows that are imported without the corresponding Knowledge Graph artifact to fail. It is recommended to check that all exports that include a document extractor using a Knowledge Graph specifically include the related Knowledge Graph artifacts in the Data Store.
Results Preview
The results preview section in the Document Studio displays the created field's names, the OCRed text values, and the confidence score indicating the accuracy of the prediction.
If a Knowledge Graph was utilized, the additional results are displayed in a drop-down under the original OCR engine predictions for the field value.
When using a Fixed Form function in a Flow, each field's results, including multiple Knowledge Graph results, are displayed in a separate field.
View the results preview
The results preview is located to the right of the layout template image and can be toggled on/off with the Preview button in the toolbar.
When Preview is selected, new fields added to the Fixed Form model are processed and the results are displayed on the right under the Results Preview heading. Depending on the available resources, this action can cause a delay.
When Preview is not selected, new fields added to the Fixed Form model are processed but the results are not available until the Preview button has been enabled. Enabling the results for multiple fields at the same time may reduce overall lag time.
Edit, Delete, and Filter Fields
Fields created in the Document Studio can be edited or deleted from the panel on the right under the fields heading.
Edit a field
To edit a field:
- Locate the field name in the fields panel and click the edit icon.
- The field configuration form is displayed and can be edited.
- Click OK to save the field configuration.
Delete a field
To delete a field:
- Locate the field name in the fields panel and click the X icon.
Confirm to remove the field.
or
Mark the box to the left of the field name and then click Remove selected fields.
Confirm to remove the field. - The field is deleted from the Document Studio layout template image.
Filter Fields
Filter displayed fields by name:
- Locate the field name in the fields panel.
- In the "Filter by field name" field, enter the filter string.
- Fields matching the filter string are displayed.
- View all fields by removing the filter string.
Filter displayed fields by page:
- Locate the field name in the fields panel.
- In the "Filter by page number" field, add or remove page numbers from the drop-down list.
- Fields associated with the page number are displayed.
- View all fields by adding all page numbers to the filter.
Layout Template Images with Multiple Pages
Document Studio supports multi page images.
Each page in a multi-page template must have the same size and resolution.
Navigate to different pages of a template in the Document Studio by scrolling up/down within the image area.
The page a field is located on is shown on the fields panel.
Delete a page
To delete a page:
- Locate the page number in the field panel and click the X icon.
- Click Yes, delete.
The page and all fields residing on the page are permanently deleted.
Settings
Click the Settings heading to display the files selected for the Fixed Form model.
AI Page Identification
A Fixed Form Data Extraction model in a Flow assumes that all the input images match both the order and number of images in the model as created in the Document Studio.
Turning on the AI page identification features allows for processing input images in a Flow even if they don't match the order and number of the sample images from the Document Studio model.
This feature requires processing power. If it is known that all the input images have the same order and number of images as defined in the model, it is recommended not to use this feature. This feature is turned off by default.
Languages
Select a language used for values in typed text fields that are created for the model.
Delete Sample Images
Remove/delete a Fixed Form image by clicking the X icon.
Document Studio Toolbar and Controls
Toolbar
At the top of the Document Studio, a toolbar is displayed.
- Save - Select to save the Fixed Form model at the current progression.
- Saved Fixed Form models are displayed on the OCR overview page.
- Undo - Select to revert the previous action made in the Document Studio.
- Redo - Select to progress from the previous undo action made in the Document Studio.
- Field - Select to create a field on the layout template image.
- Reset View - Reverts to the default view of the document in Document Studio.
- Zoom in - Zoom in on the layout template image.
- Keyboard shortcut - option+mouse wheel
- Zoom out - Zoom out on the layout template image.
- Keyboard shortcut - option+mouse wheel
- Preview - Toggles the results preview panel and resets the layout template image to the starting position.
- Close - Select to close the Document Studio.
Use a Fixed Form Model in a Flow
After a Fixed Form model has been saved, it can be used as a function in a Flow.
To use a Fixed Form model in a Flow:
- Open and start creating a Flow in the Flow Studio.
- View the Document functions in the element browser.
- Click and drag a Fixed Form model from the element browser onto the Flow Studio canvas.
- Connect the Fixed Form model using a cable from an element in the Flow.
- Select the version number for the Fixed Form model.
Select the coordinates type:
Relative coordinates is the recommended option. Relative coordinates are more stable and can adjust for document scaling while absolute coordinates may require adjustments for document scaling changes. Support for absolute coordinates will be removed in a future release.
- Absolute Coordinates - returns (output field) the position of a value box on a document by pixel location on a document.
- Metadata (Tuple) containing x, y, w, h (Long) values
Relative Coordinates - returns (output field) the position of a value box on a document by percentage space on that document.
- Page_bounding_box (Tuple) containing boundingBox (Tuple) containing left, top, width, height (Double) values.
- Absolute Coordinates - returns (output field) the position of a value box on a document by pixel location on a document.
Configure/review the fields for the Fixed Form model's containerized function deployment.
- Capture logs - Select if the containerized function should capture logs.
- RAM - Adjust the sliding bar for memory (RAM) allocation for the function.
- vCPU - Adjust the sliding bar for CPU consumption. (by cores)
- Attempt timeout(s) - Enter the timeout setting (in seconds).
- Initial Delay - Enter the initial delay value in seconds for amount of time to between when container starts and when the Flow begins to use it.
- Retry attempts - Enter the max retry attempts before failing.
Automation Hero recommends leaving the container settings at the default levels unless problems arise.
Examples of when raising the default settings may be beneficial:
- The documents being processed are very large.
- The Fixed Form Extraction model has a large number of fields and/or pages.
- The Fixed Form Extraction model heavily uses the handwriting engine.
- Add an argument(s)
- Click OK to finish adding the Fixed Form model to the Flow.
Viewing the Results
Results for a field are displayed in a List data type with four separate elements:
Example: [Smith, 0.93, MEMORY{size=2698}, [1377, 744, 139, 52, 1]]
- Element 1: The value OCR predicts is read.
- Element 2: The confidence rating that the prediction was correct.
- Element 3: The size of the snippet of the bounding box on the binary file in bytes.
- Element 4: The location of the field on the binary.
Fixed Form Snippet Outputs
After adding a Fixed Form model in a Flow, the fields created in the Document Studio are available to use an output field in the Output. This type of field is called a snippet.
A snippet is an image (Binary data type) of what OCR captures from the fields created in the Document Studio.