Downloads · 30 days
5
14% of all-time downloads
mischeiwiller/jobbert-de
jobbert-de is a text classification model from mischeiwiller. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as apache-2.0.
A German job-title → ESCO occupation classifier: fine-tuned deepset/gbert-base with a closed 135-way sequence-classification head over the ESCO occupation scope of the Stellen-Atlas gold set. Given a German job title…
Downloads · 30 days
5
14% of all-time downloads
All-time downloads
35
Public
Parameters
110M
440 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors440 MB · 100%
From the Hugging Face model README
jobbert-de-v2)A German job-title → ESCO occupation classifier: fine-tuned
deepset/gbert-base with a closed
135-way sequence-classification head over the ESCO occupation scope of the
Stellen-Atlas
gold set. Given a German job title (and optional short text), it predicts the most
likely ESCO occupation URI.
Part of the Stellen-Atlas project — an open German/DACH jobs + skills corpus, model, and demo.
title + derived description;
the corpus carries titles only, so titles dominate the signal).config.id2label), argmax over the head.from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
repo = "mischeiwiller/jobbert-de"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForSequenceClassification.from_pretrained(repo).eval()
title = "Softwareentwickler (m/w/d) Backend"
inputs = tok(title, truncation=True, max_length=64, return_tensors="pt")
with torch.no_grad():
logits = model(**inputs).logits
pred_id = int(logits.argmax(-1))
esco_uri = model.config.id2label[pred_id] # an ESCO occupation URI
print(esco_uri)
The honest two-step story behind this checkpoint:
deepset/gbert-base was then fine-tuned as a closed 135-way classifier
on this silver set.The LLM-labeller was itself validated against the hand gold labels before the silver run: top-1 agreement 0.70 (vs 0.30 for the zero-shot teacher).
Held-out gold set: gold/gold.parquet — 208 German titles, occupations annotated
independently of any model prediction (non-circular). Scored with a dependency-free
single-label macro-F1 / top-1 metric (cross-checked against scikit-learn). The zero-shot
baseline is intfloat/multilingual-e5-base restricted to the same 135 occupations, so
both predict over the identical closed label space (apples-to-apples).
| Metric | Zero-shot baseline (135-scope) | jobbert-de-v2 | Delta |
|---|---|---|---|
| Macro-F1 (union of gold ∪ predicted) | 0.4832 | 0.5167 | +0.0335 |
| Top-1 accuracy | 0.5240 | 0.5913 | +0.0673 |
| Gold classes exactly right (F1 = 1.0) | 39 / 135 | 45 / 135 | +6 |
| Distinct occupations predicted | 99 | 98 | — |
jobbert-de-v2 beats the fairly-scoped zero-shot on both metrics — the LLM-supervised
labels let the closed head learn the scope's occupations rather than echo the teacher's
mistakes.
The original Phase-9.1 baseline (0.1948 macro-F1 / 0.3029 top-1) ranked zero-shot over the full ~3,000-occupation ESCO space. That is an unfair bar for a closed 135-way classifier, so the table above uses the re-baselined 135-scope numbers.
deepset/gbert-base (German BERT).config.id2label).preferred_label text in the corpus is mixed DE/EN; only the URI is the join key.deepset/gbert-base is MIT.conceptUri values.mischeiwiller/german-job-postings
(derived from Bundesagentur für Arbeit Jobbörse API; see the dataset card for source ToS
and the BA KldB non-commercial caveat).Part of the Stellen-Atlas project (dataset + model + demo):
mischeiwiller/german-job-postings
— the open German/DACH jobs + skills corpus this model was trained on.mischeiwiller/stellen-atlas
— interactive demo: paste a German ad → ESCO occupation + skills + green share.@misc{stellen_atlas_jobbert_de,
title = {JobBERT-de: German job-title to ESCO occupation classifier},
author = {Scheiwiller, Michael},
year = {2026},
howpublished = {\url{https://huggingface.co/mischeiwiller/jobbert-de}},
note = {Part of the Stellen-Atlas project; fine-tuned from deepset/gbert-base on Claude-supervised silver labels.}
}