Token Classification
Transformers
Safetensors
English
bert
ner
named-entity-recognition
job-postings
distilled
Instructions to use AchrafSoltani/jobbert-ner-haiku-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AchrafSoltani/jobbert-ner-haiku-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="AchrafSoltani/jobbert-ner-haiku-v1")# Load model directly from transformers import AutoTokenizer, AutoModelForTokenClassification tokenizer = AutoTokenizer.from_pretrained("AchrafSoltani/jobbert-ner-haiku-v1") model = AutoModelForTokenClassification.from_pretrained("AchrafSoltani/jobbert-ner-haiku-v1", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Initial upload: s4_jobbert_haiku (paper release 2026-04)
Browse files
README.md
CHANGED
|
@@ -25,7 +25,7 @@ Distilled Named Entity Recognition model for English-language job postings. One
|
|
| 25 |
- **Student identifier:** `s4_jobbert_haiku`
|
| 26 |
- **Artefact size:** ~820 MB
|
| 27 |
|
| 28 |
-
Latency is materially lower than the spaCy students (~15 ms vs ~44 ms per document on the gold set). F1 is materially lower because the 512-token window cannot reach the trailing part of most postings.
|
| 29 |
|
| 30 |
## Intended use
|
| 31 |
|
|
@@ -70,6 +70,8 @@ Sonnet-trained students evaluate on all 516 gold postings; Haiku-trained student
|
|
| 70 |
|
| 71 |
### Per-entity-type
|
| 72 |
|
|
|
|
|
|
|
| 73 |
| Entity type | P | R | F1 |
|
| 74 |
|---|---|---|---|
|
| 75 |
| COMPANY | 0.636 | 0.470 | 0.540 |
|
|
@@ -99,8 +101,22 @@ text = 'Senior Machine Learning Engineer at Acme Corp in Berlin. Requires 5+ yea
|
|
| 99 |
for ent in ner(text):
|
| 100 |
print(ent["word"], "->", ent["entity_group"])
|
| 101 |
|
| 102 |
-
#
|
| 103 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
```
|
| 105 |
|
| 106 |
## Ethical considerations
|
|
|
|
| 25 |
- **Student identifier:** `s4_jobbert_haiku`
|
| 26 |
- **Artefact size:** ~820 MB
|
| 27 |
|
| 28 |
+
Latency is materially lower than the spaCy students (~15 ms vs ~44 ms per document on the gold set). F1 is materially lower on the full distribution because the 512-token window cannot reach the trailing part of most postings; on shorter text the model recovers the full entity set.
|
| 29 |
|
| 30 |
## Intended use
|
| 31 |
|
|
|
|
| 70 |
|
| 71 |
### Per-entity-type
|
| 72 |
|
| 73 |
+
Per-entity numbers below reflect the coverage constraint as much as the model's per-type quality. Entities that appear only in the trailing part of a long posting (typically `CERT`, `EDUCATION`, `EXPERIENCE_LEVEL`, and `COMPENSATION` in many English templates) are systematically outside the model's input window and therefore missed at the recall metric even when the model would classify them correctly on shorter text. For full-text coverage, use the spaCy variant.
|
| 74 |
+
|
| 75 |
| Entity type | P | R | F1 |
|
| 76 |
|---|---|---|---|
|
| 77 |
| COMPANY | 0.636 | 0.470 | 0.540 |
|
|
|
|
| 101 |
for ent in ner(text):
|
| 102 |
print(ent["word"], "->", ent["entity_group"])
|
| 103 |
|
| 104 |
+
# Produces (verified on this release; note the BERT wordpiece tokenisation
|
| 105 |
+
# artefacts in numeric spans):
|
| 106 |
+
# Senior Machine Learning Engineer -> JOB_TITLE (0.70)
|
| 107 |
+
# Acme Corp -> COMPANY (0.76)
|
| 108 |
+
# Berlin -> LOCATION (0.63)
|
| 109 |
+
# 5 + years of experience -> EXPERIENCE_LEVEL (0.76)
|
| 110 |
+
# PyTorch -> SKILL (0.60)
|
| 111 |
+
# AWS -> SKILL (0.63)
|
| 112 |
+
# Kubernetes -> SKILL (0.67)
|
| 113 |
+
# MSc in Computer Science -> EDUCATION (0.62)
|
| 114 |
+
# $ 140, 000 – $ 180, 000 -> COMPENSATION (0.93)
|
| 115 |
+
|
| 116 |
+
# Note: the BERT base tokeniser has a 512-token window. The example text here
|
| 117 |
+
# is short (well under the limit); on a full job posting of ~4,000 characters,
|
| 118 |
+
# the tail is truncated and entities there are systematically missed. For
|
| 119 |
+
# full-text coverage, use the spaCy variant.
|
| 120 |
```
|
| 121 |
|
| 122 |
## Ethical considerations
|