Views
No views yet
distilbert-base-cased, 65.2M params).load_best_model_at_end on F1), so extra training can only help.| Label | Stage 3 F1 | Stage 4 F1 | Delta |
|---|---|---|---|
| PERSON | 0.878 | 0.912 | +0.034 |
| ORGANIZATION | 0.597 | 0.626 | +0.029 |
| LOCATION | 0.682 | 0.729 | +0.048 |
| TIMEDATE | 0.686 | 0.739 | +0.052 |
| PRODUCT | 0.462 | 0.462 | +0.000 |
| WORKOFART | 0.433 | 0.491 | +0.058 |
| JOB | 0.690 | 0.657 | -0.032 |
| AMOUNT | 0.729 | 0.774 | +0.044 |
data/stage4/wild_predictions.json in the project repo). Full
pattern-by-pattern comparison is in report/REPORT.md. Summary: 3 of the 10
Stage 3 patterns were resolved outright (Samsung/NASA organization
mislabeling, football-score boundary truncation), several partially improved
(multi-word span merging is now more reliable — "Treaty of Versailles" and
"Inflation Reduction Act" are captured whole where they weren't consistently
before), 2 remain unresolved (Elon Musk / Liverpool disambiguation), and one
new regression appeared (Beethoven mistagged WORKOFART instead of PERSON) —
reported honestly rather than cherry-picked.| Parameters | 65,203,985 |
| Checkpoint size on disk | 249.4 MB |
| Training time (12 epochs, 902 oversampled records) | 3336 s (~55.6 min) |
1from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline
2
3model = AutoModelForTokenClassification.from_pretrained("MatinAsgarov/applied-nlp-ner-stage4-distilbert")
4tok = AutoTokenizer.from_pretrained("MatinAsgarov/applied-nlp-ner-stage4-distilbert")
5nlp = pipeline("ner", model=model, tokenizer=tok, aggregation_strategy="simple")
6nlp("Samsung unveiled the Galaxy S25 Ultra in San Jose.")