--- 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)