Skip to main content
Fingerprints test for matching text in a document to determine whether it’s a good fit for a config or not. There are two types of fingerprints:
  • one for optimizing extraction performance for standalone documents
  • one for segmenting portfolio files into separate documents.
If you use a config for both portfolio and standalone versions of the same document, Sensible automatically converts between the two and uses the appropriate fingerprint.

Standalone documents

Parameters

A fingerprint consists of an array of tests, where each test is a string, a Match object, or array of Match objects. For more information, see Match object. Behind the scenes, Sensible automatically expands this simple syntax to syntax for portfolio fingerprints using "page" : "any".

Examples

The following fingerprint tests a vendor-specific config “anyco_life_insurance_quote” in a document type “life insurance quotes”. This fingerprint tests that a document is a life insurance quote from Anyco by looking for three known key phrases.
The config preferentially runs if the fingerprint finds the phrases.

Portfolios

Parameters

A fingerprint consists of an array of tests, where each test contains a Page parameter and a Match parameter:
JSON
Portfolio fingerprints differ from single-file document fingerprints in the following behaviors:
  • If you specify a Match array in a test, then Sensible must find all the matches in the array on the same page in the portfolio for the test to pass and for Sensible to identify a page as “first”, “last”, or another type. In single-file documents, matches can occur anywhere in a document.
  • Sensible must find 100% of all matches in all tests to segment a document in a portfolio. In single-file documents, Sensible must find 50% of all matches anywhere in the document by default to give the document a “passing” score.
The following table shows parameters for each test for portfolio documents:

Tips

Use the following tips when you define fingerprints for portfolios:
  • If the first page contains unique text, Sensible recommends specifying solely a first page test.
  • If the first page doesn’t contain unique text and the last page does, Sensible recommends specifying a last page test and an every page test.
  • Avoid specifying an any page test unless other page types fail to segment the document.
  • If you want to specify fallback matches for the same page type, specify the matches in separate tests. For example, a form has revisions 1 and 2 that have slightly different wordings on the first page. Specify one test with a first page type and wording A, and specify a second test with a first page type and wording B.

Examples

For an example of using fingerprints to extract multiple documents from a portfolio file, see Multi-document extraction.

Notes

For information about configuring fingerprint strictness for standalone documents, see Fingerprint mode.