thomasbeste commited on
Commit
a41628e
·
verified ·
1 Parent(s): f25f1c4

Danish NER model v8 - 91.02% F1

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: da
3
+ license: mit
4
+ tags:
5
+ - token-classification
6
+ - ner
7
+ - named-entity-recognition
8
+ - danish
9
+ - xlm-roberta
10
+ - scandinavian
11
+ datasets:
12
+ - alexandrainst/dane
13
+ - wikiann
14
+ - tollefj/nordic-ner
15
+ metrics:
16
+ - f1
17
+ - precision
18
+ - recall
19
+ pipeline_tag: token-classification
20
+ model-index:
21
+ - name: danish-ner-xlmr-base
22
+ results:
23
+ - task:
24
+ type: token-classification
25
+ name: Named Entity Recognition
26
+ dataset:
27
+ name: DaNE
28
+ type: alexandrainst/dane
29
+ split: validation
30
+ metrics:
31
+ - name: F1
32
+ type: f1
33
+ value: 0.9102
34
+ ---
35
+
36
+ # Danish NER XLM-RoBERTa (v8)
37
+
38
+ State-of-the-art Named Entity Recognition model for Danish, fine-tuned from XLM-RoBERTa.
39
+
40
+ **Updated 2026-02-03**: Now v8 with 91.02% F1 (previously 84.6%)
41
+
42
+ ## Performance
43
+
44
+ | Benchmark | F1 Score |
45
+ |-----------|----------|
46
+ | **DaNE (validation)** | **91.02%** |
47
+ | Previous version | 84.6% |
48
+ | nbailab baseline | 87.09% |
49
+
50
+ ## Quick Start
51
+
52
+ ```python
53
+ from transformers import pipeline
54
+
55
+ ner = pipeline("ner", model="thomasbeste/danish-ner-xlmr-base", aggregation_strategy="simple")
56
+ result = ner("Anders Jensen arbejder hos Novo Nordisk i København.")
57
+
58
+ for entity in result:
59
+ print(f"{entity['word']}: {entity['entity_group']} ({entity['score']:.2f})")
60
+ ```
61
+
62
+ ## Entity Types
63
+
64
+ | Label | Description | Example |
65
+ |-------|-------------|---------|
66
+ | `PER` | Person names | Anders Jensen |
67
+ | `ORG` | Organizations | Novo Nordisk A/S |
68
+ | `LOC` | Locations | København |
69
+ | `MISC` | Miscellaneous | Dansk |
70
+
71
+ ## Training Data
72
+
73
+ - DaNE (4.4k samples)
74
+ - WikiANN Danish (20k samples)
75
+ - NorNE Norwegian (30k samples)
76
+ - High-quality synthetic data (60k samples)
77
+
78
+ ## License
79
+
80
+ MIT
config.json ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_cross_attention": false,
3
+ "architectures": [
4
+ "XLMRobertaForTokenClassification"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "bos_token_id": 0,
8
+ "classifier_dropout": null,
9
+ "dtype": "float32",
10
+ "eos_token_id": 2,
11
+ "hidden_act": "gelu",
12
+ "hidden_dropout_prob": 0.1,
13
+ "hidden_size": 768,
14
+ "id2label": {
15
+ "0": "O",
16
+ "1": "B-PER",
17
+ "2": "I-PER",
18
+ "3": "B-ORG",
19
+ "4": "I-ORG",
20
+ "5": "B-LOC",
21
+ "6": "I-LOC",
22
+ "7": "B-MISC",
23
+ "8": "I-MISC"
24
+ },
25
+ "initializer_range": 0.02,
26
+ "intermediate_size": 3072,
27
+ "is_decoder": false,
28
+ "label2id": {
29
+ "B-LOC": 5,
30
+ "B-MISC": 7,
31
+ "B-ORG": 3,
32
+ "B-PER": 1,
33
+ "I-LOC": 6,
34
+ "I-MISC": 8,
35
+ "I-ORG": 4,
36
+ "I-PER": 2,
37
+ "O": 0
38
+ },
39
+ "layer_norm_eps": 1e-05,
40
+ "max_position_embeddings": 514,
41
+ "model_type": "xlm-roberta",
42
+ "num_attention_heads": 12,
43
+ "num_hidden_layers": 12,
44
+ "output_past": true,
45
+ "pad_token_id": 1,
46
+ "position_embedding_type": "absolute",
47
+ "tie_word_embeddings": true,
48
+ "transformers_version": "5.0.0",
49
+ "type_vocab_size": 1,
50
+ "use_cache": false,
51
+ "vocab_size": 250002
52
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5925ae3610b89bea5a2485d3d87abfcaf6bbf1a5248e7ebe4633aa112c1d0201
3
+ size 1109863932
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:733035ab05a88e9a792538ad44ddd0ad270dffe3539aa83767434d7a95ab814c
3
+ size 16781751
tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": true,
3
+ "backend": "tokenizers",
4
+ "bos_token": "<s>",
5
+ "cls_token": "<s>",
6
+ "eos_token": "</s>",
7
+ "is_local": true,
8
+ "mask_token": "<mask>",
9
+ "model_max_length": 512,
10
+ "pad_token": "<pad>",
11
+ "sep_token": "</s>",
12
+ "tokenizer_class": "XLMRobertaTokenizer",
13
+ "unk_token": "<unk>"
14
+ }
training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f89c71a33f3aa3917d4fb5c8a9e6c3784a951dc7132a62adb7bf5fdab848fd08
3
+ size 4792