| --- |
| language: "no" |
| tags: |
| - token-classification |
| - text-classification |
| - ner |
| - intent-classification |
| - norwegian |
| - bert |
| base_model: NbAiLab/nb-bert-large |
| --- |
| # JointBERT for Norwegian Feed Orders |
| A joint intent classification and slot filling / NER model for Norwegian animal feed order queries, fine-tuned from [NbAiLab/nb-bert-large](https://huggingface.co/NbAiLab/nb-bert-large). |
|
|
| ## Task |
| The model processes Norwegian spoken order queries and: |
| - **Classifies the intent** (6 classes): `create_order`, `edit_order`, `confirm`, `reject`, `help`, `reorder_last` |
| - **Extracts named entities** (7 entity types, IOB2): `PRODUCT`, `QUANTITY`, `UNIT`, `DELIVERY_METHOD`, `DELIVERY_DATE`, `ADDRESS`, `TANK_SILO` |
|
|
| ## Test Set Results |
|
|
| ### Overall |
| | Metric | Score | |
| | --------------- | ---------- | |
| | NER Precision | 95.69% | |
| | NER Recall | 98.04% | |
| | NER F1 | 96.85% | |
| | Intent Accuracy | 99.07% | |
| | Intent F1 | 99.04% | |
| | **Combined F1** | **97.94%** | |
|
|
| ### Per-Entity NER F1 |
| | Entity | F1 | |
| | --------------- | ------- | |
| | PRODUCT | 96.00% | |
| | QUANTITY | 98.77% | |
| | UNIT | 96.97% | |
| | DELIVERY_METHOD | 100.00% | |
| | DELIVERY_DATE | 91.30% | |
| | ADDRESS | 97.25% | |
| | TANK_SILO | 97.44% | |
| |
| ## Training |
| - **Base model**: NbAiLab/nb-bert-large (1024 hidden, 24 layers) |
| - **Training data**: 972 utterances (train + val merged after hyperparameter search) |
| - **Hyperparameter search**: Optuna (40 trials), retrained on train+val with best config |
| - **Loss**: `0.6 * intent + 0.4 * NER` |
| - **Epochs**: 15 |
| - **Learning rate**: 3e-05 |
| - **Batch size**: 16 |
| - **Weight decay**: 0.1 |
| - **Warmup ratio**: 0.2 |
| - **Frozen layers**: 0 (full fine-tuning) |