--- title: "Flexible Extraction" slug: "flexible-extraction" updated: 2026-10-14T19:24:17Z published: 2026-10-14T19:24:17Z canonical: "help.hyperscience.ai/flexible-extraction" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.hyperscience.ai/llms.txt > Use this file to discover all available pages before exploring further. # Flexible Extraction Flexible Extraction is a Supervision task in which a keyer reviews, corrects, or enters field values and table cells for a document. Hyperscience creates the task when a human must provide or verify data before the document can continue through its processing flow. Use Flexible Extraction for a manually matched page, data selected for review by flow logic, or output from a specialized ORCA VLM that requires human review. After the keyer completes the task, Hyperscience saves the reviewed values in the standard document output and continues processing the submission. ## Benefits of Flexible Extraction Flexible Extraction provides a controlled path when extraction results need human verification before they can be accepted. It helps teams: - **Control automation risk** - Thresholding can send specialized model results that do not meet the target accuracy to a human for verification. - **Keep exceptions in the processing flow** - Keyers resolve them in Hyperscience instead of using a separate manual process. - **Focus review** - The task can show only the fields or table cells selected for attention. Filters can further limit fields to manually matched pages or the selected layout variation. - **Preserve consistent output** - Hyperscience saves reviewed values in the same document output used for automatically extracted values. - **Reduce rekeying** - When enabled, machine predictions can prefill values, and text segment selection can copy visible document text into a field or table cell. ## Best-fit scenarios Use Flexible Extraction when a document can continue through the flow after a human supplies or verifies specific extraction results. | Scenario | Why it fits | What the keyer does | | --- | --- | --- | | **Manually matched page** | A page was marked as No Layout Found during Classification, and a keyer matched it to a layout. The page bypasses Transcription Supervision. | Transcribes the values visible on the page. The task can filter the field list to the manually matched page and selected layout variation. | | **Targeted business rule** | A Code Block uses the `process_flexible_extraction_type` property to mark specific fields or table cells for review or to exclude them from the task. | Reviews the marked data and enters or corrects values when needed. | | **Control automation from a specialized model** | A specialized model trained on top of the ORCA (Optical Reasoning and Cognition Agent) produces a value and a field-level confidence score. Thresholding sends results that require human review to Flexible Extraction. | Confirms or corrects the specialized model's value and, when needed, selects the correct text in the document. | Flexible Extraction is not a fit when processing must remain machine-only, when a document contains more than 1 table, or when the keyer must select a different layout inside the task. See [Requirements and limitations](/v44/docs/flexible-extraction#requirements-and-limitations). ## Flexible Extraction stages A document moves through Flexible Extraction in 4 stages: 1. **Selection** - Classification, a Code Block, or the decision layer after ORCA VLM Extraction determines that the document or specific fields require human review. 2. **Routing** - The **Is Flexible Extraction needed?** step sends the document through the Flexible Extraction Block. Hyperscience creates a task for the document. 3. **Review** - A keyer confirms, corrects marked values, or enters missing values 4. **Output** - Hyperscience saves the reviewed values and continues the submission through the flow. - In v43.2 and later, if address parsing is turned on, Hyperscience splits address transcriptions into consistent components, such as house number, street, city, state, and postal code. For configuration settings and supported providers, see the **Address Parsing** section in [Document Processing Flow](/v44/docs/document-processing-flow#address-parsing). ### Specialized model output control Training creates a specialized model on top of the ORCA base model. Hyperscience uses the adapted and base models together. The specialized model changes how the base model behaves for the use case; it does not replace or modify the base model. The specialized model produces an extracted value and one confidence score for each field. To learn more, see [Training a Specialized Model](/v44/docs/training-a-specialized-model). ORCA does not flag a field, ask for clarification, or decide that it needs human help. After extraction, thresholding compares the confidence score with the Threshold for the configured Target Accuracy. The decision layer accepts results that meet the threshold for automation and sends results below the threshold to Flexible Extraction. A required field that the model predicts is missing also goes to Flexible Extraction. The same applies when the field's transcription Supervision mode is **Always** or **Consensus**. Fields set to **Auto-transcribe** do not go to Supervision. Together, thresholding and Flexible Extraction provide the operational control layer for a specialized model: - thresholding determines how much automation risk to accept - Flexible Extraction lets a human verify or correct the remaining results. - Flexible Extraction does not improve model accuracy or change model behavior; training does. > [!NOTE] > **Machine-only processing** > > A submission sent through the API with the `machine_only` parameter does not create Supervision tasks, including Flexible Extraction tasks. ## Required permissions Completing a Flexible Extraction task requires the following permissions. The flow's **Default Task Restrictions** setting can further limit which users receive its Flexible Extraction tasks. | Permission | Allows you to | Assigned by default to | | --- | --- | --- | | **View Supervision and QA cards** | View the task cards on the **Perform Tasks** tab. | System Admin, Business Admin, Data Keyer Admin, Data Keyer Staff, and Knowledge Worker | | **Complete Flexible Extraction Supervision** | Receive and complete Flexible Extraction tasks. | System Admin, Business Admin, Data Keyer Admin, Data Keyer Staff, and Knowledge Worker | ## Prerequisites Complete the prerequisites for the way that you plan to use Flexible Extraction. ### Use Flexible Extraction as a standard Supervision task Confirm the following: | Prerequisite | Details | Required / Optional | | --- | --- | --- | | Flow routing | The Document Processing flow contains a **Flexible Extraction Block** and routes eligible documents to it. The standard flow places the block after **Is Flexible Extraction needed?**. To learn more, see [Document Processing Flow](/v44/docs/document-processing-flow#flexible-extraction). | Required | | Selection logic | An upstream step can identify a document, field, or table cell for Flexible Extraction. For example, a keyer can manually match a page during Classification, or a Code Block can set `process_flexible_extraction_type`. Learn more in our [Flows SDK documentation](https://flows-sdk.hyperscience.ai/pages/idp.html#flows_sdk.implementations.idp_v43.idp_blocks.FlexibleExtractionBlock). | Required | | Supported table count | The document contains no more than one table. Documents with more than one table do not receive a Flexible Extraction task. | Required | | Text segment search | To let keyers search for and select document text, use v43.2 or later and turn on Enable Text Segment Search. | Optional | | Task configuration | Configure the notification flow, transcription masking, and machine-prediction settings for the task. To learn more, see [Document Processing Flow.](/v44/docs/document-processing-flow#flexible-extraction) | Optional | ### Use Flexible Extraction with a specialized ORCA VLM Complete the standard prerequisites and confirm the following: - **Required:** The instance has a supported GPU and an installed ORCA base model permitted by the current license. - **Required:** A Semi-structured layout contains the fields that the specialized model must extract. The latest layout version is locked and is not linked to another ORCA VLM model definition. Do not rely on table definitions because ORCA VLMs do not extract table data. - **Required:** An ORCA VLM model definition is linked to the layout. One layout can be linked to only 1 model definition. - **Required:** The model definition has enough eligible, annotated training documents to meet the training requirement shown for the selected ORCA base model. - **Required:** An adapter has been trained against the selected ORCA base model, and the resulting specialized model has been deployed as the live model. - **Required:** Thresholds have been calculated for the specialized model. Recalculate them after training a new adapter or switching adapters because the model's confidence distribution can change. - **Required:** In the ORCA Extraction settings, select the correct base model, turn on **Use Live Model**, and set **ORCA Target Accuracy**. Running the flow with **Use Live Model** turned on fails when no live model is available for the corresponding model definition. - **Required:** The flow routes the output of ORCA Extraction through **Is Flexible Extraction needed?** to the **Flexible Extraction** Block. - **Recommended:** Validate the candidate specialized model and its projected automation before deploying it. - **Recommended:** Turn on **Show Machine Predictions in Supervision Tasks** so keyers can review the specialized model's predicted values. ## Open a Flexible Extraction task 1. Go to **Tasks** > **Perform Tasks**. 2. In the **Supervision Tasks** table, click **Perform Tasks** in the **Flexible Extraction** row. 3. Review the task introduction, and then click **Continue**. The task opens with the **Document pages** panel, the page view, and the **Transcribe Fields** sidebar. Press **F2** to open the keyboard-shortcuts panel. ![Flexible Extraction task with the Document pages panel, page view, and Transcribe Fields sidebar](https://cdn.us.document360.io/87894cef-4958-4f3f-be6f-b75a78c82548/Images/Documentation/image(185).png?sv=2026-02-06&spr=https&st=2026-11-04T07%3A29%3A12Z&se=2026-11-04T08%3A29%3A12Z&sr=c&sp=r&sig=UJexM%2BfZ65sonnAgTVyK7VrHQNs2Yx3Vh37LuvQS%2BP4%3D) - **Document pages** lists the pages in the order set during Classification. An icon identifies a manually matched page. Select a page to view it. - The page view shows the selected page. Use its controls to move between pages, rotate the page, or change the zoom. When text-segment search is enabled, the **Search segment text** field also appears. - The **Transcribe Fields** sidebar contains the document details, fields, and table. ![Document pages panel with an icon identifying a manually matched page](https://cdn.us.document360.io/87894cef-4958-4f3f-be6f-b75a78c82548/Images/Documentation/fleex_left.jpg?sv=2026-02-06&spr=https&st=2026-11-04T07%3A29%3A12Z&se=2026-11-04T08%3A29%3A12Z&sr=c&sp=r&sig=UJexM%2BfZ65sonnAgTVyK7VrHQNs2Yx3Vh37LuvQS%2BP4%3D) ## Review and transcribe fields A warning icon marks each field that you must review. The icon's message is “Field must be reviewed to complete the task.” When available, the following filters appear and are turned on by default: - **Show fields from manually matched pages only** appears when the document contains a manually matched page. - **Show fields from selected variation only** limits the list to fields from the selected layout variation. When both filters are on, the list includes only fields that meet both conditions. Turn off a filter to show more fields. > [!NOTE] > **Data types** > > Transcribe exactly what you see. When **Flexible Extraction Transcription Masking** is turned on, which is the default, the task does not accept characters that are invalid for the field's data type. If a value fails validation, press **F9** to override the validation. The field then shows **Formatting Overridden**. For supported characters, see [Default Data Types](/v44/docs/default-data-types). 1. Select a field. If the field has a location, the page view scrolls to and highlights it. 2. Compare the field value with the document. 3. If the value is correct, press **Tab** to move to the next field. 4. If the value is missing or incorrect, enter the value as it appears in the document. For a checkbox or signature field, mark the field as filled or not filled. 5. If the document does not contain a value, leave the reviewed field blank. 6. (Optional) If you cannot read the value, click **Mark Illegible**. The field shows **Marked Illegible**. To move to the next field that requires review, press **Ctrl** + **E** on Windows or **Command** + **E** on Mac. ### Add or remove a field occurrence When the field supports multiple occurrences: 1. Click **Add occurrence** in the field, or click **Add another [field name]** on the field's bounding box. 2. To delete an occurrence, click **Remove occurrence**. ### Clear a field value and location Click **Clear location** on the bounding box. Hyperscience removes the field value and its location. ![Selected field in the Transcribe Fields sidebar and its highlighted location in the page view](https://cdn.us.document360.io/87894cef-4958-4f3f-be6f-b75a78c82548/Images/Documentation/fleex_fields.gif?sv=2026-02-06&spr=https&st=2026-11-04T07%3A29%3A12Z&se=2026-11-04T08%3A29%3A12Z&sr=c&sp=r&sig=UJexM%2BfZ65sonnAgTVyK7VrHQNs2Yx3Vh37LuvQS%2BP4%3D) ## Transcribe table cells If the document has a table, the sidebar lists its name and columns. A warning icon with the message “Column cells must be reviewed” marks a column that contains cells you must review. Table cells follow the same data-type rules as fields. > [!NOTE] > **Deleting all rows cannot be undone** > > **Delete All Rows** removes every row from the table. In the “Delete all rows?” dialog, click **Delete all rows** only when you want to transcribe the table again from the beginning. 1. Select a column name. The table editor opens with the first cell in the column selected. 2. Press **Enter** to edit the cell. 3. Enter the value. 4. Press **Enter** to save the value. 5. Press **Tab** to move to the next cell, or use the arrow keys to move between cells. To manage rows: 1. If the table has no rows, click **Start Table**. 2. If the table has rows, right-click a row. 3. Select **Insert Row Above**, **Insert Row Below**, **Delete Row**, or **Delete All Rows**. ## Search for text segments > [!NOTE] > **Text-segment search availability** > > Text-segment search and selection are available in v43.2 and later. A flow builder must turn on **Enable Text Segment Search**; the setting is turned off by default. When **Enable Text Segment Search** is turned on, use **Search segment text** to find text on every page of the document. Search is not case-sensitive. ![Flexible Extraction settings with Enable Text Segment Search turned on](https://cdn.us.document360.io/87894cef-4958-4f3f-be6f-b75a78c82548/Images/Documentation/search_segment_fleex.gif?sv=2026-02-06&spr=https&st=2026-11-04T07%3A29%3A12Z&se=2026-11-04T08%3A29%3A12Z&sr=c&sp=r&sig=UJexM%2BfZ65sonnAgTVyK7VrHQNs2Yx3Vh37LuvQS%2BP4%3D) 1. Enter all or part of the text in **Search segment text**. 2. Press **Enter**. Matching segments are highlighted, and the page view moves to the first match. 3. Click **Previous Segment** or **Next Segment** to move between matches. The counter shows the current match and total number of matches, such as **2 of 5**. If the search has no matches, it shows **No results**. Press **Shift** + **Enter** to move to the previous match or **Esc** to clear the search. To focus the search field, press **Ctrl** + **Alt** + **F** on Windows or **Command** + **Option** + **F** on Mac. ## Populate a value from text segments 1. Select the field or table cell that you want to populate. 2. Click one text segment, or draw a box around several text segments. Hyperscience adds the selected text and its location to the field or cell. Selecting another segment replaces the current value. Transcription masking applies the field's or column's data-type rules. For example, selecting `Dunlop2026` for a numeric field adds `2026`. You can also select a detected checkbox or signature segment for the corresponding field type. ## Mark an incorrect layout If the document was matched to the wrong layout, you cannot select another layout in the Flexible Extraction task. The document-details section shows the **Submission**, **Layout Group Name**, and **Layout Variation**. A manually matched variation also shows **(Manually Matched)**. > [!NOTE] > **Marking the layout incorrect can end processing** > > If the flow does not contain an enabled Reprocessing Block, Hyperscience ends processing for the submission and does not extract data from the document. 1. In the **Transcribe Fields** sidebar, expand the document details. 2. Click **Mark Layout Incorrect**. For a task created by an older flow, click **Mark Layout Variation Incorrect**. 3. Review the consequence in the confirmation dialog. 4. Click **Continue**. If the flow contains an enabled Reprocessing Block, Hyperscience removes the incorrect layout from all pages in the document and creates a Manual Classification task. ![Document details with the Mark Layout Incorrect and Reject Document actions](https://cdn.us.document360.io/87894cef-4958-4f3f-be6f-b75a78c82548/Images/Documentation/doc_info.jpg?sv=2026-02-06&spr=https&st=2026-11-04T07%3A29%3A12Z&se=2026-11-04T08%3A29%3A12Z&sr=c&sp=r&sig=UJexM%2BfZ65sonnAgTVyK7VrHQNs2Yx3Vh37LuvQS%2BP4%3D) ## Reject a document Reject a document when it cannot be processed, for example, when it is not in good order. Rejecting a document dismisses its remaining Supervision tasks. 1. In the **Transcribe Fields** sidebar, expand the document details. 2. Click **Reject Document**. 3. In the **Confirm Document Rejection** dialog, select a reason from **Reason for rejection**. 4. Click **Reject Document**. Hyperscience marks the document as rejected. An administrator configures the available reasons; the default reason is **Not in good order**. ## Complete the task 1. Confirm that you reviewed every field marked for review. 2. Click **Complete Task**. You can also press **Ctrl** + **Enter** on Windows or **Command** + **Enter** on Mac. If a marked field is still unreviewed, the **Fields Need Review** dialog opens. Click **Return to Task**, and then review the remaining fields. A reviewed field can remain blank when the document does not contain a value. If a value fails validation, correct it or override the validation before completing the task. Hyperscience saves the reviewed values and continues the submission through the flow. If address parsing is turned on, Hyperscience parses address-typed fields after the Flexible Extraction task. > [!NOTE] > **Page numbers in the JSON output** > > For a manually matched page processed through Flexible Extraction, `layout_page_number` and `layout_variation_page_number` are `1`. Use `document_page_number` to determine the page's order in the document. ## Requirements and limitations - A Flexible Extraction task supports no more than 1 table in a document. A document with more than 1 table does not receive a Flexible Extraction task. - You cannot select a different layout in the task. Mark the current layout incorrect instead. - Text-segment search requires v43.2 or later and the **Enable Text Segment Search** setting. - Submissions sent with the `machine_only` API parameter do not receive Flexible Extraction tasks. ## Next step To review the extracted values, see [Submission Output Page](/v44/docs/submission-output-page). A task in Hyperscience that involves human intervention to validate or correct data extraction for Structured documents. This task is used when automatic extraction isn’t fully reliable, allowing you to transcribe or adjust specific fields to ensure accuracy. A manual task that is created when the system’s confidence in a prediction is below the confidence threshold. Supervision allows a human to review and correct the output, ensuring data accuracy through human-in-the-loop input. **Thresholding** is the process of setting a confidence limit in a system to determine how decisions are made. Predictions above the threshold are automated, while those below are flagged for human review, ensuring accuracy and reliability. **No Layout Found** indicates that neither the system nor a human in a Supervision task could match the document to a layout. It often happens with “shifting forms” - forms that look structured but contain many small variations that break the match. Semi-structured documents can also end up with this status if they can’t be recognized by either the system or a human reviewer. Hyperscience's Vision Language Model (VLM) framework for extracting information from semi-structured documents. ORCA supports multiple base models, such as ORCA 1.0 and ORCA 2. You can use these base models as-is or train specialized models on top of them to improve extraction performance for your specific use case. Learn more in [ORCA Visual Language Models](https://help.hyperscience.ai/latest/docs/orca-optical-reasoning-and-cognition-agent-vlms). A component in Hyperscience that allows you to define when documents or fields should undergo Flexible Extraction. It enables the validation of transcriptions or adding data to documents that were manually categorized or skipped during regular Transcription Supervision. To use it, you need a Custom Code Block to set the specific rules. The confidence limit used to decide if a machine prediction should be sent for human review to ensure accuracy. A setting specified by the user. It indicates the desired overall system accuracy, including tasks performed by humans. It allows you to evaluate how well the system is expected to perform. See also Field-Level Accuracy Targets (FLAT). A property that defines the format of the data expected in a field, like numbers, dates, or email addresses. For example, the data type Date accepts only valid dates (e.g., MM/DD/YYYY). Data types help Hyperscience understand what’s expected in a field and flag anything that doesn’t match.