Building Interpretable Feature Representations for Resume-Vacancy Matching by Distilling Production LLM Signals
Organizations: BroutonLab · Curately
Abstract
Matching candidates to vacancies is central to recruitment, and a recruiter needs to see why a candidate fits, not only a single opaque relevance score. We provide this evidence as named, interpretable matching dimensions recruiters can act on - eight in our current deployment. We propose a two-part approach. The first is an LLM-based labeler whose prompts and feature definitions were refined from recruiter feedback while it served as an earlier production matching stage. In the current architecture, it is used only for offline labeling and is not called on online requests. The second is a feature bi-encoder distilled from it: a LoRA-adapted embedding backbone with compact per-dimension heads that runs on CPU and serves all online requests. Both parts keep improving: prompts are revised as feedback arrives, and the bi-encoder is retrained on the updated labels. The model is trained on 168,772 labeled vacancy-resume pairs (17,921 vacancies and 180,030 resumes). Recruiters using the service can confirm or revise surfaced feature predictions. On 927 recruiter-recorded values from this selected production-feedback subset, the deployed student agrees with the recorded decisions in 888 cases (95.79%). This is operational, non-blinded agreement rather than an independent human evaluation.
Figures & tables
| Document | n | p50 | p75 | p90 | p95 | p99 |
|---|---|---|---|---|---|---|
| Vacancy | 17,921 | 503 | 725 | 997 | 1,236 | 2,018 |
| Resume | 180,030 | 1,321 | 2,038 | 3,235 | 4,205 | 6,244 |
| Method | Acc. | Macro-F1 |
|---|---|---|
| Majority baseline | 0.606 | 0.268 |
| Original encoder + MLP | 0.760 | 0.669 |
| Cross-encoder (offline) | 0.934 | 0.897 |
| Bi-encoder (production) | 0.886 | 0.849 |
| (a) Pair representation | (b) Training objective | ||
|---|---|---|---|
| 0.837 | Hard-label cross-entropy | 0.825 | |
| 0.842 | + cross-encoder soft targets (KD) | 0.840 | |
| 0.846 | + KD + ordinal consistency | 0.845 | |
| 0.849 | + KD + margin (without ordinal) | 0.844 | |
| Full objective | 0.849 | ||
| Dimension | n | Exact | Agree | Wilson 95% CI | Maj. |
|---|---|---|---|---|---|
| Skill Context | 120 | 120 | 100.0% | 96.90–100.00% | 72.5% |
| Skill Proficiency | 120 | 120 | 100.0% | 96.90–100.00% | 61.7% |
| Hard Skill Experience | 120 | 120 | 100.0% | 96.90–100.00% | 38.3% |
| Industry Experience | 120 | 120 | 100.0% | 96.90–100.00% | 47.5% |
| Experience Recency | 87 | 87 | 100.0% | 95.77–100.00% | 87.4% |
| Job Title Match | 120 | 118 | 98.3% | 94.13–99.54% | 35.8% |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| Work | Student model | Supervision | Interpretable output | Serving |
|---|---|---|---|---|
| Li et al. (2025) | Role-aware MoE ranker | LLM-generated job descr. | Single ranking score | GPU |
| Yu et al. (2026) | LLM re-ranker (Qwen3) | Contrastive + LLM rerank | Single relevance score | GPU |
| Fu et al. (2025) | Distilled generative LLM | LLM (fit + explanation) | Free-text explanation | GPU |
| Jouanneau et al. (2026) | Late cross-attn. ranker | Generative LLM, calib. KD | Single skill-fit score | GPU |
| Ours | Bi-encoder (0.6B+LoRA) | Prod. LLM cross-enc. KD | Eight named ordinal/binary dimensions | CPU |
| Feature | Classes (0 1 2) | What is evaluated |
|---|---|---|
| Skill group (evaluated jointly by combined-skill prompt) | ||
| Skill Context | no_overlap research production | Context in which the overlapping required skill was applied: no evidence, R&D / experimentation, or live production / business delivery. |
| Experience Recency | old recent active | How recently the candidate used the main required skill cluster ( 3 yr, 1–3 yr, or current / 1 yr). |
| Skill Proficiency | no_overlap practical professional | Depth of hands-on ownership: no credible evidence, real applied use with limited scope, or substantial ownership and repeated delivery. |
| Hard Skill Experience | mismatch close_match match | How well the demonstrated hands-on hard-skill experience (type and level) meets the vacancy requirement. |
| Fit group (separate per-dimension prompts) | ||
| Feature | Majority | MLP, | Full |
|---|---|---|---|
| baseline | orig. enc. | model | |
| Skill Context | 0.489 | 0.788 | 0.883 |
| Skill Proficiency | 0.240 | 0.642 | 0.801 |
| Hard Skill Experience | 0.218 | 0.739 | 0.846 |
| Industry Experience | 0.203 | 0.682 | 0.853 |
| Experience Recency | 0.279 | 0.467 | 0.828 |