I taught AI to catalog research papers the way their experts do.
A major academic publisher had experts hand-cataloging every article: assigning 150+ classification codes and choosing from 7,000+ controlled-vocabulary terms, by hand, per paper, across a dozen inconsistent file formats. I built the AI pipeline that does it now: format-agnostic, vocabulary-constrained, and reviewed by their staff.
Anonymized. Specifics under NDA, framing and lessons in the open.
Auto-detects each format → one canonical structure
Atomic extractors · one field at a time · constrained to the controlled vocabulary
Source-aware conflict resolution
The publisher receives article metadata from many sources in inconsistent formats, and historically had subject-matter experts read each paper and hand-assign everything: 150+ classification codes, terms chosen from a 7,000+ term controlled vocabulary, methodology and population tags, authors, affiliations, identifiers (following thick production manuals). It was slow, expensive, and inconsistent from cataloger to cataloger.
An AI extraction pipeline. A deterministic parser auto-detects each vendor format and maps it into one canonical structure; then, the key move, instead of asking the model for everything at once, it runs an extractor per field, each one constrained to only the publisher's approved codes and vocabulary, with self-healing retries when the model drifts off-list. A merger combines the parser's structural fields with the AI's semantic fields, resolving conflicts. Staff review and correct in a web cockpit: PDF and XML side-by-side, AI-vs-human diffs, a data-quality heatmap, and field-level feedback.
It runs at ~85–88% accuracy and 85–94% field coverage against human-cataloged "gold" records, in roughly two minutes a paper, replacing from-scratch manual indexing with an automated, vocabulary-validated, schema-conformant pipeline plus a review cockpit. A built-in evaluation harness scores every run, and a human-in-the-loop feedback loop drives the accuracy up over time.
[ specifics under NDA ]
What the pipeline does, piece by piece.
Six moving parts that turn a dozen inconsistent formats into one clean, vocabulary-validated record.
Format-agnostic parser
Auto-detects each vendor XML/PDF format and maps it into one canonical structure, hardened against malicious XML.
Atomic extraction
One field per call, not one giant prompt. Distinct extractor types that run in parallel for speed and reliability.
Vocabulary-constrained AI
Every field is limited to only the approved codes and terms; off-list values are rejected and the model self-heals.
Source-aware merger
Structural fields come from the parser, semantic fields from the AI. Combined with deliberate conflict resolution.
Staff review cockpit
PDF/XML viewers, an AI-vs-human diff, a data-quality heatmap, and field-level feedback. The staff stay in control.
Tiered-model cost engine
A cheap model handles simple fields, a stronger one handles the complex ones, and the huge vocabulary prompt is cached.
A few decisions do the heavy lifting.
The engineering choices that make AI extraction reliable enough to trust on every record. Anonymized, but real.
Atomic beats monolithic
One field per call is far more reliable than asking the model for everything at once, and each field gets its own right-sized model and runs in parallel.
Constrained generation
When the model returns a term that isn't in the controlled vocabulary, it's rejected and re-prompted with corrections: guardrails against LLM drift.
Cache the giant prompt
The 7,000+ term vocabulary lives in a cached system prompt, so every per-field call reuses it, big cost and latency savings.
Config, not code
Swap the vocabulary file and every prompt updates. The editorial team owns the terms, no deploy needed.
[ anonymized: specifics under NDA ]
Drowning in documents that need structure?
Tell me what your documents look like and what you need pulled out of them. I'll map out the build, put a real number on what it's worth, and you'll own every line of it. I reply within 48 hours on weekdays.