JointBERT / README.md
sigurdriseth's picture
Update README.md
066fb7d verified
|
Raw
History Blame Contribute Delete
1.75 kB
---
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)