Document Intelligence add-on capabilities
Important
- Document Intelligence public preview releases provide early access to features that are in active development.
- Features, approaches, and processes may change, prior to General Availability (GA), based on user feedback.
- The public preview version of Document Intelligence client libraries default to REST API version 2023-10-31-preview.
This content applies to: v4.0 (preview) | Previous versions:
v3.1 (GA)
This content applies to: v3.1 (GA) | Latest version:
v4.0 (preview)
Note
Add-on capabilities are available within all models except for the Business card model.
Document Intelligence supports more sophisticated and modular analysis capabilities. Use the add-on features to extend the results to include more features extracted from your documents. Some add-on features incur an extra cost. These optional features can be enabled and disabled depending on the scenario of the document extraction. The following add-on capabilities are available for 2023-07-31 (GA)
and later releases:
Note
Not all add-on capabilities are supported by all models. For more information, see model data extraction.
The following add-on capability is available for 2023-10-31-preview
and later releases:
Note
The query fields implementation in the 2023-10-30-preview API is different from the last preview release. The new implementation is less expensive and works well with structured documents.
High resolution extraction
The task of recognizing small text from large-size documents, like engineering drawings, is a challenge. Often the text is mixed with other graphical elements and has varying fonts, sizes and orientations. Moreover, the text can be broken into separate parts or connected with other symbols. Document Intelligence now supports extracting content from these types of documents with the ocr.highResolution
capability. You get improved quality of content extraction from A1/A2/A3 documents by enabling this add-on capability.
Formula extraction
The ocr.formula
capability extracts all identified formulas, such as mathematical equations, in the formulas
collection as a top level object under content
. Inside content
, detected formulas are represented as :formula:
. Each entry in this collection represents a formula that includes the formula type as inline
or display
, and its LaTeX representation as value
along with its polygon
coordinates. Initially, formulas appear at the end of each page.
Note
The confidence
score is hard-coded.
"content": ":formula:",
"pages": [
{
"pageNumber": 1,
"formulas": [
{
"kind": "inline",
"value": "\\frac { \\partial a } { \\partial b }",
"polygon": [...],
"span": {...},
"confidence": 0.99
},
{
"kind": "display",
"value": "y = a \\times b + a \\times c",
"polygon": [...],
"span": {...},
"confidence": 0.99
}
]
}
]
Font property extraction
The ocr.font
capability extracts all font properties of text extracted in the styles
collection as a top-level object under content
. Each style object specifies a single font property, the text span it applies to, and its corresponding confidence score. The existing style property is extended with more font properties such as similarFontFamily
for the font of the text, fontStyle
for styles such as italic and normal, fontWeight
for bold or normal, color
for color of the text, and backgroundColor
for color of the text bounding box.
"content": "Foo bar",
"styles": [
{
"similarFontFamily": "Arial, sans-serif",
"spans": [ { "offset": 0, "length": 3 } ],
"confidence": 0.98
},
{
"similarFontFamily": "Times New Roman, serif",
"spans": [ { "offset": 4, "length": 3 } ],
"confidence": 0.98
},
{
"fontStyle": "italic",
"spans": [ { "offset": 1, "length": 2 } ],
"confidence": 0.98
},
{
"fontWeight": "bold",
"spans": [ { "offset": 2, "length": 3 } ],
"confidence": 0.98
},
{
"color": "#FF0000",
"spans": [ { "offset": 4, "length": 2 } ],
"confidence": 0.98
},
{
"backgroundColor": "#00FF00",
"spans": [ { "offset": 5, "length": 2 } ],
"confidence": 0.98
}
]
Barcode property extraction
The ocr.barcode
capability extracts all identified barcodes in the barcodes
collection as a top level object under content
. Inside the content
, detected barcodes are represented as :barcode:
. Each entry in this collection represents a barcode and includes the barcode type as kind
and the embedded barcode content as value
along with its polygon
coordinates. Initially, barcodes appear at the end of each page. The confidence
is hard-coded for as 1.
Supported barcode types
Barcode Type | Example |
---|---|
QR Code |
![]() |
Code 39 |
![]() |
Code 93 |
![]() |
Code 128 |
![]() |
UPC (UPC-A & UPC-E) |
![]() |
PDF417 |
![]() |
EAN-8 |
![]() |
EAN-13 |
![]() |
Codabar |
![]() |
Databar |
![]() |
Databar Expanded |
![]() |
ITF |
![]() |
Data Matrix |
![]() |
Language detection
It predicts the detected primary language for each text line along with the confidence
in the languages
collection under analyzeResult
.
"languages": [
{
"spans": [
{
"offset": 0,
"length": 131
}
],
"locale": "en",
"confidence": 0.7
},
]
Key-value Pairs
Key-value pairs are specific spans within the document that identify a label or key and its associated response or value. In a structured form, these pairs could be the label and the value the user entered for that field. In an unstructured document, they could be the date a contract was executed on based on the text in a paragraph. The AI model is trained to extract identifiable keys and values based on a wide variety of document types, formats, and structures.
Keys can also exist in isolation when the model detects that a key exists, with no associated value or when processing optional fields. For example, a middle name field can be left blank on a form in some instances. Key-value pairs are spans of text contained in the document. For documents where the same value is described in different ways, for example, customer/user, the associated key is either customer or user (based on context).
Query Fields
Document Intelligence now supports query field extractions. With query field extraction, you can add fields to the extraction process using a query request without the need for added training.
Use query fields when you need to extend the schema of a prebuilt or custom model or need to extract a few fields with the output of layout.
Query fields are a premium add-on capability. For best results, define the fields you want to extract using camel case or Pascal case field names for multi-work field names.
Query fields support a maximum of 20 fields per request. If the document contains a value for the field, the field and value are returned.
This release has a new implementation of the query fields capability that is priced lower than the earlier implementation and should be validated.
Note
Document Intelligence Studio query field extraction is currently available with the Layout and Prebuilt models starting with the 2023-10-31-preview
API and later releases.
Query field extraction
For query field extraction, specify the fields you want to extract and Document Intelligence analyzes the document accordingly. Here's an example:
If you're processing a contract in the Document Intelligence Studio, use the
2023-10-31-preview
version:You can pass a list of field labels like
Party1
,Party2
,TermsOfUse
,PaymentTerms
,PaymentDate
, andTermEndDate
" as part of theanalyze document
request.Document Intelligence is able to analyze and extract the field data and return the values in a structured JSON output.
In addition to the query fields, the response includes text, tables, selection marks, and other relevant data.
Next steps
Learn more: Read model Layout model.
Feedback
Submit and view feedback for