加载中…
加载中…
model.safetensors 735 MBonnx/model_quantized.onnx 271 MBtraining_args.bin 5.3 kBExtracts skills (e.g. "mentor junior engineers") and knowledge (e.g. "Python", "AWS") spans from English job postings. Skill and knowledge spans can overlap.
onnx/model_quantized.onnx: 271 MB, test F1 0.6309 vs 0.6318 for fp32)The model has two BIO tagging heads (6 outputs: SKILL O/B/I + KNOWLEDGE O/B/I) and
learned CRF transitions stored in skillex_crf.json, so use the skillex decoder rather
than the stock pipeline:
# pip install git+https://github.com/MSR327/skillspan-ner.git
from skillex.predict import SkillExtractor
ex = SkillExtractor("srish327/deberta-v3-skillspan-crf") # picks up the CRF automatically
ex.extract("We need a data engineer with strong SQL and stakeholder management skills.")
This checkpoint (seed 43, chosen as the best seed on validation; test evaluated once): F1 0.6316 (skill 0.5371, knowledge 0.7178).
Same setup across 3 seeds, compared with alternatives (mean ± std):
| Model | Decoding | Seeds | F1 | F1 skill | F1 knowledge |
|---|---|---|---|---|---|
| bert-base-cased | Viterbi | 2 | 0.558 ± 0.004 | – | – |
| jobbert-base-cased | Viterbi | 3 | 0.598 ± 0.007 | – | – |
| deberta-v3-base | Viterbi | 3 | 0.625 ± 0.005 | 0.540 | 0.697 |
| deberta-v3-base + CRF (this setup) | CRF | 3 | 0.645 ± 0.005 | 0.565 | 0.713 |
| SkillSpan paper, JobBERT + CRF (Zhang et al., 2022) | CRF | 5 | 0.597 | 0.561 | 0.639 |
The paper's combined score follows Benikova et al. (2014), so the comparison is close but not identical. Our JobBERT run reproduces the paper's number (0.598 vs 0.597).
O → I is hard-forbidden.
Loss is the sum of the two heads' CRF negative log-likelihoods.Zhang, Jensen, Sonniks, Plank. SkillSpan: Hard and Soft Skill Extraction from English Job Postings. NAACL 2022.