Skip to content

JobHop v2: A Large-Scale Career Trajectory Dataset from Unstructured Resumes

Source: arXiv:2607.11715 · Published 2026-07-13 · By Iman Johary, Guillaume Bied, Alexandru C. Mara, Tijl De Bie

TL;DR

JobHop v2 addresses a critical gap in publicly available career trajectory datasets by providing a large-scale, richly annotated collection of 355,315 career trajectories extracted end-to-end from ∼440,000 pseudonymized, multilingual resumes. Unlike prior datasets that are small, proprietary, or rely on pre-standardized codes or synthetic text, JobHop v2 uses a novel LLM-based pipeline to parse real unstructured resumes and annotate them with ESCO occupational codes, fine-grained temporal data at quarter-year resolution, normalized five-level education attainment, explicit contract and skill attributes, and language proficiencies. This release significantly broadens coverage and annotation depth relative to JobHop v1, while improving extraction quality and consistency through a reasoning-controlled LLM prompt with a multi-step retry mechanism, yielding a 100% valid JSON output parse rate. Evaluated against three complementary human and AI-generated annotation baselines, the best model achieves extraction accuracy within 1.1 to 2.7 percentage points of the inter-annotator agreement ceiling, indicating near-human level performance in structured information extraction from highly heterogeneous, multilingual, and pseudonymized resumes.

Key findings

  • JobHop v2 dataset contains 355,315 career trajectories with 1,993,291 work experience entries and 923,981 education entries from ∼440,000 raw resumes after cleaning.
  • The LLM-based pipeline achieved 100% JSON parse rate after retrying 12.6% of initially malformed extractions in a corpus of ~400,000 processed resumes.
  • Occupational code assignment uses a two-step hybrid classifier policy with asymmetric confidence thresholds: primary step coverage is 93.0%, rescue step adds 0.1%, unassigned entries are 6.9%.
  • Extraction accuracy of the best GPT-OSS-120B model with high reasoning effort reaches 83.9% (hand annotations), 86.2% (edited labels), and 88.0% (agent labels) final weighted scores, within 1.1–2.7 points of human inter-annotator agreement ceilings (86.6%–89.1%).
  • Compared to JobHop v1, JobHop v2’s redesigned pipeline shows clear extraction quality improvements, winning 57.4% vs. 26.2% in blind pairwise LLM-judged comparisons over 1,000 resumes.
  • Most frequent occupational groups in JobHop v2 are Service & Sales Workers (ISCO 5), Professionals (ISCO 2), and Technicians & Associate Professionals (ISCO 3), reflecting white-collar bias in the underlying corpus.
  • Career trajectory lengths range mostly between 2–6 jobs per individual with mean 5.6 and median 5, capturing realistic longitudinal employment patterns.
  • Strict extraction schema includes fields for work schedule, contract duration/type, technical skills (excluding soft skills), languages with proficiency levels, education normalized to five degree levels, and professional certificates.

Threat model

The threat model focuses on preserving individual privacy and preventing re-identification through pseudonymization, exclusion of direct identifiers, location removal, and date coarsening to quarters. The adversary is assumed to be an external party attempting to de-anonymize resumes. The extraction pipeline is designed for on-premises inference only, preventing data leakage to external APIs or cloud providers. Adversaries cannot access raw resume contents or unprocessed personally identifiable information.

Methodology — deep read

The authors begin with a corpus of approximately 440,000 pseudonymized, multilingual resumes provided under a formal agreement from VDAB, the Flemish Public Employment Service. Pseudonymization replaces identifying information with <MASK> tokens, and location fields are removed, while all dates are coarsened to quarter-level granularity to preserve privacy. Documents with empty or near-empty text after pseudonymization were excluded, leaving roughly 400,000 resumes for extraction.

The core innovation is an LLM-based information extraction pipeline that runs entirely on on-premises infrastructure due to privacy constraints, powered by openai/gpt-oss-120b, a 120B-parameter model tuned for reasoning. Inference runs in batches of 200 with high reasoning effort and greedy decoding. The model is prompted as an expert HR assistant to strictly extract structured JSON objects from raw text resumes, adhering to a rigorously designed schema that includes work experiences, education, languages, and certificates. Extraction rules handle multi-column formats, pseudonymization artifacts, multilingual text (Dutch, French, English), date ranges, and label normalization (e.g., internships, degree levels, proficiency levels).

A multi-step retry mechanism is employed: approximately 12.6% of the initial extractions fail JSON parsing and are automatically re-processed with increased generation budgets and higher repetition penalties until all (100%) valid JSON outputs are obtained. This retry loop ensures robust, parseable extraction at scale.

Subsequently, a five-stage cleaning pipeline repairs parsing artifacts in dates, corrects invalid date ranges (swapping or rejecting entries with implausible dates), deduplicates identical entries, filters out resumes likely corrupted or non-resume files based on experience counts, and merges adjacent job entries when appropriate.

Normalization follows for occupational coding, temporal resolution, and education levels. Occupations are mapped to ESCO taxonomy (v1.1.2) via a commercial classifier with a two-step hybrid approach: a primary assignment on concatenated title+description with moderate confidence threshold (τ1=0.45), followed by a rescue on model-generated standard_title with higher confidence (τ2=0.85). Entries failing both remain unlabeled as unknown. Dates are transformed rigorously into quarter-year strings via multilingual month mapping, and education degrees normalized into five levels based on term matching.

The dataset is summarized as including 355,315 unique resumes, nearly two million work experiences, and close to one million education entries.

For evaluation, the authors propose a novel scoring protocol with partial credit for substring matches and paraphrases, flexible date matching, and weighted fields reflecting downstream importance (e.g., title weighted 1.5x). They test extraction quality on 200 benchmark resumes with three complementary annotation sets: original human labels, expert-edited labels, and independent agent (AI) labels. Comparisons involve sample-level weighted similarity, precision, recall, and an entry-count penalty.

The best LLM model (GPT-OSS-120B at high reasoning) achieves final extraction accuracy scores within 1.1–2.7 points of inter-annotator agreement ceilings, indicating near-human level performance. A blind pairwise LLM-graded comparison versus JobHop v1 extractions on 1,000 resumes confirms statistically significant improvement. Model hyperparameters, training details, and computational setup are thoroughly documented.

Overall, the methodology reflects an end-to-end pipeline integrating data sourcing under ethical/privacy constraints, cutting-edge LLM extraction prompted for strict schema adherence with retry logic, layered cleaning and normalization, and a robust multi-baseline scoring protocol for fair evaluation.

Technical innovations

  • A reasoning-controlled LLM inference extraction pipeline with rule-enforced prompts and a multi-step retry mechanism achieving 100% JSON parse rates on noisy, pseudonymized, multilingual resumes.
  • A richer extraction schema expanding beyond job titles to include contract type/duration, work schedule, explicit technical skills, normalized education levels, language proficiencies, and professional certificates.
  • A two-step hybrid ESCO occupational code assignment using concatenated job title+description with a coverage threshold, and a high-precision fallback on model-generated standardized titles to balance recall and precision.
  • A revised evaluation protocol employing graduated partial-credit scoring functions for string similarity and dates, field-importance weighting, and multi-baseline reference annotations to disentangle extraction errors from annotation noise.

Datasets

  • JobHop v2 — 355,315 career trajectories — Publicly released from VDAB pseudonymized multilingual resume corpus

Baselines vs proposed

  • GPT-OSS-120B (high reasoning): final extraction score = 83.9% (Hand annotations) vs inter-annotator agreement ceiling 86.6%
  • GPT-OSS-120B (high reasoning): final extraction score = 86.2% (Edited labels) vs ceiling 88.5%
  • GPT-OSS-120B (high reasoning): final extraction score = 88.0% (Agent labels) vs ceiling 89.1%
  • JobHop v2 extractions win 57.4% vs JobHop v1 at 26.2% in blind LLM-judged pairwise extraction quality comparison on 1,000 resumes

Limitations

  • The underlying resume corpus is pseudonymized and regionally focused (Flemish public employment service), limiting geographic and cultural diversity.
  • Annotations and extraction rely heavily on ESCO taxonomy and classifiers which may imperfectly capture emerging or nuanced roles.
  • Evaluation benchmarks use AI-generated annotations as references, which may introduce inductive bias inflating accuracy metrics compared to fully independent human labels.
  • The corpus exhibits a white-collar employment bias, limiting generalizability to primary-sector or informal labor markets.
  • Privacy constraints preclude cloud-based inference and limit dataset richness to coarse-grained temporal and location data, reducing possible analysis granularity.
  • Structural biases in historical career trajectories may perpetuate labor market inequities, warning against uncritical use in downstream applications.

Open questions / follow-ons

  • How well does the extraction pipeline generalize to resumes in languages beyond Dutch, French, and English, or to different regional labor markets?
  • Can the ESCO occupation code mapping be improved by integrating zero-shot or few-shot classification with domain adaptation to capture emerging job roles?
  • What are the downstream impacts of structural biases in the dataset on fairness and equity in job recommendation or labor market modeling?
  • How would extraction performance and dataset utility improve with richer temporal granularity or finer location metadata while preserving privacy?

Why it matters for bot defense

For bot-defense and CAPTCHA practitioners, JobHop v2 exemplifies how large language models can be harnessed to perform high-quality structured extraction from noisy, multilingual, semi-structured text under strict schema constraints and with iterative retry mechanisms. The concept of reasoning-controlled prompting combined with multi-pass recovery could inspire robust extraction and normalization strategies for detecting automation or semantic anomalies in text inputs. Additionally, the rigorous annotation, normalization, and evaluation protocols provide a template for developing public benchmarks in complex information extraction tasks, aiding adversarial detection system calibration. Although JobHop v2’s domain is career data rather than bot detection, the underlying methodology illustrates how LLMs can be harnessed securely and reliably on local infrastructure, a concern relevant for CAPTCHAs operating under privacy constraints.

Cite

bibtex
@article{arxiv2607_11715,
  title={ JobHop v2: A Large-Scale Career Trajectory Dataset from Unstructured Resumes },
  author={ Iman Johary and Guillaume Bied and Alexandru C. Mara and Tijl De Bie },
  journal={arXiv preprint arXiv:2607.11715},
  year={ 2026 },
  url={https://arxiv.org/abs/2607.11715}
}

Read the full paper

Articles are CC BY 4.0 — feel free to quote with attribution