All work

ESG & sustainabilityIn productionEngineering

Per-field confidence and the claim-to-evidence path

Layout-aware parsing that keeps tables as tables, extraction that scores its own certainty so uncertain fields route to review, version-controlled framework mapping, and a knowledge graph paired with vector search because the real questions are comparative.

Who this is for
Engineers and technical leads reviewing the architecture and implementation decisions.
Challenge
Chunk-and-embed fails on institutional filings, flattening a table destroys what the number is a figure of, and retrieving the right phrase from the wrong year looks exactly like success.
Solution
Layout-aware parsing that preserves tables and footnotes, extraction that emits confidence as a routing signal, version-controlled framework mapping, and decomposed research over graph plus vector evidence.
Impact
The claim-to-evidence path is inspectable end to end, from a generated conclusion back to the parsed structure and the source page.
Status
In production. The weeks-to-hours result and any universal lineage claim still need confirmation.

Published

In short

Bigcircle parses an ESG filing without flattening it, so tables, footnotes, entity, period, unit, and framework stay with the figure. Each extracted field carries a confidence score that routes an uncertain value to review, and Bigcircle decomposes the research question across a knowledge graph and vector search with the source page attached. DocVerse is in production. The weeks-to-hours cycle change is an internal working result that still needs confirmation, and Bigcircle does not claim measured lineage for every metric.

Key facts

Definition

DocVerse is Bigcircle's filing pipeline that keeps table structure through parsing, scores every extracted field, and checks a new claim against the knowledge base.

How Bigcircle does it

  1. Bigcircle parses with layout-aware OCR so a table stays a table and a footnote stays attached to the figure it qualifies.
  2. Bigcircle stores entity, period, unit, and framework as metadata from parsing, and records the framework mapping version on the mapped fact.
  3. Bigcircle decomposes a comparative question, combines graph relationships with vector passages, and attaches the source page to the claim.

Comparison

Flattening a filing to text keeps the number and loses the row and column that made it mean something, while Bigcircle sends a low-confidence field to review.

Key number

Bigcircle's internal working result, which still needs confirmation, compressed analysis cycles from weeks to hours. A claim of lineage on every metric was not measured, so it is not made.

Weeks → hours
ESG analysis cycle

Internal working result from the build. Not yet reconfirmed with the client on current document volumes.

Sent to review
Low-confidence extractions

Every extracted field carries a confidence score, and an uncertain one is flagged rather than entering a dashboard as accepted data. Demonstrable in the product.

To the page
Lineage on every metric

Each number links back to the source page it was read from. Verify coverage on your own corpus before treating lineage as universal.

Stack

Layout-aware OCR + NLPFramework mapping (SDG, GRI, CSRD)Knowledge graph + vector searchGoverned analytics, full lineage

Chunk-and-embed works on documents where the meaning is in the prose. It fails on institutional filings, where the meaning is in a table on page 340, qualified by a footnote, under a framework version stated in an annexure, and where retrieving the right phrase from the wrong year is a failure that looks exactly like success.

This is the engineering half of the case study. The business read (why lineage is the commercial argument) is a separate document.

The problem

Flattening destroys the evidence. A financial or ESG table converted to a text blob loses the row-column relationship that made a number mean something. The figure survives; what it is a figure of does not. Any pipeline that normalises to plain text before extraction has already lost the case.

Four things must all be right, and being wrong about any one produces a plausible answer. Entity, period, unit, framework. A retrieved passage stating a correct number for the wrong subsidiary, the wrong reporting year, in thousands rather than millions, or against a superseded framework version is not partially correct. It is wrong in a way no downstream reader can detect.

Framework mapping is a versioning problem, not a classification problem. GRI, CSRD, SDGs and internal KPI sets change. Two disclosures reporting the same underlying fact against different versions of the same framework have not reported the same number, and comparing them without tracking the mapping version silently produces a trend that does not exist.

And extraction confidence has to be a first-class output. A pipeline that returns values without certainty forces the analyst into a binary (trust everything or re-derive everything) and they will rationally choose the second, which is the work the system existed to remove.

  • Preserve document structure through parsing, so tables stay tables

  • Carry entity, period, unit and framework as hard metadata, never inferred at query time

  • Version framework mappings, because comparability depends on it

  • Score every extracted field, so uncertainty routes to review rather than into a dashboard

Architecture

A containerised pipeline from raw document to governed, queryable intelligence, with five layers that each preserve something the next one needs.

Layout-aware parsing takes each document through intake, OCR and language processing, producing structured chunks, sections, tables and footnotes with rich metadata. The design goal is machine-readability without removing the original structure, which is the opposite of the usual normalise-to-text instinct, and is the decision the rest of the system depends on.

ESG-aware extraction pulls entities, metrics, units, time periods, tables and narrative claims, each with a confidence score. That score is not a diagnostic. It is a routing signal: low-confidence fields are flagged for review rather than passed downstream as fact.

Framework mapping aligns KPIs and statements to SDGs, GRI, CSRD or a custom framework through classifiers plus rule logic, with traceable, version-controlled mappings. Rules and models together, because the rules encode the parts that are definitional and must not be probabilistic.

A knowledge graph plus vector search links entities and KPIs across reports. The graph carries the relationships (this entity, this period, this framework) and vector search carries the semantic reach. Either alone fails: pure vector search cannot express "the same subsidiary two years earlier," and pure graph traversal cannot find the narrative claim that was never structured.

A governed analytics layer serves it, over a versioned store with role-based access, audit logs and lineage to source pages.

Design decision: research questions are decomposed rather than retrieved once. The system selects sources, combines graph and vector evidence, constructs claims, checks them, and attaches provenance, because the questions analysts actually ask are comparative, and one retrieval cannot answer a comparison.

The business read: why confidence scoring is what made the output reusable

How it works

Parse without flattening#

Intake, layout-aware OCR and language processing produce structured chunks, sections, tables and footnotes. Table structure and footnote attachment survive, because a metric detached from its qualifier is a liability.

Extract with confidence#

Entities, metrics, units, periods, tables and narrative claims come out typed, each with a certainty score that determines whether it proceeds or routes to a human.

Map to frameworks, versioned#

Classifiers and rules align each signal to the applicable framework, recording which mapping version was applied, so a later comparison can tell a real change from a definitional one.

Entities and KPIs join the knowledge graph; passages join the vector index. Cross-report and time-series questions become traversals rather than repeated reads.

Decompose the research question#

A question is broken into parts, sources are selected per part, graph and vector evidence are combined, claims are constructed, checked against the existing knowledge base, and provenance is attached.

Serve under governance#

Dashboards, heatmaps, benchmarks and anomaly views over a versioned store with role-based access and audit logging.

Control planes

Governance#

Source authority, document metadata, reporting period, framework mapping, role-based access and lineage together determine what may be used as a fact. Low-confidence extraction cannot silently become accepted data. Generated analysis must retain citations and source-page links. An unsupported conclusion does not get presented as a finding, which is enforced at generation rather than reviewed afterwards.

Orchestration#

Intake, OCR, extraction, mapping, graph construction, retrieval, analysis, fact-checking, presentation. The fact-checking step is the one most pipelines omit: a new filing is checked against what the knowledge base already holds, which is how a restatement or a contradiction surfaces as a flag instead of as two coexisting truths.

Observability#

The observable unit is the claim-to-evidence path: document, page, parsed structure, extracted entity or metric, confidence, retrieval decision, framework mapping, generated conclusion.

Versioning is what makes this useful over time. Comparing two revisions answers the question that actually gets asked in an audit, did this number move because the company changed, because a document was restated, or because we changed how we read it?

When it fails

The dangerous failure is a confident extraction of a correct number under wrong metadata. Everything downstream passes: the value is real, the citation resolves, the page is right. It is simply attributed to the wrong entity, period, unit or framework version. This is why those four travel as hard metadata from parsing rather than being inferred at query time. Inference at query time makes the error unrecoverable.

Scanned and irregular documents are the volume problem: annexures, rotated tables, footnotes that qualify a figure three pages away. The correct behaviour is low confidence and routing to review, not a best guess, and the tuning work is mostly about making sure low confidence actually fires rather than producing a confident wrong parse.

Framework version drift is the slow failure. A mapping that was right last year silently produces a broken comparison this year, which is why mappings are version-controlled and the version is recorded on the mapped fact rather than held globally.

Results

  • Analysis cycles from weeks to hours, replacing manual extraction and spreadsheet assembly at high document volume

  • Every answer citation-grounded and fact-checked against the existing knowledge base rather than generated from one retrieval

  • Low-confidence extraction routed to review, so uncertainty is visible instead of averaged into a dashboard

  • Claim-to-evidence path inspectable end to end, from generated conclusion back to the source page

Evidence

Directly demonstrable: grounded research with citations, fact-checking against the knowledge base, custom evaluations, the generated analytical interfaces, per-field confidence scoring, and human review of flagged extractions.

Internal working results requiring confirmation: the weeks-to-hours cycle-time change, and any universal statement about complete lineage. Lineage holds as designed; "every metric, always" is a stronger claim than we have measured, so we do not make it.

If you are building document intelligence over institutional filings, the two decisions that are expensive to reverse are whether you flatten structure during parsing, and whether extraction emits confidence. Both look like refinements you can add in a second pass. Neither is, the first destroys information you cannot recover, and the second changes what analysts are willing to build on top of.

How we classify these results, and what still needs confirming

Common questions

  • Why does Bigcircle refuse to flatten an ESG filing to text?

    A table converted to a text blob keeps the figure and loses the row and column that made it mean something. Bigcircle runs layout-aware parsing so sections, tables, and footnotes survive with their metadata. Entity, period, unit, and framework travel with the value from parsing, because inferring them later makes a wrong attribution unrecoverable. DocVerse is in production.

  • What happens when DocVerse is unsure about a metric?

    Each extracted field carries a confidence score, and Bigcircle uses that score to route the field. A low-confidence value goes to human review instead of downstream as fact. Scanned annexures and footnotes that qualify a figure pages away are the cases this path is for. The weeks-to-hours cycle change is an internal working result that still needs confirmation.

  • How does Bigcircle answer a comparison across two ESG reports?

    Bigcircle decomposes the question, picks sources per part, and combines the knowledge graph with vector search. The graph holds entity, period, and framework, and vector search finds a narrative claim that was never turned into a field. A new filing is checked against the knowledge base so a restatement shows up as a flag. DocVerse is in production, and Bigcircle does not claim that lineage has been measured for every metric.

  • Can a framework change make two years of ESG data look like a trend?

    Yes, if the mapping version is not stored on the fact. Bigcircle versions the mapping, using classifiers plus rules, and records which version was applied. A later comparison can then separate a real change from a definitional one. DocVerse is in production.

Want the version of this built for you?

We can walk you through Institutional ESG Analytics Built an AI Filing Intelligence Platform live — the architecture, the failure modes, and what we would change for your constraints. Tell us what you are building and we will come back with a concrete plan.

Reply within 2h

We store your name, email, company, and message, and email a copy to hello@bigcircle.ai. Read the privacy page and the terms.