Proprietary implementation record

How HNLP and BERT MULTI are actually constructed

A code-derived reconstruction of dictionaries, multilingual synonyms, heading and fuzzy search, GLiNER span inference, and deterministic schema assembly.

Code-derived reconstruction

The proprietary methods are not black boxes

The reconstruction is based on the supplied Java implementation in edoc-260. HNLP is a deterministic, schema-conditioned rule and dictionary system with optional OpenNLP tokenization. BERT MULTI is a GLiNER span model embedded inside proprietary chunking, thresholding, sanitization, deduplication, mapping, grouping, splitting, and backfill logic.

Figure 3. Proprietary extraction pipelinesEvery stage can change the final precision and recall; attributing the final JSON solely to “heuristics” or “BERT” would be incorrect.

Hybrid NLP (Fast, Local)

Dictionaries, section search, multilingual synonyms, and bounded fuzzy recovery

01

Schema and resource binding

Field keys, titles, descriptions, heading_aliases, segment guidance, and non-comparison headings become executable extraction configuration. RuntimeTagCatalog, hnlp_skills_en.txt, djl_skills_en.txt, and localized dictionaries supply canonical lexical evidence.

02

Multilingual synonym search

Language detection selects language-aware resources. For non-default languages, configured section terms can be expanded through DictionaryService.expandQueryTerms. This is controlled lexical expansion, not unrestricted semantic translation.

03

Heading and fuzzy search

Exact, prefix, containment, and restricted fuzzy heading matches score 1.00, 0.95, 0.90, and 0.82. The base threshold is 0.75 and adapts within [0.45, 0.95]. Fuzzy phrases have equal token counts, no more than three tokens, long-token gates, and at most one bounded Levenshtein edit.

04

Section state machine

Canonical headings flush and open sections; ignored headings suppress content until a later valid boundary; local subheadings remain within a section; ambiguous headings use look-ahead evidence and dominance margins; headerless recovery uses constrained content inference.

05

Field evidence and normalization

Experience, skills, education, certifications, languages, seniority, and category use different regex, list, date, phrase, context, and negative-evidence rules. Winners are normalized, deduplicated, merged, and contract-validated.

Sh=max{Sexact,Sprefix,Scontains,Sfuzzy}πschema

NLP BERT MULTI (DJL)

Schema-conditioned GLiNER spans plus proprietary deterministic assembly

01

Query-plan compilation

SchemaDrivenEntityPlanBuilder recursively converts x_gliner metadata into labels, sections, destination paths, score floors, constraints, line modes, split rules, grouping windows, dedupe scopes, and assignment modes.

02

Dual chunk views

The runtime creates broad section chunks and focused line-context chunks. Defaults are 220 words, 30-word overlap, and at most four labels per prompt. Label order and batch composition are untested treatment variables.

03

Span inference and fallback

DJL tokenization and ONNX inference produce span-label logits; sigmoid scores are accepted at a default 0.10 threshold. Supported line modes can retain one dominant sub-threshold span at max(0.05, 0.6τ), followed by optional line-fragment expansion.

04

Sanitize and deduplicate

Candidates can be rejected or relabelled. Duplicate tolerance is max(60, min(260, 8o + 40)) characters. Replacement uses a +0.08 score margin; a longer nested span can replace a shorter one under a +0.06 rule.

05

Map and assemble

DjlSchemaMapper applies section, score, regex, length, split, grouping, template, cardinality, and deduplication rules. Summary/backfill and canonical validation follow. A correct neural span can therefore disappear—or completeness can increase—outside the encoder.

p(s,|x)=σ(zs);acceptpτ

Operating conditions

Optimality requirements differ by architecture

ConditionHNLPBERT MULTI
HeadingsConventional or configured headings are a primary boundary signal; missing headings can sharply reduce section recall.Headings improve chunk selection and disambiguation but contextual spans may survive without them.
Spelling and OCRExact dictionaries and regex are vulnerable; bounded fuzzy rules recover only constrained variation.Subwords tolerate some variation, but severe OCR and tokenizer mismatch lower scores and corrupt offsets.
LanguageRequires correct detection plus localized aliases, dictionaries, and synonym resources.Requires verified multilingual weights, matching tokenizer, and language-calibrated labels.
Target formStrong for explicit sections, lists, dates, and canonical vocabulary.Strong for explicit contiguous entity-like spans; weaker for long sections and dispersed inference.
LayoutFlattened columns directly damage stateful section boundaries.Flattened layout damages chunks, proximity grouping, and source offsets.

Academic reproducibility

Minimum artifact record

Archive the application commit; Java source hashes; schema; expanded query plan; dictionary and synonym manifests; optional OpenNLP load log; ONNX and tokenizer hashes; DJL and native provider versions; chunk and label batches; raw/sanitized/merged candidates; mapping decisions; backfill origin; and final field-to-PDF lineage.

Unresolved provenance.

The multilingual subclass changes the local model path but inherits a parent remote fallback identifier. The report therefore names the selected application strategy while refusing to assert the exact executed weights without a model manifest.

NextModels, MoE, and reasoning →
Figure