medbert-de-med-bench-eval
MEDBERT.de: A Comprehensive German BERT Model for the Medical Domain — Bressem et al. (2023) (arXiv:2303.08179, 2023)
What this evaluates
Evaluates German medical language models on classification and named entity recognition tasks across radiology reports, clinical discharge notes, surgery reports, and public medical/general benchmarks.
Datasets
- Chest CT — total 2000; splits: train (1000), val (500), test (500)
- Chest X-Ray — total 2000; splits: train (1000), val (500), test (500)
- ICD-10 code classification on discharge notes — total 2000; splits: train (1000), val (500), test (500)
- OPS code classification on discharge notes — total 2000; splits: train (1000), val (500), test (500)
- OPS code classification on surgery reports — total 2000; splits: train (1000), val (500), test (500)
- GermEval-18 — total ?; splits: test (-1)
- Wrist NER — total ?; splits: test (-1)
- GraSCCo — total ?; splits: test (-1)
- GGPOnc — total ?; splits: test (-1)
Metrics
AUROC (primary) — range: [0, 1]
- Area under the Receiver Operating Characteristic curve. Computed per class or globally depending on the task.
Macro F1 — range: [0, 1]
- Unweighted mean of the F1 scores for each class, treating all classes equally regardless of support.
Micro F1 — range: [0, 1]
- F1 score calculated globally by counting total true positives, false negatives, and false positives across all classes.
Precision — range: [0, 1]
- Ratio of correctly predicted positive observations to the total predicted positives.
Recall — range: [0, 1]
- Ratio of correctly predicted positive observations to all observations in the actual class.
Token-level F1 (F1tok) — range: [0, 1]
- F1 score computed at the token level for NER tasks, aggregating predictions across all tokens in the sequence.
Input / output format
Input: German medical text documents (e.g., radiology reports, discharge summaries, surgery reports, clinical guidelines, or general domain text).
Output: Predicted class labels for classification tasks; predicted entity tags for NER tasks.
Scoring recipe
def compute_classification_metrics(y_true, y_pred, y_prob=None):
precision = precision_score(y_true, y_pred, average='macro')
recall = recall_score(y_true, y_pred, average='macro')
f1 = f1_score(y_true, y_pred, average='macro')
auc = roc_auc_score(y_true, y_prob, multi_class='ovr') if y_prob is not None else None
return {'Precision': precision, 'Recall': recall, 'Macro F1': f1, 'AUROC': auc}
def compute_ner_metrics(y_true_tokens, y_pred_tokens):
# Token-level F1/Precision/Recall computed by flattening sequences and ignoring padding
prec = precision_score(y_true_tokens, y_pred_tokens, average='macro')
rec = recall_score(y_true_tokens, y_pred_tokens, average='macro')
f1 = f1_score(y_true_tokens, y_pred_tokens, average='macro')
return {'Prec': prec, 'Rec': rec, 'F1tok': f1}
Common pitfalls
- Private benchmarks (Chest CT, X-Ray, ICD-10, OPS, Wrist NER) are not publicly available, limiting independent reproduction.
- Token-level vs. document-level metrics are reported separately but the text does not specify how token-level AUROC/F1 is aggregated across sequences.
- Deduplication variants are evaluated but show negligible performance differences, making it unclear if data cleaning pipelines are standardized.
Evidence (verbatim from paper)
In the chest x-ray task, we found that the two best performing models were our own pre-trained BERT models. Our model trained on the corpus with duplicates removed (medBERT.dededup) achieves a slightly better performance with an average AUROC of 83.65 compared to 83.42 of the model trained on the whole corpus (medBERT.de).
Citation
@misc{bressem2023medbertde,
title={MEDBERT.de: A Comprehensive German BERT Model for the Medical Domain},
author={Bressem et al. (2023)},
year={2023},
note={arXiv:2303.08179}
}
1---2name: medbert-de-med-bench-eval3description: Evaluates German medical language models on classification and named entity recognition tasks across radiology reports, clinical discharge notes, surgery reports, and public medical/general benchmarks. Use when the user wants to benchmark on Chest CT, Chest X-Ray, ICD-10 code classification on discharge notes, OPS code classification on discharge notes, OPS code classification on surgery reports, GermEval-18, Wrist NER, GraSCCo, GGPOnc, or asks about evaluating this task. Reports AUROC.4---56# medbert-de-med-bench-eval78> MEDBERT.de: A Comprehensive German BERT Model for the Medical Domain — Bressem et al. (2023) (arXiv:2303.08179, 2023)910## What this evaluates1112Evaluates German medical language models on classification and named entity recognition tasks across radiology reports, clinical discharge notes, surgery reports, and public medical/general benchmarks.1314## Datasets1516- **Chest CT** — total 2000; splits: train (1000), val (500), test (500)17- **Chest X-Ray** — total 2000; splits: train (1000), val (500), test (500)18- **ICD-10 code classification on discharge notes** — total 2000; splits: train (1000), val (500), test (500)19- **OPS code classification on discharge notes** — total 2000; splits: train (1000), val (500), test (500)20- **OPS code classification on surgery reports** — total 2000; splits: train (1000), val (500), test (500)21- **GermEval-18** — total ?; splits: test (-1)22- **Wrist NER** — total ?; splits: test (-1)23- **GraSCCo** — total ?; splits: test (-1)24- **GGPOnc** — total ?; splits: test (-1)2526## Metrics2728- `AUROC` **(primary)** — range: [0, 1]29 - Area under the Receiver Operating Characteristic curve. Computed per class or globally depending on the task.30- `Macro F1` — range: [0, 1]31 - Unweighted mean of the F1 scores for each class, treating all classes equally regardless of support.32- `Micro F1` — range: [0, 1]33 - F1 score calculated globally by counting total true positives, false negatives, and false positives across all classes.34- `Precision` — range: [0, 1]35 - Ratio of correctly predicted positive observations to the total predicted positives.36- `Recall` — range: [0, 1]37 - Ratio of correctly predicted positive observations to all observations in the actual class.38- `Token-level F1 (F1tok)` — range: [0, 1]39 - F1 score computed at the token level for NER tasks, aggregating predictions across all tokens in the sequence.4041## Input / output format4243**Input**: German medical text documents (e.g., radiology reports, discharge summaries, surgery reports, clinical guidelines, or general domain text).4445**Output**: Predicted class labels for classification tasks; predicted entity tags for NER tasks.4647## Scoring recipe4849```python50def compute_classification_metrics(y_true, y_pred, y_prob=None):51 precision = precision_score(y_true, y_pred, average='macro')52 recall = recall_score(y_true, y_pred, average='macro')53 f1 = f1_score(y_true, y_pred, average='macro')54 auc = roc_auc_score(y_true, y_prob, multi_class='ovr') if y_prob is not None else None55 return {'Precision': precision, 'Recall': recall, 'Macro F1': f1, 'AUROC': auc}5657def compute_ner_metrics(y_true_tokens, y_pred_tokens):58 # Token-level F1/Precision/Recall computed by flattening sequences and ignoring padding59 prec = precision_score(y_true_tokens, y_pred_tokens, average='macro')60 rec = recall_score(y_true_tokens, y_pred_tokens, average='macro')61 f1 = f1_score(y_true_tokens, y_pred_tokens, average='macro')62 return {'Prec': prec, 'Rec': rec, 'F1tok': f1}63```6465## Common pitfalls6667- Private benchmarks (Chest CT, X-Ray, ICD-10, OPS, Wrist NER) are not publicly available, limiting independent reproduction.68- Token-level vs. document-level metrics are reported separately but the text does not specify how token-level AUROC/F1 is aggregated across sequences.69- Deduplication variants are evaluated but show negligible performance differences, making it unclear if data cleaning pipelines are standardized.7071## Evidence (verbatim from paper)7273> In the chest x-ray task, we found that the two best performing models were our own pre-trained BERT models. Our model trained on the corpus with duplicates removed (medBERT.dededup) achieves a slightly better performance with an average AUROC of 83.65 compared to 83.42 of the model trained on the whole corpus (medBERT.de).7475## Citation7677```bibtex78@misc{bressem2023medbertde,79 title={MEDBERT.de: A Comprehensive German BERT Model for the Medical Domain},80 author={Bressem et al. (2023)},81 year={2023},82 note={arXiv:2303.08179}83}84```8586- arXiv: 2303.08179