Home / Work / AIDA
CASE STUDY · OIL & GAS · AI/ML

Decades of knowledge,
locked in scanned PDFs.

60,000 oilfield documents — technical manuals, well completion reports, HSE records, inspection certificates, equipment logs — accumulated over decades and effectively unsearchable. The mission: make them answerable in natural language, with citations, at an accuracy an engineer would actually trust.

Industry
Oil & gas services
Domain
Document AI · knowledge graphs
Corpus
60,000+ documents
Accuracy
95%+ on domain content
Latency
Under 2s full-corpus query
Languages
Mixed Arabic / English
95%
Extraction accuracy
60k
Documents indexed
<2s
Query response time
0
Manual re-keying required
/ 01
The Problem

An oilfield service company had 60,000+ documents accumulated over decades. Institutional knowledge was trapped inside PDFs and scanned images. Every time an engineer needed historical data — a pressure rating, a certification date, a prior failure — they searched manually, taking hours or days.

Existing document management systems could store files but could not understand them. Commercial OCR tools missed domain-specific terminology. Generic language models hallucinated confidently when asked about oilfield-specific data formats, which in this context is worse than returning nothing.

The corpus was also physically hostile: degraded scans, rotated pages, mixed Arabic and English on the same sheet, and technical diagrams whose annotations carried the actual information.

/ 02
The Approach

We built a purpose-trained vision-language pipeline, fine-tuned on oilfield document vocabulary, with custom OCR preprocessing that handles the specific degradations this corpus exhibits — problems that broke every commercial tool tested.

Extracted knowledge is structured into a property graph linking equipment identifiers, well identifiers, inspection dates, personnel and certification chains. That graph is the difference between search and understanding: a document mentioning a serial number becomes connected to every other document about that asset.

Natural-language queries resolve against semantic embeddings and graph traversals simultaneously, so a question like "which pumps are overdue for recertification" is answerable even though no single document states it.

/ 03
The Hard Parts
  1. Domain vocabulary that no pretrained model had seen Oilfield nomenclature, tool codes and certification formats are absent from general training data. Extraction had to be tuned on the actual document classes rather than relying on a general model to guess.
  2. Mixed-script documents Arabic and English frequently appear on the same page, sometimes in the same table. Detection and extraction had to handle script switching without collapsing one language into garbage.
  3. Verifying accuracy honestly A 95% claim is meaningless without ground truth. Output was validated against expert-annotated reference sets rather than self-reported model confidence — which routinely overstates.
  4. Diagrams that carry the data In technical manuals the critical value is often an annotation on a schematic, not body text. The pipeline treats diagram annotations as first-class content instead of discarding them as images.
/ 04
The Outcome

95% extraction accuracy on domain-specific content, verified against ground-truth annotations by subject matter experts. Query latency under 2 seconds across the full corpus. Engineers who spent hours searching get answers in seconds, with source citations back to the originating page.

The knowledge graph also surfaced something nobody asked for: compliance gaps. Equipment without current certification, overdue inspection schedules and incomplete traceability chains were all invisible in the raw document pile and obvious once the relationships were explicit.

Stack Rust Go SurrealDB Vision-language models Knowledge graphs Custom OCR Semantic embeddings Arabic/English NLP Property graph modelling

Search finds documents.
A graph answers questions.

KNOWLEDGE YOU ALREADY OWN

Your hardest-won expertise is probably
sitting in a folder nobody can search.

Contact Us →