Sistava

What is Fact Extraction?

Also called information extraction.

Fact extraction is the process of pulling structured statements out of unstructured text, typically as subject, relation, object triples with a source reference. It converts prose into records that can be filtered, aggregated, updated, and traversed. It underpins knowledge graph construction and most durable memory systems that store what was learned rather than what was said.

Extraction traditionally used rule sets and supervised models trained per relation type, which were accurate but narrow. Language models changed the economics by extracting arbitrary relations from a schema described in a prompt, at the cost of consistency: the same sentence can yield different relation names across runs unless the allowed vocabulary is constrained and the output validated against it.

Several problems appear immediately at scale. The same entity is written many ways and must be resolved to one identifier. The same fact arrives repeatedly and must be deduplicated rather than stored many times. Facts contradict each other, sometimes because one is stale and sometimes because a source is wrong, so each record needs a timestamp, a source pointer, and preferably a validity interval.

Confidence and provenance are what make extracted facts usable later. A fact stored without the sentence it came from cannot be verified, corrected, or explained to a user, and an extraction pipeline that discards provenance produces a knowledge store nobody can audit. Storing the supporting quotation alongside the triple costs little and preserves the ability to trace any downstream claim.

The realistic quality expectation is partial. Extraction misses facts stated implicitly, misreads negations and hedges, and occasionally invents relations that the text does not state. Systems that treat extracted facts as authoritative inherit those errors permanently, which is why many designs keep the original text retrievable and use extracted facts as an index into it rather than as a replacement for it.

Key points

In practice

From the sentence Acme moved its European headquarters from Dublin to Amsterdam in March, extraction emits two records: Acme has headquarters Amsterdam, valid from March, and Acme had headquarters Dublin, valid until March. Each carries the source sentence and document identifier. A later query about Acme's current headquarters reads only the record still valid, while the historical one stays available for questions about the move.

Related terms

Back to the AI Glossary