AchrafSoltani commited on
Commit
573e32c
·
verified ·
1 Parent(s): f1f60ae

Initial upload: s4_jobbert_haiku (paper release 2026-04)

Browse files
Files changed (1) hide show
  1. README.md +19 -3
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
- # Note: the BERT base tokeniser has a 512-token window; very long postings
103
- # are truncated. For full-text coverage, use the spaCy variant.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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